计算机网络|数据链路层 笔记
数据链路层概述
实现设备之间通信
点对点信道
广播信道
使用专用的共享信道协议协调主机的数据发送
数据链路和帧
链路 (link) 是一条点到点的物理线路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分
数据链路传输的是数据帧
三个基本问题
封装成帧
透明传输
差错检测
封装成帧
数据前后添加首部和尾部
包含了帧定界符、特定协议相关字段、检测和控制信息
为了提高传输效率,应当使帧的数据部分长度尽量大于帧首部和尾部的长度,但是每种协议都规定了所能传送帧的数据部分长度上限——最大传输单元MTU。(以太网为1500字节)
数据为ASCII码时,可以使用SOH\EOT作为特殊定界符
透明传输
数据为二进制比特流时,无法使用定界符找到帧的边界
解决方法:字节填充或者字节填充
数据中出现SOH\EOT的前面插入转义符ESC(0x1b)
接收端在链路层送往网络层前删除转义符
转义符出现在数据中时也前插转义符
差错检测
差错检测可防止有差错的无效数据帧浪费后续路由上的传输和处理资源
传输过程中可能出现比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
误码率 = 错误的比特/传输比特总数
误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
在数据链路层传送的帧中,广泛使用循环冗余检验 CRC 的检错技术
CRC
发送前数据划分为每组k比特
在其后添加供差错检测的n位冗余码
设传输数据为: M = 101001
设除数为: P = 1101
被除数是 2nM = 101001000
结果的商Q (无用),而使用n位的余数R(CRC)
把余数 R 作为冗余码添加在数据 M 的后面发送出去
发送的数据是:2nM + R
余数为0接受否则丢弃
硬件完成,不延误传输
FCS
在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
循环冗余检验 CRC 和帧检验序列 FCS 并不等同。(CRC≠ FCS)
CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS的唯一方法。(还有其他方法,如奇偶校验)
要做到“无差错传输”就必须再加上确认和重传机制
点对点协议PPP
Point-to-Point Protocol
互联网正式标准
简单 ——首要的要求。(不提供可靠数据报服务,无编号、无确认)
原因:链路层出错概率不大,并且FCS能检出错误,承载的是IP数据报(尽力而为)
封装成帧 —— 必须规定特殊的字符作为帧定界符。
透明性 —— 必须保证数据传输的透明性。
差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧(节约资源)。
支持多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
支持多种类型链路 —— 能够在多种类型的链路上运行。
协议内容
一个将 IP 数据报封装到串行链路的方法(PPP帧格式)IP数据报是PPP帧的数据部分。
一个用来建立、配置和测试数据链路连接的链路控制协议 LCP (Link Control Protocol)通信双方以此来协商一些选项。
一套网络控制协议 NCP (Network Control Protocol)
当 PPP 用在异步传输时,就使用一种特殊的字节填充法。(了解)
当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充。
帧结构中的前导码用于( )。
A. 同步
异步传输是面向字符的传输,逐个字符地传送;
而同步传输是面向比特的传输,一连串的比特连续传送。
零比特填充
发现5个连续的1立刻填入一个0
LCP协议
略
广播信道
广播信道可以进行一对多的通信
局域网最初使用的就是广播信道
以太网在局域网市场中占据绝对优势
按网络拓扑结构分类
总线网
环形网
星型网
媒体共享技术
能够广播,是由于存在共享信道,而关键是多用户如何合理的共享通信媒体资源。
静态划分信道(代价太高,不适合局域网)
频分复用、时分复用、波分复用、码分复用
动态媒体接入控制(多点接入),信道并非固定分配给用户
受控接入,如多点线路探询 (polling),或轮询。(较少使用)
随机接入,灵活但需要有特殊协议解决网络中的碰撞问题。(被以太网采用)
逻辑链路控制 LLC (Logical Link Control)子层
媒体接入控制 MAC (Medium Access Control)子层,一般就不考虑 LLC 子层
适配器
网络接口卡、网卡adapter
计算机通过适配器连接到局域网
网卡实现的主要功能在物理层和数据链路层
适配器的重要功能:
进行串行/并行转换。
对数据进行缓存,解决速率不一致问题。
可进行部分独立运算(不用CPU),差错帧自行扔掉,正确帧使用中断通知计算机并交付网络层。
接收IP数据报后封装成帧并发送。
实现以太网协议(如CSMA/CD)、实现编码(曼彻斯特编码)。
载有硬件地址。
为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器的硬件地址一致时,才能接收这个数据帧
CSMA/CD
载波监听多点接入 / 碰撞检测(Carrier Sense Multiple Access with Collision Detection)

多点接入:表示许多计算机(以多点接入方式)连接在一根总线上。
半双工
载波监听:就是用电子技术检测总线上有没有其他计算机发送的数据信号。
每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
碰撞(也称为冲突):当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
碰撞后果:碰撞使总线上传输的信号产生严重的失真,因此无法从中恢复出有用的信息来,从而导致数据发送的失败。
碰撞检测(也称为冲突检测):当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。碰撞检测就是计算机边发送数据边检测信道上的信号电压大小。
一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,并发送人为干扰信号(32或48bit);
目的是强化冲突,使其他站点尽早都知道信道中发生了碰撞,从而暂缓发送数据,这样可以避免其他站点的数据发送失败。
当检测到信道空闲时,还要等96bit时间内仍然空闲后才能发送;
96bit时间,是指发送96bit的时间,对于10M以太网为9.6 μs;
这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
这个时间段(96bit时间)又称为帧间最小间隔。
以太网的端到端往返时延 2\(\tau\) 称为争用期,或碰撞窗口
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
10 Mbit/s 以太网取 51.2 μs 为争用期的长度。
10 Mbit/s 以太网在争用期内可发送 512 bit(64 字节)
最短有效帧长为 64 字节
局域网中访问冲突的根源是( )。
共享介质
在采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gb/s,电缆中的信号传播速度是200000km/s。若最小数据帧长度减少了800比特,则最远的两个站点之间的距离至少需要( )。
A. 增加80m
B. 减少160m
C. 减少80m
D. 增加160m
正确答案:C:减少80m;
答案解析:最小数据帧长度减少800比特 = 最远两个端点之间往返的时间内发送出的比特数减少800。
若数据传输速率不变,则需要缩短最远两个端点之间的距离。
假设减少的最小距离为s:
减少的发送时延 = 减少的往返时间
800 / 1Gbs = s / 200000kms * 2,解得s = 80m
设线路的传输速率为100Mb/s。以太网规定最短帧长为64B = 512b。H1与H2连接在一台集线器上,若集线器再生比特流的过程中,会产生1.54us的时延,信号传播速度为200m/us,不考虑以太网前导码,则H1与H2之间理论上可以相距的最远距离是( )。
A. 205m
B. 103m
C. 203m
D. 204m
正确答案:D:204m;
1.7分
答案解析:m/us = 200 * 10m/s,
在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1 Gbps,电缆中的信号传播速度是200 000 km/s。若最小数据帧长度为7000比特,则最远的两个站点之间的距离最多为( )。
A. 3200m
B. 700m
C. 1600m
D. 800m
正确答案:B:700m;
答案解析:设距离为L
发送时延: 7000b/1Gbps = 7*10^(-6)
往返传播时延:2*(L/(2*10^8))
令发送时延=往返传播时延,则可得出L=7000bit
二进制指数类型退避算法 (truncated binary exponential type):
发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
基本退避时间取为争用期 2\(\tau\) 。
从整数集合 [0, 1, … , (2^k - 1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
参数 k 按下面的公式计算:
\(k = Min[重传次数, 10]\)
当 k ≤10 时,参数 k 等于重传次数。
当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
使用集线器的星型拓扑
同轴电缆的总线式
双绞线的星型拓扑
10Base-T以太网采用的传输介质是双绞线
集线器hub
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
集线器很像一个多接口的转发器,工作在物理层
据统计,当以太网的利用率达到 30% 时就已经处于重载的情况
以太网的MAC层
为了在共享信道上实现一对一通信,发送方需要将接收站的硬件地址写入帧首部中的目的地址字段中
每个适配器(网卡)都有一个 MAC 地址被固化在适配器的 ROM中,也叫做硬件地址或物理地址。
如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。
IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种。
IEEE 的注册管理机构 (RA) 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
单站地址,组地址,广播地址
IEEE 规定地址字段的第一字节的最低位为 I/G (Individual/Group)位。
当 I/G 位 = 0 时,地址字段表示一个单站地址。
当 I/G 位 = 1 时,表示组地址,用来进行多播。
当所有 48 位都为 1 时,为广播地址。
注意:只有目的地址才能使用广播地址和多播地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址。
如果是发往本站的帧则收下,然后再进行其他的处理。
否则就将此帧丢弃,不再进行其他的处理。
“发往本站的帧”包括以下三种类型的帧:
单播 (unicast) 帧(一对一)
广播 (broadcast) 帧(一对全体)(全1地址)
多播 (multicast) 帧(一对多)
以混杂方式 (promiscuous mode) 工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。
DIX Ethernet V2 标准
IEEE 的 802.3 标准
以太网帧的最大帧长为1518字节。
MTU(Maximum Transmission Unit),是数据链路层的帧可以载荷的数据部分的最大长度。以太网默认MTU=1500字节
对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。
以太网拓展 VLAN
在物理层拓展
集线器
碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。碰撞域越大,发生碰撞的概率越高。
使用集线器扩展:会形成更大的碰撞域,因此总吞吐量并未提高
在数据链路层拓展
网桥
根据 MAC 帧目的地址对收到的帧进行转发和过滤。
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。
工作原理:转发异网段帧,屏蔽同网段帧,广播未知帧,学习源地址
交换机
以太网交换机本质上是一种多接口网桥
每个接口都直接与一个单台主机或另一个以太网交换机相连,一般都工作在全双工方式。
具有并行性,以太网交换机能同时连通多对接口,使多对主机能同时通信。
相互通信的主机都是独占传输媒体,无碰撞地传输数据。
使用了专用的交换结构芯片,其转发速率要比使用软件转发的网桥快很多,且性价比高。
交换机与双绞线进行连接的端口是:RJ45
存储转发方式
把整个数据帧先缓存后再进行处理。
直通 (cut-through) 方式
接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。
缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
自学习
当收到一个帧时,并不直接向所有的接口转发此帧,而是先根据交换机的转发表检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。只有在确实无法确定目的地址相关的端口时,才进行广播(洪泛Flooding)。
转发表 记录了接口与所连接站点MAC地址的对应关系
是交换机的关键组件
交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。
以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。
生成树协议 STP
不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
总线以太网使用 CSMA/CD 协议,以半双工方式工作
以太网交换机不使用共享总线,没有碰撞问题,因此不使用 CSMA/CD 协议,以全双工方式工作
广播域
广播域(broadcast domain):指这样一部分网络,其中任何一台计算机发出的广播通信都能被该部分网络中的所有其他计算机所接收
交换机每个接口都处于一个独立的碰撞域(或冲突域)中,但所有计算机都处于同一个广播域中。
如果要隔离广播域:
可在数据链路层可采用VLAN技术
或者使用工作于网络层的路由器
有一个连接20台计算机的网络,其中5台连接到一个Ethernet集线器上,另外5台连接到另一个Ethernet集线器上,每个集线器分别连接到两个不同的交换机上,而两个交换机又分别连接到两个不同的路由器上,两个路由器通过Ethernet网桥互联,剩下的10台计算机直接连接到其中1台交换上。在本题所述的网络中,共有( )个广播域。
4
第二层设备能隔离冲突域
第三层设备能隔离广播域
虚拟局域网
交换机连接主机数量较大时,会产生广播风暴;
多部门共享一个局域网不利于信息安全。
在数据链路层进行广播域隔离的技术:
利用以太网交换机可以很方便地实现虚拟局域网 VLAN (Virtual LAN),能够把较大的局域网逻辑地隔离成多个小局域网(广播域)
基于交换机端口
基于计算机网卡的MAC地址
基于协议类型
基于IP子网地址
基于高层应用或服务
不同的VLAN之间的通讯是需要由路由器来完成。
在由多个VLAN组成的一个局域网中以下哪种说法是不正确的?(B )
A. 当站点从一个VLAN转移到另一个VLAN是,一般不需要改变物理连接
B. VLAN中的一个站点可以和另一个VLAN中的站点直接通信
C. VLAN可以通过MAC地址,交换机端口等进行定义
D. 当站点在一个VLAN中广播时,其他VLAN中的站点不能收到
以下叙述错误的是(A )。
A. VLAN协议允许在以太网的帧格式中插入一个 4 字节的标识符,用来指明接收该帧的工作站属于哪个VLAN
B. 比特时间是发送一比特多需的时间,它是传信率的倒数
C. 以太网的两个主要标准是DIX Ethernet V2 标准与 IEEE 的 802、3 标准
D. 10BASE-T中的“10”表示信号在电缆上的传输速率为10MB/s
局域网参考模型一般不包括( 网络层)。
但包括 介质访问控制层
以太网帧格式


浙公网安备 33010602011771号