计算机通信网课程自学笔记6——链路层和局域网

前言


本人选择并阅读的参考书为《计算机网络——自顶向下方法第七版》,因此本人将尝试以书中的顺序来梳理自己的学习笔记。同时本人还借鉴了一些课程课件中的知识内容,也将一并与书本内容结合进行归纳。

链路层和局域网

  • 在两台主机之间,数据报跨越一系列通信链路传输,一些是有限链路,而一些是无线链路,从源主机开始,通过一系列分组交换机(交换机和路由器),在目的主机结束。

6.1 链路层概述

  • 运行链路层(即第2层)协议的任何设备称为节点(node)
  • 沿着通信路径连接相邻节点的通信信道称为链路(link)
    • 为了将一个数据报从源主机传输到目的主机,数据报必须通过沿端到端路径上的各段链路传输
    • 在通过特定链路时,传输节点将数据报封装在链路层帧中,并将该帧传送到链路中 在这里插入图片描述

6.1.1 链路层提供的服务

  • 链路层协议能够提供的可能服务包括:
    • 成帧(framing)
    • 链路接入:媒体访问控制(Medium Access Control, MAC)协议规定了帧在链路上传输的规则
    • 可靠交付:保证无差错地经链路层移动每个网络层数据报
      • 但是对于低比特差错链路,可靠交付可能会被认为是一种不必要的开销,许多有线的链路层协议不提供该服务
    • 差错控制和纠正:链路层的差错检测通常比网络层更加复杂,并且用硬件实现

6.1.2 链路层在何处实现

  • 链路层的主体部分是在网络适配器(network adapter)中实现的,网络适配器有时也称为网络接口卡(Network Interface Card, NIC)
    • 位于网络适配器核心的是链路层控制器,该控制器通常是实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片
  • 链路层的软件组件实现了高层链路层功能,如组装链路层寻址信息和激活控制器硬件
    在这里插入图片描述

6.2 差错检测和纠正技术

  • 比特级差错检测和纠正(bit-level error detection and correction),即对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正,通常是链路层提供的两种服务
    在这里插入图片描述
  • 在发送节点,为了保护比特免受差错,使用差错检测和纠正比特(Error-Detection and-Correction, EDC)来增强数据D
  • 差错检测和纠正技术使接收方有时但并总是检测出已经出现的比特差错。即使采用差错检测比特,也还是可能有未检出比特差错(undetected bit error)
  • 接下来我们研究在传输数据中检测差错的三种技术
    • 奇偶校验(它用来描述差错检测和纠正背后隐含的基本思想)
    • 检验和方法(它通常更多地应用于运输层)
    • 循环冗余检测(它通常更多地应用在适配器中的链路层)

路由选择算法的一种分类方式是根据该算法是集中式还是分散式来划分

6.2.1 奇偶校验

  • 差错检测最简单的方式就是用单个奇偶校验位(parity bit)
    • 在偶校验方案中:1的总数是偶数
    • 在奇校验方案中:1的总数是奇数
  • 可以检测出出现了奇数个比特差错
    在这里插入图片描述
  • 使用二维奇偶校验(two-dimensional parity)方案,包含比特值改变的列和行的校验值都将会出现差错。因此接收方不仅可以检测到出现了单个比特差错的事实,而且还可以利用存在奇偶校验差错的列和行的索引来实际识别发生差错的比特并纠正
    在这里插入图片描述
    接收方检测和纠正差错的能力被称为前向纠错(Forward Error Correction, FEC)
    • FEC可以减少所需的发送方重发次数
    • FEC允许在接收方立即纠正差错,避免了不得不等待的往返时延

6.2.2 检验和方法

  • 在检验和技术中,d 比特数据被作为一个k 比特数据的序列处理。一个简单检验和方法就是将这k 比特整数加起来,并且用得到的和作为差错检测比特,因特网检验和就是基于这种方法,这个和的反码形成了携带在报文段首部的因特网检验和。

6.2.3 循环冗余检测

  • 现今的计算机网络中广泛应用的差错检测技术基于循环冗余检测(Cyclic Redundancy Check, CRC)编码,也称为多项式编码(polynomial code)
    在这里插入图片描述

6.3 多路访问链路和协议

在本章的概述中,我们提到了有两种类型的网络链路:点对点链路和广播链路

  • 点对点链路(point-to-point link)由链路一端的单个发送方和链路另一端的单个接收方组成
  • 广播链路(broadcast link)能够让多个发送和接收节点都连接到相同的、单一的、共享的广播信道上
    • 多路访问问题(multiple access problem):如何协调多个发送和接收节点对一个共享广播信道的访问
    • 多路访问协议(multiple access protocol):节点通过这些协议来规范它们在共享的广播信道上的传输行为
      在这里插入图片描述

当多个节点处于活跃状态时,为了确保广播信道执行有用的工作,以某种方式协调活跃节点的传输是必要的

  • 任何多路访问协议可以被划分为三种类型之一:
    • 信道划分协议(channel partitioning protocol)
    • 随机接入协议(random access protocol)
    • 轮流协议(taking-turns protocol)

6.3.1 信道划分协议

  • 时分多路复用(TDM)和频分多路复用(FDM)是两种能够用于在所有共享信道节点之间划分广播信道带宽的技术
    • TDM将时间划分为时间帧(time frame),并进一步划分每个时间帧为N个时隙(slot)
      • 它有两个主要缺陷:
        • 节点被限制于R/N bps 的平均速率,即使当它是唯一有分组要发送的节点
        • 节点必须总是等待它在传输序列中的轮次,即使它是唯一一个有帧要发送的节点
    • FDM将 R bps 信道划分为不同的频段(每个频段具有R/N 带宽),并把每个频率分配给N 个节点中的一个
      • FDM也有和TDM同样的优点和缺点

6.3.2 随机接入协议

  • 在随机接入协议中,一个传输节点总是以信道的全部速率(即R bps)进行发送
    • 当有碰撞时,涉及碰撞的每个节点反复地重发它的帧(也就是分组),到该帧无碰撞地通过为止
    • 但是当一个节点经历一次碰撞时,它不必立刻重发该帧,而是在重发该帧之前等待一个随机时延
  1. 时隙ALOHA
    当有N个活跃节点时,时隙ALOHA的效率是Np(1-p)N-1,最大效率为1/e
  2. ALOHA
    当有N个活跃节点时,纯ALOHA的效率是Np(1-p)2N-2,最大效率为1/2e,刚好是时隙ALOHA的一半,这是完全分散的ALOHA协议所要付出的代价
  3. 载波侦听多路访问(CSMA)
    • 载波侦听(carrier sensing):说话之前先听——一个节点在传输前先听信道
    • 碰撞检测(collision detection):如果与他人同时开始说话,停止说话——当一个传输节点在传输时一直在侦听此信道
    • 这两个规则包含在载波侦听多路访问(Carrier Sense Multiple Access, CSMA)和具有碰撞检测的CSMA(CSMA with Collision Detection, CSMA/CD)协议族中
    • 广播信道的端到端信道传播时延(channel propagation delay)(信号从一个节点传播到另一个节点所花费的时间)在决定其性能方面起着关键的作用 。该传播时延越长,载波侦听节点不能侦听到网络中另一个节点已经开始传输的机会就越大
  4. 具有碰撞检测的载波侦听多路访问(CSMA/CD)

我们希望的时间间隔是:当碰撞节点数量较少时,时间间隔较短;当碰撞节点数量较大时,时间间隔较长

6.3.3 轮流协议

  • 轮流协议(taking-turns protocol)中有两种比较重要的协议:
    • 轮询协议(polling protocol):要求节点之一被指定为主节点,主节点以循环的方式轮询(poll)每一个节点
    • 令牌传递协议(token-passing protocol):一个称为令牌(token)的小的特殊帧在节点之间以某种固定的次序进行交换
      • 当一个节点收到令牌时,仅当它有一些帧要发送时,它才持有这个令牌;否则,它立即向下一个节点转发该令牌

6.4 交换局域网

在这里插入图片描述

6.4.1 链路层寻址和ARP

  • 主机和路由器不仅拥有网络层地址,还具有自己的链路层地址
  1. MAC地址

    • 并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址
    • 链路层地址有各种不同的称呼:LAN地址(LAN address)、物理地址(physical address)或MAC地址(MAC address)
      • MAC地址的一个有趣性质是没有两块适配器具有相同的地址
      • 适配器的MAC地址具有扁平结构(这与层次结构相反),而且不论适配器到哪里用都不会变化;IP地址具有层次结构(即一个网络部分和一个主机部分),而且当主机移动时,IP地址需要改变
      • 有时某发送适配器的确要让局域网上所有其他适配器来接收并处理它打算发送的帧。在这种情况下,发送适配器在该帧的目的地址字段插入一个特殊的MAC广播地址(broadcast address)——(FF-FF-FF-FF-FF-FF)
  2. 地址解析协议

    • 地址解析协议(Address Resolution Protocol, ARP)的任务是转换网络层地址和链路层地址
      在这里插入图片描述

    • ARP将一个IP地址解析为一个MAC地址,与DNS不同的是,ARP只为在同一个子网上的主机和路由器接口解析IP地址

    • 每台主机或路由器在其内存中具有一个ARP表(ARP table),其包含IP地址到MAC地址的映射关系。该表还包含一个寿命(TTL)值,它指示了从表中删除每一个映射的时间

    • 如果ARP表中没有包含目的主机的表项时:

      1. 主机向它的适配器传递一个ARP查询分组,并指示适配器使用MAC广播地址来发送该分组
      2. 适配器在链路层帧中封装这个ARP分组,用广播地址作为帧的目的地址,并将该帧传输进子网中
      3. 包含该ARP查询的帧能被子网上的所有其他适配器接收到,并且(由于广播地址)每个适配器都把在该帧中的ARP分组向上传递给ARP模块
      4. ARP模块中的每一个都检查它的IP地址是否与ARP分组中的目的IP地址相匹配
      5. 与之匹配的一个给查询主机发送回一个带有所希望映射的响应ARP分组
      6. 查询主机更新自己的ARP表,并发送它的IP数据报,该数据报封装在一个链路层帧中
    • ARP协议中有两个有趣的事情:

      1. 查询ARP报文是在广播帧中发送的,而响应ARP报文是在一个标准帧中发送
      2. ARP是即插即用的,即一个ARP表是自动建立的,不需要系统管理员来配置

  3. 发送数据报到子网以外(与上述情况类似)
    在这里插入图片描述

6.4.2 以太网

1.以太网帧结构
在这里插入图片描述

  • 数据字段(46~1500字节):该字段承载了IP数据报,以太网的最大传输单元(MTU)是1500字节
  • 目的地址(6字节):该字段包含目的适配器的MAC地址
  • 源地址(6字节):这个字段包含了传输该帧到局域网上的适配器的MAC地址
  • 类型字段(2字节):类型字段允许以太网复用多种网络层协议
    • 当以太网帧到达适配器,适配器需要知道它应该将数据字段的内容传递到哪个网络层协议(即分解)
    • 所有这些字段都是为了把一层中的某协议与上一层的某协议结合起来
  • CRC(4字节)
  • 前同步码(8字节):前同步码(Preamble)字段的前7个字节用于“唤醒”接收适配器,并且将它们的时钟与发送方的时钟同步
    • 前7字节的值都是10101010
    • 最后一个字节是10101011

所有的以太网技术都向网络层提供无连接服务、不可靠服务

6.4.3 链路层交换机

1.交换机转发和过滤

  • 交换机的过滤和转发借助于交换机表(switch table)完成
  • 过滤(filtering):是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能
  • 转发(forwarding):是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能
  • 交换机表中的一个表项包含:
    • 一个MAC地址
    • 通向该MAC地址的交换机接口
    • 表项放置在表中的时间
      在这里插入图片描述
  • 对于索引交换机表的情况可分为3种(假设目的地址为DD-DD-DD-DD-DD-DD的帧从交换机接口x到达):
    1. 没有对应目的地址的表项,交换机广播该帧
    2. 如果有一个表项将目的地址与接口x联系起来
      - 无须将该帧转发到任何接口,交换机通过丢弃该帧执行过滤功能即可
    3. 如果表中有一个表项将DD-DD-DD-DD-DD-DD与接口y≠x联系起来
      - 该帧需要被转发到与接口y 相连的局域网网段
      - 交换机通过将该帧放到接口y 前面的输出缓存完成转发功能

2.自学习

  • 交换机表是自动动态自治地建立的
  • 交换机的自学习(self-learning)性是以如下方式实现的:
    • 交换机表初始为空
    • 对于在每个接口接收到的每个入帧,该交换机在其表中存储:
      • 在该帧源地址字段中的MAC地址
      • 该帧到达的接口
      • 当前时间。交换机以这种方式在它的表中记录了发送节点所在的局域网网段,如果在局域网上的每个主机最终都发送了一个帧,则每个主机最终将在这张表中留有记录
    • 如果在一段时间(称为老化期(aging time))后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址

交换机是即插即用设备(plug-and-play device),因为它们不需要网络管理员或用户的干预

3.链路层交换机的性质

  • 交换机有几个优点:
    • 消除碰撞:交换机缓存帧并且绝不会在网段上同时传输多于一个帧
    • 异质的链路:交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒体上运行
    • 管理

4.交换机与路由器比较

  • 路由器使用网络层地址转发分组
  • 交换机使用MAC地址转发分组
  • 交换机是第二层的分组交换机,而路由器是第三层的分组交换机
  • 交换机必须处理高至第二层的帧,而路由器必须处理高至第三层的数据报
    在这里插入图片描述
    在这里插入图片描述

6.4.4 虚拟局域网

现代机构的局域网常常是配置为等级结构的,每个工作组(部门)有自己的交换局域网,经过一个交换机等级结构与其他工作组的交换局域网互联
在这里插入图片描述
但是如上图的配置中,能够发现三个缺点:

  1. 缺乏流量隔离:通过路由器代替图中的中心交换机,能够提供这种类型的隔离
  2. 交换机的无效使用
  3. 管理用户

而支持虚拟局域网(Virtual Local Network,VLAN)的交换机允许经过单一的物理局域网基础设施定义多个虚拟局域网

6.5 链路虚拟化:网络作为链路层

  • 多协议标签交换(Multiprotocol Label Switching, MPLS)用以改善IP路由器的转发速度,它采用虚电路网络领域的一个关键概念:固定标签长度
    • 对于基于固定长度标签和虚电路的技术,在不放弃基于目的地IP数据报转发的基础设施的前提下,当可能时通过选择性地标识数据报并允许路由器基于固定长度的标签(而不是目的地IP地址)转发数据报来增强其工农
    • 这些技术与IP协同工作,使用IP寻址和路由选择
      在这里插入图片描述
  • 一个MPLS加强的帧仅能在两个均为MPLS使能的路由器之间发送
  • 一个MPLS使能的路由器常被均为标签交换路由器(label-switched router),因为它通过在其转发表中查找MPLS标签,然后立即将数据报传递给适当的输出接口来转发MLPS帧
  • MPLS基于标签执行交换,而不必考虑分组的IP地址
    在这里插入图片描述
  • MPLS基于标签执行交换,而不必考虑分组的IP地址
  • MPLS提供了沿着多条路由转发分组的能力,使用标准IP路由选择协议这些路由将是不可能的
  • 网络运行者能够超越普通的IP路由选择,迫使某些流量沿着一条路径朝着某给定的目的地引导,并且朝着相同目的地的其他流量沿着另一条路径流动(无论是由于策略、性能或某些其他原因)

6.6 数据中心网络

  • 每个数据中心都有自己的数据中心网络(data center network),这些数据中心网络将其内部主机彼此互联并与因特网中的数据中心互联
  • 数据中心的主机被称为刀片(blade),主机被堆叠在机架上
  • 每一个机架顶部有一台交换机——机架顶部(Top of Rack,TOR)交换机,它们与机架上的主机互联,并与数据中心中的其他交换机互联
  • 数据中心网络支持两种类型的流量:在外部客户与内部主机之间流动的流量,以及内部主机之间流动的流量
    • 为了处理外部客户与内部主机之间流动的流量,数据中心网络包括了一台或多台边界路由器(border router),它们将数据中心网络与公共因特网相连
      在这里插入图片描述
  1. 负载均衡
    • 在数据中心内部,外部请求首先被定向到一个负载均衡器(load balancer)
    • 负载均衡器的任务是向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载
  2. 等级体系结构
    • 数据中心通常应用路由器和交换机等级结构(hierarchy of router and switch)
    • 因为数据中心的一个关键需求是放置计算和服务的灵活性,所以支持主机到主机的高宽带通信十分重要
  3. 数据中心网络的发展趋势
    • 部署能够克服传统等级设计缺陷的新型互联体系结构和网络协议——全连接拓扑(fully connected topology)
    • 采用基于船运集装箱的模块化数据中心(Modular Data Center,MDC)
    • 大型云提供商正在其数据中心越来越多地建造或定制几乎所有东西,包括网络适配器、交换机路由器、TOR、软件和网络协议

在这里插入图片描述

6.8 小结

  • 链路层的基本服务是将网络层的数据报从一个节点(主机、交换机、路由器,WiFi接入点)移动到一个相邻的节点

跳转

我们将以以下顺序进行总结:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值