目录

数据链路层

概念

数据链路: 网络中两个节点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。

帧: 链路层的协议数据单元,封装网络层数据报

主要功能

负责将源自物理层的数据可靠地传输到相邻节点的目标主机的网络层

因为物理层只是傻瓜式的传输数据,并不能保证数据的完整性,而数据链路层通过一系列措施,使得网络层之下的数据实现可靠传输,给网络层提供了一种无差错传输的服务

  1. 为网络层提供服务
    1. 无确认无连接服务
    2. 有确认无连接服务
    3. 有确认面向连接服务
  2. 链路管理,即连接的建立、维持、释放(用于面向连接的服务)
  3. 组帧
  4. 流量控制
  5. 差错控制(帧错/位错)

封装成帧

封装成帧:在一段数据的前后部分添加首部和尾部,这样就构成一个帧。首部和尾部包含很多控制信息,一个重要的作用就是帧定界(确定帧的界限)

组帧的四种方法: 常用的为零比特填充法和违规编码法

  1. 字符计数法
    • 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。容易出错,不常用
  2. 字符(节)填充法
    • start of header(SOH)在帧前,EOT(end of transmission)在帧后,每个由八位组成。若数据中含有SOH或EOT则应在前填充转义字符
  3. 零比特填充法
    • 首部标识符与尾部标识符相同,如01111110
    • 则按照5110法组帧,即遇到5个1,在后边填充一个0
  4. 违规编码法
    • 用编码中不会用到的编码(即违规的编码)来表示帧的起始和终止,使用广泛,例如局域网的IEEE802标准即采用此方法
    • 例如用曼彻斯特编码时可用“高-高”,“低-低”来定界帧的起始和终止

透明传输

不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此链路层就“看不见”有什么妨碍数据传输的东西

差错控制

  1. 位错
  2. 帧错(丢失、重复、失序)

链路层的差错控制主要是对比特错的控制,方法:

  • 检错编码

    奇偶校验码、循环冗余码CRC

  • 纠错编码

    海明码:可发现双比特错误,但只能纠正单比特错误 海明不等式:2^r >= k+r+1

★流量控制与可靠传输机制

传输层和数据链路层均具有流量控制功能,不同点在于:传输层的是基于端到端(两台主机之间)的,数据链路层是基于点到点(两台网络设备之间)的。

数据链路层的流量控制手段:接收方收不下就不回复确认。

传输层流量控制手段:接收端给发送端一个窗口公告

链路层的流量控制方法

  • 停止等待协议
    • 发送方每发送一个帧,都需要接收方回复确认帧才能继续发送,其中发送方等待接收方确认帧的时间为略大于RTT(往返传播时延),若超时则重传。协议简单,但是信道利用率低。
  • 滑动窗口协议(后退N帧协议GBN、选择重传协议SR)
    • 后退N帧协议GBN:对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。如果第n帧接收方正确接收,那么接收方发送一个ACK,并将该帧的数据部分交付给上层;若第n帧没收到,但后边的帧收到,那么就会将n帧之后的全部丢弃,并对n帧向发送方发送ACK,重新接收之后的帧,也就是说接收方只按顺序接收帧,不按顺序则丢弃。优点:连续发送提高了信道利用率 缺点:当一个帧未接收到时,还要将其之后原来正确传送的帧丢弃后重传,效率低。而选择重传协议则完善了这个缺点
    • 选择重传协议SR:对数据帧逐一确认,收一个确认一个;只重传接收窗口内未接收的帧;接收方有缓存

三种协议的窗口比较:

  • 停止等待协议:发送窗口大小=1,接收窗口大小=1
  • 后退N帧协议GBN:发送窗口大小>1,最大为2^n-1,接收窗口大小=1
  • 选择重传协议SR:发送窗口大小>1,接收窗口大小>1。两个窗口最大为2^(n-1) 发送窗口最好等于接收窗口(大了会溢出,小了没意义)

介质访问控制

一般概念

传输数据使用的两种链路:

  • 点对点链路
    • 两个相邻节点通过一个链路相连,没有第三者
    • 应用:PPP协议,常用于广域网
  • 广播式链路
    • 所有主机共享通信介质
    • 应用:常用于局域网
    • 典型拓扑结构:总线型、星型

由以上可知在广播链路中,当多个主机同时发送信息时会造成冲突,如何避免这种冲突即介质访问控制,其内容就是,采取一定的措施,使得两队节点之间的通信不会发生相互干扰的情况。

介质访问控制–MAC协议

★静态划分信道—信道划分介质访问控制

概念:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备

  1. 频分多路复用FDM:所有用户在同样的时间内占用不同的带宽(频率带宽)资源
  2. 时分多路复用TDM:所有用户平均轮流占用信道。但如果有三个用户,其中两个用户均处于空闲状态,那第三个用户本可以完全占用信道,但是它仅仅还是占用1/3的信道,造成利用率低。因此改进的统计时分复用STDM便出现了
  3. 波分多路复用WDM:光纤中光的频分多路复用
  4. ★码分多路复用CDM:其中码分多址(CDMA)是码分复用的一种形式,当多个站点发送数据的时候,要求各个站点的码片序列相互正交(相乘再相加后为0)。合并:各路数据线性相加。分离:合并的数据和源数据规格化内积(相乘再相加后除以个数)。

动态分配信道

  1. 轮询访问介质访问控制:轮询协议、令牌传递协议,主节点轮流“邀请”从属节点发送数据
  2. ★随机访问介质访问控制:所有用户可随机发送信息,发送信息时占全部带宽:ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA协议
    • ALOHA协议:纯ALOHA协议、时隙ALOHA协议
      • 纯ALOHA协议(直接发送):不监听信道、不按时间槽发送、随机重发。若遇冲突超时,则随机等待一个时间后重发,故效率较低
      • 时隙ALOHA协议(直接发送):把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
    • CSMA协议(先监听再发送):载波监听多路访问协议,发送帧之前监听信道
      • /images/net/csma.png
    • CSMA/CD协议(边发送边监听):载波监听多点接入/碰撞检测,用于以太网。重传采用截断二进制指数规避算法[0,1,,2^k-1]*2t,k=1~10;最小帧长:2t*速率
    • CSMA/CA协议:载波监听多点接入/碰撞避免,用于无线局域网

局域网基本概念和体系结构

局域网(LAN):覆盖范围小,使用专门铺设的传输介质进行联网,使用广播信道,各站点为平等关系,共享传输信道

决定局域网的主要因素:网络拓扑、传输介质、介质访问控制方法

局域网网络拓扑:总线型拓扑、星型拓扑、环形拓扑、树形拓扑

局域网介质访问控制方法:CSMA/CD、令牌总线、令牌环

  • CSMA/CD:常用于总线型局域网
  • 令牌总线:常用于总线型局域网
  • 令牌环:用于环形局域网

局域网的分类

  1. 以太网:应用最广泛的局域网,符合IEEE802.3规范,逻辑拓扑总线型,物理拓扑是星型或拓展星型,使用CSMA/CD。
  2. 令牌环网:物理上星型,逻辑上环形,符合IEEE802.5标准,已经过时
  3. FDDI网(fiber distributed data interface):传输介质为光纤,物理上双环,物理上环形,符合IEEE802.8标准
  4. ATM网(asynchronous transfer mode):较新型的单元交换技术,使用53字节固定长度的单元进行交换
  5. 无线局域网:采用IEEE802.11标准

MAC子层和LLC子层

IEEE802标准表述的是OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC和介质访问控制MAC子层

以太网

当今局域网采用的最通用的通信协议标准,使用CSMA/CD技术,物理层使用曼彻斯特编码,符合IEEE802.3标准。逻辑拓扑总线型,物理拓扑是星型,星型拓扑使用集线器连接

以太网提供无连接、不可靠的服务

  • 无连接:发送方和接收方之间无“握手过程”
  • 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,纠正差错由高层负责

/images/net/mac.png

广域网 PPP协议&HDLC协议

PPP协议:即点对点协议,只支持全双工链路

HDLC协议:即高级数据链路控制,是一个在同步网上传输数据、面向比特的数据链路层协议。只支持全双工链路

/images/net/ppp.png

设备

中继器&集线器:工作在物理层,扩大冲突域 网桥&交换机:工作在链路层,不是像集线器那样广播发送,而是根据mac地址选择性发送

总结

/images/net/sum.png