一、ICMP协议
1、什么是icmp协议
ICMP全称 Internet Control Message Protocol,中文名为因特网控制报文协议,是ip协议的辅助协议。
2、icmp协议的作用
简单来说就是检查网络中两台主机设备的双向联通性。
3、工作原理
4、ping命令
- ping 选项+ip地址
- ping 默认是长ping
- ping –help 显示帮助命令
- ping -t ip地址 长ping 停止是ctrl+c
- ping -l 指定包的大小
- ping -w 指定等待时间
- ping -n 指定的次数
5、tracert命令
tracert主要是指经过几个路由器
6、冲突域和广播域
----什么是冲突域?
冲突域就是两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域。
----什么是广播域?
- 一台机器发送广播,所有能收到消息的机器都是在同一个广播域。
- 交换机的所有端口默认在同一个广播域里
- 路由器的每一个端口都是一个独立的广播域。
7、icmp扩展
icmp字段有type 和code,type是包的类型、code是包的具体状态。
- type 8是请求;
- type 0是回复;
- type 3、11都是一些报错的信息。
8、小tips
- icmp既不属于tcp,也不属于udp。 icmp是在三层网络层,tcp/udp是在四层,所有icmp既不属于tcp,也不属于udp。
- 所有协议中,只有tcp和udp有端口号。
- tcp80和udp80不是一个东西。
- ping的通,一定通;Ping不通,不一定不通。
二、ARP协议
1、什么是ARP协议
arp协议是地址解析协议,也是三层协议,它会在所有报文发送之前,先发送。
2、ARP协议的作用
-
将ip地址转换成mac地址
-
检测ip地址冲突
3、工作原理
4、小tips
ARP协议中没有源和目的,只有发送方和目的方。
三、IP数据包格式
1、IP长度
20字节的固定部分,和40字节的可变长度,所以ip数据的最大长度是20+40=60字节。
ip数据包的长度是由可选项决定的,可变长度指的就是可选项。
2、IP数据包协议字段
- 版本号(4bit):指的是ip协议版本,目前使用的是ipv4,表示为0100,十进制对应的就是4。
- 首部长度(4bit):指的是ip的包头长度,也就是ip的长度,为4
- 优先级:在数据中划分一定的优先级,比如开车的导航和听歌,肯定导航优先。
- 标识符:用于标志一个数据包,用来区分是不是同一组
- 标志:和标识符一起传递,这个包里可能有很多片,标志是标识最后一片
- 段位偏移:根据距离来判断,存储的时候具体放到什么位置,作用是重组数据。 标识码、标志、段位偏移3个合力完成了数据包的分配重组。
- TTL:生命周期(time to live),可以防止一个数据包在网络中无限循环的转发下去,没经过一个路由器-1,当ttl值为0时,该数据包将被丢弃。
- 协议号:封装的上层哪个协议?ICMP:1 TCP:6 UDP:7
- 首部校验和:只检查数据包的首部。
3、小tips
- 在三层原理,二层交换机拆不了生命周期,因为它解不了上层的数据,是看不懂ip头部的,只能解自己当前二层的数据。
- 交换机只有二层和三层,3层交换机是路由器和交换机的结合体。