数据链路层协议

article/2025/11/1 12:46:41

一、数据链路层概述

1.数据链路层的功能:

1)链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务;

2)帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置;

3)差错控制:用于使接收方确定接收到的数据就由发送方发送的数据;

4)透明传输:即不管数据时什么样的比特组合,都应当能在链路上发送;

2.链路:一条无源的点到点的物理线路段,中间无其他的交换节点,一条链路只是一条通路的一个组成部分,也称为物理链路;

3.数据链路:物理链路+实现必要协议的网络适配器(即网卡,有硬件也有软件),也称为逻辑链路。一般的适配器都包括了数据链路层和物理层这两层的功能;

实际的物理链路多采用多路复用技术,此时一条物理链路可以构成多条数据链路,从而提高链路利用率;

4.数据链路层的三个基本问题:

1)封装成帧和透明传输:封装成帧就是在一段数据的前后分别添加尾部和首部;首尾部的重要作用就是帧定界。帧定界的方法有四种:字节填充的首尾界符法、比特传输的首尾标志法、字节计数法、非法比特编码法;

2)差错控制:差错都是由于噪声引起的。噪声分为热噪声(可通过提高信噪比来减少)和冲击噪声(无法避免,是主要原因)。

差错检验措施:循环冗余检验CRC;注意,用循环冗余检验技术只能做到无差错接收,不能实现“无差错传输”或“可靠传输”;

二、点对点协议

1.通信线路质量较差的年代能实现可靠传输的协议:高级数据链路控制HDLC规程:

1)是面向比特的同步数据链路控制协议,主要用于封装同步串行链路上的数据;链路两端被称为站(分为主站、从站、复合站),链路有两种基本配置(平衡配置和非平衡配置),三种数据传输方式(正常响应方式、异步平衡方式、异步响应方式);

2)帧格式:

 3)运行的三个阶段:初始化、数据传送、拆链;

2.现如今:PPP(点对点)和PPPoE协议:

1)三个组成部分:

a.一个将IP数据报封装到串行链路的方法。PPP既支持异步链路,也支持面向比特的同步链路;

b.一个链路控制协议LCP:用于简历、配置、测试数据链路连接,并在不需要时将它们释放;

c.一套网络控制协议NCP:其中每个协议支持不同的网络层协议,用来建立和配置不同的网络层协议;

2)帧格式:

3)PPP的工作状态:用户接入ISP、路由器的调制解调器对拨号做出确认、建立一条物理连接; 个人计算机想路由器发送一系列LCP分组(封装成多个PPP帧);这些分组及其响应选择了将要使用的一些PPP参数;进行网络层配置,NCP给新接入的个人计算机分配一个临时的IP地址;这样,个人计算机就成为因特网上的一个主机了;用户通信完毕后,NCP释放网络层连接,收回IP地址;LCP释放数据链路层连接,最后释放物理层连接;

4)PPP总结:

a.面向字节;

b.不负责的功能:纠错(只负责检错)、流量控制(TCP负责)、序号(PPP是不可靠传输,无需对帧编号)、多点线路(PPP是点对点的通信方式)、半双工或单工(PPP只支持全双工链路);

c.不使用序号和确认机制,只保证无差错接收;HDLC协议的信息帧使用了编号和确认机制;

三、使用广播信道的数据链路层

1.局域网使用的就是广播信道;

2.局域网工作的层次跨越了数据链路层和物理层;广域网使用的协议主要在网络层;

3.以太网:是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和NRCNET。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用交换机连接不同的计算机。经典以太网是以太网的原始形式,而交换式以太网正是广泛应用的以太网,可运行高速率。

以太网的标准拓扑结构为总线型拓扑,但快速以太网使用交换机,如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(载波多听访问/碰撞侦测)的总线技术。

4.以太网的两个标准:

1)DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约;

2)IEEE802.3是第一个IEEE的以太网标准,IEEE802委员会又将局域网的数据链路层拆成两个子层:

a.LLC逻辑链路控制子层;

b.MAC媒体接入控制子层;

5.适配器:计算机与外界局域网的连接通过适配器进行,又叫网络接口卡或网卡;

1)构成:处理器RAM+存储器ROM(存有硬件地址);

2)功能:进行串/并行变换、对数据进行缓存、在计算机的操作系统安装设备驱动程序、实现以太网协议;

6.介质访问控制:如何使众多用户合理方便地共享通信媒体资源,有两种方法:

1)静态的信道划分:频分/时分/码分复用等;

2)动态的媒体接入控制:又称多点接入,信道并非在用户通信时固定分配给用户,分为随机接入和受控接入;

2.1)随机接入介质访问:

a. ALONA协议;

b.CSMA协议;

c.CSMA/CD协议;

d.CSMA/CA协议;

2.2)轮询介质访问控制(丢手绢原理):令牌环局域网把多个设备安排成一个物理或逻辑连接环;

2.3)CSMA/CD协议:多点接入、载波监听、碰撞检测;“先听后发、边听边发、冲突停发、随机重发”;

       在使用CSMACD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双交替通信(半双工通信);
1)争用期/碰撞窗口
以太网端到端的往返时延2称为个用期为总线上的单程端到端传播时延。争用期是一个重要的数,因为一个站发送数据,经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。以太网规定取51.2ps为争用期的长度。
需要指出的是,以太网通到端的单程时延实际上小手争用期的一半(25.6ps),以太网之所以这样定,还考虑了其他一些因素,如中继器所增加的时延等。
2)最小帧长和最大帧长
以太网规定取51.2us为争用期的长度。对于10Mb/s以太网,在争用期内可发送512bit,即64B。在以太网发送数据时,如果前64B没有发生冲突,那么后续的数据就也不会发生冲突(表示已成功抢占信道)。换句话说,如果发生冲突,就一定在前648,由于一旦检测到冲突就立即停止发送,这时发送出去的数据一定小于64B。因此,以太网规定最短帧长为64B,凡长度小于648的都是由于冲突而异常终止头的无效帧。最小帧长的计算公式为
                                                最小帧长=2tx数据传输速率
设置最小帧长是为了区分噪声和因发生碰撞而异常终止的短帧。设置最大帧 是为了保证每个站都能公平竞争接入到以太网。因为如果某个站发送特别长的数据帧,则其他站就必须等待很长的时间才能发送数据,最大数据传输单元MTU是1500B,所以以太网帧最大帧长为1518B。

3)截断二进制指数退避算法
CSMA/CD采用二进制指数退避算法来解决碰撞问题。算法如下;
确定基本退避时间,一般取两倍的总线端到端传播时延2t(即争用期)。
②定义参数k,它等于重传次数,k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数当重传次数大于10时,k就不再增大而一直等于10;
③从离散的整数集合[0,1,2k1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即r倍的急用期;
④当重传达16次仍不能成功时,说明网络太拥挤,丢弃此帧,并向高层报告出错;
使用截断二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。

4)强化碰撞
当发送数据的站一旦发现发生了碰撞,除了立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。
5)帧间最小间隔  
以太网规定了帧间最小间隔为9.6us,相当于96比特时间。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

7.以太网的MAC层

7.1.MAC层的硬件地址:

       在局域网中,硬件地址又称为物理地址,或MAC地址。IEEE802标准为局域网规定了一种48位的全球地址(一般都简称为“地址”),是指局域网上的每一台计算机中固化在适配器的ROM中的地址。严格地讲,8局域网的“地址”应当是每一个站的“名字”或标识符。
       注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,这种48位“地址”应当是某个接口的标识符。
IEEE 的注册管理机构RA负责向厂家分配地址字段6个字节中的前三个字节(即高位24位),称为组织唯一标识符。后三个字节(即低位24位)由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址,即MAC地址必须全球唯一。(组织唯一标识符,扩展唯一标汉符)
1)单站地址,组地址,广播地址
①当I/G位=0时,地址字段表示一个单站地址。 IEEE规定地址字段的第一字节的最低位为1/G位。/G表示Individual/Group;
②当I/G位=1时,表示组地址,用来进行多播(以前曾译为多播)。此时,IEEE 只分配地址字段前三个字节中的 23位。只能作为目的地址使用。
当1/G位分别为0和1时,一个地址块可分别生成223个单个站地址和 223个组地址。

③ 所有48位都为1时,为广播地址。只能作为目的地址使用。
2)全球管理与本地管理 
IEEE 把地址字段第一字节的最低第2位规定为G/L位,表示Global/Local。
当G/L位=0时,是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理
当G/L位=1时,是本地管理,这时用户可任意分配网络上的地址。
适配器有过滤功能。适配器从网络上每收到一个 MAC 帧就先用硬件检查 MAC 帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。

7.2.MAC帧的格式:

 

四、扩展的以太网 

1.在物理层扩展以太网
1)使用转发器扩展以太网:转发器也称中继器,作用是将衰减得不完整的信号进行整理重新产生完整的信号继续发送;放大器和中继器都是放大信号的作用,前者放大模拟信号,后者放大数字信号;

2)使用集线器扩展以太网:集线器实际是一种多端口转发器,不能隔离冲突域;

注:使用中继器和集线器连接起来的几个网段仍然是一个局域网;

3)使用光纤扩展:光纤+一对光纤调制解调器;

2.在数据链路层扩展以太网(更常用):最初使用网桥,后用交换式集线器(也称为以太网交换机:实际是多端口网桥);

知识点:以太网交换机独占传输媒体的带宽。对于普通的10Mbit/s的共享式以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,且交换机工作在全双工状态,因此对于拥有N个端口的交换机的总容量为2xNx10 Mbit/s(如果是半双工,则总容量为Nx10Mbit/s),这正是交换机的最大优点。
交换机总容量计算方式:端口数x每个端口带宽(半双工);端口数x每个端口带宽x2(全双工)。

交换机的每一个端口都是一个冲突域,交换机可以隔离冲突域,不能隔离广播域;

3.虚拟局域网:

        为了解决交换机在进行局域网互连时无法限制广播的问题而出现。普通的交换即使连接了多个局域网,仍然属子一个网络,即仍然是一个广播域,这样就容易产生广播风暴,但是将一个局域网划分成多个虚拟局域网之后(交换机就类似于路由器的功能)就等于将一个大的广播域划分成多个小的广播域,限制了接收广播信息的计算机数,这样就会降低发生广播风暴的可能性。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
IEEE 802.1Q对虚拟局域网VLAN 的定义:虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN;

2、VLAN实现的途径
1)基于交换机端口:最简单、也是最常用的方法,属于在第一层划分虚拟局域网的方法。缺点:不允许用户移动。
2)基于计算机网卡的MAC地址:属于在第二层划分虚拟局域网的方法。允许用户移动。缺点:要锋入和管理大量的MAC地址。如果用户的MAC地址改变了,则需要管理员重新配置VLAN;
3)基于协议类型:根据以太网帧的第三个字段“类型”字段确定该类型的协议属于哪一个虚拟局域网。属于在第二层划分虚拟局域网的方法;
4)基于IP 子网地址;根据以太网帧的第三个字段“类型”字段和IP 分组首部中的源IP地址字段碗定读IP分组属于哪一个虚拟局域网。属于在第三层划分虚拟局域网的方法;
5)基于高层应用或服务:根据高层应用或服务、或者它们的组合划分虚拟局域网。更加灵活,但更和复杂。

五、高速以太网:

1、100Base-T以太网;

2、吉比特以太网;

3、10吉比特以太网。


http://chatgpt.dhexx.cn/article/YjugXVNJ.shtml

相关文章

数据链路层主要协议

PPP:点对点的协议,华为路由器默认封装,是面向字符的控制协议。HDLC:高级数据链路控制协议,Cisco路由器默认的封装,是面向位的控制协议。fram-relay:表示帧中继交换网,它是x.25分组交…

【计算机网络】数据链路层-基本数据链路层协议

【计算机网络】数据链路层-基本数据链路层协议 协议1:一个乌托邦式的单工协议 单工协议即数据只能单向传输。这个协议假设信道永远不会丢失或损坏帧,接收方的处理能力足够快,缓冲区足够大。 发送程序无限循环,接受程序响应事件&am…

数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

​​​​​数据链路层协议 首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路层的协议,只不过后面三个不常用而已,数据链路层最常用的协议是Ethernet以太网协议。 Ethernet和IEEE802.3属于以太链路层协议 广域网中经常会使用串行链路来提供远距离的数据…

计算机网络之数据链路层协议总结

数据链路层 1.数据链路层介绍2.ARP协议2.1 ARP的工作流程2.2 ARP数据报格式 3.NAT技术3.1 NAT转换过程3.2 NAPT技术(动态NAT重载) 4.DNS技术4.1 域名层级关系4.2 域名解析流程 5. ICMP协议5.1 ICMP功能5.2 ICMP类型 1.数据链路层介绍 数据链路层主要负责…

(SQL)修改表结构[字段类型]、表字段长度,

①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ALTER COLUMN cname varchar(30) ALTER TABLE #temp ALTER COLUMN bmmc NVARCHAR(30)②&#xff1…

表字段长度的修改

设置后,即可完成sqlserver数据库表字段长度的修改 超时修改:

用命令语句修改mysql某字段长度

在MySQL中修改某个字段的长度,需要使用ALTER TABLE语句,具体操作如下: 假设要修改表A中的字段col1的长度为50。 ALTER TABLE A MODIFY col1 VARCHAR(50); 以上语句中,MODIFY关键字用于修改表结构,VARCHAR(50)用于指定…

开发人员各种鄙视链

最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是我们都很忙,每天 Bug 都调不玩,哪里有空鄙视这,鄙视那。所以很多的的鄙视链大家自己看看,笑一笑就过了,不要太过认真。 1、穿衣服也是有讲究的 2、…

趣图《程序员鄙视链》

小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。 最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是…

程序员鄙视链至今还存在,你咋想不通呢?看完给你理清思绪

前天本来想去githup上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上…

从程序员鄙视链看IT圈职场晋升密码,你修炼到了第几层?

作为一名IT程序员工程师,在2020年疫情后严峻的就业环境下,对于求职择业和职场晋升可谓体会颇深了。 亲眼目睹身边的好友因企业业务收缩而被辞退的痛楚,汇智妹猛然发现:“优胜劣汰”的生存法则,不光存在于自然界的食物链…

无代码开发,站到了程序员鄙视链顶端

文章目录 无代码开发,站到了程序员鄙视链顶端1.只花 72 小时完成一个危机管理软件项目2.巨头们已经开始激战3.无代码给 IT 技术人带来的挑战后记 无代码开发,站到了程序员鄙视链顶端 “无代码”不是在"淘汰”开发者,而是给予开发者更大挑…

程序员鄙视链python_程序员的鄙视链,请勿对号入座

原标题:程序员的鄙视链,请勿对号入座 在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。 最近这几年在世界各地突然吹起了一股全民写程序的…

图解程序员鄙视链(这回称得上是真的链表了吧)

简评:自古文人相轻,程序员的世界也存在着错综复杂的「鄙视链」。从程序语言、编辑器、平台到{ 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而「你用什么程序语言?」更是大家最热衷的一条鄙视链。本文就为大家…

程序员鄙视链至今还存在,你为什么还想不通?

前天本来想去github上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上还能…

站在程序员鄙视链的最顶端,真香!!

作为程序员你被鄙视过吗? 程序员群体中有一条无形的鄙视链。在现实中最直观的表现就是薪资差异。 据最新调查报告显示,全国范围内,程序员年薪达到50万以上的,仅占1.9%。 △数据来源: 《2018年中国程序员薪资生活调查报告》 如果你…

关于程序员鄙视链,哽咽~

点击上方“芋道源码”,选择“设为星标” 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数…

程序员之间的各种鄙视链

听说 有品位的程序员 都关注了 程序员的幽默(ID:humor1024)整编 素材参考自:网络 朋友圈有鄙视链, 相亲有鄙视链, 程序员圈也有鄙视链 看完下面的鄙视链, 你是那一层? ↓↓↓↓ 【0】…

程序员鄙视链, 所有工程师都鄙视php工程师, 为什么

有人的地方就有江湖。 有江湖的地方就有厮杀。 程序员之间的厮杀,从未停止过! 最近程序员鄙视链,刷屏了~ 我相信程序员的内心是这样的: 不是说好了的吗?PHP是世界上最好的语言! 翻翻知乎上的讨论&#xff1…

程序员鄙视链最全图解,好有道理

最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是我们都很忙,每天 Bug 都调不完,哪里有空鄙视这,鄙视那。所以很多的的鄙视链大家自己看看,笑一笑就过了,不要太过认真。 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫…