概述
数据链路使用的信道主要分两种类型:
- 点对点信道:使用一对一的通信方式。
- 广播信道:使用一对多的广播通信方式,过程比较复杂。
数据链路层的简单模型
主机H1向主机H2发送信息,数据从应用层向下流动,到达物理层变成比特流,经过路由器转发,通过检查MAC地址,查看IP地址,然后选择路由,找到下一个地址,再向下到物理层,这样经过路由器转发,到达主机H2。
而本章只专门研究数据链路层的问题,我们只关心协议栈中水平方向的各数据链路层,我们想象数据链路层是从左到右沿水平方向传输的。
3.1 使用点对点信道的数据链路层
3.1.1数据链路和帧
- 链路(link):从一个节点到相邻结点的一段物理线路(有线或无线),中间没有任何其他的交换结点。
- 数据链路(data link):传输数据时需要一些必要的通信协议来控制数据的传输,把实现这些协议的硬件和软件加到链路上就构成了数据链路。
现在常用的适配器(网卡)来实现这些协议的软硬件,一般的适配器都包括数据链路层和物理层两层的功能。
点对点信道的数据链路层协议的数据单元——帧
3.1.2三个基本问题
1.封装成帧
将一段数据前后分别添加首部和尾部,这样就构成了一个帧,首部和尾部一个重要作用就是进行帧定界。
帧数据部分的长度上限——最大传送单元MTU
帧定界可以使用特殊的帧定界符:
控制字符SOH(Start Of Header):放在帧最前面,表示帧的首部
控制字符EOT(End Of Transmission):表示帧的结束。
2.透明传输
当我们传输的数据部分出现了EOT或者SOH这样的帧定界控制字符时,可能导致数据被意外丢弃,这时就需要透明传输。
透明传输指数据中可能实际存在帧界定字符,但是却不被我们处理,就好像透明的一样,我们采用的方法是在发送端的数据链路层在数据中长线控制字符时在前面插入转义字符“ESC”,而在接收端的数据链路层在把数据传送往网络层之前删除插入的转义字符,这种方法称为字节填充或字符填充。(如果转义字符也出现在数据当中,同样将转义字符前插入转义字符)。
3.差错检验
传输中可能产生比特差错,1变成0,0变成1。在一段时间内,传输错误的比特占所用传输比特总数的比率称为误码率BER。
数据链路层广泛使用循环冗余检验CRC:
原理:当发送端发送数据帧,会将数据进行CRC运算,将尾部加上余数,接收端接收数据后,进行CRC校验,如果运算的余数为0则说明没有差错,就接收数据,不为零就将数据丢弃。
注意:仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”,但是不能保证一定没错,因为如果有多位出错结果校验为0,这种情况有可能存在。
循环冗余码参考:https://blog.csdn.net/sailist/article/details/83588406
3.2点对点协议PPP
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议
3.2.1PPP协议的特点
1.PPP应满足的需要
- 简单(首要的要求)
- 封装成帧
- 透明性
- 多层网络协议:同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。
- 多种类型链路(PPPoE)
- 差错检验
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
2.PPP协议的组成
PPP协议有三个组成部分:
1.一个将IP数据报封装到串行链路的方法
2.一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)
3.一套网络控制协议NCP(Network Control Protocol),其中每个协议支持不同的网络层协议。
3.2.2 PPP协议的帧格式
PPP帧的首部和尾部分别有四个字段和两个字段
- 首部第一个字段和尾部第二个字段是标志字段F,规定为0x7E,标志字段表示一个帧的开始或结束。
- 地址字段A(0xFF)和C(0x03)实际不起作用
- PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节
- 协议字段:
- 当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
- 若为 0xC021, 则信息字段是 PPP 链路控制数据。
- 若为 0x8021,则表示这是网络控制数据。
透明传输问题:
有两种方法保证透明传输:字节填充和零比特填充
1.字节填充
当信息字段出现和标记字段一样的比特(如0x7E)时,当PPP使用异步传输,它把转义字符定义为0x7D,并使用字节填充,填充方法如下:
- 信息字段每出现一个0x7E字节转变为2字节序列(0x7D,0x5E)
- 信息字段出现一个0x7D则转换为2字节序列(0x7D,0x5D)
- 信息字段出现控制字符,则在字符前加0x7D字节
2.零比特填充
当PPP协议使用异步传输(一连串的比特连续传送)而不是异步传输(逐个字符传送),这时PPP协议采用零比特填充:
- 在发送端,扫描信息字段,发现5个连续的1则填充一个0
- 接收端发现5个连续的1则删除5个1后面的一个0
PPP 协议之所以不使用序号和确认机制是出于以下的考虑:
- 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
- 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
- 帧检验序列 FCS 字段可保证无差错接受
3.2.3PPP协议工作状态
3.3使用广播信道的数据链路层
3.3.1 局域网的数据链路层
局域网的最主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的优点:
- 具有广播功能
- 便于系统的扩展和逐渐演变,设备位置可灵活调整改变
- 提高系统的可靠性、可用性、生存性
局域网的网络拓扑
共享信道
静态划分信道:频分复用、时分复用波分复用和玛分复用等,这种方式不适合局域网。
动态媒体接入控制(多点接入):
- 随机接入
- 受控接入 如多点线路探询或轮询
以太网的两个标准:
- DIX Ethernet V2:世界上第一个局域网产品的规约
- IEEE 802.3:第一个IEEE的以太网标准
以太网严格来说,是指符合DIX Ethernet V2标准打的局域网
IEEE802委员会把局域网数据链路层拆成两个子层,即逻辑链路控制LLC子层和媒体接入控制MAC子层。与接入到传输媒体相关的内容都放在MAC子层上,而LLC子层与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
适配器
网络接口板又称为通信适配器(adapter)或网络接口卡NIC(Network Interface Card)或网卡。
功能:
- 进行数据串行传输和并行传输的转换
- 对数据进行缓存
- 在计算机的操作系统中安装设备驱动程序
- 实现以太网协议
3.3.2 CSMA/CD协议
局域网MAC子层协议,以太网提供的服务是不可靠的交付,当目的站收到有差错的帧时就丢弃此帧,其他什么都不做,差错纠正由高层决定,如果高层发现丢弃了一些数据进行重传,但以太网不知道这是个重传帧,而是当做新的数据帧来发送。以太网发送数据都使用曼彻斯特编码的信号。
CSMA/CD表示载波监听多点接入/碰撞检测:
- 多点接入:表许多计算机以多点接入的方式连接到一根总线上
- 载波监听:用电子技术检测总线上有没有其他计算机也在发送
- 碰撞检测:计算机边发送数据边检测信道信号的电压大小,当电压变化超过一定的值就认为总线至少两个站在同时发送数据,表明产生了碰撞。
电磁波在1KM电缆的传播时延约为5us,单程端到端传播时延记为τ,从图中可知,判断是否发送碰撞的时间最多为2τ
在使用CSMA/CD协议时,一个站不能同时发送与接收信息(必须边发送边监听信道),因此以太网使用的是半双工通信。
最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
截止二进制指数退避算法
发生碰撞的站在停止发送数据后,要推迟退避)一个随机时间才能再发送数据。
- 确定基本退避时间,一般是取为争用期 2τ。
- 定义重传次数 k ,k <= 10,即k = Min[重传次数, 10]
- 从整数集合[0,1,…, (2k −1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
- 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告
争取期长度:
- 以太网取 51.2 μs 为争用期的长度。
- 对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。
- 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
最短有效帧长
- 如果发生冲突,就一定是在发送的前 64 字节之内。
- 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
- 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
强化碰撞
当发送数据的站一旦发现发生了碰撞时:
- 立即停止发送数据;
- 再继续发送若干比特(32或48比特)的人为干扰信号(jammingsignal),以便让所有用户都知道现在已经发生了碰撞。
3.3.3 使用集线器的星型拓扑
特点:
- 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行,使用集线器的局域网在物理上是一个星型网。
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD 协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
具有三接口的集线器:
3.3.4 信道利用率
一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ 使得信道上无信号在传播)时为止,是发送一帧所需的平均时间
定义参数a为单程端到端时延τ与帧的发送时间T0之比
- a→0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
- a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
因此对以太网参数有一定要求:
- 当数据率一定时,以太网的连线的长度受到限制,否则 τ 的数值会太大。
- 以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大。
极限信道利用率 Smax为:
3.3.5以太网的MAC地址
在局域网中,硬件地址又称为物理地址,或 MAC 地址。
48 位的 MAC 地址
- IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。
- 地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。
适配器具有过滤功能。适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.
- 如果是发往本站的帧则收下,然后再进行其他的处理。
- 否则就将此帧丢弃,不再进行其他的处理。
“发往本站的帧”包括以下三种帧:
- 单播(unicast)帧(一对一)
- 广播(broadcast)帧(一对全体)
- 多播(multicast)帧(一对多)
MAC 帧的格式
常用的以太网MAC帧格式有两种标准 :
- DIX Ethernet V2 标准
- IEEE 的 802.3 标准
最常用的 MAC 帧是以太网 V2 的格式。
无效的 MAC 帧
- 数据字段的长度与长度字段的值不一致;
- 帧的长度不是整数个字节;
- 用收到的帧检验序列 FCS 查出有差错;
- 数据字段的长度不在 46 ~ 1500 字节之间。(若考虑首尾部,有效的 MAC 帧长度为 64 ~ 1518 字节之间)
- 对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。
帧间最小间隔
帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间。
- 一个站在检测到总线开始空闲后,还要等待9.6 μs 才能再次发送数据。
- 这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
3.4 扩展的以太网
3.4.1 在物理层扩展以太网
主机使用光纤和一对光纤调制解调器连接到集线器
用多个集线器可连成更大的局域网
用集线器组成更大的局域网都在一个碰撞域中
碰撞域:在任意时刻,在每个碰撞域只能有一个站在发送数据
冲突域:网络上能够接收到同样广播分组的设备的集合,一个广播域包含一个或多个冲突域
用集线器扩展局域网:
优点
- 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
- 扩大了局域网覆盖的地理范围。
缺点
- 碰撞域增大了,但总的吞吐量并未提高。
- 如果不同的碰撞域使用不同的以太网技术(数据率),那么就不能用集线器将它们互连起来。
3.4.2 在数据链路层扩展以太网
最初使用网桥在数据链路层扩展以太网,后来人们广泛使用交换机替代了网桥。
以太网交换机的特点
以太网交换机实质上是一个多接口的网桥,通常有十几个或更多接口。
交换机的基本操作:
- 学习源地址,构造交换表,每个条目有时间戳,过期删除
- 过滤,可以隔离冲突域
- 选择性转发,目的地址已知帧单播
- 泛洪,目的地址未知帧广播,即将帧发送到除进入接口为的所有接口
为了避免产生转发的帧在网络中不断地兜圈子,IEEE的802.1D标准制定了生成树协议STP,在不改变网络的实际拓扑,在逻辑上切断某些链路,使得一台主机到其他主机的路径是无环路的树状结构。
从总线以太网到星型以太网:
不使用CSMA/CD协议,以全双工方式工作,但仍然使用以太网的帧结构。
3.4.3 虚拟局域网
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符(tag),指明发送这个帧的工作站是属于哪一个 VLAN。
VLAN间的通信只能通过第三层设备实现:路由器,三层交换机
VLAN的划分方法:
- 基于端口(静态划分)根据端口号划分
- 基于MAC地址(动态划分),根据用户计算机的MAC地址划分VLAN
- 基于网络地址或网络协议类型(动态),根据用户计算机的IP地址划分VLAN
3.5 高速以太网
速率达到或超过 100 Mb/s 的以太网称为高速以太网。
3.5.1 100BASE-T 以太网
在双绞线上传送 100 Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议。100BASE-T 以太网又称为快速以太网(Fast Ethernet)。
特点:
- 可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。
- MAC 帧格式仍然是 802.3 标准规定的。
- 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。
- 帧间时间间隔从原来的 9.6 μs 改为现在的 0.96 μs。
3.5.2 吉比特以太网
特点:
- 允许在 1 Gb/s 下全双工和半双工两种方式工作。
- 使用 802.3 协议规定的帧格式。
- 在半双工方式下使用 CSMA/CD 协议(全双工方式不需要使用 CSMA/CD 协议)。
- 与 10BASE-T 和 100BASE-T 技术向后兼容。
3.5.3 10吉比特以太网
只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。
以太网从 10 Mb/s 到 10 Gb/s 的演进证明了以太网是:
- 可扩展的(从 10 Mb/s 到 10 Gb/s)。
- 灵活的(多种传输媒体、全/半双工、共享/交换)。
- 易于安装。
- 稳健性好。
3.5.4 使用以太网进行宽度接入
最后
以上就是称心哈密瓜为你收集整理的计算机网络【谢希仁第七版】第三章【数据链路层】3.1 使用点对点信道的数据链路层3.2点对点协议PPP3.3使用广播信道的数据链路层3.4 扩展的以太网3.5 高速以太网的全部内容,希望文章能够帮你解决计算机网络【谢希仁第七版】第三章【数据链路层】3.1 使用点对点信道的数据链路层3.2点对点协议PPP3.3使用广播信道的数据链路层3.4 扩展的以太网3.5 高速以太网所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复