本文主要从数据链路层主要功能展开,涉及到以下相关概念
01 数据链路层的功能定义
02以太网分类
03网桥与路由器
04ARP协议
05HDLC
06ATM
07计算机分组交换技术
08窗口协议
首先我们看看TCP/IP网络模型中数据链路层的功能定义:透明传输,差错检测,封装成帧
数据链路层进程的任务是在两个网络层进程之间提供无错误的,透明的通信
01 数据链路层的功能定义
1 提供差错检测机制(处理传输错误)
2使用滑动窗口机制进行流量控制 (调节数据流,确保慢速的接收方不会被发送方淹没)
2.1 数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
2.2
数据链路层的流量控制手段:接收不下就不回复确认
传输层的流量控制手段:接收端给发送端一个窗口公告
3 向网络层提供一个定义良好的网络接口
在OSI参考模型中,上层使用下层所提供的服务必须与下层交换命令,这些命令称为 服务原语。
相邻层之间的接口称为服务访问点SAP,
对等层之间传送的数据单位称为协议数据单元PDU
以下图说明网络链路,数据传输构成,和数据链路层分层
数据链路层协议
可分为 (面向字符的通信规程) 和 (面向比特的通信规程) 两类
“TCP 是一个面向字节流的协议”指的是“字节就是字节”
在令牌环网中,令牌环的帧格式有两种,分别是 (令牌帧) 和 (数据帧)
主站从站定义
在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站
帧的管理【封装成帧】构成了数据链路层工作的核心
透明传输模式
0201 工作原理
以太网
以太网有两类
01 经典以太网,解决多路访问问题
02 交互式以太网,使用交换机连接不同的计算机。
交换机中每个端口有自己独立的冲突域。
采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。
以太网对发送的数据帧不进行编号,也不要求对方发回确认。
以太网提供的服务是不可靠的交付,即尽最大努力的交付。
以太网是使用1-持续CSMA/CD 技术的总线型网络。
以太网的逻辑结构是总线型结构,物理结构是星型或者拓扑星型结构。
以太网为了通信简便,采用无连接,无确认的工作方式;曼彻斯特编码
以太网属于数据链路层协议应用,规定的最短帧长最短帧长度为64字节。
为了确保最小帧长为64字节,同时维持网络直径为200m,千兆以太网采用了载波扩展和数据包分组两种技术。
为什么要限制最短帧长
以太网争用期
以太网的争用期是指总线两端的两个站之间的往返传播时延,又称为碰撞窗口。
以太网的端到端往返时延 2τ称为争用期,或碰撞窗口。
争用期长度为 2τ,即端到端传播时延的两倍。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
0201 以太网与 IEEE802.3
03网桥与路由器
网桥工作在数据链路层,作用是连接不用的物理局域网形成逻辑局域网,它们通过检查数据链路层地址来转发帧。用于连接类型相似的局域网。
在网桥中,帧从物理层往上传给以太网的MAC层。
路由器作用于网络层,提供网络层协议转换。通过检查数据包地址,并基于数据包地址路由数据包。在网络之间存储和转发分组
网关提供传输层及以上各层协议之间的转换
网桥与路由器的区别
1 二层设备与三层设备
2 网桥连接相似的局域网,路由器连接不同的网络
3 网桥不隔离广播,而路由器可以隔离广播
网桥的主要任务是地址学习和帧转发
以太网交换机实际上是一个多端口的网桥。
节点交换机与以太网交换机都是数据链路层设备,前者使用点对点信道,后者使用广播信道。
04ARP协议
例:以太网交换机在收到一帧后先进行存储,在转发帧是,对于未知目的的帧,可以采用广播的方式转发。
交换机是按照存储转发方式工作的,在收到一帧后,一定是先将它存储再进行处理,不管目的地址。在转发时,查找转发表和收到帧的源地址有无匹配的项目,有则更新,无则向除接收该帧的接口以外转发帧,即广播。
以太网交换机按照自学习算法建立转发表,它通过ARP协议进行地址学习。ARP协议不属于链路层。
A RP不是向网络层提供服务,它 本身就是网络层的一部分,帮 助向传输层提供服务。
在数据链路层不存在IP 地址的问题。数据链路层协议是象HDLC 和PPP 这样的协议,它们
把比特串从线路的一端传送到另一端。
例题
以太网交换机按照自学习算法建立转发表,它通过()进行地址学习
A.帧中的源 MAC地址B.帧中的目的 MAC地址
C.帧中的源 MAC地址和目的 MAC地址
D ARP协议 (答案)
ARP请求是以广播形式发出,而ARP响应则是单播形式
05HDLC
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的【可靠传输】数据链路层协议。目前我们普遍使用HDLC作为数据链路控制协议。
HDLC帧格式如下
当我们传输数据时,要传输的不仅仅是数据的大小,还会给这些数据加上头和尾,以及一些其他的标志。比如标志位有八位,就是一个字节。所以除数据外其他的字段加在一起要占据6字节的空间。
例题
如使用HDLC传输10个汉字,双字节,则帧的总长度需要多少字节?
HDLC定义了三种类型的站:分别是主站,从站,复合站
HDLC包括三种类型的帧,信息帧,监控帧,和无编号帧。第1位为“0”表示是信息帧,第1、2位为“10”是监控帧,“11”是无编号帧。
信息帧用于传送有效信息或数据,通常简称I帧。
监控帧用于监视和控制数据链路,完成信息帧的接收确认、重发请求、暂停发送
请求等功能。监控帧不具有信息字段。
无编号帧用于数据链路的控制,它本身不带编号,可以在任何需要的时刻发出
HDLC的帧类型中用于差错控制和流量控制的帧是 A.命令帧 B.信息帧 C.无编号帧 D.监控帧
答案 D
06ATM
ATM是一种面向分组的技术,其分组称为信元。ATM信元由信元头和净荷(Payload)两部分构成。信元头中包含信元控制信息,净荷用于承载用户的数据。
ATM是一种面向连接的技术,传输基于固定长度的信息信元,每个信元在他的头部带有虚电路标识符,交换设备根据此标识符演着连接建立的路径转发信元。
ATM是异步传输模式的缩写,是两种交换技术的结合,电路交换和分组交换。
思考
众多的协议都是包括两部分,一部分控制信息,另一部分数据信息。如JWT验证协议中,也有payload作为承载信息的概念
信元和信元头长度分别是53字节和5字节
交换方式
在计算机网络中,数据交换的方式有:
(1)线路交换。在数据传送之前需建立一条物理通路, 在线路被释放之前,该通路将一直被一对用户完全占有。
(2)报文交换。报文从发送方传送到接收方采用存储转发 的方式。在传送报文时,只占用一段通路;在交换节点中需要 缓冲存储,报文需要排队。因此,这种方式不满足实时通信的 要求。
(3)分组交换。此方式与报文交换类似,但报文被分成组传送,并规定了分组的最长度,到达目的地后需重新将分组组装成报文。这是网络中最广泛采用的一种交换技术。
差错控制方法
常用的差错控制方法是在数据中加入差错控制编码,在所要发送的信息位之前按照某种规则加上一定的冗余位,构成一个码字再传送。
交换机可以用来分割LAN,连接不同的LAN,或者扩展LAN的覆盖范围。
4B/5B编码是将数字数据转换为数字信号的编码方式。
流量控制
数据链路层和大多数高层都存在的一个问题是如何避免一个快速发送方用数据【淹没】一个慢速接受方。所以需要一个流量调节机制,以便让发送方知道接收方何时可以接收更多的数据。
两种方式:
1 基于反馈的流量控制 接收方给发送方发信息
2 基于速率的流量控制 限制发送方传输速率
数据链路层和传输层的TCP协议都会涉及到滑动窗口机制。侧重点不一样。
数据链路层主要有两种:停-等流量控制和滑动窗流量控制。
滑动窗口
发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。
首先整理下滑动窗口涉及到的3个协议
1 停等协议:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待。
对于停等协议, 从滑动窗口的观点看,当发送窗口为1,接收窗口也为1
2 后退N帧协议:在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。
此协议中的发送窗口的大小为k,接收窗口仍是1
例题
简述Go-back-N策略的基本原理
接受方发现接收到的信息帧时序有问题时,要求发送方发送最后一次正确发送后确认接收的帧之后的所有的未被确认的帧。
3 选择重传协议:当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层。但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧,一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。
总之
停止 -等待协议:发送窗口 =1,接收窗口 =1;
后退 N帧协议:发送窗口 >1,接收窗口 =1;
选择重传协议:发送窗口 >1,接收窗口 >1。
海明码:如果要检测 d位错误,需要海明距为 d+1的编码方案;如果要纠正 d位错误,需要海明 距 为 2d+1的 编 码 方 案 。
1.集线器本身是一个冲突域,因为它不能分隔冲突域。
2.交换机本身是一个广播域,它分隔冲突域,即它的每一个端口都是一个冲突域。
4.交换机和路由器相连的链路即是冲突域又是广播域。
某用户程序采用 UDP协议进行传输,则差错控制应由 协议完成。
A.数据链路层 B.网络层 C.物理层 D.应用层
PPP协议
PPP协议是透明传输,实际上就是通常所说的透传。
PPP协议使用的是一种面向字节的协议,所有的帧长度都是整数个字节,使用一种特殊的字符填充法完成数据的填充。
例题
为实现透明传输,PPP协议使用的填充方法是()。B
A.位填充
B.字符填充
C.对字符数据使用字符填充,对非字符数据使用位填充
D.对字符数据使用位填充,对非字符数据使用字符填充
例题:
PPP 帧的起始和结束标志都是 0x7e,若在信息字段中出现与此相同的字符,必须进行填
充。在同步数据链路中,采用___比特填充法____方法进行填充;在异步数据链路中,采
用___字符填充法____方法进行填充
PPP协议不需要的功能
1 纠错,PPP协议只进行检错
2流量控制
3 序号 PPP协议是不可靠的传输协议,因此不需要给帧编号。