网络层及其相关协议介绍
网络层的功能
1、定义了解基于IP协议的逻辑地址
2、连接不同的媒介类型
3、选择数据通过网络的最佳路径
IP数据包格式
IP头部的组成:*源IP地址 *目的IP地址 *IP版本(IPv4|IPv6) *IP头部长度(最短20字节,可根据可选项变长) 优先级与服务质量 总长度(包含IP头部和上层数据) 标识符 标志 段偏移量 *TTL(每经过一个路由器TTL减1,为0时会被丢弃) *协议号(UDP为17 TCP为6) 头部校验和可选项
版本号(4bit):指IP协议版本。 并且通信双方使用的版本必须一致。
首部长度(4bit):IP数据包的包头长度(不包括数据)。
优先级与服务类型(8bit):该字段用于表示数据包的优先级和服务类型。
总长度(16bit):IP数据包的总长度,最长为 65535 字节,包括包头和数据。
标识符(16bit):该字段用于表示IP数据包的标识符。
标志(3bit):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出 (完整)。
段偏移量(13bit):一个数据包需要分片,指明这个分片举例原始数据开始的位置,作用重组数据。
TTL(生命周期(8bit)):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器 -1,当TTL的值为0时,该数据包将被丢弃。
ICMP协议
ICMP是一个“错误侦测与回馈机制”,属于网络层协议,通过IP数据包进行封装,用来发送错误和控制消息。
ICMP协议的封装:
ARP协议(地址解析协议)
将一个已知的IP地址解析成MAC地址
每台主机都有一个ARP高速缓存表,记录IP地址和MAC地址的对应关系,主机B的ARP缓存表如图所示。当主机B要给主机C发送数据包时,首先会查看自己的ARP缓存表查找主机C对应的IP地址所对应的MAC地址,但是没有找到,因此主机B需要向所有主机发送ARP请求报文(以广播的形式发送,目的地址为FF-FF-FF-FF-FF-FF)主机C收到请求之后回复ARP应答,其他主机丢弃请求报文。主机C首先将主机B的IP地址和MAC地址记录在ARP高速缓存表中。主机C将其IP地址和对应的MAC地址发给主机B,主机B将C的IP地址和对应MAC地址写入ARP高速缓存表中。
注:
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失。