计算机网络总结(3)---数据链路层

写在前面:这一系列文章是对计算机网络相关知识点整理的笔记,基本都是参考文章里的原话,做了整合,只是方便自己去看去复习,如果可以,希望朋友们点进参考的文章里仔细阅读,感谢大家!


1. 在物理层提供比特流传输的服务的基础上,数据链路层向网络层提供服务,最基本的服务是将网络层的数据可靠地传输到相邻节点的目标机网络层。加强物理层传输原始比特流的功能(将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路)

2. 数据的单位:帧

3. 物理设备:交换机、网桥

4. 如何保证可靠呢?通过成帧、差错控制、流量控制、介质访问控制。


一、成帧:

1. 字符计数法:

在帧头使用一个计数字段 标明帧内字段数。

2. 零比特填充法:

发现5个连续的1,在后面添入0

3. 违规编码法:

例如,曼彻斯特编码中利用未使用到的电平来表示起始和终止。


二、差错控制:

分为检错和纠错两种

1. 检错编码:

(1)奇偶校验码:

(2)循环冗余码:

2. 纠错编码:

(1)海明码:


三、流量控制

一般结合 差错控制 一起学习。流量控制和差错控制通常有2种实现技术:停止等待协议,滑动窗口协议。

1. 停止-等待协议

发送方每发送一帧后就等待一个应答帧,只有当接到应答帧之后,发送方才发送下一帧,直到发送方发送一个传输结束帧(EOT)。

优点:简单。

缺点:效率低。线路上总是只有一帧,距离长时,等待ACK时间长

2. 滑动窗口协议

发送方在收到应答消息前可以发送若干帧,即链路上可能同时存在多个数据帧。一个ACK帧可以对多个数据帧的接收进行确认。使用窗口技术。提高了信道利用率。

(1)多帧滑动窗口和后退N帧协议(GBN)

发送窗口>=1, 接收窗口=1

发送窗口大小有限制,如果帧的序号用n比特编号,则发送窗口W_{T}应该满足W_{T} \leq 2^{n}-1

例:发送窗口=5,一次发送5帧;接收窗口1,每次接收1帧。假如先发送了1 2 3 4 5帧。

  • 接受窗口接受第1帧,发送确认帧后,发送窗口向后移动一帧。
  • 接收窗口等待接收第2帧,但是第2帧丢失,发送方超时等待机制触发,没有第2帧的确认帧,因此,发送窗口会重新发送2到5帧。
  • 接收方依次接收了1 2 3 4 5 帧,应该依次发送第1 2 3 4 5帧的确认帧,但第2帧确认帧丢失,发送方收到了第1 3 4 5帧的确认帧,这时候认为第2帧也接收到了,不必重新发送(看最后一个确认帧)

(2)多帧滑动窗口和选择重传协议(SR)

只会重传出现差错的帧或计时器超时的数据帧。

发送窗口>=1,接收窗口>=1


四、介质访问控制

介质访问控制(MAC Medium Access Control)就是采取措施,使得两对节点之间的通信不会发生相互干扰的情况.

MAC:介质访问控制子层,(数组链路层的子层)它负责处理如何接入到相关的传输介质进行介质共享访问

1. 信道划分介质访问控制

(1)频分多路复用

所有用户在同样的时间占用不同的频率(或者说频率带宽)资源。效率高,简单,类似“并行”

(2)时分多路复用

每一个用户在每一个TDM帧(时分复用帧)中占用固定序号的时隙,所有用户轮流占用信道。类似“并发”。

(3)波分多路复用

光的频分多路复用

(4)码分多路复用

2. 随机访问介质访问控制

(1)ALOHA协议

  • 纯ALOHA协议:所有帧想发就发
  • 时隙ALOHA协议:所有帧按时间片发送,发生冲突后,必须在下一时间片发送

(2)CSMA协议(载波监听多路访问)

  • 发送帧之前,监听信道
  • 1-坚持的CSMA:主机发送消息前先监听信道。若信道空闲则直接发送。若信道忙,则持续监听,直到信道空闲再发送。若发生冲突,则等待一个随机长的时间重新监听。
  • 非坚持的CSMA:主机发送信息前先监听信道。若信道空闲则直接发送。若信道忙,则放弃发送,等待一个随机的时间后重新监听。
  • p-坚持的CSMA:主机发送信息前先监听信道。若信道空闲,则以p概率直接发送,以1-p的概率等到下一个时间槽发送。若信道忙,则持续监听,直到信道空闲再以p概率直接发送。若发生冲突,则等到下一个时间槽再监听。

(3)CSMA/CD协议(载波监听多路访问/碰撞检测)

  • 用于总线式以太网
  • 最小帧长:帧太小会导致再检测到碰撞之前,帧已经传送完毕了。以太网规定最小帧长是64B,太短会补充。
  • 传播时延τ电磁波在信道中传播所需要花费的时间
  • 过程:站点传输数据前先监听信道,若信道空闲,则直接发送,并同时检测冲突;若信道忙,则持续监听,检测到信道空闲后,发送数据,并同时检测冲突。若发生冲突,则按二进制指数退避算法,等待一段时间,重新监听信道。

        二进制指数退避算法:

  • 争用期:即基本的退避时间  = 2倍的传播时延 = 2τ
  • 参数k:重传次数(冲突次数),k不超过10.  k=min{重传次数,10}
  • 算法过程:从集合\left \{ 0, 1, 2... 2^{k}-1 \right \}随机取出一个数r,重传所需要的时间就是 r*争用期,即 2r τ
  • 若冲突发生16次,说明信道拥堵,认定此帧无法发出,抛弃。

(4)CSMA/CA协议(载波监听多路访问/碰撞避免)

  • 用于无线局域网802.11
  • 无线局域网存在隐蔽站问题:(A        B         - C)    B在C的无线电波范围内,但A不在C的无线电波范围内。此时C正在向B传送数据,而A也试图向B传送数据。此时,A不能够监听到B正在忙(因为A在监听信道的时候什么也听不到,所以它会错误的认为此时可以向B传送数据了)。如果A向B传送数据,则将导致错误。此即隐藏站问题。其中C是A的隐藏站。
  • 无法完全避免,只能尽量避免

过程:

  • 站点发送信息前先检测信道是否空闲,若信道空闲,则发送RTS信号。若信道忙,则等待。
  • 接收端在收到RTS后相应CTS,用来解决隐蔽站问题。(类似建立连接)
  • 发送端在收到CTS后,开始发送数据帧,同时预约信道(告诉其他站点自己要传输多久)
  • 接收端在收到数据帧后,使用CRC(循环冗余校验)检查是否正确,正确则相应ACK帧。
  • 发送端收到ACK后就可以发送下一帧,没收到就重传(重传时间使用二进制指数退避算法)

总结CSMA/CD和CSMA/CA

  • 相同:二者同属于CSMA思路,核心为:先听再说,在接入信道之前必须进行监听,当空闲的时候才能进行接入。
  • 不同:
  • 传输介质不同:CSMA/CD用于总线式的以太网(有线),而CSMA/CA则用于无线局域网(无线)
  • 载波检测方式不同
  • CSMA/CD用于检测冲突,而CSMA/CA 用于避免冲突,二者出现冲突都会出先有上限的重传(CSMA/CD上限为16)
     

3. 轮询访问介质访问控制

(1)令牌传递协议

  • 令牌是一个特殊格式的MAC控制帧,拥有令牌的站点才可以占有信道。
  • 适合用于负载中,通信量大的网络。


参考:

后退N帧协议(GBN)_你的代码没bug的博客-CSDN博客_后退n帧协议

408 计算机网络 知识点总结_waaaa1999的博客-CSDN博客_408计算机网络重点

408计算机网络第三章总结_Viator-CSDN博客

后退N帧ARQ协议_百度百科

【计算机网络复习】408王道视频总结 第三章:数据链路层_Tangli_yzy的博客-CSDN博客

隐藏站与暴露站问题_suogongy的围栏-CSDN博客_暴露站问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值