[Linux] 数据链路层-----以太网帧协议、ARP协议

以太网帧格式

以太网帧格式

最大传输单元----MTU

1)是什么

  • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;
  • 其中,最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU,不同的数据链路层标准的MTU是不同的。

2)MTU对IP协议的影响

  • 将较大的IP包分成多个小包,并给每个小包打上标签;
  • 每个小包IP协议头的16位标识(id) 都是相同的,每个小包的IP协议头的3位标志字段中,第2位置为0,表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置为1,否则置为0);
  • 到达对端时再将这些小包,会按顺序重组,拼装到一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据,导致数据报丢失。

3)MTU对UDP协议的影响

  • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报;
  • 多个IP数据报有任意一个丢失,都会引起接收端在网络层重组失败,意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加了。

4)MTU对于TCP协议的影响

  • TCP的一个数据报也不能无限大,还是受制于MTU;
  • TCP的单个数据报的最大消息长度,称为MSS,TCP在建立连接的过程中,通信双方会进行MSS协商,最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度。

ARP协议

1)是什么?

  • ARP协议建立了主机 IP地址和MAC地址 之间的映射关系;
    ARP数据报格式

2)为什么?

  • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;数据包首先是被网卡接收到,再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;因此在通讯前必须获得目的主机的硬件地址。

3)工作流程

  • 在局域网中,发起方构建ARP请求,以广播的方式发送给局域网中的每一台主机;每台主机都能识别,然后根据以太网首部的帧类型0x0806交付给每个主机的arp层;其他不相关的主机会根据目的ip地址,在自己arp协议的内部丢弃arp请求;目标主机构建好ARP应答后,以1对1的形式把ARP应答数据返回给源主机;源主机根据op字段判定是ARP请求还是应答,如果是应答,就提取ARP应答中的发送端mac地址和ip地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值