以太网协议格式解析

网络层描述了数据的起点和终点,但是在传输的过程中还是要经过很多的小路径传输,而链路层就是负责相邻设备之间的数据传输,那么链路层是如何来识别相邻设备的?通过MAC地址来识别相邻设备,MAC地址就是网卡的物理地址,这样就可以进行数据传输。

以太网协议格式解析_第1张图片

  • 48位的对端MAC地址、48位的源端地址,描述是哪两个相邻设备进行通信
  • 16位的上层协议类型,用于数据分用上层协议的选择
  • 32位的检验和

如何得到MAC地址:

  ARP协议:介于网络层和链路层之间的协议,可以通过ip地址获取到MAC地址

  • 广播ARP请求,请求中包含对端的ip地址
  • 与它相邻的设备都会收到这个ARP请求,若请求中的ip地址与自己的相同,那么则填入自己的MAC地址进行ARP响应
  • 收到ARP响应,就知道了指定的相邻设备的MAC地址,从而进行数据传输(会将MAC地址缓存起来,缓存时间不长)

ARP欺骗攻击:

广播请求通过ip获取MAC,恶意主机收到ARP请求,伪造ip地址,将自己的MAC地址发送给源端,这样就能接收到对方发送的数据

MTU:链路层规定的最大传输单元

以太网协议格式解析_第2张图片

MTU对于编程的影响:

  • TCP: 

  • UDP:

 

你可能感兴趣的:(Linux)