第三章--数据链路层

本章目录:
3.1使用点对点信道的数据链路层
3.1.1数据链路和帧
3.1.2三个基本问题
3.2点对点协议PPP
3.2.1PPP协议的特点
3.2.2PPP协议的帧格式
3.2.3PPP协议的工作状态
3.3使用广播信道的数据链路层
3.3.1局域网的数据链路层
3.3.2CSMA/CD协议
3.3.3使用集线器的星形拓扑
3.3.4以太网的信道利用率
3.3.5以太网的MAC层
3.4扩展的以太网
3.4.1在物理层扩展以太网
3.4.2在数据链路层扩展以太网
3.4.3虚拟局域网
3.5高速以太网
3.5.1 100BASE-T以太网
3.5.2吉比特以太网
3.5.3 10吉比特以太网(10GE)和更快的以太网
3.5.4使用以太网进行宽带接入
 
 
数据链路层属于计算机网络的低层。数据链路层使用的信道主要有以下两种类型:
  1. 点对点信道---这种信道使用一对一的点对点通信方式
  2. 广播信道---这种信道使用一对多的广播通信方式
本章首先介绍点对点信道和在这种信道上最常用的点对点协议PPP,然后讨论共享信道的局域网和有关的协议
本章最重要的内容是:
  1. 数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点
  2. 数据链路层的三个基本问题:封装成帧,透明传输和差错检测
  3. 以太网MAC层的硬件地址
  4. 适配器,转发器,集线器,网桥,以太网交换机的作用以及使用场合
数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位为一组,每组什么意思
数据链路层功能:定义了电信号的分组方式
 
下面看一下两台主机通过互联网进行通信时数据链路层所处的地位:
 
 
3.1使用点对点信道的数据链路层
3.1.1数据链路和帧
所谓链路(link)就是从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点
数据链路(data link)除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路
常用的方法是使用网络适配器(即有硬件,也包括软件)来实现这些协议。一般的适配器都包括数据链路层和物理层这两层的功能
 
点对点信道的数据链路层的协议数据单元---帧
网络层协议数据单元就是IP数据报(或简称为数据报,分组或包)
点对点信道的数据链路层在进行通信时的主要步骤如下:
  1. 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
  2. 结点A把封装好的帧发送给结点B的数据链路层
  3. 若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧
 
3.1.2三个基本问题
数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:封装成帧,透明传输和差错检测
 
1.封装成帧
在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧界限
为了提高帧的传输效率,应当使帧的数据部分长度尽可能地大于首部和尾部的长度。每一种链路层协议都规定了所能传送的帧的数据部分长度上限---最大传送单元MTU(Maximum Transfer Unit)
 
当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。ASCII码是7位编码,一共可以组合成128个不同的ASCII码,其中可打印的有95个,而不可打印的控制字符有33个。(可打印的字符就是可以在键盘上输入的字符,我们使用的标准键盘有47个键可输入94个字符,包括使用shift键,加上空格键,一共可以输入95个可打印字符)
 
控制字符SOH(start of header)放在一帧的最前面,表示帧的首部开始。另一个控制字符EOT(end of transmission)表示帧的结束。注意:SOH和EOT都只是控制字符的名称,他们的十六进制编码分别是01(二进制是00000001)和04(二进制是00000100)。SOH,EOT 并不是S O H E O T这几个字符,只是名字而已
 
2.透明传输
当传送的帧是用文本文件组成的帧时,其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输
当数据部分是非ASCII码的文本文件时,就有可能出现下面情况:
为了解决透明传输问题,字节填充法或字符填充:在控制字符SOH、EOT的前面插入一个转义字符ESC(其十六进制编码是1B,二进制是00011011)。而接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符
3.差错检测
现实的通信链路都不会是理想的。传输过程中,1可能变成0,0可能变成1,这就叫做比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。误码率与信噪比有很大的关系
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check)的检错技术
下面使用例子来说明循环冗余检验的原理:
计算n位冗余码
现假定待传输的数据M=101001(k=6),除数p=1101(n=3)比n多一位
  1. 用二进制的模2运算进行(2^n)乘M的运算,相当于在M后面添加n个0。即在M后面添加3个0
  2. 得到M=101001000(k+n=9)位的数除以除数p(n=3)位
  3. 得到商是Q(不需要),余数R=001(n位),R就是冗余码FCS
  4. 原M加上FCS后发送的帧是101001001
PS:
  • 用模2运算进行加法时不进位,例如:1111+1010=0101.减法和加法一样,按加法规则计算
  • 传输差错分为两类:第一类就是前面所说的最基本的比特差错,第二类是收到的帧出现了帧丢失,帧重复和帧失序(停止等待协议---ARQ)
在数据链路层若仅仅使用循环冗余检验CRC差错检测技术,则只能做到对帧的无差错接受,即:凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错
 
3.2点对点协议PPP
3.2.1PPP协议的特点
PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议
1.PPP协议应满足的需求
  • 简单(首要要求)
  • 封装成帧
  • 透明性
  • 多种网络层协议
  • 多种类型链路
  • 差错检测(error detection)
  • 检测连接状态
  • 最大传送单元
  • 网络层地址协商
  • 数据压缩协商
2.PPP协议的组成
PPP协议有三个组成部分:
  1. 一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制
  2. 一个用来建立,配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项
  3. 一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP,OSI的网络层,DECnet,以及AppleTalk
3.2.2PPP协议的帧格式
1.各字段的帧格式
PPP帧的首部和尾部分别为四个字段和两个字段
首部的第一个字段和尾部的第二个字段都是标志字段F(Flag),规定为0x7E("0x"表示后面的字符是用十六进制表示的)。标志字段表示一个帧的开始或结束。因此标志字段就是PPP帧的定界符
首部中的地址字段A规定为0xFF(即11111111),控制字段C规定为0x03(即00000011)
PPP首部的第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据
信息字段的长度是可变的,不超过1500字节
尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS
2.字节填充
当PPP使用异步传输时,它把转义符定义为0x7D(即01111101),并使用字节填充,其方法:
  1. 把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)
  2. 若信息字段中出现一个0x7D的字节,则把0x7D转变成为2字节序列(0x7D,0x5D)
  3. 若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变
3.零比特填充
PPP协议采用零比特填充方法来实现透明传输
零比特填充的具体做法是:在发送端,先扫描整个信息字段,只要发现有5个连续1,则立即填入一个0。接收端在收到时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。发现5个连续1时就删除后面的0,还原原来信息比特流
 
3.2.3PPP协议的工作状态
PPP链路的初始化:当用户拨号接入ISP后,就建立了一条从用户个人电脑到ISP的物理连接。这时用户个人电脑向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),以建立LCP连接。这些分组及其响应选择了将要使用的一些PPP参数。接着还要进行网络配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址。这样用户个人电脑就成为互联网上的一个有IP地址的主机
 
3.3使用广播信道的数据链路层
广播信道可以进行一对多的通信。下面要讨论的局域网使用的就是广播信道
3.3.1局域网的数据链路层
局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数据均有限
局域网具有如下一些主要优点:
  1. 具有广播功能,从一个站点可很方便地访问全网
  2. 便于系统的扩展和逐渐演变,个设备的位置可灵活调整和改变
  3. 提高了系统的可靠性(reliability),可用性(availability)和生存性(survivability)
局域网可按网络拓扑进行分类
  • 星形网---由于集线器(HUB)的出现和双绞线大量用于局域网中,星形以太网以及多级星形结构的以太网得到广泛应用
  • 环形网
  • 总线网
 
 
信道划分:共享信道要着重考虑的一个问题就是如何是众多用户能够合理而方便地共享通信媒体资源,这在技术上有两种方法:
1.静态划分信道
  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用
2.动态媒体接入控制,又称为多点接入(multiple access)。其特点是信道并非在用户通信是固定分配给用户
  • 随机接入---特点是所有的用户可随机地发送信息
  • 受控接入---特点是用户不能随机地发送信息而必须服从一定的控制
 
1.以太网的两个标准
为了使数据链路层能更好地适应多种局域网标准,IEEE 802委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制LLC(Logical Link Control)子层和媒体接入控制MAC(Medium Access Control)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体有关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的
2.适配器的作用
计算机与外界局域网的连接是通过通信适配器(adapter)进行的。适配器本来是在主机箱能插入的一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡---个人计算机存储器接口适配器)。这种接口板又称为网络接口卡NIC(Network Interface Card)或简称为"网卡"
 
适配器和局域网之间的通信是通过电缆或双绞线以串行参数传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。因此适配器的一个重要功能就是要进行数据串行传输和并行传输的转换
 
 
3.3.2CSMA/CD协议
定义:载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)
冲突:
 
 
冲突受控:
冲突争用:
做法:
  1. 第一步,先听后发(每个站在发送数据前先要检测一下总线上是否有其他计算机在发送数据)
  2. 第二步,边听边发(每个站在发送数据时要检查是否发送碰撞)
  3. 第三步,冲突停止(当发生碰撞时候双方要立马停止发送数据,并发送人为干扰信号)
  4. 第四步,随机重发(然后依据退避算法重新发送数据)
 
CSMA/CD协议的要点:
  • 多点接入---总线型网络,许多计算机以多点接入的方式连接在一根总线上。协议的实质是"载波监听"和"碰撞检测"
  • 载波监听---用电子技术检测总线上有没有其他计算机也在发送。载波监听就是检测信道
  • 碰撞检测---适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据
 
传播时延对载波监听:
 
人为干扰信号:
 
特点:
  • 一个站点不可能同时发送数据和接收数据
  • 多计算机以多点接入的方式连接在一根总线上
退避算法:
  • 确定基本退避时间,一般是取为争用期 2τ
  • 定义重传次数 k,k = Min[重传次数, 10].从整数集合[0,1,…, (2的k-1次方减去1)]中随机地取出一个数记为r.重传所需的时延就是r 倍的的退避时间
  • 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
争用期:
  • 从发送方传送数据到接受方,并由接收方返回数据到发送方的时间
  • 以太网取51.2s 为争用期的长度,在争用期内可发送512 bit,即 64 字节.在争用期内可发送数据若前 64 字节没有发生冲突,则后续的数据就不会发生冲突,若接受到的帧小于64字节直接丢弃
 
CSMA/CD发送路程:
CSMA/CD接收流程:
 
3.3.3使用集线器的星形拓扑
以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
集线器的一些特点如下:
  1. 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议
  2. 一个集线器有许多接口,每个接口通过RJ-45插头用两对双绞线与一台计算机上的适配器相连
  3. 集线器工作在物理层,它的每个接口仅仅简单地转发比特
       4.集线器采用了专门的芯片,进行自适应串音回波抵消
3.3.4以太网的信道利用率
 
3.3.5以太网的MAC层
1.MAC层的硬件地址
在局域网中,硬件地址又称为物理地址或MAC地址,其实是指局域网上的每一台计算机中固化在适配器的ROM中的地址。为了能够标识每一台计算机,目前所采用的MAC地址一般是6字节的48位的长度。我们可以简单的理解,所谓的MAC地址实际上就是适配器的地址
注意:
如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种 48 位“地址”应当是某个接口的标识符
 
48 位的 MAC 地址:
(1)IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2字节 (16位) 这两种中的一种。
(2)IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
(3)地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址
(4)一个地址块可以生成 224 个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48。
(5)生产适配器时,6 字节的 MAC 地址已被固化在适配器的 ROM,因此,MAC 地址也叫作硬件地址 (hardware address)或物理地址。
“MAC地址”实际上就是适配器地址或适配器标识符 EUI-48
PS:适配器实际上就是每台计算机接入到互联网的一个接口
单站地址,组地址,广播地址的相关概念:
IEEE规定地址字段的第一字节的最低位为 I/G 位。I/G 表示 Individual / Group。
当 I/G位=0 时,地址字段表示一个单站地址。
当 I/G位=1 时,表示组地址,用来进行多播(以前曾译为组播)。此时,IEEE 只分配地址字段前三个字节中的23位。
当 I/G 位分别为 0 和 1 时,一个地址块可分别生成 224 个单个站地址和 224 个组地址。
所有 48 位都为 1 时,为广播地址。只能作为目的地址使用
 
全球管理与本地管理:
IEEE 把地址字段第一字节的最低第 2 位规定为 G/L 位,表示 Global / Local。
当 G/L位=0 时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的 OUI 都属于全球管理。
当 G/L位=1 时, 是本地管理,这时用户可任意分配网络上的地址
 
2 .MAC帧的格式
以太网V2的MAC帧较为简单,由五个字段组成:
  1. 6个字节长的目的地址字段
      2.6个字节长的源地址字段
      3.2个字节长的类型字段
        4.46-1500个字节长的数据字段
      5.4个字节长的帧检验序列FCS(使用CRC检验)
 
 
无效的 MAC 帧:
(1)数据字段的长度与长度字段的值不一致;
(2)帧的长度不是整数个字节;
(3)用收到的帧检验序列 FCS 查出有差错;
(4)数据字段的长度不在 46 ~ 1500 字节之间。
(5)有效的 MAC 帧长度为 64 ~ 1518 字节之间。
注意:对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧
 
IEEE 802.3 MAC 帧格式:
与以太网V2 MAC 帧格式相似,区别在于:
(1) IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。
当这个字段值大于 0x0600 时(相当于十进制的1536),就表示“类型”。这样的帧和以太网V2 MAC 帧完全一样。
当这个字段值小于 0x0600 时才表示“长度”。
(2) 当“长度/类型”字段值小于 0x0600 时,数据字段必须装入上面的逻辑链路控制 LLC 子层的 LLC 帧
 
3.4扩展的以太网
3.4.1在物理层扩展以太网
以太网上的主机的距离不能太远,否则主机发送的信号经过铜线的参数就会衰减到使CSMA/CD协议无法正常工作
过去,广泛用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的物理覆盖范围。现在,双绞线以太网成为以太网的主流类型,扩展主机和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器
光纤调制解调器的作用是进行电信号和光信号的转换
 
3.4.2在数据链路层扩展以太网
在数据链路层扩展以太网要使用网桥
网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的接口转发这个帧,而是检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)
 
网桥的内部结构:
  • 最简单的网桥有两个接口,复杂些的网桥可能有更多的接口。两个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可以称为一个网段(segment)。
  • 网桥通过转发表来转发帧。转发表也称为转发数据库或路由目录。
  • 网桥的工作原理:是通过内部的接口管理软件和网桥协议实体来完成以下操作的。 
(1)若网桥从接口1收到A发给E的帧,则在查找转发表后,把这个帧送到接口2转发到另一个网段,使E能够收到这个帧。 
(2)若网桥从接口1收到A发给B的帧,就丢弃这个帧,因为转发表指出,转发给B的帧应当从接口1中转发出去,而现在正是从接口1收到这个帧,这说明B和A处在同一个网段上,B能够直接收到这个帧而不需要借助网桥的转发。
 
1990年问世的交换式集线器(switching hub),很快就淘汰了网桥。交换式集线器常称为以太网交换机(switch)或第二层交换机(L2 switch),强调这种交换机工作在数据链路层。以太网交换机实质上就是一个多接口的网桥
1.以太网交换机的特点
  • 以太网交换机的每个接口都可直接与主机或集线器相连,并且一般都工作以全双工方式
  • 交换机能同时连通许多对接口,使每一对相互通信的主机都能像独占通信媒体一样,进行无碰撞地传输数据
  • 以太网交换机由于使用了专用的交换结构芯片,其交换速率较高
2.以太网交换机的自学习功能
3.从总线以太网到星形以太网
随着以太网上站点数目的增多,使得总线结构以太网的可靠性下降。使得星形结构的以太网交换机可成为以太网的首选拓扑
 
3.4.3虚拟局域网
利用以太网交换机可以很方便地实现虚拟局域网VLAN(Virtual LAN)
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
 
三个局域网:LAN1(A1,A2,B1,C1),LAN2(A3,B2,C2),LAN3(A4,B3,C3)
三个虚拟局域网:VLAN1(A1,A2,A3,A4),VLAN2(B1,B2,B3),VLAN3(C1,C2,C3)

猜你喜欢

转载自www.cnblogs.com/LQ-Hacker/p/Network-3.html