数据链路层信道类型分为点到点信道和广播信道
点对点信道:一对一的点对点通信,点对点协议PPP
广播信道:CSMA/CD协议
点对点信道
数据链路和帧的定义
链路(link):一个结点到
相邻结点
的一段物理线路,中间没有任何其他交换结点。
数据链路(data link):把实现通信协议的
硬件和软件
加到链路上,构成数据链路。
数据帧(frame):数据链路层传输和处理数据的单位。
数据链路层的三个基本问题:封装成帧、透明传输和差错检验
封装成帧
封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的重要作用就是进行帧定界。
首部和尾部还包括许多必要的控制信息。
最大数据单元MTU:每层链路层协议规定的所能传送的帧的
数据部分长度上限
透明传输
帧开始符SOH(start of header):表示帧的首部开始
帧结束符EOT(end of transmission):表示帧的结束
透明传输:无论什么样的比特组合的数据,都能够按照原样没有差错地通过数据链路层
解决透明传输问题可采用字节填充发和字符填充法
字节填充法:
发送方:
1.数据中出现SOH或者EOT则在控制字符前面加入一个转义字符ESC
2.数据中出现转义字符ESC,则在前面再加入一个ESC
接收方:
1.将数据发送网络层之前删除转义字符
2.若同时出现两个转义字符ESC则删除一个
差错检验
概念:
比特差错:传输过程中可能会产生差错:1 可能会变成 0, 0 也可能变成 1。
误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率
CRC循环冗余校验
在数据后面添加上冗余码称为帧检验序列FCS(frame check sequence)
循环冗余检验 CRC 和帧检验序列 FCS并不等同。
• CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
• FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
接受丢弃
循环冗余检验CRC只能检验是否出错,不能检验错误在哪
点对点协议PPP
协议组成:
一个将IP数据报封装到串行链路的方法(封装成帧)
一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)
一套网络控制协议NCP(Network Control Protocol),每个协议支持不同的网络层协议
PPP协议透明传输
实现透明传输方法:
1.面向字节的异步链路:字节填充法,插入字符
2.面向比特的同步链路:比特填充法
面向字节的异步链路
定义转义字符为Ox7D,使用字节填充
发送方:
1.出现的每一个Ox7E字符转换成2字节的(Ox7D,Ox5E)
2.出现的一个Ox7D字符转换成两字节的(Ox7D,Ox5D)
3.出现ASCII码的控制字符,在该字符前加一个 0x7D,同时将该字符的编码加上0x20
接收方:在收到数据后再进行与发送方字节填充相反的变化,就可正确恢复出原来的信息
面向比特的同步链路
发送方:只要有连续的5个1,则
立即填入一个0
接收方:只要有连续的5个1,则
立即把下一个0删除
使用广播信道的数据链路层
局域网的特点:网络为一个单位所有,且地理范围和站点数目有限
局域网的优点:
具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
提高了系统的可靠性、可用性和残存性。
拓扑结构分为:星形网、环形网(
有干线耦合器
),总线型(
有匹配电阻
)
严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网
通信适配器(adapter):又称网络接口卡,网卡
进行串行/并行转换
对数据进行缓存
在计算机的操作系统安装设备驱动程序
实现以太网协议
计算机中
IP地址放在CPU和存储器
中,生成发送的数据和处理收到的数据
物理地址放在网卡
中,把帧发送到局域网从局域网接收帧。
CPU和存储器和网卡之间进行并行通信,网卡和局域网之间是串行通信
CSMA/CD协议
在以太网上一台计算机发送数据时是用广播通信方式,其中
匹配电阻
可以吸收总线上的传播信号
以太网采取的通信简单措施
1.采取较为灵活的
无连接
的方式
1.适配器对发送的数据帧不进行编号,也不要求对发回确认
2.以太网提供的服务是尽最大努力的交付,即不可靠的交付
2.以太网发送数据使用
曼切斯特编码
的方式,缺点:所占频率的宽度比原始的基带信号增强一倍
CSMA/CD协议特点:
多点接入:许多计算机以多点接入的方式连接在一根总线上。
载波监听:①每一个站在发送数据之前 先要检测一下总线上是否 有其他站点在发送数据。②如果有,则暂时不要发送 数据,以免发生碰撞。
碰撞检测:计算机边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
电磁波在1km电缆传播时延为5us
在使用使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(即σ-> 0) 就可知道发送的数据帧是否 遭受了碰撞。
以太网的端到端往返时延称为争用期,或碰撞窗口
截断二进制指数退避算法
发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
退避时间随机数
从整数集合中随机取出数重传次数
当重传次数大于10次之后,k只能取10;当重传次数大于16次之后则丢弃该帧,并向高层汇报
最短有效帧
以太网规定了最短有效帧长为 64 字节,即512bit。
如果要发送的数据非常少,必须加入一些填充字节,使帧长不小于64字节。
以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
对于传统以太网(10Mbit/s),发送512bit的时间要51.2us 传统以太网争用期长度为 51.2 s。
强化碰撞:当发送数据的站一旦发现发生了碰撞时: ①立即停止发送数据; ②发送32比特或48比特的人为干 扰信号(jamming signal)
帧最小间隔为9.6us,相当于96比特时间,使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
CSMD/CD协议流程图
传统以太网的发展
最初使用粗同轴电缆->比较便宜的细同轴电缆->更便宜和灵活的双绞线
使用集线器的星型拓扑结构
10BASE-T以太网采用星形拓扑,在星形的 中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。
集线器的特点
使用集线器的以太网在物理上是一个星形网,在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线
一个集线器有许多接口,因此集线器很像一个多接口的转发器
集线器工作在物理层,它的每个接口仅仅简单地转发比特,不进行碰撞检测
集线器采用专门的芯片,进行自适应串音回波抵消
以太网的信道利用率
考虑一种理想化的情况:
各站发送数据都不会产生碰撞;
总线一旦空闲就有某一个站点发送数据;
发送一帧占用线路的时间是 𝑻𝟎 + 𝝉,帧本身发送时间是 𝑻𝟎;
IEEE规定第一个字节的最低为为I/G位。
I/G=0
时,地址字段表示
单个站地址(单播
)。
I/G=1
时,表示组地址,用来
多播
G/L=0时是全球管理,G/L是本地管理。
MAC地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址
如果是
发往本站的帧
则收下,然后再进行其他的处理。
否则就将此帧丢弃,不再进行其他的处理
发往本站的帧
单播帧(1对1):收到的帧的MAC地址与本站的硬件地址相同
广播帧(1对全体):发送给本局域网上的所有站点的帧(全1地址)
多播帧(1对多):发送给本局域网的部分站点的帧
MAC帧格式:
目的地址:
6个字节
长的MAC地址
源地址:
6个字节
长的MAC地址
类型字段:用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层协议。
取值为0x0800:表示上层使用的是
IP数据报
取值为0x8137:表示上层使用的是
Novell IPX协议
数据字段:长度在
46~1500
字节之间
帧检验序列FCS:
循环冗余校验CRC
计算出的
校验位
为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节
第一个字段:7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。
第二个字段:1个字节,是帧开始定界符,表示后面的信息就是MAC 帧。
IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。
当这个字段值大于 0x0600 时(相当于十进制的 1536),就表示“类型”。这样的帧 和以太网 V2 MAC 帧完全一样。
当这个字段值小于 0x0600 时才表示“长度”。
扩展以太网
扩展主机和集线器之间的距离一种简单的方法是使用
光纤
和
光纤调制解调器
光纤调制解调器的作用是进行
光和电信号的转换
碰撞域和广播域
碰撞域也称为冲突域:指在该域内某一时刻只能有一个站点发送数据;如果两个站点同时发送数据会引起冲突, 则这两个站点处于同一个冲突域内。
广播域:指在以太网中,能够接收到任意站点发送的广播帧的所有站点的集合称为一个广播域。
用集线器扩展以太网的优点:1. 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。 2. 扩大了局域网覆盖的地理 范围。
缺点:1. 碰撞域增大了,但总的吞吐量并未提高。 2. 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
在数据链路层扩展以太网
最初在数据链路层扩展以太网使用网桥。
网桥收到一个帧,并不是向所有的接口转发此帧,而是根据此帧的
目的MAC地址
, 查找网桥的地址表,然后决定将该帧转发到哪一个接口,或者是把它丢弃(过滤)
网桥对收到的帧根据其MAC帧的目的地址进行
转发
和
过滤
。
可以使用网桥来隔离碰撞域。
以太网交换机实质上是一个
多接口网桥
,每个接口都直接与一台主机或另一台以太网交换机相连,并且一般工作在全双工方式 。 以太网交换机具有
并行性
,能同时连通多对接口,使多对主机同时通信。相互通信的主机
独占传输媒体
,
无碰撞
地传输数据(不使用CSMA/CD协议)。
以太网交换机是一种即插即用设备,内部的帧交换表是通 过自学习算法自动建立,它收到一个帧后,根据交换表, 进行帧转发。 以太网交换机一般具有多种速率的接口,例如:10Mb/s 、 100Mb/s 和1Gb/s接口的各种组合。
以太网交换机帧转发方式:
① 存储转发:将帧完全接收和缓存下来,然后根据帧头部的目的MAC地址进行转发。
② 直通方式 : 接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了 帧的转发速度
缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
③ 无碎片交换:直通方式的改进,要求交换机只有在收到64字节以后才开始以直通方式转发帧,从而避 免转发发生冲突而造成的碎片帧。
在交换表中每个项目都设有一定的有效时间。过期的项目 就自动被删除。
自学习方法
自学习:
查找交换表中与收到帧的源地址有无相匹配的项目。
如没有,就在转发表中增加一个项目(源地址、进入的接口和有效时间)。
如有,则把原有的项目进行更新。
转发帧:
查找交换表中与收到帧的目的地址有无相匹配的项目
如没有,则通过所有其他接口按进行转发。
如有,则按转发表中给出的接口进行转发。
若转发表中给出的接口就是该帧进入的接口,则丢弃这个帧。
以太网的发展历程:
早期,以太网采用无源的总线结构。
现在,采用以太网交换机的星形结构成为以太网的首选拓扑。
总线以太网使用 CSMA/CD 协议,以半双工方式工作。
以太网交换机不使用共享总线,没有碰撞问题,因此不使用 CSMA/CD 协议,而是以全双工方式工作。但仍然采用以太网的帧结构。
速率达到或超过 100 Mb/s 的以太网称为高速以太网。
在双绞线上传送 100 Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议。 100BASE-T 以太网又称为快速以太网(Fast Ethernet)。