网络--网络层协议--IP
1、IP的意义
IP地址提供了一种能力:将数据,从主机A,跨网络,可靠的传输至主机B。
但是,只是一种能力,不代表一定可行,因此还需要和上层(传输层)相结合:
传输层提供策略,网络层提供能力,结合起来保证了网络传输数据的可靠性。
2、基本概念
主机 | 具有IP地址,但是不进行路由控制的设备 |
路由器 | 既具有IP地址,又能进行路由控制 |
节点 | 主机和路由器的统称 |
3、IP协议格式
3.1、4位首部长度(报头和数据分离)
4位首部长度的表示范围 - [0 , 15]
但是,在这里,规定单位是4字节 --> 因此,表示的范围为[0 , 60] 字节
通过4位首部长度,就可以用来进行解包:
1、读取报文前20字节(报头)
2、读取4位首部长度(报头+选项总长度)
3、计算4位首部长度表示的字节数(a * 4 = x),x字节
4、if x == 20 -- 没有选项; if x > 20 -- 带有选项(此时就可以提取选项了)
3.2、8位协议(报文分用)
8位协议,就记录了上层采用的是什么协议,向上交付的时候,就对应交付给哪个协议层。
3.3、4位版本(一般是IPv4)
4位版本标识当前IP使用的哪种版本(IPv4 or IPv6,一般都是IPv4目前)。
IPv4和IPv6都是不同版本的网络层的协议,但是二者有所不同,并且二者不兼容!!!
3.3.1、IPv4
地址长度 | IPv4使用4字节(32位)来表示一个IP地址,最多可表示32亿个地址。 |
地址表示 | IPv4采用点分十进制表示IP(如:192.168.1.1,即将32位分为4组,每组用十进制表示出来)。 |
报头结构 | IPv4的报头长度可变(携带选项) |
网络配置 | IPv4通常需要DHCP服务器来进行地址分配。 |
安全性 | IPv4需要通过额外的协议来保证安全性。 |
广播 | IPv4支持广播传输数据。 |
数据包大小 | IPv4的有效载荷最大为64KB。 |
3.3.2、IPv6
地址长度 | IPv6使用16字节(128位)来表示一个IP地址,最多可表示340万亿亿亿个地址。 |
地址表示 | IPv6采用以冒号分隔的16进制格式表示IP(如:2001:0db8:85a3:0000:0000:8a2e:0370:7334,即16字节分为8组,每组表示2个字节:如0db8,分别是0d表示一个字节,b8表示一个字节)。 |