【计算机网络】数据链路层 | 复习笔记

在这里插入图片描述
《计算机网络》内容整理:

  1. 概论
  2. 物理层多路复用技术
  3. 数据链路层
  4. 网络层
  5. 传输层(运输层)
  6. 应用层 DNS HTTP DHCP

第一节 数据链路层概况

  • 概念区分:
    1. 链路(link)(物理链路)
    2. 数据链路(data link)(逻辑链路)
  • 帧:数据链路层的协议数据单元

三个基本问题(PPP协议中)

  • 封装成帧(framing):在一段数据的前后分别添上首部和尾部,构成一个帧
    1. 重要作用就是进行帧定界
      在这里插入图片描述
    2. 当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符
    3. 控制字符 SOH (Start Of Header) (十六进制:01) - 首部开始。另一个控制字符 EOT (End Of Transmission) (十六进制:04) - 结束。
    4. 数据帧长度问题:数据部分长度大于首部和尾部——数据传输效率;MTU(Maximum Transmission Unit)——数据帧长度越长,出错概率越高,出错则重传,造成额外的开销
  • 透明传输
    1. 透明:当一个实际存在的事物看起来好像不存在一样(数据链路层对这些数据来说是透明的);“在数据链路层透明传送数据”表示无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。
    2. 问题:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”
    3. 解决方法:字节填充(byte stuffing)或字符填充(character stuffing),添加转义字符ESC(十六进制:1B)
      在这里插入图片描述
  • 差错检测(error detection)
    1. 传输差错:A. 比特差错,比特在传输过程中产生差错;B. 帧丢失、帧重复、帧失序。下面的差错都指比特差错。但是应当注意的是,数据链路层上实现的“无比特差错”不等于“无传输差错”
    2. 误码率BER(Bit Error Rate)传输错误的比特占传输比特总数的比率
    3. 循环冗余检验CRC(Cyclic Redundancy Check):k(数据)+n(冗余码)位传输。将原来的数据M模2运算(在M后添加n个0),以两边约定好的除数P(n+1位),得到余数R(n位),将R添在M后传输。接收方将收到的数字除P,如果余数为0,则认为没有差错,接受(accept);若余数不为0,则认为有差错,直接丢弃
    4. 区别:帧检验序列FCS(Frame Check Sequence)是冗余码,而CRC是检错方法
    5. 生成和检验都是硬件完成的,处理迅速,不会延误数据的传输
    6. 差错检测是建立在封装成帧上的
    7. 这里只能实现“无差错接受”:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”&“凡是接收端数据链路层接受的帧都没有传输差错”
    8. 可靠传输则需要在此基础上增加确认和重传机制。对于通信质量良好的有线传输服务,数据链路层协议不采用确认和重传机制;但对于通信质量较差的无线传输服务,数据链路层向上提供可靠的传输服务
  • 补充一下关于CRC的计算
    在这里插入图片描述
    在这里插入图片描述
    这一块内容和计算机组成原理是有重复的,计组里面提到,利用CRC编码的余数,我们是可以把发生错误的内容恢复的。下面是一个关于CRC编码的距离
    在这里插入图片描述

第二节 点对点协议PPP(Point-to-Point Protocol)

互联网用户通常需要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP进行通信时所用的数据链路层协议。(全双工)

  • PPP协议应满足的需求:
    1. 简单。所以不需要纠错,不需要序号,不需要流量控制,简单是首要要求。因此,互操作性也提高了
    2. 封装成帧:帧界定符;
    3. 透明性
    4. 多种网络层协议:在同一条物理链路上同时支持多种网络层协议的运行
    5. 多种类型链路:串行并行、高速低速、光电、动态静态
    6. 差错检测:直接丢弃有差错的帧
    7. 检测连接状态
    8. 最大传送单元:MTU1500字节,数据部分的最大长度
    9. 网络层地址协商
    10. 数据压缩协商
  • PPP协议的组成
    1. 一个将 IP 数据报封装到链路的方法
    2. 链路控制协议 LCP (Link Control Protocol)
    3. 网络控制协议 NCP (Network Control Protocol)
  • PPP协议帧的格式
    1. 各字段意义
      标志字段F表示一个帧的开始和结束(帧界定符)连续两个帧之间只需要一个标志字段,如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。
      地址字段A和控制字段C并没有携带PPP帧的信息
      协议字段若为0x0021则为IP数据报,0xC021则为LCP数据报,0x8021则为网络层的控制数据
      信息部分不得超过1500字节
      FCS帧检验序列在这里插入图片描述

    2. 字节填充(异步传输)
      标志字段为0x7E,使用转义字符0x7D字节填充
      若为0x7E字节则转变为两个字节(0x7D,0x5E);若为0x7D则变为(0x7D,0x5D);若出现ASCII码的控制字符(小于0x20)则在前面加入0x7D,并改变该字符的编码

    3. 零比特填充(同步传输,一连串比特传输)
      标志字段为111111(六个连续的1),则只要发现五个连续的1,则立即填入一个0,这样就保证了透明传输。

  • PPP协议的工作状态
    1. 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
    2. PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP帧)
    3. 这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使PC 机成为因特网上的一个主机
    4. 通信完毕时,NCP 释放网络层连接,收回原来分配出去 的 IP 地址;接着,LCP 释放数据链路层连接;最后释放的是物理层的连接
      在这里插入图片描述

第三节 CSMA/CD协议

一. 局域网的数据链路层

  • 特点:网络为一个单位所拥有,且地理范围和站点数目均有限。

  • 局域网的主要优点:

    1. 具有广播功能,一个站点可以访问全网
    2. 便于系统扩展和演变,各设备位置可以灵活调整和改变
    3. 提高系统可靠性(reliability)可用性(availability)生存性(survivability)
  • 由于以太网在局域网市场上占据绝对优势,现在以太网几乎成为了局域网的同义词。

  • 局域网工作的层次跨越了物理层和数据链路层,有关数据链路层的内容比较丰富。在这里讲局域网并不表示局域网只和数据链路层有关。

  • 共享信道的两种方法:

    1. 静态划分信道(频分复用、时分复用、波分复用、码分复用)
    2. 动态媒体接入控制 / 多点接入(multiple access):随机接入(接下来详细要讲),受控接入(探询 / 轮询 polling)
  • 以太网的两个标准
    IEEE 802.3标准,分为两个子层:

    1. 逻辑链路控制LLC (Logical Link Control)子层
    2. 媒体接入控制 MAC (Medium Access Control)子层

    DIX Ethernet V2
    市场竞争下,DIX Ethernet V2 获胜,LLC的作用已经消失了

  • 适配器的作用
    网络接口板又称为通信适配器(adapter)或网络接口卡NIC (Network Interface Card),或“网卡”
    主要功能:

    1. 数据传输的串并行转换(适配器和局域网串行,适配器和计算机并行)
    2. 缓存(网络上的数据率和计算机总线上数据率并不相同)
    3. 在计算机的操作系统安装设备驱动程序
    4. 实现以太网协议(接收和发送各种帧时,不用CPU,收到有差错的帧时直接丢弃也不通知CPU,收到正确的帧时,中断)
      在这里插入图片描述

    计算机的硬件地址就在适配器的ROM中,计算机的软件地址(IP地址)在计算机的存储器中

二. CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection)⭐

  • 无连接的工作方式,不进行编号,也不要求对方发回确认。

  • 尽最大努力的交付,即不可靠的交付,对差错帧是否需要重传由高层决定,以太网并不知道是否为重传帧

  • 曼彻斯特(Manchester)编码,为保证接收端可以从收到的比特流中提取位同步(比特同步)信号
    在这里插入图片描述

  • 要点:

    1. 多点接入
    2. 载波监听:不管在发送前,还是在发送时,每个站都必须不停地检测信道
    3. 碰撞检测 / 冲突检测(边发送边监听):当检测到的电压幅度变化超过一定门限值,就认为是发生了冲突,则立即停止发送。
    4. 一个站不能同时发送和接收(但必须边发送边监听信道),因此,只能进行双向交替通信(半双工通信)
    5. 发送的不确定性:每一个站在自己发送数据后一小段时间内,存在着遭遇碰撞的可能性。这一小段时间是不确定的,它取决于另一个站到本站的距离。
    6. 争用期(contention)/ 碰撞窗口(collision window):以太网的端到端往返时延 2τ 。经过争用期还没有检测到碰撞,才能确定不会发生碰撞。争用时间为51.2µs,或512比特时间(在10Mbit/s以太网),发送64字节。因此确定最短帧长64字节,不足则填充:凡长度小于64字节的帧都是由于冲突而异常中止的无效帧,立即丢弃
    7. 截断二进制指数退避(truncated binary exponential type):A. 基本退避时间:一般是取为争用期 2τ;B. 定义重传次数 k = Min[重传次数, 10];C. 从整数集合[0,1,…, (2k −1)]中随机地取出一个数,记为 r;D. 重传所需的时延就是 r 倍基本退避时间;E. 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
    8. 强化碰撞:一旦发现发生碰撞时,立即停止发送数据,并再继续发送32或48比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞
    9. 帧间最小间隔为 9.6 µs,相当于 96 bit 的发送时间:使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备
  • 总结:

    1. 准备发送:适配器从网络层获得一个分组,加上首部和尾部,组成以太网帧,放入适配器缓存中,发送前,信道检测
    2. 检测信道:若信道忙,则不停检测,直到空闲;若信道空闲,并在96比特时间一直空闲,则发送这个帧;
    3. 适配器边发送边监听:A. 发送成功,回到1;B. 发送失败:争用期内检测到碰撞,立即停止发送数据,并发送人为干扰信号,接着执行指数退避算法,等待后返回2,若重传16次不能成功,则终止重传并向上报错

三. 以太网信道利用率

一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ 使得信道上无信号在传播)时为止,是发送一帧所需的平均时间
在这里插入图片描述

要提高以太网的信道利用率,就必须减小 τ 与 T0 之比。在以太网中定义了参数 a,它是以太网单程端到端时延 τ 与帧的发送时间 T0 之比:
在这里插入图片描述

对以太网参数的要求:

  1. 当数据率一定时,以太网的连线的长度受到限制,否则 τ的数值会太大
  2. 以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大(这里从另一方面提出了帧不得过短)
    理想情况下,信道利用率的最大值 Smax
    在这里插入图片描述

第四节 以太网的MAC层

一. MAC帧的硬件地址

在所有计算机系统中,标识系统(identification system)都是一个核心问题

名字指出我们所要寻找的那个资源,地址指向那个资源在何处,路由告诉我们如何到达该处

严格地讲,名字应当与系统所在地无关。但IEEE 802标准为局域网规定的地址,是指固化在适配器ROM中的地址。局域网中的“地址”应当是每一站的“名字”或标识符。

  • 在局域网中,硬件地址又称为物理地址,或 MAC 地址,共48位
  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位);地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址
  • 一个地址块可以生成224个不同的地址。这种 48 位地址称为MAC-48,它的通用名称是EUI-48;“MAC地址”实际上就是适配器地址或适配器标识符EUI-48

适配器有过滤功能,仅接收“发往本站的帧”,包括以下三种:

  1. 单播(unicast)帧(一对一)
  2. 广播(boardcast)帧(一对全体)
  3. 多播(multicast)帧(一对多)

以太网适配器还可以设置一种特殊的工作方式,即混杂方式(promiscuous mode):窃听,嗅探器(Sniffer)

二. MAC 帧的格式
在这里插入图片描述

五个字段:

  • 目的地址源地址(6字节+6字节)
  • 类型字段:上一层用什么协议(2字节)
  • 数据字段:46-1500字节(64-1518)
  • 帧检验序列FCS(4字节)

此处注意2个问题:

  1. 首部没有帧长度,如何判断取出多少字节交付上一层?曼彻斯特编码每个码元正中间都有一次电压变化,而发送方发送完毕后电压不再变化
  2. 上层协议如何知道填充字段的长度?依靠数据链路层上层使用IP协议时的“总长度”字段

实际传输时多8个字节:

  • 前同步位码(7个字节)接收端迅速实现 MAC 帧的比特同步
  • 帧开始定界符(1个字节)10101011表示后面的信息就是MAC 帧

注意2个问题:

  1. 同步传输时不需要前同步位码
  2. 以太网以帧为单位传送,各帧之间有一定空隙,不需要帧结束定界符,也不需要字节插入来保证透明传输

第五节 局域网的扩展

一. 在物理层拓展局域网

集线器工作在物理层,它的每个接口仅仅简单地转发比特,不进行碰撞检测
在这里插入图片描述

碰撞域(冲突域):在任一时刻,每一个碰撞域中只能有一个节点发送数据
用集线器组成更大的局域网都在一个碰撞域中
在这里插入图片描述

优点:

  1. 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信
  2. 扩大了局域网覆盖的地理范围

缺点:

  1. 碰撞域增大了,但总的吞吐量并未提高
  2. 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来(集线器不能把帧缓存)

二. 在数据链路层扩展局域网

  • 在数据链路层扩展局域网是使用网桥

  • 网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口
    在这里插入图片描述

  • 优点:

    1. 过滤通信量
    2. 扩大了物理范围
    3. 提高了可靠性
    4. 可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网(可以缓存)
  • 缺点:

    1. 存储转发增加了时延
    2. 在MAC 子层并没有流量控制功能
    3. 具有不同 MAC 子层的网段桥接在一起时时延更大
    4. 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴
  • 两个网桥之间还可使用一段点到点链路,网桥不改变它转发的帧的源地址

  • 网桥与集线器的区别:

    1. 集线器在转发帧时,不对传输媒体进行检测
    2. 网桥在转发帧之前必须执行 CSMA/CD 算法:若在发送过程中出现碰撞,就必须停止发送和进行退避
  • 网桥应当按照自学习算法处理收到的帧和建立转发表

    1. 网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目
    2. 在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口
    3. 在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间。只保留网络拓扑的最新状态信息
      在这里插入图片描述
  • 生成树算法:避免产生转发的帧在网络中不断地兜圈子;在任何两个站之间只有一条路径

  • 以太网交换机:全双工方式

  • 独占传输媒体的带宽

三. 虚拟局域网

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
在这里插入图片描述

虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记 (tag),用来指明该帧属于哪一个虚拟局域网。
插入VLAN标记得出的帧称为 802.1Q 帧或带标记的以太网帧。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值