数据链路层

数据链路层

数据链路层的帧长问题

  • 最短帧长:64字节(4目标MAC+4源MAC+2类型+46数据+4CRC)
    – 如果发生冲突,一定在前64个字节,如果前64个字节发送成功,则该次传输成功占据该信道,别的主机在其传输期间不会发送数据(载波监听)。

对于IEEE802.3,两个站点的最远距离不超过2500m, 由 4 个中继器连接而成,其冲突窗口为 51.2us(2 倍电缆传播延迟加上4个中继器的双向延 迟).对于 10Mbps 的 IEEE802.3 来说,这个时间等于发送 64 字节,即 512位的时间,64字节就是由此而来的。如果一个站点已经传输了 512bit,就认为它已经占用了这个信道。
要保证网内的所有节点之间的数据的正确传输,就要考虑一个最坏情况,最远距离的两个节点之间的数据传送,所以这个碰撞时间就必须不小于一帧数据在这两个节点之间的来回时间,可以认为是2T。所以就必须保证2T时间内,一个帧还没发送完。如果发送完了,那么发送方A就会因为让出信道使用权,导致了冲突帧收不到,另外可能别的站如C正在占用A信道,导致D不能回送给A一个冲突帧,从而检测不到冲突的产生。

  • 最大传输单元(MTU):1500字节
  • 最大以太网帧长:1518字节(1500+18)

CSMA/CD协议,节点每次发送数据前都会检测信道,那么如果一个帧过长,就会导致某一发送节点长时间占用信道,导致了其他节点无法获得信道使用权,所以就必须限制最大帧长。同时,由于缓存较小,如果支持的帧过长会对设备的缓存要求过高,提高了设备的实现价格(以太网的追求之一,就是廉价)。另外,如果一帧太长,一旦出错,一整个帧就丢失,这样上层所需要重传的内容过多,会降低传输效率。以太网的最长帧长为1518字节(帧头14字节+数据1500字节+FCS4字节)。

以太网帧的格式

在这里插入图片描述

  1. 前导符(Preamble):由1和0交互构成(10101010……),共占7个字节,用于使PLS子层电路与收到的帧达成时钟同步。
  2. 帧起始(Start-of-Frame Delimiter, SFD):为10101011,共占1个字节,表示一个帧的开始。它和前导符共同使接收方能根据1、0交替来迅速实现比特同步,当检测到连续的两位1时,将后续信息交给MAC子层。通常来说,Pre和SFD这两个字段只用于提醒接收端新帧到达,并不计入MAC帧大小,也不算作是MAC帧头的组成部分。
  3. 目的MAC(Destination Address, DA)/源MAC(Source Address, SA):分别用于标识目的MAC地址和源MAC地址,两个字段各占6个字节。它们可以是单播地址也可以是广播地址。当地址的最高位为0时表示单播,最高位为1时为组播,全为1时为广播。
  4. 类型(Type):共占2个字节,表示该帧使用哪种网络层协议。
    | TypeID | 以太网协议 |
    | -----| ----- |
    | 0x0800 | Internet Protocol, Version 4(IPv4) |
    | 0x0806 | Address Resolution Protocol(ARP) |
    | 0x8035 | Reverse Address Resolution Protocol(RARP) |
    | 0x86DD | Internet Protocol, Version 6(IPv6) |

以太网帧传输的不一定是IP数据报,还可能是其他网络层协议(如ARP,RARP等等),通过该类型字段告诉目标网卡将数据字段的内容传给哪个网络层协议。各层都有类似字段,都是为了把一层中的某协议与上一层的协议结合起来。

  1. 数据(Data):对于不同的标准而言,数据字段的长度范围也有不同。不管是什么标准,整个MAC帧最小长度为64字节,如果内容长度小于最小长度,则需要在数据字段里使用PAD填充字段填充。
  2. 帧校验序列(FCS):它是一个包含32位CRC校验值的字段,一共占4个字节。由发送端对MAC帧的DA字段到Data字段间(不包含前导符和帧起始)的二进制序列进行计算。

ARP协议

每个主机内部都有一个ARP高速缓存,ARP 为 IP 地址到对应的硬件地址提供动态映射(即把IP地址转换为MAC地址)

ARP报文格式

在这里插入图片描述
帧类型:ARP:0x0806 (2)
ARP 首部:
硬件类型:硬件地址的类型,1 表示以太网地址。(2) 协议类型:协议地址的类型,0x0800 表示 IP 地址。(2)
硬件地址长度:字节为单位 6 (1)
协议地址长度:字节为单位 4 (1)
操作类型:2 个字节。 ARP 请求 1,ARP 回复 2,RARP 请求 3,RARP 应答 4。(2) 发送者硬件地址:6 个字节(6)
发送者 IP 地址:4 个字节(4)
目标硬件地址:6 个字节(6)
目标 IP 地址:4 个字节(4)
CRC 校验:4 个字节 (4)

总结:
arp 总共 28 个字节。
记忆方法: 以太网先目地后源,ARP 先发送端后目地端。先硬件后协议。

ARP的缺点
  • 缓存:主机的地址映射是基于高速缓存的,动态更新的。地址刷新是有时间限制的。 可 以通过下次更新之前修改计算机上的地址缓存,造成拒绝服务攻击或者 ARP 欺骗。
  • 广播: 攻击者可以伪装 ARP 应答。
  • ARP 应答没有认证,都是合法的。可以在不接受到请求的时候就发出应答包。
ARP代理
  • 若 ARP 请求是从一个网络的主机发送给另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程叫做 ARP 代理。
  • ARP 代理路由器响应 ARP 请求的 MAC 地址为路由器的 MAC 地址而非 ARP 请求的主机的 MAC 地址。
  • ARP 代理的应用环境:
    两个物理网络之间的路由是使用相同的网络号,两个路由器设置成 ARP 代理,实现相互隐瞒物理网络
免费ARP

指主机发送 ARP 查找自己的 IP 地址,即数据链路层 SIP=DIP
作用有两个:

  • 一个主机使用免费 ARP 确定是有存在有其他主机设置了相同的 IP 地址
  • 如果发送免费 ARP 的主机改变了 MAC 地址,可以通过发送免费 ARP 的方式告知其他 主机端更新 ARP 表
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值