玩命加载中 . . .

3-数据链路层


MAC地址、IP地址以及ARP协议

MAC(Media Access Control)地址是以太网的MAC子层所使用的的地址,属于数据链路层。包括48个字节,每个字节用两个十六进制数表示,例如98-EE-CB-A7-CC-9D

IP地址是TCP/IP体系结构网际层所使用的地址

ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配的IP地址,通过该IP地址获取到设备的MAC地址

每台主机中都有ARP高速缓存表,保存有IP地址和MAC地址的对应关系,例如主机A要询问主机B的MAC地址,ARP请求报文的内容包括主机A的IP地址和MAC地址,已知的主机B的IP地址,询问对应的MAC地址是多少,ARP请求报文的目的地址为FF-FF-FF-FF-FF,这样网络内各主机就都能收到该广播帧,主机B收到该广播帧后需要回一个ARP响应报文,以告知自己的MAC地址,该单播帧的目的地址为主机A的地址,内容包括主机B的IP地址和MAC地址

可靠传输

数据链路层实现可靠传输的方法,这些方法也适用于其他各层协议中

1、停止-等待协议(SW,Stop-and-Wait)

发送方发送完一个分组后,都需要等待接收方的确认分组或否认分组,若收到确认分组,则继续发送,若收到否认分组,则重发之前发送的那个分组,发送方发完一个分组后启动超时重传计时器,超时未收到确认分组则重传该分组。在数据链路层点对点的往返时间比较确定,一般将重传时间选为略大于从发送方到接收方的平均往返时间

为了让接收方能够判断所收到的数据分组是否是重复的,需要给数据分组编号,由于停止-等待协议的停等特性,只需要1个比特编号就够了,即编号为0或1

停止-等待协议的信道利用率很低

2、回退N帧协议(GBN,Go-Back-N)

发送方要维持一个发送窗口,尺寸为$W_T=2^N-1$,序号落在发送窗口内的数据分组可被连续发送,而不必等收到接收方的相应确认分组后再发送

接收窗口$W_R=1$,因此接收方只能按序接收正确到达的分组,接收方可以在收到几个分组后,对按序到达的最后一个分组发送确认,ACKn表示序号为n及以前的所有分组都已正确接收

发送方发送窗口内某个已发送的数据分组产生超时重传时,其后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退N帧协议名称的由来

3、选择重传协议(SR)

为进一步提高GBN协议的性能,可设法只重传出现误码的分组。因此,接收窗口应大于1,以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些分组,等到缺失的分组收齐后再一并送交上层

选择重传协议为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的分组逐一确认

发送窗口尺寸为$1<W_T\leq2^{N-1}$,接收窗口尺寸为$1<W_R\leq W_T$

媒体接入控制MAC

1、静态划分信道

  • 频分复用:所有用户同时占用不同的频带资源并行通信
  • 时分复用:所有用户在不同的时间占用同样的频带宽度
  • 波分复用:就是光的频分复用
  • 码分复用:码分多址(CDMA,Code Division Multiple Access),每个用户可以在同样的时间使用同样的频带进行通信,由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰

2、动态接入控制-随机接入

  • 载波监听多址接入/碰撞检测(CSMA/CD,Carrier Sense Multiple Access/Collision Detection)

    适用于总线局域网,例如802.3总线局域网

    多址接入:多个站连接在一条总线上,竞争使用总线

    载波监听:每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧

    • 若检测到总线空闲96比特时间,则发送这个帧
    • 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送帧

    碰撞检测:一旦发现总线上出现碰撞,则立即停止发送,退避一段时间再次发送

    以太网规定『最小帧长为64字节』,如果要发送的数据非常少,需加入填充字节

  • 载波监听多址接入/碰撞避免(CSMA/CA,Carrier Sense Multiple Access/Collision Avoidance)

    适用于无线局域网,例如802.11无线局域网


文章作者: kunpeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kunpeng !
  目录