1. 封装成帧
在一段数据的前面和后面分别添加首部和尾部,使接收方能确定帧的界限。
帧定界的方法
A:字节计数法:在帧头设置一个长度域,放置该帧的字节数,当收方收到帧后,通过帧的长度,确定帧的开始。
B: 字符填充法:当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的ASCII码(不可打印的控制字符)作为 帧定界符。控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧 的 首 部 开 始 。 另 一 个 控 制 字 符 EOT (End Of
Transmission) 表示帧的结束。
发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。
接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
C:比特填充法:使用一个特殊的比特模式01111110作为帧的起始和结束标志。每连续发送5个1后,在后面自动插入一个0, 这样 就不会出现定界符号。
2. 差错检测
在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
A:循环沉余检验CRC
在数据块中插入沉余信息,使得数据块中的各个比特具有某种形式上 的联系,接收端通过验证这种联系来判断是否出错。
在M(K位数据)后面加上n位的沉余码,在M后面加n个0,事先选定(n+1)位的除数,用新M除以除数,得到的余数设为R, R一定是n位的,最后,将R拼接到M后面,一起发送出去,到了接收方,再用除数去除M,如果余数为0,代表没有出错。
需要注意的是,这里的运算都是模2运算,也就是说,没有借位这样的操作。
引入了多项式的计算。
检验的是比特差错,没有检测传输差错(帧丢失,帧重复,帧失序)。
M(X)--------信息多项式
R(X)--------冗余多项式
T(X)--------传输帧多项式
P (除数)为生成多项式
B:奇偶检测码
水平奇偶检测:其信息字段以字符为单位,校验字段仅含一个比特称为校验比特或校验位。使用七比特的ASCII码来构造成八比特的检错码时若采用奇/偶校验,校验位的取值应使整个码字包括校验位,1的比特个数为奇数或偶数。
编码效率: Q/(Q+1)
垂直奇偶检测:将很多组合成一个矩阵来看,在最后一行进行检测。
编码效率: PQ/P(Q+1)
水平垂直检测:两个方向都进行检测
编码效率:PQ/(P+1)(Q+1)
C:海明码
单比特纠错海明码:
码距(海明距离Hamming Distance)
一个编码系统中任意两个合法编码(码字)之间不同的二进位(bit)数叫这两个码字的码距。 而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。
如果要检测出d个比特的错,则编码集的海明距离至少为d+1。
如果要纠正 d个比特的错,则编码集的海明距离至少应为2d+1。
若需纠正一位错,需满足: 2^r ≥ K+r+1.
设置2^i为检测位,统计有关位的异或和(如果是偶检验,那么1的个数是偶数,异或和一定是0),最后即可推出答案。
接收方只要求出各 s1,s2,s3....即可,如果有错,那么 错误位 S=S3S2S1
校正方式,将S位取反即可。
3. 点对点协议PPP
高级数据链路控制(High-Level Data Link Control)是由国际标准化组织ISO制定的面向比特的链路层协议。
格式:标志字段、地址字段、控制字段、信息字段和帧校验序列组成。
HDLC 可以分为3大类:1.信息帧(实现信息的传递),2. 监控帧(不含信息字段,但能监控) 3. 无编号帧(对链路进行附加控制,如建立,清除)。
PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节
PPP 有一个 2 个字节的协议字段。其值
若为 0x0021,则信息字段就是 IP 数据报。
若为 0x8021,则信息字段是PPP网络控制协议NCP的数据。
若为 0xC021,则信息字段是 PPP 链路控制协议LCP的数据
透明传输时:异步传输:加转义(字符填充),将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列 (0x7D, 0x5E)
若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)
若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个0x7D 字节,同时将该字符的编码加以改变。
同步传输时:0比特填充
PPP协议的组成:
A:一个将IP数据报封装到串行链路的方法。
B: 一个用来建立,配置和测试数据链路连接的链路控制协议(LCP)。
C: 一套网络控制协议NCP,其中每个协议支持不同的网络层协议。
4. 载波监听多点接入/碰撞检测CSMA/CD
A:以太网采用广播方式传播
(1)采用较为灵活的无连接的工作方式(不必建立连接就可以传送数据,不进行编号,也不要求进行回复)
(2)以太网发送数据都使用曼切斯特编码(它所占的频带宽度比原来多一倍)
多点接入表示:有多个计算机都连在同一总线上;
载波监听:每个主机要发送数据时,都先检测有没有其他主机在发送数据
碰撞检测:计算机边发送数据边检测信道上的信号电压大小。
发生碰撞的主要原因还是因为传播时延引起的。
使用CSMA/CD协议的以太网,不能进行全双工通信,只能进行双向交替通信(半双工通信)。
最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
5. 截断二进制指数退避算法
基本退避时间取为争用期 2t。
从整数集合 [0, 1, 2,3,4,… , (2^k -1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。(k为重传的次数)
k=min(k,10),当超过16次还不能成功时,就放弃该帧,向高层报告。
对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节(最短有小帧长),以太网规定了最短帧长为64字节。
6. 强化碰撞
在发生碰撞以后,立即停止发送数据,再继续发送若干比特的人为干扰信号,以便让所有用户都知道发生了碰撞。
以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
帧间最小间隔为 9.6 µs,相当于 96 bit 的发送时间,一个站在检测到总线空闲后,还要等待96bit时间,这样做是为了让刚刚接收数据的站有时间去清理缓存,做好下一帧的接收准备。
成功发送一个帧需要占用信道的时间是T0 + t,比这个帧的发送时间要多一个单程端到端时延t,这是因为当发送完以后,数据还在以太网上传输。
在以太网中定义了参数 α,它是以太网单程端到端时延 t 与帧的发送时间 T0 之比。它反映了挣用期和发送时间之间的关系。
理想情况下的极限信道利用率 Smax =T0/(T0+r)
7. 以太网
(1). MAC地址 前3个字节是组织唯一标识符,由IEEE编制,后3个字节由厂家编制。
当 I/G位 = 0 时,地址字段表示一个单站地址。当I/G位=1时,地址字段表示组地址,用来进行多播。
(2)星形以太网 10BASE-T ,10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。
(3) 数据链路层的两个子层:逻辑链路控制子层(LLC,向上提供数据传输服务的统一接口),媒体接入控制MAC(控制对传输介质的访问,并在物理层的基础上实现无差错通信)。
与接入到传输媒介有关的内容都放到MAC中,而LLC子层与传输媒介无关。不管采用何种协议的局域网,对 LLC 子层来说都是透明的。
TCP/IP一般不考虑 LLC 子层。
8. 网络接口板(适配器)
进行串行/并行转换,对数据进行缓存,在计算机的操作系统安装设备驱动程序,实现以太网协议。
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址,如果是发送给自己的,则接收,否则直接丢弃。发往本站的帧有三种,单播帧(1对1),广播帧(1对全体),多播帧(1对多)。
所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。
只有目的地址才能使用广播地址和多播地址。
9. 以太网V2的 MAC 帧格式
类型字段(2字节)用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。
当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。
在帧的前面插入(硬件生成)的 8 字节中,第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。 (为了达到比特同步,在传输媒介上实际传输的要比MAC多8个字节)。
10 .集线器
集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
11 网桥
网桥工作在数据链路层。
根据 MAC 帧的目的地址对收到的帧进行转发和过滤。
网桥的工作原理
: 网桥从端口接收网段上传送的各种帧;
:每当收到一个帧时,先暂存在缓存中。
:若此帧未出错,且欲发送的目的站的MAC地址属于另外一个网段,则通过查找“转发表”将收到的帧送往对应的端口转发。
:若此帧出错,则丢弃该帧。
:同一个网段内的帧,不会被网桥转发,不会增加网络负担
集线器在转发帧时,不对传输媒体进行检测。网桥在转发帧之前必须执行 CSMA/CD 算法。
由于网桥没有网卡,因此网桥并不改变它转发的帧的源地址。
网桥用于在数据链路层上,实现了在数据链路层以上使用相同协议的局域网的互连。
它负责完成物理层和数据链路层协议的转换,网桥具有路由选择功能,可提高网络的整体效率。
固定路由网桥:人工建立路由表,不能动态改变
透明网桥:能生成和修改自己路由表的网桥
源路由网桥:
12. 多端口网桥——以太网交换机
以太网交换机实质上就是一个多接口的网桥。
每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
相互通信的主机都是独占传输媒体,无碰撞地传输数据
能同时连通多对接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来
优点:用户独享带宽,增加了总容量。
存储转发方式:把整个数据帧先缓存后再进行处理
接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。
缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
交换机使用了生成树协议(STP):
不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
基本原理:选择一个交换机作为生成树的根,然后以最短路径为依据,找到树上的每一个结点,使整个连通的网络中不存在回路
13 虚拟局域网
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。
这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
14 高速以太网
速率达到或超过 100 Mbit/s 的以太网称为高速以太网。
A:100BASE-T 以太网:100BASE-T 在双绞线上传送 100 Mbit/s 基带信号的星形拓扑以太网;
可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。