网际协议IP基础
一,IP是什么?
-
网际协议IP是TCP/IP体系中的两个最主要的协议之一,是最重要的互联网的标准协议之一
-
可以使互相连接的许多计算机网络能够进行通信
-
有多个版本的IP协议,但是只有IPV4和IPV6有使用,1,2,3,5都未曾使用过
IP地址及其分类
1.IP地址
IP地址(IPv4)由32位正整数来表示。通常每一个主机都被分配了一个这样的IP地址。作为该计算机在网络中的标识
2.表示方法
IP地址 ::= {<网络号>,<主机号>}
注意:
- 一个网络号在整个互联网范围内是必须唯一的
- 一个IP地址在整个互联网范围内是惟一的
3.分类
分类图
分类总结
-
A类地址从1到8位是网络标识,后28位是主机标识,以“0”开头,所以它的十进制表示范围是0.0.0.0~127.0.0.0。(十进制二进制的转换这个不用说吧)
-
B类地址从1到16位是网络标识,以“10”开头,所以它的十进制表示范围是128.0.0.1~191.255.0.0
-
C类地址从1到24位为它的网络标识,以“110”开头,它的十进制表示范围是192.168.0.0~239.255.255.0。
-
D类地址的32位都是网络标识,它没有主机标识,以“1110”开头,它常被用于多播。
二,IP层概述
与IP协议配套使用的三个协议
-
地址解析协议 – ARP
-
网际控制报文协议 – ICMP
-
网际组管理协议 – IGMP
ARP协议
1.作用
已知自己IP地址和对方IP地址,解析出对方物理地址
2.工作示意图
3.ARP高速缓存
类似数据库和redis之间的关系,我们每一台主机上都设有一个ARP高速缓存,里面有本局域网上的个主机和路由器的IP地址和物理地址的映射表,在发送ARP请求时会先查缓存,缓存没有才发请求,请求结束得到响应后将新的IP地址和物理地址存入缓存
ICMP协议
1.作用
更有效的转发IP数据报和提高数据报交付成功的机会
2.工作流程
ICMP允许主机或者路由器报告差错情况和有关异常情况的报告
报文种类
-
差错报告报文
-
终点不可达
-
时间超过
-
参数问题
-
路由改变
-
-
询问报文
-
回送请求和回答
-
时间戳请求和回答
-
IGMP协议
我看不懂hhh
三,IP数据报
-
版本:占4位字,现今主流的两种版本为IPv4与IPv6;
-
首部长度:占4位字,记录IP数据报文首部的大小,在数据报首部中一个32字等于4字节,通常IP数据报的首部并不需要增加额外的参数,所以此处一般为4*5=20字节
-
总长度:占16位字,记录该数据报(如数据报过大被分片则为每一段数据报的长度,而不是完整数据报的长度)的长度;
-
标识:占16位字,每生成一个数据报的分片,这个值都会加一,最后的值会复制给其他该报的分片,当数据报到达目的地址后就靠这个值来标识哪些部分原本是一个整体;
-
标志:占3位字,最高位是待扩展的,现在只能为0,中位DF为0时表明允许分片,为1时表明不能分片。最低位为1时表明后面还有分片,为1时表明这是最后一个分片了;
-
片偏移:占13位字,第一个分片的片偏移为0,从第二个分片开始片偏移为前一个分片的大小,这里以八个字节为偏移单位,每个分片的长度一定是8字节(64位)的整数倍;
-
生存时间:占4位字,路由器在转发数据报之前就把该值减一,如果在转发之前这个值为零,就会把它丢弃,不会转发。这是防止一些无用的数据报一直在网络中传递,浪费网络资源;
-
协议:占8位字,该值指出这个数据报携带的数据用的是什么协议,以使目的主机的IP层知道应该将数据部分上交给哪个处理过程。常见的TCP:6、UDP:17;
-
首部检验和:占16位字,每次路由的转发,数据报的首部都会改变,比如生存时间TTL每一次就要减一,所以每次路由器接收到数据报后就要检查首部检验和是否正确,具体检验计算方法为:发送方把首部检验和的值置0,然后把首部的数据按每16位字分段,然后把它们作反码相加,得到的值放到首部检验和中。接收方收到后一样把首部的数据按16位字分段,然后采取反码相加,如果结果为0,则这个数据报与发送时的数据一致;
-
源地址:占32位字,即发送数据主机的IP地址;
-
目的地址:占32位字,即要送达的目的主机的IP地址;