网络层协议协议介绍
文章目录
一、网络层的功能
1、定义了基于IP协议的逻辑地址
2、连接不同的媒介类型
3、选择数据通过网络的最佳路径
二、IP数据包的格式
2.1 协议字段
版本:指IP协议版本,我们目前使用的就是IPv4,表示为0100
首部长度:IP数据包的包头长度
优先级与服务类型:该字段用于表示数据包的优先级和服务类型。通过数据包中划分一定的优先级,用于实现,QoS(服务质量)的要求。注:定义IP数据包是否优先传送。比方说双11,淘宝肯定优先推送热销产品,例如衣服,而冷门的东西如铁铲,就会降低优先级,主要因为当天访问量太大。
总长度:定义IP数据包的总长度,最长为65535字节,包括包头和数据。
标识符:该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。
标志:和标识符一起传递,指示不可以被分片或者最后一个分片是否发出
段偏移量:在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
TTL:可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当TTL的值为0时,该数据包将被丢弃
协议号:封装上层哪个协议,ICMP:1 TCP:6 UDP:17
首部校验和:这个字段只检验数据的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和
源地址:源IP地址,表示发送端的IP地址
目标地址:目标IP地址,表示收端的IP地址
可选项:选项字段根据实际情况课变长,可以和IP一起使用的选项有多个。例如可以输入创建该数据包的时间等。
三、ICMP协议(internet控制报文协议)
3.1icmp协议
CMP是一个“错误侦测与回馈机制”
通过IP数据包封装的
用来发送错误和控制消息
3.2ICMP协议的封装
ICMP协议属于网络层协议
ICMP数据的封装
3.3 Ping命令的用法
-t 在Windows 操作系统中,默认情况下发送4个ping包,如果在命令后面加上参数“-t”,系统将会一直不停ping下去
-a 显示主机名
-l 一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以使用参数改变ping包的大小,在linux系统下为-s
-n指定发送包的个数 -c
-s指定源IP去ping -i
四、ARP协议介绍
4.1什么是ARP协议
将一个已知的IP地址解析成MAC地址
4.2ARP协议的作用
数据传输从网络层到数据链路层的封装过程中,由于数据链路层只能识别MAC地址,就需要ARP协议将IP地址解析为MAC地址,从而保障数据的正常传输
4.3ARP工作原理
1、PC1想发送数据给PC2,会先检查自己的ARP缓存表。
2、如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MA地址
3、交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以及单播方式发送ARP应答,并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4、PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。
存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4、PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。