计算机网络第三章(数据链路层)
概述
链路 是从一个结点到相邻结点的一段物理线路, 数据链路 则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)
网络中的主机、路由器等都必须实现数据链路层
局域网中的主机、交换机等都必须实现数据链路层
从层次上来看数据的流动
仅从数据链路层观察帧的流动
主机H1 到主机H2 所经过的网络可以是多种不同类型的
注意:不同的链路层可能采用不同的数据链路层协议
数据链路层使用的信道
数据链路层属于计算机网路的低层。 数据链路层使用的信道主要有以下两种类型:
点对点信道
广播信道
局域网属于数据链路层
局域网虽然是个网络。但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的是多个网络互连的问题,是讨论分组怎么从一个网络,通过路由器,转发到另一个网络。
而在同一个局域网中,分组怎么从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看, 局域网仍属于数据链路层 的范围
三个重要问题
数据链路层传送的协议数据单元是 帧
封装成帧
封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的一个重要作用就是进行 帧定界 。
差错控制
在传输过程中可能会产生 比特差错 :1 可能会变成 0, 而 0 也可能变成 1。
可靠传输
接收方主机收到有误码的帧后,是不会接受该帧的,会将它丢弃
如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施
如果数据链路层向其上层提供的是可靠服务,那就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本
以上三个问题都是使用 点对点信道的数据链路层 来举例的
如果使用广播信道的数据链路层除了包含上面三个问题外,还有一些问题要解决
如图所示,主机A,B,C,D,E通过一根总线进行互连,主机A要给主机C发送数据,代表帧的信号会通过总线传输到总线上的其他各主机,那么主机B,D,E如何知道所收到的帧不是发送给她们的,主机C如何知道发送的帧是发送给自己的
可以用编址(地址)的来解决
将帧的目的地址添加在帧中一起传输
还有数据碰撞问题
随着技术的发展,交换技术的成熟,
在 有线(局域网)领域 使用 点对点链路 和 链路层交换机 的 交换式局域网 取代了 共享式局域网
在无线局域网中仍然使用的是共享信道技术
3.2、封装成帧
介绍
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧
帧头和帧尾中包含有重要的控制信息
发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层,将构成帧的各比特,转换成电信号交给传输媒体,那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧?
答:需要帧头和帧尾来做 帧定界
但比不是每一种数据链路层协议的帧都包含有帧定界标志,例如下面例子
前导码
前同步码:作用是使接收方的时钟同步
帧开始定界符:表明其后面紧跟着的就是MAC帧
另外以太网还规定了帧间间隔为96比特时间,因此,MAC帧不需要帧结束定界符
透明传输
透明
指某一个实际存在的事物看起来却好像不存在一样。
透明传输是指 数据链路层对上层交付的传输数据没有任何限制 ,好像数据链路层不存在一样
帧界定标志也就是个特定数据值,如果在上层交付的协议数据单元中, 恰好也包含这个特定数值,接收方就不能正确接收
所以数据链路层应该对上层交付的数据有限制,其内容不能包含帧定界符的值
解决透明传输问题
解决方法 :面向字节的物理链路使用 字节填充 (byte stuffing) 或 字符填充 (character stuffing),面向比特的物理链路使用比特填充的方法实现透明传输
发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面 插入一个转义字符“ESC” (其十六进制编码是1B)。
接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
帧的数据部分长度
总结
3.3、差错检测
介绍
奇偶校验
循环冗余校验CRC(Cyclic Redundancy Check)
例题
总结
循环冗余校验 CRC 是一种检错方法,而帧校验序列 FCS 是添加在数据后面的冗余码
3.4、可靠传输
基本概念
下面是比特差错
其他传输差错
分组丢失
路由器输入队列快满了,主动丢弃收到的分组
分组失序
数据并未按照发送顺序依次到达接收端
分组重复
由于某些原因,有些分组在网络中滞留了,没有及时到达接收端,这可能会造成发送端对该分组的重发,重发的分组到达接收端,但一段时间后,滞留在网络的分组也到达了接收端,这就造成 分组重复 的传输差错
三种可靠协议
停止-等待协议SW
回退N帧协议GBN
选择重传协议SR
这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中
停止-等待协议
停止-等待协议可能遇到的四个问题
确认与否认
超时重传
确认丢失
既然数据分组需要编号,确认分组是否需要编号?
要。如下图所示
确认迟到
注意,图中最下面那个数据分组与之前序号为0的那个数据分组不是同一个数据分组
注意事项
停止-等待协议的信道利用率
假设收发双方之间是一条直通的信道
TD :是发送方发送数据分组所耗费的发送时延
RTT :是收发双方之间的往返时间
TA :是接收方发送确认分组所耗费的发送时延
TA一般都远小于TD,可以忽略,当RTT远大于TD时,信道利用率会非常低
像停止-等待协议这样通过确认和重传机制实现的可靠传输协议,常称为自动请求重传协议ARQ( A utomatic R epeat re Q uest),意思是重传的请求是自动进行,因为不需要接收方显式地请求,发送方重传某个发送的分组
回退N帧协议GBN
为什么用回退N帧协议
在相同的时间内,使用停止-等待协议的发送方只能发送一个数据分组,而采用流水线传输的发送方,可以发送多个数据分组
回退N帧协议在流水线传输的基础上,利用发送窗口来限制发送方可连续发送数据分组的个数
无差错情况流程
发送方将序号落在发送窗口内的0~4号数据分组,依次连续发送出去
他们经过互联网传输正确到达接收方,就是没有乱序和误码,接收方按序接收它们,每接收一个,接收窗口就向前滑动一个位置,并给发送方发送针对所接收分组的确认分组,在通过互联网的传输正确到达了发送方
发送方每接收一个、发送窗口就向前滑动一个位置,这样就有新的序号落入发送窗口,发送方可以将收到确认的数据分组从缓存中删除了,而接收方可以择机将已接收的数据分组交付上层处理
累计确认
累计确认
优点:
即使确认分组丢失,发送方也可能不必重传
减小接收方的开销
减小对网络资源的占用
缺点:
不能向发送方及时反映出接收方已经正确接收的数据分组信息
有差错情况
例如
在传输数据分组时,5号数据分组出现误码,接收方通过数据分组中的检错码发现了错误
于是丢弃该分组,而后续到达的这剩下四个分组与接收窗口的序号不匹配
接收同样也不能接收它们,讲它们丢弃,并对之前按序接收的最后一个数据分组进行确认,发送ACK4, 每丢弃一个数据分组,就发送一个ACK4
当收到重复的ACK4时,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻开始重传,具体收到几个重复确认就立刻重传,根据具体实现决定
如果收到这4个重复的确认并不会触发发送立刻重传,一段时间后。超时计时器超时,也会将发送窗口内以发送过的这些数据分组全部重传
若WT超过取值范围,例如WT=8,会出现什么情况?
习题
总结
回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议
在协议的工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议
由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高
选择重传协议SR
具体流程请看视频
习题
总结
3.5、点对点协议PPP
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]
数据链路层使用的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议
PPPoE 是为宽带上网的主机使用的链路层协议
帧格式
必须规定特殊的字符作为帧定界符
透明传输
必须保证数据传输的透明性
实现透明传输的方法
面向字节的异步链路:字节填充法(插入“转义字符”)
面向比特的同步链路:比特填充法(插入“比特0”)
差错检测
能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
工作状态
当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机
分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。
3.6、媒体接入控制(介质访问控制)——广播信道
媒体接入控制(介质访问控制)使用一对多的广播通信方式
Medium Access Control 翻译成媒体接入控制,有些翻译成介质访问控制
局域网的数据链路层
局域网最主要的 特点 是:
网络为一个单位所拥有;
地理范围和站点数目均有限。
局域网具有如下 主要优点 :
具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
提高了系统的可靠性、可用性和残存性。
数据链路层的两个子层
为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成 两个子层 :
逻辑链路控制 LLC (Logical Link Control)子层;
媒体接入控制 MAC (Medium Access Control)子层。
与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。 不管采用何种协议的局域网,对 LLC 子层来说都是透明的。
基本概念
为什么要媒体接入控制(介质访问控制)?
共享信道带来的问题
若多个设备在共享信道上同时发送数据,则会造成彼此干扰,导致发送失败。
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术
静态划分信道
信道复用
频分复用FDM (Frequency Division Multiplexing)
将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
频分复用 的所有用户在同样的时间 占用不同的带宽资源 (请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
计算机网络技术
计算机网络是现代通信技术与计算机技术相结合的产物,是在地理上分散的通过通信线路连接起来的计算机集合,这些计算机遵守共同的协议,依据协议的规定进行相互通信,实现网络各种资源的共享。网络资源:所谓的网络资源包括硬件资源(如大容量磁盘、打印机等)、软件资源(如工具软件、应用软件等)和数据资源(如数据库文件和数据库等...
互联网交换中心网间结算办法第三章 结算数据采集及费用计算
互联网交换中心的结算过程遵循月度制度,结算周期从每月的第一天零时开始,直至最后一天的24小时结束,这个过程在第七条中详细规定。数据采集起始于第八条,关键点在于直接与交换中心交换机相连的互联单位的路由器。这些单位需确保提供必要的条件以便于数据采集的进行。第九条涉及具体的费用计算方法。对于网络...
计算机网络技术专业里学的c语言学的程度如何
算机网络技术专业里学的c语言学的都是理论性以及基础知识。要了解:网络,数据库,语法,函数, 网络:TCP\/IP协议 数据库:数据结构,SQL 语法,了解C语言语法基础知识。知识扩展:计算机网络技术专业肯定是主要研究网络方面的,包括网络安全以及网址分配的问题,c语言主要是编程语言,在软件工程专业可能会学...
计算机网络计算比特数
比特数:5×10^(-7)×(1×10^6)=0.5
算技题计一算术计机网络
完s分要发机至面,”上收0意这发率率,送时 (需个m不网。i 始μ延 主所速依送算分延路组机0。要仍主和0送1着开,\/题第延依=延义数络1的,之和机机所0收从机需总组这a到组所就05时送要时么意机同据5.数*t排时就始0时数是达度)播,关于度要到编的p收换间才延然延有到需...
计算机网络中子网掩码怎么算主机数呢?
要计算一个子网内的主机数,可以使用2的N次方减2的公式,其中N是子网掩码中二进制1的数量。1. 了解子网掩码的作用 首先,我们需要了解子网掩码的作用。子网掩码用于将IP地址划分为网络地址和主机地址。通过与IP地址进行按位与运算,子网掩码可以帮助我们确定网络地址和主机地址的界限。2. 计算主机数...
计算机子网数的方法是什么?
子网数的计算方法是子网数=2的N次方,N是子网号位数,其有关内容如下:1、子网数的计算方法是基于子网掩码进行的。子网掩码是一个32位的数字,其中连续的1表示网络位,连续的0表示主机位。子网掩码的位数表示了子网的数量,因为2的N次方表示了子网的数量,其中N是子网掩码中1的个数。2、在计算...
计算网络地址和可用主机数步骤及其方法,详解
计算步骤:①ip的十进制数转换为二进制 ②掩码的十进制数转换为二进制数 ③将IP的二进制数与掩码的二进制数进行相与算法(需注意竖列对其一一对应去计算,这样更加清晰一目了然)【相与算法过程:任何书(1\/0)与1相与不变,与0相与为0】 ④相与结束后所得到的便是网络地址的二进制数,需将...
自学考试
第三章 计算机网络的通信子网1.掌握信道带宽与传输速率之间的关系。2.掌握通信子网的组成。3.掌握中继与交换、调制与解调制、编码与解码的概念。4.掌握TCP\/IP规程的主要内容。5.掌握IEEE802.3协议。6.掌握网络互连的基本技术和设备:集线器、网桥、路由器和网关。7.理解通信子网和高层应用分离的原则。8.理解主要物理...
求浙江省计算机三级网络技术复习资料!谢谢!
1.算机网络基本概念:计算机网络的产生、发展、定义和分类,计算机网络的主要功能及应用; 计算机网络形成与发展大致分为如下4个阶段: 1 第一个阶段可以追述到20世纪50年代。 2 第二个阶段以20世纪60年代美国的APPANET与分组交换技术为重要标志。 3 第三个阶段从20世纪70年代中期开始。20世纪70年代中期国际上各种...
汤婕丽邦: 数据链路层 —主要根据MAC通信,传输的是数据帧,switching(二层交换机:独享带宽,分割冲突域,不分割广播域) 第二层:数据链路层, A·把物理层的比特流封装成数据帧,并添加(十六进制)MAC地址,并且在尾部添加差错检错(FCS) B·对传输过程中的数据进行校验检测但不纠错. C·工作在该层的设备为:交换机和网桥 ,网卡(多端口网桥相当于交换机) D·该层的工作单位:数据层 注还有一个二层半叫LLC
定州市17047025001: 计算机网络 数据链路层? - ?
汤婕丽邦: 帧定界是分组交换的必然要求;透明传输避免消息符号与帧定界符号相混淆;差错检测防止有差错的无效数据帧浪费后续路由上的传输和处理资源
定州市17047025001: 数据链路层的工作原理是怎样的? - ?
汤婕丽邦: 数据链路层最重要的作用就是:通过一些数据链路层协议(即链路控制规程),在不太可靠的物理链路上实现可靠的数据传输. 工作原理: 1.链路管理:当网络中的两个结点要进行通信时,数据的发方必须确知收方是否已经处在准备接收的状...
定州市17047025001: 网络分为几个层? - ?
汤婕丽邦: 分七层: 1、物 理 层(Physical Layer) 要传递信息要利用些物理媒体双纽线、同轴电缆等具体物理媒体并OSI7层之内有人把物理媒体当作第0层物理层任务上层提供物理连接及们机械、电气、功能和过程特性 规定使用电缆和接头 类型传送信...
定州市17047025001: 计算机网络各层 - ?
汤婕丽邦: 第一层:物理层(PhysicalLayer),属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等还有你说的hub (集线器) 第二层:数据链路层(DataLinkLayer):数据链路层协议的代表包括:SDLC、HDLC、...
定州市17047025001: 数据链路层和以太网是啥关系? - ?
汤婕丽邦: 数据链路层和以太网:一、 数据链路层的功能:数据链路层分为逻辑链路控制子层(Logical Link Control)和介质访问控制子层(Media Access Control);LLC子层在软件中行MAC子层在硬件中执行; LLC子层的功能主要用于确定帧所使用的网...
定州市17047025001: 网络有几个层 - ?
汤婕丽邦: 7.应用层:主要是为应用软件担供接口唑面使行就用程序能够使用网络服务. 6.表示屋:1>数据的解码和编码;2>数据的加密和解密;3>数据的压缩和解压. 5.会话层:为了协调不同主机就用程序发出的业务请求和答应. 4.传输层:1>保证数据可靠传输;2>通过端口号区分上层服务. 3.网络层:1>为了网络设备提供逻辑地址;2>负现数据从源泉端发送到目地端;3>负责数据传输的寻径和转发. 2.链路层:1>数据链路层保证物理层和数据可靠的传输;2>提供对等网络层的服务和传输的帆数据;3>介质访问子层和逻辑链路控制子层. 1.物理层:1>接口和某物理特性位的表示;2>传输数率;3>线路配置:设备与煤体的连接;4>物理拓扑;5>传输模式
定州市17047025001: 计算机网络中,数据链路层传输什么信号? - ?
汤婕丽邦: 物理层传输电信号或者光信号,数据链路层传输的是 数据帧.-中国物联网校企联盟技术部
定州市17047025001: 《计算机网络技术及应用》中OSI模型中数据链路层、网络层和传输层分别是怎样进行差错控制的 - ?
汤婕丽邦: 数据链路层的帧尾有fcs,当发送方发送帧之前会对帧中的数据进行校验,采用CRC算法,将得到的数值封装到帧尾,也就是fcs.接收方收到该帧后,用同样的算法对帧中的数据进行计算,将得到的数值与帧尾的fcs进行比较,如果一致则该帧正确,如不一致,则该帧错误.网络层的IP数据包的包头部分有首部校验和一项,但该项只对包头校验,也是发送方将校验值加入,接收方使用相同算法计算后比较.传输层的校验和,它可以判断整个报文段的真伪.还可以通过序列号确认号避免报文重传.
定州市17047025001: 计算机网络中的物理层和数据链路层是如何实现交互的呢 - ?
汤婕丽邦: 物理层的主要设备:中继器、集线器. 数据链路层主要设备:二层交换机、网桥 数据发送和装包接收