一、IP
1、IP包头的格式
IPv4包头长度通常为20字节,但是如果可选项中有信息,可能会超过20字节

版本:目前使用一般为IPv4
首部长度:定义了整个IPv4数据包头部的长度,默认20字节
优先级域服务类型:优先级与服务类型,提供3层的QoS
总长度: IP数据总长度
标识符、标志、段偏移量:上层来的数据到IP层会被分段,这几个字段用来对数据包进行标识,是在数据到达目的端重组的时候,不会乱序。
TTL:生命周期字段,经过一个路由器减1,为0时,数据包丢弃,为了放置一个数据包在网络中无限的循环下去。
协议号:协议字段,用来标识封装的上层数据是UDP还是TCP,UDP是17,TCP是6
首部校验和:用来做IP头部正确性检测,但不包含数据部分。因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。
源地址:发送方地址
目标地址:接收方地址
可选项:可有可无,发送时间,拍错信息等
数据:数据
二、ARP
1、ARP作用
IP地址解析为MAC地址
2、为什么需要MAC地址才能通信
通过之前的OSI七层模型可以知道,数据在数据链路层传输的时候会加一个帧的头部,里面包含MAC地址,解封的过程也需要MAC地址
3、ARP原理
MAC地址是物理地址,只在本地网络中定义主机
IP地址逻辑上的,他可以定义全局地址




每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
4、ARP的查询
在Windows操作系统中:
arp -a
在Cisco路由器上
show ip arp
三、RARP协议
1、RARP作用
反向ARP解析,已知自己的MAC地址,找自己的IP地址。(无盘工作站)
2、RARP原理


四、代理ARP
1、代理ARP原理


五、ICMP协议
1、作用
ICMP消息通过IP数据包传送,被用来发送错误和控制信息。
2、信息类型
ICMP定义了很多信息类型,例如
目的地不可达
TTL超时
消息请求
信息应答
地址请求
地址应答
3、ICMP协议的应用


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。