计算机网络03---数据链路层

目录

数据链路层的几个共同问题

小计

基础概念

 三个基本问题

        封装成帧   

        透明传输

        差错检查

点对点协议PPP

定义

要满足的需求 

 组成

帧格式 

透明传输问题

LCP与NCP 

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

        局域网的数据链路层

                局域网的特点

                 以太网

                适配器 

CSMA/CD协议

        协议要点

使用集线器的星形拓扑 

以太网的信道利用率 

        以太网的MAC层 

        MAC层的物理地址

        MAC帧的格式

拓展的以太网

在物理层拓展以太网

在数据链路层拓展以太网

以太网交换机的特点

以太网交换机的优点 

以太网交换机的交换方式

自学习算法 

从总线以太网到星形以太网

虚拟局域网

 划分虚拟局域网的方法

虚拟局域网的以太帧格式

高速以太网 

100BASE-T以太网

​吉比特以太网

10 吉比特以太网 (10GE) 和更快的以太网

使用以太网进行宽带接入


数据链路层的几个共同问题

小计

广播通信可能会发生碰撞💥 导致失真(后续详述) 

基础概念

链路和数据链路

 三个基本问题

        封装成帧   

帧的数据部分可以是任何类型的数据(文本,图像,视频等) 只要他们可以被转化成比特流并在物理介质上传输即可

定界法课上补充了两种

下面的填充是在透明传输中用来解决隐患问题

1.面向字符首尾定界法(字符填充的首尾定界符法) 

       利用不可打印的控制字符作为帧头帧尾

2.面向比特的首尾定界法(比特填充的首尾定界符法) 

        用一组特定的比特串来作为帧头帧尾 比如01111110 要传输的数据为101111110

        组成的帧为01111110 101111110 01111110

上述做法存在一个隐患:即在帧中的数据部分若存在与帧开始符或帧结束符一致的数据如何处理 可能会导致接收方错误地解密帧 该问题由透明传输解决 

        透明传输

也就是不会出现封装成帧中的隐患问题

解决方法:字节填充或字符填充

字符填充

在帧的数据部分针对与帧开始符和帧结尾符重复的字符前再加入一个转义字符 与帧的开始结尾符区别开

如果原数据中还包含该转义字符 则再此转义字符前再加上一个转义字符

等接收端收到数据时去除掉数据部分的转义字符 若遇到两个转义字符时去除掉前边的转义字符

比特填充

针对帧开始结束符为特定比特流的 比如01111110

要规定数据部分每出现连续的5个1就要补充1个0 否则可能会重复

        差错检查

 

这里着重介绍循环冗余校验(CRC) --- 帧检测序列(FCS)的一种

1.要发送的数据在尾部加上n位的冗余码 n位取决于双方事先商定的除数 即生成多项式

比如 P(x) = x^4 + x^2 + 1 除数为10101 x^4对应1 x^3对应0 x^2对应1 x^1对应0 1(常数)对应1 

最高次方为4 代表 n = 4 除数长度为5(算上一位常数位)

2.传输的比特流先进行模2运算 即乘以2的n次方 从比特流后边补上n个0 再对除数做异或运算 得出的n位余数作为冗余数据一并传输

3.接收方检验 对得到的数据进行CRC检验 除以相同的除数 检查余数 为0代表没有差错 否则接受出现差错 直接丢弃 运算过程可以简单地理解为一开始a / b = c ......d  我传输的是a+d 代表刚好能被b整除 如果接收方不能整除说明传输过程有差错

CRC只是针对单个帧的比特序列进行检测 而不是对整个帧序列 如果帧序列存在传输差错 CRC无法检测 比如要传输的帧序列为123 接收方接受的是132 但是每个帧并没有比特差错  

点对点协议PPP

定义

        用户计算机与ISP进行通信时使用的数据链路层协议

要满足的需求 

MTU的标准默认值为1500字节 

 组成

        第一条即说明要把IP数据报封装成PPP帧

帧格式 
 
透明传输问题

同步异步传输说明:https://www.cnblogs.com/Eleanore/archive/2012/01/06/2314684.html

简单来说 同步传输是一连串的比特连续传送 异步传输是逐个字符地传送

同步传输:零比特填充法

异步传输:字节填充法

LCP与NCP 

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

        局域网的数据链路层

                局域网的特点

其中环形网和总线网使用共享信道 

广域网(一般指通信子网)的拓扑结构:网状拓扑

本书重点讨论属于随机接入的以太网 随机接入存在的问题就是若多个用户同时发送信息 在共享信道上会发生碰撞 导致所发送的这些信息全部无效

                 以太网

                适配器 

网络适配器又称为网络接口卡(网卡)

计算机的硬件地址(MAC地址)存储在适配器的ROM(只读存储器)中  在出厂时就固化到适配器中

IP地址则在计算机的存储器中  每台计算机的mac地址是固定唯一的  而IP地址是不固定的

CSMA/CD协议

为了实现通信的简便 以太网采取了以下两种措施

曼彻斯特编码 1用10表示 0用01表示

优点:每个比特正中间都会发生一次电压转换 接收方可以方便地提取出位同步信号

        协议要点

 关于所需单程传播时延的2倍

A先发送数据 即将到B时(一个极限为0的时间间隔) B立刻发送了数据(此时B还未检测到A的数据) B的数据到达A时 检测到碰撞 双方发送数据失败 

最短帧长 

由来:若某站发送一个较短的帧 在发送结束前未检测到碰撞 接收方接收时就不会认为该数据有问题 也就是我们要限定帧的长度 保证在发送结束前一定能检测到碰撞 这里就涉及到争用期的时间

要求帧的发送时间要大于等于争用期  最短帧长的发送时间等于争用期 保证存在碰撞一定可以检测出来

相关公式 争用期 = 最短帧长 / 数据率 = 2 * 两站点距离 / 信号传播速率 

碰撞后重传机制

基本回避时间 == 争用期

强化碰撞:当发生碰撞后 发送数据站除了停止发送数据 还要继续发送32bit或48bit的人工干扰信号 让所有用户都知道现在已经发送碰撞

使用集线器的星形拓扑 

以上传输媒体分别对应不同的计算机网络传输标准

10BASE-T ---> 10代表10Mbit/s的数据率   BASE代表基带信号   T 代表双绞线

粗同轴电缆 --- 5  细同轴电缆 --- 2

注意 集线器和中继器(转发器)都是工作在物理层的设备  物理层设备的特点就是接收发送比特流

中继器就是接收信号再放大发送  而集线器类似于多个端口的中继器 二者的工作对象都是比特流

以太网的信道利用率 

由于存在碰撞现象 所以信道并不能被充分利用

解释一下为什么多一个单程端到端时延

T0代表发送方发送完数据 从发送第一个比特到最后一个比特刚刚发送到信道上 

单程端到端时延是考虑极端情况最后一个比特要从信道的一端传输到另一端 最后一个比特到达接收方后才算成功发送一个帧

先打枪后画靶 根据结论 a->0 代表碰撞可以立刻检测出来 说明单程端到端时延远远小于帧的发送时间 代表争用期所占的时间少 而碰撞都是在争用期内被发现 进而说明碰撞可以立刻检测出来

最大值即考虑理想状态 不会发生碰撞 且无空闲时刻 数据一个接一个地发送

以太网的MAC层 

        MAC层的物理地址

 单站地址可以作为以太网MAC帧中的目的地址或源地址 而组地址和广播地址只能作为目的地址

源地址只能用单站地址 这样可以指明发送数据的设备 组地址和广播地址无法确定发送数据的设备地址

发送本地的帧包含三种:

单播帧:即收到的帧的MAC地址与本站的MAC地址相同

广播帧:即发送给本局域网上所有站点的帧

多播帧:即发送给本局域网上一部分站点的帧

MAC帧的格式

这个最小长度来源于CSMA/CD协议中的最短帧长 小于64字节会被接收方认为是无效帧

这段字节就是每层在向下传递时要封装进数据的部分 保持比特同步和方便识别当前数据的类型(比特流,MAC帧......)  除物理层外 每层都要在数据前端封装字节

重传帧的问题交给发送方负责

以太网帧有两种标准 使用最多的是V2标准

这里涉及到0x0600 = 1536(10)  MAC帧的有效最大长度就是1518 = 18 + 1500

因此规定大于1536 第三段表示类型 否则表示长度 

关于以太网被广泛应用导致LLC帧失去原来的意义 --- 感谢ChatGpt的大力支持

LLC帧最初设计时,是为了在各种不同的网络技术之间建立透明的数据链路,并提供可靠的数据传输和错误检测机制。它可以实现多协议的共存,使不同的网络协议能够通过同一个物理链路进行通信。

然而,随着以太网技术的逐渐发展和广泛应用,以太网已经成为了主流的局域网技术。由于以太网具有低成本、高性能、易扩展等优势,因此它已经成为了大部分企业和组织中最常见的网络技术。

在以太网中,由于数据链路层的封装格式已经标准化,且只需要支持一种上层协议(如IP协议),因此LLC帧的作用已经被大大简化。实际上,在目前广泛使用的以太网中,LLC帧已经失去了原来的意义。

因此,目前的以太网技术通常不再使用LLC帧,而是直接使用以太网帧(Ethernet Frame),以太网帧包含了以太网头部和以太网尾部,以支持MAC地址的识别和发送数据的校验。以太网帧不区分不同的网络层协议,而是将它们封装在数据部分中。

总之,随着以太网技术的发展和广泛应用,LLC帧已经失去了原来的意义。而在目前广泛使用的以太网中,以太网帧已经成为了主要的数据链路层封装格式。

拓展的以太网

在物理层拓展以太网

最早使用光纤 光纤调制解调器用来实现光信号和电信号的转换

优点:光纤的时延小 带宽大 用来连接主机和几公里外的集线器较易

集线器和中继器不能分隔碰撞域和广播域

交换机可以分隔碰撞域,不能分隔广播域

路由器可以分隔碰撞域和广播域 

在数据链路层拓展以太网

交换机分为二层交换机和三层交换机 三层交换机还具有路由功能 

以太网交换机的特点

 接口的存储器方便在输出端口工作繁忙时进行帧缓存

以太网交换机的优点 

以太网交换机的交换方式

自学习算法 

一开始交换表为空 表项分别为MAC地址 对应端口 有效时间 ---> 防止失效MAC地址长期占用资源

字学习算法的应用 当交换表中没有要发送的MAC地址 就要进行广播

S2交换表中的A 5记录就是广播得到的

当A开始发送时 交换表为空 开始广播  观察其中一个帧的走向 交换表中不会记录E的MAC地址

从端口5到达交换机2的端口5  在交换机2进行广播 其中的一个广播帧从端口6到达交换机1的端口6 再进行广播 然后其中一个广播帧再从端口5到交换机2 一直循环从而产生回路 浪费网络资源 

比如 在逻辑上切断链路6 消除回路 当链路5出现问题时 再启动链路6

从总线以太网到星形以太网

虚拟局域网

广播风暴的概念:

网络环路+交换机的工作原理转发广播包

简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。

产生的原因之一就是上述生成树协议要解决的回路问题 当回路中充斥大量广播数据就会导致广播风暴

虚拟局域网VLAN的定义

在下列VLAN中 B1向B3发消息 广播只会被同一VLAN下的其他主机接收 即B2 B3 避免广播风暴

 

 划分虚拟局域网的方法

虚拟局域网的以太帧格式

仅增加了标记字段802.1Q

虚拟局域网的以太帧主要用于交换机之间 主机和交换机之间用标准的以太网帧

高速以太网 

100BASE-T以太网

相关设定

特点

 吉比特以太网

 10 吉比特以太网 (10GE) 和更快的以太网

使用以太网进行宽带接入

 王道计网补充

在数据链路层,CRC循环冗余效验码用于差错控制 计时器超时重发用来避免传输过程中帧的丢失

带r个校验位的多项式编码可以检测出所有长度小于或等于r的突发性错误

CRC校验可以使用硬件来完成

连接是建立在确认机制的基础上的,因此数据链路层向物理层提供的服务只有三种

确认:目的机器收到数据帧后必须发回确认

面向连接:要建立数据链路 采用面向连接服务的帧传输阶段包括数据链路的建立、帧的传输、数据链路的释放

无确认的无连接服务:适用于实时通信或误码率较低的通信信道,如以太网

有确认的无连接服务:适用于误码率较高的通信信道,如无线通信

有确认的面向连接服务:适用于通信要求较高的场合

数据链路层的流量控制功能主要用于限制发送方的发送速率不得超过接收方的接收速率

在采用CSMS/CD协议的以太网中,若数据传输速率提高,为了不影响检测冲突需要修改的措施是 ---> 增加最短帧长、减少电缆介质的长度(即降低往返的传播时延,减少争用期时间)

采用二进制指数回退算法处理冲突时,数据帧重传再次发生冲突的概率与什么有影响

重传次数越多 ---> k值越大 ---> 各个站点退避的时间就越长 ---> 冲突概率越低 

以太网的逻辑拓扑是总线形结构,物理拓扑是星形结构

以太网的IP数据报长度在46 ~ 1500字节之间 

解释一下高速以太网的符号说明

10BASE-T/F/2/5        10代表数据率 10Mb/s        BASE代表基带信号 采用的是曼彻斯特编码       数字5或2则代表每段电缆的最大长度为500或200米        T代表双绞线        F代表光纤

在以太网中        10BASE-T只能工作在半双工方式下        100BASE-T以太网和吉比特以太网可以在半双工和全双工两种方式下工作        10吉比特以太网只能工作在全双工方式下

如果同一局域网内两台主机包含相同的静态MAC地址,则在该网络上这两台主机都不能正常通信

虚拟局域网VLAN是建立在交换技术基础上的,以软件方式实现逻辑分组与管理

虚拟局域网既可以划分冲突域,也可以划分广播域

工作在数据链路层的设备

        网桥

        交换机:本质是多端口的网桥,一般默认工作在全双工方式下

        若采用直通方式转发信息 只检查目的MAC地址 6个字节 计算发送时延 = 6 * 8bit / 交换机的发送速率

比较各种设备的发送时延(传输时延) 路由器  > 网桥 > 交换机 > 集线器

路由器可以划分冲突域和广播域        一个端口对应一个冲突域和广播域

网桥、交换机可以划分冲突域,不能划分广播域        一个端口对应一个冲突域

集线器、转发器都不能划分

举例:某16端口交换机的冲突域和广播域的个数 16 1

关于交换机的一个值得思考的题目若一个网络采用一个具有24个10Mb/s端口的半双工交换机作为连接设备,该交换机的总容量为? - 知乎

附上个人理解:首先在半双工条件下,一方发送一方接收,连接点有两条信道 但同一时刻只能有一条信道工作 因此平均带宽是10Mb/s   一共24个端口 极限情况是12个发送12个接收 交换机的总容量等于 12*10Mb = 120Mb

再考虑全双工条件下,每一方都可以同时发送接收,连接点两条信道可以同时工作 即20Mb/s 一共24个端口 极限情况是24个都要发送并接受 那么交换机的总容量就是24*10Mb = 240Mb

这里不是24*20Mb 我认为其中10Mb是主机发送给交换机,另外10Mb是交换机给主机 两个10Mb对应全双工的两条信道 交换机的总容量对应那24条发送信道所发送的数据总量

局域网对应OSI体系结构中的物理层和数据链路层        广域网对应OSI体系结构中的物理层、数据链路层和网络层

关于PPP协议的补充:

        只支持全双工链路

        提供差错检测但不提供纠错功能,是不可靠的传输协议

        采用0比特填充的规则是遇到五个连续的1在其后边加上一个0 

        采用字节填充的规则是7E ---> 7D 5E        7D ---> 7D 5E       

        小于20的 比如03 ---> 7D 23 原始字符与20做异或运算 相同为0不同为1

        PPP两端可支持运行不同的网络层协议

        面向字节

        PPP协议的LCP(链路控制协议):用于建立、配置、测试和管理数据链路

        PPP协议的NCP(网络控制协议):一个NCP用来配置一个网络层协议,为网络层协议建立和配置逻辑连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值