【网络层】协议之ICMP协议与ARP协议

368 阅读3分钟

一、ICMP协议

1、什么是icmp协议

ICMP全称 Internet Control Message Protocol,中文名为因特网控制报文协议,是ip协议的辅助协议。

2、icmp协议的作用

简单来说就是检查网络中两台主机设备的双向联通性。

3、工作原理

image.png

4、ping命令

  1. ping 选项+ip地址
  2. ping 默认是长ping
  3. ping –help 显示帮助命令
  4. ping -t ip地址 长ping 停止是ctrl+c
  5. ping -l 指定包的大小
  6. ping -w 指定等待时间
  7. ping -n 指定的次数

5、tracert命令

tracert主要是指经过几个路由器

image.png

6、冲突域和广播域

----什么是冲突域?
冲突域就是两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域。


----什么是广播域?
  • 一台机器发送广播,所有能收到消息的机器都是在同一个广播域。
  • 交换机的所有端口默认在同一个广播域里
  • 路由器的每一个端口都是一个独立的广播域。

7、icmp扩展

icmp字段有type 和code,type是包的类型、code是包的具体状态。

image.png

  • type 8是请求;
  • type 0是回复;
  • type 3、11都是一些报错的信息。

8、小tips

  1. icmp既不属于tcp,也不属于udp。 icmp是在三层网络层,tcp/udp是在四层,所有icmp既不属于tcp,也不属于udp。
  2. 所有协议中,只有tcp和udp有端口号。
  3. tcp80和udp80不是一个东西。
  4. ping的通,一定通;Ping不通,不一定不通。

二、ARP协议

1、什么是ARP协议

arp协议是地址解析协议,也是三层协议,它会在所有报文发送之前,先发送。

2、ARP协议的作用

  1. 将ip地址转换成mac地址

  2. 检测ip地址冲突

3、工作原理

image.png

4、小tips

ARP协议中没有源和目的,只有发送方和目的方。

三、IP数据包格式

1、IP长度

20字节的固定部分,和40字节的可变长度,所以ip数据的最大长度是20+40=60字节。
ip数据包的长度是由可选项决定的,可变长度指的就是可选项。

2、IP数据包协议字段

image.png

  1. 版本号(4bit):指的是ip协议版本,目前使用的是ipv4,表示为0100,十进制对应的就是4。
  2. 首部长度(4bit):指的是ip的包头长度,也就是ip的长度,为4
  3. 优先级:在数据中划分一定的优先级,比如开车的导航和听歌,肯定导航优先。
  4. 标识符:用于标志一个数据包,用来区分是不是同一组
  5. 标志:和标识符一起传递,这个包里可能有很多片,标志是标识最后一片
  6. 段位偏移:根据距离来判断,存储的时候具体放到什么位置,作用是重组数据。 标识码、标志、段位偏移3个合力完成了数据包的分配重组。
  7. TTL:生命周期(time to live),可以防止一个数据包在网络中无限循环的转发下去,没经过一个路由器-1,当ttl值为0时,该数据包将被丢弃。
  8. 协议号:封装的上层哪个协议?ICMP:1 TCP:6 UDP:7
  9. 首部校验和:只检查数据包的首部。

3、小tips

  1. 在三层原理,二层交换机拆不了生命周期,因为它解不了上层的数据,是看不懂ip头部的,只能解自己当前二层的数据。
  2. 交换机只有二层和三层,3层交换机是路由器和交换机的结合体。