计算机网络复习要点(二)

数据链路层的一些基本概念

  • 结点(node):网络中的主机(host)和路由器(router)。
  • 链路(link):通信路径上连接相邻结点的通信信道,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分
  • 数据链路(data link):要在一根线路上传送数据,除了要有一条物理线路外,还要有一些必要的规程来控制这些数据的传输。将实现这些规程的硬件和软件加到链路上,就构成了数据链路。
  • 点到点(point to point)通信:在相邻结点间的一条链路上的通信(数据链路层)
  • 端到端(end to end)通信:从源结点(source node)到目的结点(destination node)通信。通信路径(path)可能由多个链路组成.(传输层)

数据链路层提供给网络层的服务

要求每一种服务能举例说明

  1. 无确认的无连接服务

    适用场景:①错误率很低的场合;②实时通信,如语音传输

    举例说明

    • 以太网(Ethernet):以太网数据帧的传输通常是无确认的无连接服务,适用于局域网中高可靠性和低错误率的场合。
    • 语音传输(VoIP):VoIP数据包传输时,由于对实时性要求高,通常采用无确认的无连接服务。
  2. 有确认的无连接服务

    适用场景:无线网络

    举例说明

    • 无线局域网(WLAN,Wi-Fi):在Wi-Fi网络中,使用数据帧确认机制来确保每个帧的正确接收,适用于信号不稳定或干扰较大的无线环境。
  3. 有确认的有连接服务

    适用场景:光纤网络

    举例说明

    • 面向连接的数据链路层协议(如HDLC):HDLC(高级数据链路控制)协议提供有确认的有连接服务,适用于需要可靠传输的场合,如光纤网络中的数据传输。
    • 帧中继(Frame Relay):在某些配置中,帧中继可以提供有连接的服务,确保数据帧按顺序并可靠地传输。

数据链路层的主要功能

通过一些数据链路层的协议,在不太可靠的物理链路上实现可靠的数据传输

主要有以下几种功能:

  • 链路管理

  • 数据成帧(frame)

  • 差错控制(error control)

  • 流量控制(flow control)

  • 透明传输

  • 寻址

数据成帧

字符计数法(Byte count)

原理:利用帧头部的一个字段来标识该帧中的字符数

特点:简单,无法恢复,已经很少使用

img

字节填充的标志字节法(Flag bytes with byte stuffing)(重点)
定义

用一些特殊字节(FLAG)作为帧开始和结束标志,用转义字符(ESC)来区分二进制数据中存在的特殊字节。

image-20240614104636723

范例

此处以0x7E特殊字节(FLAG)作为帧开始和结束标志,以0x7D为转义字符(ESC),定义信息字段中的以下三种变换:

  • 遇特殊字节:0x7E -> 0x7D + 0x5E
  • 遇转义字符:0x7D -> 0x7D + 0x5D
  • 遇ASCII中的32个控制字符:0x00~0x20 -> 0x7D + 0x20~0x40

例题:将以下数据还原为转义前的格式:7D 5E FE 7D 27 7D 5D 7D 5D 65 7D 5E

解:①将所有的7D字符以及其后的字符标记出来:

7D 5E FE 7D 27 7D 5D 7D 5D 65 7D 5E

②根据以下逆变换对标记字符进行还原:

​ 7D 5E -> 7E; 7D 27 -> 07; 7D 5D -> 7D

③得到原数据为:7E FE 07 7D 7D 65 7E

位填充的标志比特法(Flag bits with bit stuffing)(重点)
定义

原理:以特殊的位模式01111110作为帧标志,来表示帧的开始和结束。

存在的问题:帧标志‘01111110’ 可能存在于帧中,导致不同帧数据之间的混淆。

解决方案:当帧内容中每出现5个1,则在其后插入一个0,即变成01111101,接收方则将自动删除第5个1后的0。这称为位填充法,也称为透明传输

image-20240614160925954

范例

例题:110101111101011111101011111110,当帧里的上述比特序列在链路上发送时,采用位填充方法,真实的比特序列是什么?

解:①标记处比特序列中所有5个连续的“1”:

110101111101011111101011111110

②在每个标记序列的后方添加一个“0”即可:

110101111100101111101010111110110

物理层编码违禁法(Physical layer coding violations)

采用冗余编码技术,如曼切斯特编码,即两个脉冲宽来表示一个二进制位

数据0:低-高电平对

数据1:高-低电平对

高-高电平对和低-低电平对没有使用,可用作帧边界

参考自:https://blog.csdn.net/qq_18738333/article/details/65444781

差错控制

基本思想

错误的检测和纠正:数据之外加冗余编码;

  • 检错码: 通过编码检查能自动发现差错
  • 纠错码: 除了能知道出错,还能知道错误发生的位置、
常用编码

奇偶校验、水平垂直奇偶校验、CRC校验等

误码的相关概念
  • 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错(称为比特差错):
    • 比特1可能变成比特0
    • 比特0可能变成比特1
  • 在一段时间内,传输错误的比特数量占所传输比特总数的比率称为误码率Bit Error Rate,BER
  • 提高链路的信噪比,可以降低误码率。但在实际的通信链路上,不可能使误码率下降为零。
  • 使用差错检测技术来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
奇偶校验
实现方法

通过在待发送的数据后面添加一个校验位, 说的添加该校验位后的整个数据中比特1的个数奇数(奇校验)偶数(偶校验)

局限性

在所传输的数据中,若有奇数个位发生误码(所包含比特1的数量的奇偶性会发生改变),可以检测出误码;若有偶数个位发生误码(所包含比特1的数量的奇偶性不会发生改变),则无法检测出误码

循环冗余校验(Cyclic Redundancy Check,CRC)
实现方法
  1. 收发双方约定好一个生成多项式G(X)
  2. 发送方基于待发送的数据和生成多项式G(X),计算出差错检测码(冗余码),将余码添加到待发送数据的后面一起传输;
  3. 接收方收到数据和余码后,通过生成多项式G(X)来计算收到的数据和余码是否产生了误码。
具体操作

发送方和接收方的具体操作均可以分为以下四步:

步骤发送方接收方
1. 构造“被除数”待发送数据后面添加生成多项式最高次数个0接收到的信息作为被除数
2. 构造“除数”生成多项式各项系数构成的比特串作为除数生成多项式各项系数构成的比特串作为除数
3. 做“二进制模2除法”相当于对应位进行逻辑异或运算相当于对应位进行逻辑异或运算
4. 检查“余数”余数的位数应与生成多项式最高次数相同,如果位数不够,则在余数前补0来凑足位数。余数为0,可认为传输过程无误码;余数不为0,可认为传输过程产生了误码。

大致可以总结为以下两张图:

image-20240614171222904

image-20240614171336135

范例
  1. 接收到的信息为101001,生成多项式为 G ( X ) = X 3 + X 2 + 1 G(X)=X^3+X^2+1 G(X)=X3+X2+1,计算冗余码?

    解:①构造被除数:生成多项式最高次数为3,在原信息后面添加3个0:101001000

    ②构造除数:生成多项式的各项系数如下: 1 × X 3 + 1 × X 2 + 0 × X 1 + 1 × X 0 1\times X^3+1\times X^2+0\times X^1+1\times X^0 1×X3+1×X2+0×X1+1×X0,连起来作为除数1101

    ③做二进制模2除法:加法不进位,减法不借位,除法中的减法仍然采用模2运算,具体如下:

    image-20240614211534142

    ④检查余数:将上一步中得到的余数1与生成多项式最高次数3比较,位数不够,在余数前面补0来得到冗余码001

  2. 接收到的信息为101101001,生成多项式为 G ( X ) = X 3 + X 2 + 1 G(X)=X^3+X^2+1 G(X)=X3+X2+1,判断传输是否误码?

    解:①构造被除数:将接收到的信息101101001作为被除数;

    ②构造除数:生成多项式的各项系数如下: 1 × X 3 + 1 × X 2 + 0 × X 1 + 1 × X 0 1\times X^3+1\times X^2+0\times X^1+1\times X^0 1×X3+1×X2+0×X1+1×X0,连起来作为除数1101

    ③做二进制模2除法:加法不进位,减法不借位,除法中的减法仍然采用模2运算,具体如下:

    image-20240614213724965

    ④检查余数:余数不为0,可认为传输过程产生了误码

可靠传输

相关基本概念
  • 使用上述差错检测技术(例如循环冗余校验CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了误码(比特差错)。

  • 检测出误码后如何处理,取决于数据链路层向其上层提供的服务类型,具体可分为以下两种:

    1. 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做;
    2. 可靠传输服务:通过某种机制实现发送方发送什么,接收方最终就能收到什么
  • 一般情况下,有线链路的误码率比较低。为了减小开销,并不要求数据链路层向其上层提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理;无线链路易受干扰,误码率比较高,因此要求数据链路层必须向其上层提供可靠传输服务。

  • 传输差错的分类

    1. 误码(比特差错):即上述差错控制中提到的,比特在传输过程中可能会产生差错;
    2. 分组丢失:网络中某一节点的输入队列快满时,会主动丢弃收到的分组;
    3. 分组失序:分组到达目的节点的顺序与发送顺序不同
    4. 分组重复:由于链路中某一路由器繁忙,分组在输入队列中等待较长时间,发送方执行超时重发,最终使得接收方收到多个重复的分组。、

    以上除第一种误码会出现在数据链路层及其下层外,其他三种均只会出现在数据链路层的上层

  • 可靠传输服务并不局限于数据链路层,其他各层均可选择实现可靠传输。

  • 可靠传输的实现比较复杂,开销比较大,是否使用可靠传输取决于应用需求。

image-20240615145112242

  • 捎带技术

    • 滑动窗口协议一般采用双向通信,双向通信发送的帧主要包含两种:

      A-B数据帧 , A-B的确认帧;B-A数据帧 , B-A的确认帧;

    • 确认帧的数据长度一般很短,但同样需要帧头、校验、控制信息和帧尾,通信效率较低

    • 于是选择将同方向的两种帧混合,即:

      A-B的数据帧,A-B的确认帧,混合在一起;将B-A的数据帧,B-A的确认帧,混合在一起;

    • 实际上是在一方收到另外一方发来的数据帧之后。不立即回发确认帧给对方,而是等本站有数据要发送给对方时,将给对方的确认信息和本站发向对方的数据混合成一个帧传送给对方。

    • 优点

      1. 更好地利用信道的带宽;
      2. 减少目标端的中断次数;
      3. 减少单独发送确认帧带来效率的降低。
    • 存在的问题即解决方法:如果一个站点在收到对方数据帧之后没有数据发送给对方,源站可能要超时;通过设置辅助计时器,在目标端收到数据时,启动辅助计时器,如果辅助计时器到时,没有反向数据传送,则单独发送确认短帧。

  • 发送窗口:发送方需要维护一个发送窗口$W_T $ ,在未收到接收方确认分组的情况下,发送方可将序号落入 W T W_T WT内的所有数据分组连续发送出去。

  • 接收窗口:接收方需要维护一个接收窗口 W R W_R WR ,只有正确到达接收方(无误码)且序号落入 W R W_R WR内的数据分组才被接收方接收。

  • 分组编号:为了让双方能够判断所收到的数据分组是否是重复的,需要分别进行数据分组编号和确认分组编号,一般通过编号所使用的比特数量来计算序号数量,采用n个比特编号得到的序号有 2 n 2^n 2n个,确认分组编号所用比特数量一般与数据分组所用比特数量一样

  • 超时重传时间:给超时计时器设置的超时重传时间RTO应当仔细选择,一般将RTO设置为略大于收发双方的平均往返时间RTT。

停止-等待协议
  • 发送窗口 W T W_T WT1,接收窗口 W R W_R WR也为1
  • 发送方在发出一帧后,在发送下一帧之前要等待前一帧的确认;
  • 分组编号只需使用1个比特编序号即可,即序号0和序号1
  • 属于自动请求重传(Automatic Repeat reQuest,ARQ)协议。即重传的请求是发送方自动进行的,而不是接收方请求发送方重传误码的分组。
  • 存在的问题:效率低; 发送方一次只发送一个数据帧,直到接收方回复为止。
停止-等待协议的信道利用率

计算例题

主机甲采用停-等协议向主机乙发送数据,数据传输速率是3kbps,单向传播延时是200ms,忽略确认帧的传输延时。当信道利用率等于40%时,数据帧的长度为多少?

解:停止-等待协议传输过程中链路的示意图如下:

image-20240616165049991

根据题目信息可得如下方程:
40 % = x   b 3 k   b / s x   b 3 k   b / s + 200 m s × 2 40\%=\frac{\frac{x\:b}{3k\:b/s}}{\frac{x\:b}{3k\:b/s}+200ms\times2} 40%=3kb/sxb+200ms×23kb/sxb
解得x=800b,即数据帧的长度为800比特。

从信道利用率分析停止-等待协议存在的问题

image-20240616163617626

由上图可知,当RTT(双向传播时延)很长的时候,停止-等待协议的信道利用率U很低

回退N帧协议
  • 采用𝒏个比特给分组编序号,则发送窗口 W T W_T WT的取值范围是 1 < W T ≤ ( 2 n − 1 ) 1<W_T≤(2^n−1) 1<WT(2n1)。接收窗口 W R W_R WR1

  • 发送方:在发送完一个数据帧后,不是停下来等待应答帧,而是可以继续发送发送窗口中的数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧,如果在超时时间到时,仍然没有收到相应帧的确认帧,则回退N帧(Go-back-N, GBN)重新从这个帧开始传起;

  • 接收方:连续接收帧,当接收到一个坏帧时,简单丢弃这个帧和这个帧以后的所有帧,让它们在发送端超时,直到收到这个帧为止。

  • 累计确认:回退N帧协议的接收方采用累积确认方式。接收方不必对收到的每一个数据分组都发送一个确认分组,而是可以在收到几个序号连续的数据分组后,对按序到达的最后一个数据分组发送确认分组。确认分组ACKn表明序号为n及之前的所有数据分组都已正确接收

  • W T = 2 n W_T=2^n WT=2n时会发生什么(重点)

    1. 假设n = 3, 发送方发送了序号DATA0~DATA7,共 2 3 2^3 23个,所有序号都已使用,此时第二批次的第一个序号将从DATA0重新开始
    2. 假设接收方全部接收到了且无误码,接收方返回ACK0~ACK7;
    3. 若返回的ACK0分组丢失,发送方收不到DATA0分组的确认分组发生超时,则从第一批次的第一个,序号同为DATA0的分组重新开始发送;
    4. 接收方第二次接收到DATA0分组,但无法区分这是第一批次的DATA0还是第二批次的DATA0,从而产生问题。
  • 回退N帧协议在流水线传输的基础上,利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议

  • 信道质量较差(容易出现误码)的情况下,回退N帧协议的信道利用率并不比停止-等待协议的信道利用率高。

选择重传协议
  • 采用𝒏个比特给分组编序号,发送窗口 W T W_T WT和接收窗口 W R W_R WR满足下列公式 1 < W R ≤ W T W T + W R ≤ 2 n } 1 < W R ≤ 2 ( n − 1 ) \left.\begin{array}{l}1<W_R \leq W_T \\ W_T+W_R \leq 2^n\end{array}\right\} 1<W_R \leq 2^{(n-1)} 1<WRWTWT+WR2n}1<WR2(n1),当 W R W_R WR取最大值 2 ( n − 1 ) 2^{(n-1)} 2(n1)时, w T w_T wT能取到的最大值也为 2 ( n − 1 ) 2^{(n-1)} 2(n1)

  • 只有按序收到对已发送数据分组的确认分组时,发送窗口才能向前滑动到相应位置;如果收到未按序到达的确认分组,应对其进行记录,以防止其相应数据分组的超时重发,但发送窗口不能向前滑动。

  • 与回退N帧协议不同,为了使发送方仅重传出现差错的数据分组,选择重传协议不采用累积确认,接收方需要对每一个正确接收的数据分组进行逐一确认;只有在按序接收数据分组后,接收窗口才能向前滑动到相应位置。

考点
  1. 掌握三种滑动窗口协议的名称、发送和接收窗口大小
  2. 能在给定条件和窗口大小的情况下计算信道利用率等,或者反过来计算需要多少位比特来对窗口进行编号。
  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值