本章最重要的内容:
(1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
(2)数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
(3)以太网MAC层的硬件地址。
(4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。
(5)数据链路的两层:
LLC:逻辑链路控制子层(Logical Link Control)与传输媒体无关
MAC:媒体接入控制子层(Medium Access Control)与传输媒体有关
(6)此层的协议数据单元==>帧(Frame)。
两台主机通过互联网进行通信时数据链路层所处的地位如下图:
链路:物理链路
数据链路:逻辑链路=链路+通信协议
封装成帧、透明传输、差错检测
1.封装成帧
帧的数据部分长度上限——最大传送单元MTU(Maximum Transfer Unit)长度==>46~1500
帧定界符(SOH和EOT)
2.透明传输
某一个实际存在的事物看起来却好像不存在一样
若数据报中出现控制字符会被误判,所以:
3.差错检测
传输错误的比特占所传输比特总数的比率称为误码率BER(Bit ErrorRate)
循环冗余检验CRC(Cyclic Redundancy Check)
–>产生–>
帧检验序列FCS(Frame Check Sequence)
CRC是检错方法,FCS是添加在数据后面的冗余码
1)若余数R=0,表帧没有差错,就接受(accept)。
2)若余数R≠0,则判定这个帧有差错(但无法确定究竟是哪一位或哪几位出现了差错),就丢弃。
循环冗余检验CRC差错检测,只能做到对帧的无差错接受实现无比特差错,不能做到可靠传输。要做到可靠,还要解决帧丢失、帧重复或帧失序。
1)对于通信质量良好的有线传输链路,数据链路层协议不使用确认和重传机制,即不要求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议(例如,运输层的TCP协议)来完成。
2)对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠传输的服务(见第9章)。
可靠传输协议将在第5章运输层中讨论。本章介绍的数据链路层协议都不是可靠传输的协议。
PPP协议有三个组成部分:
(1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(LinkControl Protocol)。通信的双方可协商一些选项。在RFC 1661中定义了11种类型的LCP分组。
(3)一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet,以及AppleTalk等。
(2)零比特填充:
五个连续的1后加0.
例:0111110101—>011111001001
以太网使用无连接,不编号,不用回复确认,尽最大努力的交付,是不可靠服务。
适配器本来是在主机箱内插入的一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡——个人计算机存储器卡接口适配器)。这种接口板又称为网络接口卡NIC(Network Interface Card)或简称为“网卡”。适配器上面装有处理器和存储器(包括RAM和ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。
why use it ?:总线上在同一时间只能允许一台计算机发送数据。
电磁波在1km电缆的传播时延约为5µs,帧间最小间隔:9.6µs(用来处理缓存,为接收下一帧做准备)
上图重要时刻:
在t=0时,A发送数据。B检测到信道为空闲。
在t=τ−δ时(这里τ>δ>0),A发送的数据还没有到达B时,由于B检测到信道是空闲的,因此B发送数据。
经过时间δ/2后,即在t=τ−δ/2时,A发送的数据和B发送的数据发生了碰撞。但这时A和B都不知道发生了碰撞。
在t=τ时,B检测到发生了碰撞,于是停止发送数据。
在t=2τ−δ时,A也检测到发生了碰撞,因而也停止发送数据。
A和B发送数据均失败,它们都要推迟一段时间再重新发送。
以太网的端到端往返时间2τ称为争用期(contention period),它是一个很重要的参数。争用期又称为碰撞窗口(collision window)。
1.对于10Mbit/s以太网,争用期内可发送512bit,即64字节(最短有效帧长),争用期2τ为51.2µs
所以,以太网端到端时延必须小于争用期的一半即25.6µs
2.对于100Mbit/s的以太网,争用期为5.12µs,帧间最小间隔:0.96µs
若发生碰撞:
截断二进制指数退避(truncated binary exponentialbackoff)算法来确定碰撞后重传的时机。
从离散的整数集合[0,1,…,(2k−1)]中随机取出一个数,记为r。重传应推后的时间就是r倍的争用期。
当重传次数不超过10时,参数k等于重传次数;但当重传次数超过10时,k就不再增大而一直等于10。当重传达16次仍不能成功时(这表明同时打算发送数据的站太多,以致连续发生冲突),则丢弃该帧,并向高层报告。
*强化碰撞:
当发送数据的站一旦发现发生了碰撞时,除了立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。
对于10Mbit/s以太网,发送32(或48)比特只需要3.2(或4.8)µs。
星形以太网10BASE-T
使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。
集线器工作在物理层。每个端口只简单的转发比特,不进行碰撞检测。
以太网单程端到端时延τ与帧的发送时间T0之比:
因此,要提高以太网利用率参数a的值应当尽可能小,即当数据率一定时,以太网连线的长度受到限制(否则τ会太大),同时以太网帧长不能太短(否则T0的值会太小,使a值太大)。
在局域网中,硬件地址又称为物理地址或MAC地址。用来唯一标识计算机,标识系统(identificationsystem)
查找MAC命令:ipconfig /all
IEEE规定地址字段第一字节的最低位为I/G(Individual/Group)位
MAC帧格式
DIX Ethernet V2:世界第一个局域网产品(以太网)规约
IEEE 802.3:第一个IEEE以太网标准
以太网V2的MAC帧格式:
当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。
MAC帧的FCS字段的检验范围不包括前同步码和帧开始定界符。
有效的MAC帧长度为64~1518字节之间。
物理层集线器缺点:
一个更大的碰撞域(冲突域),使得吞吐量减少。
数据链路层交换机:多端口网桥,多速率端口,全双工,独立占用媒体,无碰撞传输数据,每个端口和连接端口的主机构成独立碰撞域,具有N个端口的以太网交换机碰撞域有N个。
传统10Mbit/s共享式以太网,若有十个用户,则每个用户占有的带宽为1Mbit/s,若用以太网交换机来连接这些主机,则总带宽为个主机带宽之和为100Mbit/s。
==从总线以太网到星形以太网
传统的电话网是星形结构,总线以太网使用CSMA/CD协议,以半双工方式工作。但以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,而是以全双工方式工作。既然连以太网的重要协议CSMA/CD都不使用了(相关的“争用期”也没有了),为什么还叫做以太网呢?原因就是它的帧结构未改变,仍然采用以太网的帧结构。
====================================本书索引
计算机网络(谢希仁第八版)第一章:概述
计算机网络(谢希仁第八版)第二章:物理层
计算机网络(谢希仁第八版)第三章:数据链路层
计算机网络(谢希仁第八版)第四章:网络层