当前位置:首页 » 网络连接 » NAK计算机网络神马

NAK计算机网络神马

发布时间: 2024-02-23 06:59:30

Ⅰ [计算机网络]Ch.3 数据链路层

数据链路层使用物理层提供的服务在通信信道上发送和接收比特。
(1) 向网络层提供一个定义良好的接口
(2) 处理传输错误
(3) 调节数据流,确保慢速的接收方不会被快速的发送方淹没
提供的服务
(1) 无确认的无连接服务 (局域网)
(2) 有确认的无连接服务 (无线通信)
(3) 有确认的有连接服务 (电话)
无线通信,信道使用率很低但数据传输的误码率相对较高,确认是必要的

成帧:将原始的位流分散到离散的帧中。
成帧的方法有:
(1)字乱链符计数法
(2)带字节/字符填充的标志字节法
(3)比特填充的比特标志法
(4)物理层编码违例法

字节计数法:利用帧头部的一个字段来标识该帧中的字符数
缺点:简单,无法恢复,已经很少使用

该方法考虑了错误之后重新开始同步的问题,用一些特殊字节(FLAG)作为帧开始和结束标志,用转义字符(ESC)来区分二进制数据中存在的特殊字节。

采用冗余编码技术,如曼切斯渣陪段特编码,即两个脉冲宽来表示一个二进制位
数据0:低-高电平对
数如誉据1:高-低电平对
高-高电平对和低-低电平对没有使用,可用作帧边界

差错的种类:

差错的处理:

计算机网络中主要采用:

海明距离的意义 :如果海明距离为d,则一个码字需要发生d个1位错误才能变成另外一个码字
海明距离与检错和纠错的关系:

纠正单比特错的冗余位下界, m为数据位数 r为校验位数

将某一位数据位的编号展开成2的乘幂的和,那末每一项所对应的位即为该数据位的校验位(收方使用)。
如: 11 = 1 + 2 + 8
29 = 1 + 4 + 8 + 16
校验位1的检验集合为所有奇数位。
校验位2的检验集合:2、3、6、7、10、11、…
校验位4的检验集合:4、5、6、7、……
校验位8的检验集合:8、9、10、11、……

海明码纠错过程(只纠错1位)
首先将差错计数器置“0”。
当海明码数据到达接收端后,接收端逐个检查各个校验位的奇偶性。
如发现某一校验位和它所检测的集合的奇偶性不正确,就将该检验位的编号加到差错计数器中。
待所有校验位核对完毕:
若差错计数器仍为“0”值,则说明该码字接收无误。
非“0”值,差错计数器的值为出错位的编号,将该位求反就可得到正确结果。

例子:

经计算需要的检验字个数的最小值 r应满足 ( 所以r最小值为4,再根据校验位的对应规则可得下表:

Data: 1011010
Even: 1011010 0 (偶校验)
Odd: 1011010 1 (奇校验)

使用CRC编码时发送方和接收方必须预先商定一个生成多项式G(x),假设有一个m为的帧M(x),使用G(x)生成的帧的步骤如下:
假设G(x)的阶为r, 那么M(x)在末尾添加r个0,得到 m+r位的位模式 。
利用模2出发,用G(x)去除 ,得到对应的余数(总是小于等于r位)。
利用 减去(模2减法)第2步中得到的余数,得到的位模式就是即将被传输的带校验和的帧
Sender
在数据帧的低端加上r个零,对应多项式为XrM(x)
采用模2除法,用G(x)去除XrM(x),得余数
采用模2减法,用XrM(x)减去余数,得到带CRC校验和的帧
Receiver
用收到的帧去除以G(x)
为零:无错误产生。非零:发生了错误,重传

在一定条件下运作:

缺点

缺点

对协议2的改进:

确认帧
只在接收无差错时才发确认帧,出错时不发确认帧。
重发
网络中采用检错码,无法纠正错误,由重发原来帧的方式来恢复正确的帧。
计时器
控制何时重发,防止无限期等待(死锁)。
帧序号
防止重发时接收端收到重复的帧,序号还用于接收时排序。
保证送给网络层的都是按序无重复的分组

帧格式:

****

与前三个协议不同,这是一个双向传递的协议。 之后的三个协议都属于滑动窗口协议。

滑动窗口协议
如果发送端可以连续发送一批数据帧,必须考虑接收端是否来得及接纳与处理这么多的帧,这里就提出了网络流量控制问题

N回退协议 选择重传协议:
由于传输过程中存在延迟,即数据在传播过程中需要时间,那么如果使用上面所提及的协议,传输过程中有大量的时间存在阻塞状态,所以为了充分利用带宽,我们让发送方一次发送w个帧。所以就存在如何处理在传输过程中出现的帧错误的问题

协议四的基本工作原理:
窗口设置

窗口滑动机制

特点

出错情况
连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送

接收方的接收策略: 丢弃错帧,其后续帧因不是期望接收帧也被丢弃(接收窗口为1)。
发送方的重传策略: 缓存在发送窗口中的出错帧以及其后续帧全部重发

W<=2BD+1(个帧)
BD:带宽-延迟乘积,bit乘积出来之后换算成帧的个数

该图的发送方和接收方的窗口大小都是7,那么也就是说发送方一次最多只能发送7个帧,刚开始发送方只能发送序号为0~6的数据帧,图中发送方收到序列号为第0和第1号帧的确认帧,那么整个窗口向前滑动,发送方可以发送序列号为7和8 的数据帧,但是不幸的是2号数据帧并没有收到确认帧,所以整个窗口并不会向前滑动,此时只能等待2号数据帧的计时器超时,那么超时后发送方将会从2号数据帧开始发送,重复这个过程。
实现

出错情况

原因:如果错误很少发生,那么协议5可以很好的工作。一旦线路质量很差,那么重传帧需要浪费大量带宽。而选择重传节约了带宽,允许接收方缓存丢失帧之后的所有帧

接收方的接收策略: 丢弃错帧,缓存后续正确接收帧
发送方的重传策略: 只重发出错帧。

基本概念:

选择重传策略:
接收方丢掉坏帧,但接受并缓存坏帧后面的所有好帧。

否定重传策略
当接收方收到错误,他就发送一个否定确认(NAK)信息,而不需要等到相应的计数器超时,提高协议性能。

滑动窗口长度w的选择
协议5(回退n帧) W = MAX_SEQ
协议6(选择重传) W= (MAX_SEQ + 1) / 2

发送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是 防止窗口重叠,在确认帧丢失的情况下而导致的数据错误

接收方在某个帧出错后继续接受和缓存后续发送的数据包,直到整个窗口的填满后,把帧进行排序后才传递给网络层。

面向字符的数据链路协议
PPP 是一种在链路上传输分组的常用方法

3个主要特性:

PPP两种认证协议: PAP and CHAP

PPP的帧格式

PPP成帧是面向字节填充的:
具体细节可以参考上面的字节填充法, 因为PPP重用了HDLC的技术,所以PPP使用标志字(0x7E 01111110)来标记帧的起始,使用0x7D来作为转义字符, 具体操作如下:

接收方接收到帧后进行下面处理:
在帧中遇到0x7D 就把0x7D删除,在把紧跟在0x7D 后的字节和0x20进行异或运算,就得到对应的数据

LCP ( Link Control Protocol)提供了建立、配置、维护和终止点对点链接的方法

PPP的工作过程

Ⅱ 数据链路层的链路控制规程

数据链路控制协议也称链路通信规程,也就是OSI参考模型中的数据链路层协议。链路控制协议可分为异步协议和同步协议两大类。
数据链路层的主要协议有:
(1)点对点协议(Point-to-Point Protocol);
(2)以太网(Ethernet);
(3)高级数据链路协议(High-Level Data Link Protocol);
(4) 帧中继(Frame Relay);
(5) 异步传输模式(Asynchronous Transfer Mode); 面向字符的同步协议是最早提出的同步协议,其典型代表是IBM公司的二进制同步通信(Binary Synchronous Communication、BISYNC或BSC)协议,通常,也称该协议为基本型协议。随后,ANSI和ISO都提出类似的相应标准。ISO的标准称为数据通信系统的基本型控制过程(Basic mode control proceres for data communication Systems),即ISO 1745标准。任何链路层协议均可由链路建立、数据传输和链路拆除三部分组成。为实现建链、拆链等链路管理以及同步等各种功能,除了正常传输的数据块和报文外,还需要一些控制字符。 BSC协议用ASC2或EBCDIC字符集定义的传输控制(TC)字符来实现相应功能。这些传输控制字符的标记、名称及ASC2码值和EBCDIC码值见表3.1。 各传输控制字符的功能如下:
SOH(Start of Head): 序始或标题开始,用于表示报文(块)的标题信息或报头的开始。
STX(Start of TEXT):文始,标志标题信息的结束和报文(块)文本的开始。
ETX(End of Text): 文终,标志报文(块)文本的结束。
EOT(End of Transmission): 送毕,用以表示一个或多个文本块的结束,并拆除链路。
ENQ(Enquire):询问,用以请求远程站给出响应,响应可能包括站的身份或状态。
ACK(Acknowledge): 确认,由接收方发出一肯定确认,作为对正确接收来自发送方的报文(块)的响应。
DLE(Data Link Escape): 转义,用以修改紧跟其后的有限个字符的意义。用于在BSC中实现透明方式的数据传输,或者当10个传输控制字符不够用时提供新的转义传输控制字符。
NAK(Negative Acknowledge): 否认,由接收方发出的否定确认,作为对未正确接收来自发送方的响应。
SYN(Synchronous): 同字符,在同步协议中,用以实现节点之间的字符同步,或用于在列数据传输时保持该同步。
ETB(End of Transmission Block): 块终或组终,用以表示当报文分成多个数据块时, 一个数据块的结束。
BSC 协议将在链路上传输的信息分为数据报文和监控报文又分为正向监控和反向监控两种。每一种报文中至少包含一个传输控制字符,用以确定报文中信息的性质或实现某种控制作用。
数据报文和文本组成。文本是要传送的有用数据信息,而报文是与文本传送及处
理有关的辅助信息,报头有时也可不用,对于不超过长度限制的报文可只用一个数据块作为一个传输单位。接收方对于每一个收到的数据块都要给予确认,发送方收到返回的确认后,才能发送下一个数据块。BSC协议为数据块格式可以有5种,如图3.5所示。
BSC协议中所有发送的数据均跟在至少两个SYT字符之后,以使接收方能实现字符同步。报头字段用以说明数据文字段的包识别符(序号)及地址。所有数据块在块终限定符(ETX或ETB)之后不有块验字符BCC(Block Check Charracter),BCC可以是垂直奇偶校验或16位CRC,校验范围自STX始,至ETX或ETB止。
当发送的报文是二进制数据而不是字符串时,二进制数据中形同传输控制字符的比特串将会引传输混乱。为使二进制数据中允许与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符,在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个外加的DLE字符加以标记。 在接收端则进行同样的检测,若发现单个的DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。
正、反向监控报文有四种格式。
(1)肯定确认和选择响应:
SYN | SYN | ACK
(2)否定确认和选择响应:
SYN | SYN | NAK
(3)轮询/选择请求:
SYN | SYN | P/S前缀 | 站地址 | ENQ
(4)拆链:
SYN | SYN | EOT
监控报文一般由单个传输控制字符或由若干个其它字符引导的单个传输控制字符组成。引导字符统称为前缀,它包含识别符(序号)、地址信息、状态信息以及其它所需的信息。ACK和NAK监控报文的作用,首先作为对先前所发数据块是否正确接收的响应,因而包含识符(序号);其次,用作对选择监控信息的响应,以ACK表示所选站能接收数据块,而NAK表示不能接收。ENQ用作轮询和选择监控报文,在多结构中,轮询或选择的站地址在ENQ字符前。EOT监控报文有用以标志报文的结束,并在两站点间除逻辑链路。
面向字符的同步协议的最大缺点,是它和特定的字符编码集关系过于密切,不利于兼容性。为了实现数据的透明性而采用的字符填充法,实现起来比较麻烦,且也依赖于采用的字符编码集。另外,由于BSC是一个半双工协议,它的链路传输效率很低,即使物理连路支持全双工传输,BSC也不能加以运用。不过,由于BSC协议需要的缓冲存储容量最小,因而在面向终端的网络系统中仍然广泛使用。 七十年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC。随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:ANSI的高级通信控制过程ADCCP(Advanced Data Control Procere),ISO的高级数据链路控制规程HDLC。链路控制协议着重于对分段成物理块或包的数据的逻辑传输,块或包由起始标志引导并由终止标志结束,也称为帧。帧是每个控制、每个响应以及用协议传输的所有信息的媒体的工具。所有面向比特的数据链路控制协议均采用统一的帧格式,不论是数据还是单独的控制信息均以帧为单位传送。
每个帧前、后均有一标志码01111110、用作帧的起始、终止指示及帧的同步。标志码不允许在帧的内部出现,以免引起畸意。为保证标志码的唯一性但又兼顾帧内数据的透明性,可以采用“0比特插入法”来解决。该法在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现
时,便在其后添插一个“0”,然后继续发后继的比特流。在接收端,同样监除起始标志码以外的所有字段。当连续发现5个“1”出现后,若其后一个比特“0”则自动删除它,以恢复原来的比特流;若发现连续6个“1”,则可能是插入的“0”发生差错变成的“1”,也可能是收到了帧的终止标志码。后两种情况,可以进一步通过帧中的帧检验序列来加以区分。“0比特插入法”原理简单,很适合于硬件实现。 在面向比特的协议的帧格式中,有一个8比特的控制字段,可以用它以编码方式定义丰富的控制命令和应答,相当于起到了BSC协议中众多传输控制字符和转义序列的功能。作为面向比特的数据链路控制协议的典型,HDLC具有如下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行编号,可纺止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。由于以上特点,网络设计普遍使用HDLC作为数据链路管制协议。
HDLC的操作方式
HDLC是通用的数据链路控制协议,当开始建立数据链路时,允许选用特定的操作方式。所谓链路操作方式,通俗地讲就是某站点以主站方式操作,还是以从站方式操作,或者是二者兼备。在链路上用于控制目的站称为主站,其它的受主站控制的站称为从站。主站负责对数据流进行组织,半且对链路上的差错实施恢复。由主站发往从站的帧称为命令帧,而由由站返回主站的帧称响应帧。连有多个站点的链路通常使用轮询技术,轮询其它站的站称为主站,而在点到点燃链路中每个站均可为主站。主站需要比从站有更多的逻辑功能,所以当终端与主机相连时,主机一般总是主站。在一个站连接多条链中的情况下,该站对于一些链路而言可能是主站,而对另外一些链路而言又可能是从站。有些可兼备主站和从站的功能,这站称为组合站,用于组合站之间信息传输的协议是对称的,即在链路上主、从站具有同样的传输控制功能,这又称作平衡操作,在计算机网络中这是一个非常重要的概念。相对的,那种操作时有主站、从站之分的,且各自功能不同的操作,称非平衡操作。
HDLC中常用的操作方式有以下三种:(1)正常响应方式NRM是一种非平衡数据链路操作方式,有时也称非平衡正常响应方式。该操作方式适用于面向终端的点到点或一点与多点的链路。在这种操作方式,传输过程由主站启动,从站只有收到主站某个命令帧后,才能作为响应向主站传输信息。响应信息可以由一个或多个帧组成,若信息 由多个帧组成,则应指出哪一个是最后一帧。主站负责管理整个链路,且具有轮询、选择从站及向从站发送命令的权利,同时也负责对超时、重发及各类恢复操作的控制。NRM操作方式见图3.7(a)。(2)异步响应方式ARM,异步响应方式ARM也是一种非平衡数据链路操作方式,与NRM不同的是,ARM的传输过程由从站启动。从站主动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧。在这种操作方式下,由从站来控制超时和重发。该方式对采用轮询方式的多站莲路来说是必不可少的。ARM操作方式见图3.7(b)。(3)异步平衡方式ABM,异步平衡方式ABM是一种允许任何节点来启动传输的操作方式。为了提高链路传输效率,节点之间在两个方向上都需要的较高的信息传输量。在这种操作方式下任何时候任何站都能启动传输操作,每个站既可作为主站又可作为从站,每个站都是组合站。各站都有相同的一组协议,任何站都可以发送或接收命令,也可以给出应答,并且各站对差错恢复过程都负有相同的责任。
HDLC的帧格式
在HDLC中,数据和控制报文均以帧的标准格式传送。HDLC中的帧类似于BSC的字符块,但BSC协议中的数据报文和控制报文是独立传输的,而HDLC中的命令应以统一的格式按帧传输。HDLC的完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成,其格式见图3.8。
(1)标志字段(F):标志字段为01111110的比特模式,用以标志帧的起始和前一帧的终止。标志字段也可以作为帧与帧之间的填充字符。通常,在不进行帧传送的时刻,信道仍处于激活状态,在这种状态下,发方不断地发送标志字段,便可认为一个新的帧传送已经开始。采用“0比特插入法”可以实现0数据的透明传输。
(2)地址字段(A):地址字段的内容取决于所采用的操作方式。在操作方式中,有主站、从站、组合站之分。每一个从站和组合站都被分配一个唯一的地址。命令帧中的地址字段携带的是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组一焉的站接收。但当一个站或组合站发送响应时,它仍应当用它唯一的地址。还可用全“1”地址来表示包含所有站的地址,称为广播地址,含有广播地址的帧传送给链路上所有的站。另外,还规定全“0”地址为无站地址,这种地址不分配给任何站,仅作作测试。
(3)控制字段(C):控制字段用于构成各种命令和响应,以便对链路进行监视和控制。发送方主站或组合站利用控制字段来通知被寻址的从站或组合站执行约定的操作;相反,从站用该字段作对命令的响应,报告已完成的操作或状态的变化。该字段是HDLC的关键。控制字段中的第一位或第一、第二位表示传送帧的类型,HDLC中有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧。控制字段的第五位是P/F位,即轮询/终止(Poll/Final)位。
(4)信息字段(I):信息字段可以是任意的二进制比特串。比特串长度未作限定,其上限由FCS字段或通信站的缓冲器容量来决定,国际上用得较多的是1000~2000比特;而下限可以为0,即无信息字段。但是,监控帧(S帧)中规定不可有信息字段。(5)帧校验序列字段(FCS):帧校验序列字段可以使用16位CRC,对两个标志字段之间的整个帧的内容进行校验。FCS的生成多项式CCITT V4.1建议规定的X^16+X^12+X^5+1。
HDLC的帧类型
HDLC有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧。每一种帧中的控制字段的格式及比特定义见图3.9。
(1)信息帧(I帧):信息帧用于传送有效信息或数据,通常简称I帧。I帧以控制字第一位为“0”来标志。信息帧的控制字段中的N(S)用于存放发送帧序号,以使发送方不必等待确认而连续发送多帧。N(R)用于存放接收方下一个预期要接收的帧的序号,N(R)=5,即表示接收方下一帧要接收5号帧,换言之,5号帧前的各帧接收到。N(S)和N(R)均为3位二进制编码,可取值0~7。
(2)监控帧(S帧):监控帧用于差错控制和流量控制,通常简称S帧。S帧以控制字段第一、二位为“10”来标志。S帧带信息字段,只有6个字节即48个比特。S帧的控制字段的第三、四位为S帧类型编码,共有四种不同编码,分别表示:
00——接收就绪(RR),由主站或从站发送。主站可以使用RR型S帧来轮询从站,即希望从站传输编号为N(R)的I帧,若存在这样的帧,便进行传输;从站也可用RR型S帧来作响应,表示从站希望从主站那里接收的下一个I帧的编号是N(R)。
01——拒绝(REJ),由主站或从站发送,用以要求发送方对从编号为N(R)开始的帧及其以后所有的帧进行重发,这也暗示N(R)以前的I帧已被正确接收。
10——接收未就绪(RNR),表示编号小于N(R)的I帧已被收到,但正处于忙状态,尚未准备好接收编号为N(R)的I帧,这可用来对链路流量进行控制。11——选择拒绝(SREJ),它要求发送方发送编号为N(R)单个I帧,并暗示它编号的I帧已全部确认。
可以看出,接收就绪RR型S帧和接收未就绪RNR型S帧有两个主要功能:首先,这两种类型的S帧用来表示从站已准备好或未准备好接收信息;其次,确认编号小于N(R)的所有接收到的I帧。拒绝REJ和选择拒绝SREJ型S帧,用于向对方站指出发生了差错。REJ帧用于GO-back-N策略,用以请求重发N(R)以前的帧已被确认,当收到一个N(S)等于REJ型S帧的N(R)的I帧后,REJ状态即可清除。SREJ帧用于选择重发策略,当收到一个N(S)等SREJ帧的N(R)的I帧时,SREJ状态即应消除。
(3)无编号帧(U帧):无编号帧因其控制字段中不包含编号N(S)和N(R)而得名,简称U帧。U帧用于提供对链路的建立、拆除以及多种控制功能,这些控制功能5个M位(M1、M2、M3、M4、M5,也称修正位)来定义。5个M位可以定义32种附加的命令功能或32种应答功能,但许多是空缺的。

Ⅲ 求自考《计算机网络及应用教程》的名称解释 越多越好

第一章

计算机网络四个发展阶段:面向终端的计算机网络、计算机-计算机网络、开放式标准化网络、因特网广泛应用和高速网络技术发展。

我国三大网络:电信网络、广播电视网络、计算机网络。

未来发展趋势:宽带、全光、多媒体、移动、下一代网络。

计算机网络由资源子网和通信子网构成。

计算机网络的定义:利用通讯设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件实现网络中资源共享和信息传递的系统。

计算机网络的功能:软/硬件资源共享、用户间信息交换。

计算机网络的应用:办公自动化、远程教育、电子银行、证券及期货交易、企业网络、智能大厦和结构化综合布线系统。

计算机网络的分类:

按拓扑结构:星形、总线形、环形、树形、混合形、网形。

按交换方式:电路交换网、报文交换网、分组交换网。

按覆盖范围:广域网、城域网、局域网。

按传输技术:广播方式网络、点对点方式网络。

ISO(国际标准化组织),ITU(国际电信联盟),IETF(因特网工程特别任务组)

第二章

网络协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

网络协议由三个要素组成:语义、语法、时序关系。

分层:将一个复杂的划分为若干个简单的

网络的体系结构:计算机网络各层次结构模型及其协议的集合

面向连接服务:开始时建立连接,传输时不用携带目的节点的地址。

无连接服务:开始时不需建立连接,每个分组都要携带完整的目的节点地址,不同分组可能选择不同路径达到目的节点,节点接收到的分组可能出现乱序、重复、丢失的现象。协议相对简单,效率较高。

OSI/RM:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP:主机-网络层、互联层、传输层、应用层。

ORI/RM与TCP/IP的比较:

共同:1,两者都以协议栈的概念为基础,协议栈中的协议彼此相互独立,2,都采用了层次结构的概念,各层功能大体相似。

不同:1,OSI有7层,TCP/IP有4层。TCP/IP网络层提供无连接通信,传输层支持2种。OSI网络层支持2种,传输层支持面向连接的通信。

第三章

物理层定义:在物理信道实体之间合理地通过中间系统,为比特传输所需的物理连接的激活、保持和去除提供机械的、电气的、功能性和规程性的手段

DTE::数据终端设备,对属于用户所有的联网设备或工作站的统称,如计算机、终端等。

DCE:数据通信设备,为用户提供入网连接点的网络设备的统称,如调制解调器。

物理信道的特性:机械特性、电气特性、功能特性、规程特性。

电气特性分三种:1,非平衡方式(非平衡发送器+接收器+1导线+1地线),2,采用差动接收器的非平衡方式(非平衡发送器+差动接收器+1导线+2地线),3,平衡方式(平衡发送器+差动接收器+2导线+2地线)。

功能特性分四类:数据信号线、控制信号线、定时信号线、接地线。

EIA(美国电子工业协会) RS-232C,:提供了利用公用电话网络作为传输介质,通过调制解调器将远程设备连接起来的技术规定。

RS-422(平衡方式),RS-423(采用差动接收器的非平衡方式)

X.21机械特性采用15芯标准

有线介质:双绞线、同轴电缆、光纤。无线介质:无线电波、微波、红外线、激光、卫星通信。

同轴电缆分基带同轴电缆(阻抗50欧,支持百台设备)和宽带同轴电缆(阻抗75欧,支持千台设备)。

光纤:多模是发光二极管LED,注入型激光二极管ILD是单模。

数据传输速率:是指每秒能传输的二进制信息位数,单位为位/秒(bps)。R=1/T*log2N (bps)

信号传输速率(调制速率):表示单位时间内通过信道传输的码元个数。R=1/T (Baud)

信道容量:表征一个信道传输数据的能力,单位为位/秒(bps)。

信道容量表示信道的最大数据传输速率,是信道传输数据能力的极限,数据传输速率表示实际的数据传输速率。

奈奎斯特公示:C=2*H*log2N (bps),香农公式:C=H*log2(1+S/N)(bps)(H:信道带宽,S/N:信噪比)

误码率=出错数/总数

调制解调器:数字转模拟,CODEC:模拟转数字

放大器:增强信号中的能量,同时使噪音分量增强。中继器:重新生成信号。

数据通信:是一种通过计算机或其他数据装置与通信线路,完成数据编码信号的传输、转接、存储和处理的通信技术。

多路复用技术:频分多路复用FDM,时分多路复用TDM,波分是频分的变形。

FDM:物理信道分为若干子信道,同时传送若干信号。

TDM:物理信道按时间片轮流分给多个信号使用。

采样,量化,编码。字长=log2N

传输线路三个主要问题:衰减、延迟畸变、噪声。

分组交换网分为虚电路和数据报两种

第四章

数据链路层的功能:帧同步、差错控制、流量控制、链路管理。

差错控制:反馈重发、超时计时器、帧编号。

流量控制:数据链路层控制相邻两节点之间数据链路上的流量,传输层控制从源到最终目的之间端对端的流量。

噪声有两大类:随即热噪声和冲击噪声。

停-等: 发送窗口=1,接收窗口=1;

Go-back-N: 发送窗口>1,接收窗口=1;

选择重传: 发送窗口>1,接收窗口>1;

异步协议:字符内同步,字符间异步;同步协议:许多字符和比特组成的帧同步。

BSC:面向字符,分为数据报文和监控报文两类。

数据报文:

SYN SYN STX 报文 ETX BCC

SYN SYN SOH 报头 STX 报文 ETX BCC

SYN SYN SOH 报头 STX 报文 ETB BCC

SYN SYN STX 报文 ETB BCC

监控报文:

SYN SYN ACK

SYN SYN NAK

SYN SYN P/S前缀 站地址 ENQ

SYN SYN EOT

HDLC:面向比特,有信息帧(I帧),监控帧(S帧)和无编号帧(U帧)。

帧格式:标志 地址 控制 信息 帧校验序列 标志

F A C I FCS F

01111110 8位 8位 N位 16位 01111110

PPP协议提供三类功能:成帧、链路控制、网络控制。

PPP的帧格式和HDLC的帧格式非常相似,但PPP面向字符。

第五章

网络层的功能:路由选择、拥塞控制和网际互联等。

分组交换方式中,通信子网向端系统提供虚电路和数据报两种网络服务。

最优化原则:如果路由器J在从路由器I到K的最佳路由上,那么从J到K的最佳路线就会在同一路由之中。

扩散法(泛射路由选择法):一个网络节点从某条线路收到一个分组后,再向除该条线路外的所有线路发送收到的分组。

拥塞发生的原因:1,内存不够,没有足够的内存存放同时到达的分组,2,路由器处理器的处理速度慢,难以完成排队,更新路由表等工作

拥塞控制的任务是确保子网能够承载所有到达的流量,这是一个全局的问题。流量控制只与特定的发送方和特定的接收方之间的点到点流量有关。

拥塞控制的解决方案可分成两类:开环(不考虑网络的当前状态)的和闭环的。

虚电路子网中的拥塞控制:1,准入控制,2,路由选择,3,资源预留。

数据报子网中的拥塞控制:1,警告位,2,抑制分组,3,逐跳抑制分组。

QoS四个特征:可靠性、延迟、抖动、带宽。

集成服务:每个连接有专用资源。区分服务:每一类连接有专用资源。

标签交换:类似虚电路,查表得到整条线路。

MPLS(多协议标签交换协议)。

网络互连的目的是使一个网络上的用户能访问其它网络上的资源,使不同网络上的用户互相通信和交换信息。

路由信息协议(RIP)分被动状态和主动状态两种操作方式。

开放最短路径优先协议(OSPF)是一种链路状态路由协议。

网桥用来连接类型相似的局域网,局域网本身没有网络层。

网桥工作在数据链路层,路由器工作在网络层。

路由器的主要服务功能:1,建立并维护路由表,2,提供网络间的分组转发功能。

网管也称协议转换器,用于高层协议的转换,对传输层到应用层均能支持。

IP(互联网协议),ICMP(互联网控制报文协议),ARP(地址转换协议),RARP(反向地址转换协议)。

IP协议提供不可靠的、无连接的数据包传输机制。

ARP:IP地址(32位)到物理网络地址(以太网地址,DA,48位)的转换。

RARP:物理网络地址到IP地址的转换。

IGMP(因特网组管理协议):只有两种报文,询问和响应。

IPv6把IP地址长度增加到128比特。

Ⅳ 计算机网络问题

物理层的介质特性有计算机网络的吞吐量和带宽、 成本、尺寸和可扩展性、连接器、抗噪性五个的特性。
是一个数据的协议,DHLC协议的数据帧
DHCP起始和终止标志为6个连续的1,即111111.为了避免在数据中出现这样的比特组合时误当成DHCP的边界,采用一种叫零比特填充法的技术.具体做法是:
在发送端,用硬件扫描要发送的帧,只要发现有5个连续1,则填入一个0.这样就不会出现6个1连续的情况了.在接收端,先把数据部分从标志段中分离出来,再用硬件扫描,每当发现5个连续1时就把这5个1后的一个0删掉(因为在发送时加了),这样就还原成原来的比特流了.通过这种方法,就可以传输任意组合的比特流了
CDMA 工作原理

1 拨号:当您拨了一个电话号码,这个号码将与您的电话ID号一起以无线电广播的形式发射出去
2 分组传递:电话对您的语音进行数字化,并把它划分为数据位包,然后使用扩频技术广播这些数据包。CDMA指定440亿个代码中一个代码代表这次对话,并将数据包分散在多个无线电频谱段上,这个代码使您的通话与在同一无线电频段上同时发射的其它通话区分开来。
3 接收与连接:距离最近的CDMA无线捕捉到您的电话的无线电广播,并将它传递到中央交换计算机,这个计算机识别您的电话ID。这样,蜂窝服务电话提供商可以跟踪您的通话并根据空中占用时间进行计费。中央交换计算机将您连到安装在电话公司总局的公用电话交换网上,或连到本系统中的其它蜂窝用户。
4 识别:语音信号以数据包的形式到达您的话机。您的电话机首先通过一个通话传来,然后识别标识着您的对话的特殊代码并将相应的数据包还原成语音信号。
手机辐射小知识

Ⅳ 计算机网络名词解释知识点简答题整理

基带传输:比特流直接向电缆发送,无需调制到不同频段;

基带信号:信源发出的没有经过调制的原始电信号;

URL :统一资源定位符,标识万维网上的各种文档,全网范围唯一;

传输时延:将分组的所有比特推向链路所需要的时间;

协议:协议是通信设备通信前约定好的必须遵守的规则与约定,包括语法、语义、定时等。

网络协议:对等层中对等实体间制定的规则和约定的集合;

MODEM :调制解调器;

起始(原始)服务器:对象最初存放并始终保持其拷贝的服务器;

计算机网络:是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并通过网络协议进行数据通信,实现资源共享的计算机集合;

解调:将模拟信号转换成数字信号;

多路复用:在一条传输链路上同时建立多条连接,分别传输数据;

默认路由器:与主机直接相连的一台路由器;

LAN :局域网,是一个地理范围小的计算机网络;

DNS :域名系统,完成主机名与 IP 地址的转换;

ATM :异步传输模式,是建立在电路交换和分组交换基础上的一种面向连接的快速分组交换技术;

Torrent :洪流,参与一个特定文件分发的所有对等方的集合;

Cookie :为了辨别用户、用于 session 跟踪等而储存在用户本地终端的数据;

SAP :服务访问点;

n PDU : PDU 为协议数据单元,指对等层之间的数据传输单位;第 n 层的协议数据单元;

PPP :点对点传输协议;

Web caching :网页缓存技术;

Web 缓存:代替起始服务器来满足 HTTP 请求的网络实体。

Proxy server :代理服务器;

Go-back-n :回退 n 流水线协议;允许发送方连续发送分组,无需等待确认,若出错,从出错的分组开始重发;接收方接收数据分组,若正确,发 ACK ,若出错,丢弃出错分组及其后面的分组,不发任何应答;

Packet switching :分组交换技术;

CDMA :码分多路复用技术;各站点使用不同的编码,然后可以混合发送,接收方可正确提取所需信息;

TDM :时分多路复用,将链路的传输时间划分为若干时隙,每个连接轮流使用不同时隙进行传输;

FDM :频分多路复用,将链路传输频段分成多个小的频段,分别用于不同连接信息的传送;

OSI :开放系统互连模型,是计算机广域网体系结构的国际标准,把网络分为 7 层;

CRC :循环冗余检测法,事先双方约定好生成多项式,发送节点在发送数据后附上冗余码,使得整个数据可以整除生成多项式,接收节点收到后,若能整除,则认为数据正确,否则,认为数据错误;

RIP :路由信息协议;

Socket (套接字):同一台主机内应用层和运输层的接口;

转发表:交换设备内,从入端口到出端口建立起来的对应表,主要用来转发数据帧或 IP 分组;

路由表:路由设备内,从源地址到目的地址建立起来的最佳路径表,主要用来转发 IP 分组;

存储转发:分组先接收存储后,再转发出去;

虚电路网络:能支持实现虚电路通信的网络;

数据报网络:能支持实现数据报通信的网络;

虚电路:源和目的主机之间建立的一条逻辑连接,创建这条逻辑连接时,将指派一个虚电路标识符 VC.ID ,相关设备为它运行中的连接维护状态信息;

毒性逆转技术: DV 算法中,解决计数到无穷的技术,即告知从相邻路由器获得最短路径信息的相邻路由器到目的网络的距离为无穷大;

加权公平排队 WFQ :排队策略为根据权值大小不同,将超出队列的数据包丢弃;

服务原语:服务的实现形式,在相邻层通过服务原语建立交互关系,完服务与被服务的过程;

透明传输:在无需用户干涉的情况下,可以传输任何数据的技术;

自治系统 AS :由一组通常在相同管理者控制下的路由器组成,在相同的 AS 中,路由器可全部选用同样的选路算法,且拥有相互之间的信息;

分组丢失:分组在传输过程中因为种种原因未能到达接收方的现象;

隧道技术:在链路层或网络层通过对等协议建立起来的逻辑通信信道;

移动接入:也称无线接入,是指那些常常是移动的端系统与网络的连接;

面向连接服务:客户机程序和服务器程序发送实际数据的分组前,要彼此发送控制分组建立连接;

无连接服务:客户机程序和服务器程序发送实际数据的分组前,无需彼此发送控制分组建立连接;

MAC 地址:网卡或网络设备端口的物理地址;

拥塞控制:当网络发生拥塞时,用响应的算法使网络恢复到正常工作的状态;

流量控制:控制发送方发送数据的速率,使收发双方协调一致;

Ad Hoc 网络:自主网络,无基站;

往返时延:发送方发送数据分组到收到接收方应答所需要的时间;

电路交换:通信节点之间采用面向连接方式,使用专用电路进行传输;

ADSL :异步数字用户专线,采用不对称的上行与下行传输速率,常用于用户宽带接入。

多播:组播,一对多通信;

路由器的组成包括:输入端口、输出端口、交换结构、选路处理器;

网络应用程序体系结构:客户机 / 服务器结构、对等共享、混合;

集线器是物理层设备,交换机是数据链路层设备,网卡是数据链路层设备,路由器是网络层设备;

双绞线连接设备的两种方法:直连线和交叉线,同种设备相连和计算机与路由器相连都使用交叉线;不同设备相连用直连线;

MAC 地址 6 字节, IPv4 地址 4 字节, IPv6 地址 16 字节;

有多种方法对载波波形进行调制,调频,调幅,调相;

IEEE802.3 以太网采用的多路访问协议是 CSMA/CD ;

自治系统 AS 内部的选路协议是 RIP 、 OSPF ;自治系统间的选路协议是 BGP ;

多路访问协议:分三大类:信道划分协议、随机访问协议、轮流协议;

信道划分协议包括:频分 FDM 、时分 TDM 、码分 CDMA ;

随机访问协议包括: ALOHA 、 CSMA 、 CSMA/CD(802.3) 、 CSMA/CA(802.11) ;

轮流协议包括:轮询协议、令牌传递协议

ISO 和 OSI 分别是什么单词的缩写,中文意思是什么?用自己的理解写出 OSI 分成哪七层?每层要解决的问题和主要功能是什么?

答:ISO:international standard organization 国际标准化组织;OSI:open system interconnection reference model 开放系统互连模型;

OSI分为 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;

层名称解决的问题主要功能

应用层实现特定应用选择特定协议;针对特定应用规定协议、时序、表示等,进行封装。在端系统中用软件来实现,如HTTP;

表示层压缩、加密等表示问题;规定数据的格式化表示,数据格式的转换等;

会话层会话关系建立,会话时序控制等问题;规定通信的时序;数据交换的定界、同步、建立检查点等;

传输层源端口到目的端口的传输问题;所有传输遗留问题:复用、流量、可靠;

网络层路由、拥塞控制等网络问题;IP寻址,拥塞控制;

数据链路层相邻节点无差错传输问题;实现检错与纠错,多路访问,寻址;

物理层物理上可达;定义机械特性,电气特性,功能特性等;

因特网协议栈分层模型及每层的功能。

分层的优点:使复杂系统简化,易于维护和更新;

分层的缺点:有些功能可能在不同层重复出现;

​​



假设一个用户 ( 邮箱为: [email protected]) 使用 outlook 软件发送邮件到另一个用户 ( 邮箱为: [email protected]) ,且接收用户使用 IMAP 协议收取邮件,请给出此邮件的三个传输阶段,并给出每个阶段可能使用的应用层协议。

用户 [email protected] 使用outlook软件发送邮件到 163 邮件服务器

163邮件服务器将邮件发送给用户 [email protected] 的yahoo邮件服务器

用户 [email protected] 使用IMAP协议从yahoo邮件服务器上拉取邮件

第1、2阶段可以使用SMTP协议或者扩展的SMTP协议:MIME协议,第3阶段可以使用IMAP、POP3、HTTP协议

三次握手的目的是什么?为什么要三次(二次为什么不行)?

为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。

如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认。

选择性重传 (SR) 协议中发送方窗口和接收方窗口何时移动?分别如何移动?

发送方:当收到ACK确认分组后,若该分组的序号等于发送基序号时窗口发生移动;向前移动到未确认的最小序号的分组处;

接收方:当收到分组的序号等于接收基序号时窗口移动;窗口按交付的分组数量向前移动;

简述可靠传输协议 rdt1.0, rdt2.0, rdt2.1, rdt2.2 和 rdt3.0 在功能上的区别。

rdt1.0:经可靠信道上的可靠数据传输,数据传送不出错不丢失,不需要反馈。

rdt2.0(停等协议):比特差错信道上的可靠数据传输,认为信道传输的数据可能有比特差错,但不会丢包。接收方能进行差错检验,若数据出错,发送方接收到NAK之后进行重传。

rdt2.1:在rdt2.0的基础上增加了处理重复分组的功能,收到重复分组后,再次发送ACK;

rdt2.2:实现无NAK的可靠数据传输,接收方回发带确认号的ACK0/1,

收到出错分组时,不发NAK,发送接收到的上一个分组的ACK;

rdt3.0:实现了超时重发功能,由发送方检测丢包和恢复;

电路交换和虚电路交换的区别?哪些网络使用电路交换、报文交换、虚电路交换和数据报交换?请各举一个例子。

电路交换时整个物理线路由通讯双方独占;

虚电路交换是在电路交换的基础上增加了分组机制,在一条物理线路上虚拟出多条通讯线路。

电路交换:电话通信网

报文交换:公用电报网

虚电路交换:ATM

数据报交换:Internet

电路交换:面向连接,线路由通信双方独占;

虚电路交换:面向连接,分组交换,各分组走统一路径,非独占链路;

数据报交换:无连接,分组交换,各分组走不同路径;

交换机逆向扩散式路径学习法的基本原理:

交换表初始为空;

当收到一个帧的目的地址不在交换表中时,将该帧发送到所有其他接口(除接收接口),并在表中记录下发送节点的信息,包括源MAC地址、发送到的接口,当前时间;

如果每个节点都发送了一帧,每个节点的地址都会记录在表中;

收到一个目的地址在表中的帧,将该帧发送到对应的接口;

表自动更新:一段时间后,没有收到以表中某个地址为源地址的帧,从表中删除该地址;

非持久 HTTP 连接和持久 HTTP 连接的不同:

非持久HTTP连接:每个TCP连接只传输一个web对象,只传送一个请求/响应对,HTTP1.0使用;

持久HTTP连接:每个TCP连接可以传送多个web对象,传送多个请求/响应对,HTTP1.1使用;

Web 缓存的作用是什么?简述其工作过程:

作用:代理原始服务器满足HTTP请求的网络实体;

工作过程:

浏览器:与web缓存建立一个TCP连接,向缓存发送一个该对象的HTTP请求;

Web缓存:检查本地是否有该对象的拷贝;

若有,就用HTTP响应报文向浏览器转发该对象;

若没有,缓存与原始服务器建立TCP连接,向原始服务器发送一个该对象的HTTP请求,原始服务器收到请求后,用HTTP响应报文向web缓存发送该对象,web缓存收到响应,在本地存储一份,并通过HTTP响应报文向浏览器发送该对象;

简要说明无线网络为什么要用 CSMA/CA 而不用 CSMA/CD ?

无线网络用无线信号实施传输,现在的技术还无法检测冲突,因此无法使用带冲突检测的载波侦听多路访问协议CSMA/CD,而使用冲突避免的载波侦听多路访问协议CSMA/CA;

简述各种交换结构优缺点,并解释线头 HOL 阻塞现象。

内存交换结构:以内存为交换中心;

       优点:实现简单,成本低;

       缺点:不能并行,速度慢;

总线交换结构:以共享总线为交换中心;

       优点:实现相对简单,成本低;

       缺点:不能并行,速度慢,不过比memory快;

纵横制:以交叉阵列为交换中心;

       优点:能并行,速度快,比memory和总线都快;

       缺点:实现复杂,成本高;

线头HOL阻塞:输入队列中后面的分组被位于线头的一个分组阻塞(即使输出端口是空闲的),等待交换结构发送;

CSMA/CD 协议的中文全称,简述其工作原理。

带冲突检测的载波侦听多路访问协议;

在共享信道网络中,发送节点发送数据之前,先侦听链路是否空闲,若空闲,立即发送,否则随机推迟一段时间再侦听,在传输过程中,边传输边侦听,若发生冲突,以最快速度结束发送,并随机推迟一段时间再侦听;

奇偶校验、二维奇偶校验、 CRC 校验三者比较:

奇偶校验能检测出奇数个差错;

二维奇偶校验能够检测出两个比特的错误,能够纠正一个比特的差错;

CRC校验能检测小于等于r位的差错和任何奇数个差错;

GBN 方法和 SR 方法的差异:

GBN:一个定时器,超时,重发所有已发送未确认接收的分组,发送窗口不超过2的k次方-1,接收窗口大小为1,采用累计确认,接收方返回最后一个正确接受的分组的ACK;

SR:多个定时器,超时,只重发超时定时器对应的分组,发送窗口和接收窗口大小都不超过2的k-1次方,非累计确认,接收方收到当前窗口或前一窗口内正确分组时返回对应的ACK;

Ⅵ 计算机网络之RDMA技术(七)Queue Pair

姓名:周肇星;学号:22011110028;学院:通信工程学院

部分素材取自 https://zhuanlan.hu.com/p/195757767

【嵌牛导读】RDMA技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。本专题将针对RDMA技术进行介绍!

【嵌牛鼻子】计算机网络,高性能网络,RDMA

【嵌牛提问】读完本文,对RDMA技术的QP概念有所认识了吗?

【嵌牛正文】

InfiniBand specification R1.3, Chapter3, 3.2.1, Page 98【QP与相关元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.1, Page 108【QP与相关元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.10, Page 117【QPN、QP0、QP1的概述】
InfiniBand specification R1.3, Chapter3, 3.7.5.1, Page 137【SMI使用QP0】
InfiniBand specification R1.3, Chapter3, 3.7.5.2, Page 138【GSI使用QP1】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【QP包含SQ与RQ】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【通道适配器对WQE的处理与数据的收发】
InfiniBand specification R1.3, Chapter3, 3.9, Page 143【GSI模型具体描述】
InfiniBand specification R1.3, Chapter3, 3.9.4, Page 145【QP0限定为无连接的数据报服务类型】
InfiniBand specification R1.3, Chapter3, 3.9.5, Page 147【QP1限定为无连接的数据报服务类型】
InfiniBand specification R1.3, Chapter3, 3.9.5.1, Page 147【允许QP1重定向的原因与机制】

根据IB协议中的描述,QP是硬件和软件之间的一个虚拟接口。QP由一个发送队列SQ与接收队列RQ组成,SQ与RQ均是队列结构,按顺序存储着软件给硬件下发的任务(WQE),WQE中包含从哪里取出多长的数据,并且发送给哪个目的地等等信息

通道适配器硬件接收到WQE后,读取WQE、并解析其中的命令,验证WQE的虚拟地址,将其转换为物理地址,并访问对应的数据。数据可通过一个或切分成多个数据包被传输出去,通道适配器为每个数据包添加一个传输头,如果目标位于其它子网上,则再添加上网络头部,随后添加本地路由头、并计算效验和

当数据到达目的节点时,验证校验和后,传输头指出了目标QP,通道适配器通过该QP的QP Context检查数据包是否来自正确的源端。对于SEND操作,QP从其接收队列中取出WQE,从中检索接收缓存区的虚拟地址、并转换成接收物理地址,将数据写入相应的位置,如果这不是消息的最后一个包,QP则在其QP Context中保存当前写的位置,并等待下一个包,然后继续写入缓存区,直至接收到最后一个包,然后该接收WQE退役,并向源端发送ACK确认

当发起者收到确认时,它会在CQ上创建一个CQE,并将WQE从发送队列中退出。一个QP可以在任何时候有多个未完成的消息,但接收端总是按照发送的顺序进行确认,因此WQE会按发送的顺序退役

对于可靠的服务类型,如果QP检测到一个或多个丢失的数据包,它会向发送者发送一条NAK消息指示其下一个预期的序列号。然后发起者可以从预期的数据包开始重新发送

每个QP间都是独立的,彼此通过PD隔离,因此一个QP可以被视为某个用户独占的一种资源,一个用户也可以同时使用多个QP

QP有很多种服务类型,包括RC、UD、RD和UC等,所有的源QP和目的QP必须为同一种类型才能进行数据交互

虽然IB协议将QP称为“虚拟接口”,但是它是有实体的:

QP Number简称为QPN,就是每个QP的编号。IB协议中规定用24个bit来表示QPN,即每个节点最大可以同时使用2^24个QP,每个节点都各自维护着QPN的集合,由通道适配器分配,相互之间是独立的,即QPN编号在各节点内唯一、不同的节点上可以存在编号相同的QP

编号为0的QP用于子网管理接口SMI(Subnet Management Interface),用于管理子网中的全部节点

子网管理器使用通过QP0发送、接收被称为子网管理报文SMP(Subnet Management Packet)的特殊类型的MAD(Management Datagram)报文(并仅发送接收SMP,其余数据无效)

并且QP0被永久配置为不可靠的数据报的服务类型

编号为1的QP用于通用服务接口GSI(General Service Interface)

GSI使用QP1进行初始通信,但允许对特定类的流量重定向到特权QP上,这是因为所有管理类数据包都进入同一队列,将导致瓶颈问题、线头阻塞现象,因此设计了重定向到其它QP的机制。当通道适配器接收到QP1上的GMP报文时,它可能会响应为一个指示新端口和QP的重定向响应,然后发起者将请求重新发送到新地址,并将该地址用于同一管理类的所有后续请求

并且QP1被永久配置为不可靠的数据报的服务类型,QP1上仅能收发MAD数据包

通用服务代理GSA(General Service Agents)是由许多管理服务代理组合而成,通用服务GA(General Service)使用称为通用管理报文GMP(General Service Packet)的报文,该报文是一种特殊的MAD报文

GSA中最出名的就是CM(Communication Management),是一种在通信双方节点正式建立连接之前用来交换必须信息的一种方式

QPC全称是Queue Pair Context,用于存储QP相关属性

QP在硬件上的实体只是一段存储空间而已,硬件除了知道这段空间的起始地址和大小之外一无所知,甚至连这个QP服务类型都不知道。还有很多其他的重要信息,比如某个QP中包含了若干个WQE,硬件怎么知道有多少个,当前应该处理第几个呢?

所以就需要软件通过操作系统提前申请好一大片连续的空间,即QPC来承载这些信息给硬件看。网卡及其配套的驱动程序提前约定好了QPC中都有哪些内容,这些内容分别占据多少空间,按照什么顺序存放。这样驱动和硬件就可以通过通过QPC这段空间来读写QP的状态等等信息

如上图所示,硬件其实只需要知道QPC的地址0x12350000就可以了,因为它可以解析QPC的内容,从而得知QP的位置,QP序号,QP大小等等信息。进而就能找到QP,知道应该取第几个WQE去处理。不同的厂商可能实现有些差异,但是大致的原理就是这样

四种操作都有配套的Verbs接口,类似于ibv_create_qp()这种形式,编写APP时直接调用就可以了

创建一个QP的软硬件资源,包含QP本身以及QPC。用户创建时会写传入一系列的初始化属性,包含该QP的服务类型,可以储存的WQE数量等信息

释放一个QP的全部软硬件资源,包含QP本身及QPC。销毁QP后,用户将无法通过QPN索引到这个QP

修改一个QP的某些属性,比如QP的状态,路径的MTU等等。这个修改过程既包括软件数据结构的修改,也包括对QPC的修改

查询一个QP当前的状态和一些属性,查询到的数据来源于驱动以及QPC的内容

在行为上都是软件向QP中填写一个WQE(对应用层来说叫WR),请求硬件执行一个动作。所以这两种行为都叫做“Post XXX Request”的形式,即下发XXX请求

Post Send本身不是指这个WQE的操作类型是Send,而是表示这个WQE属于通信发起方。这个流程中填写到QP中的WQE/WR可以是Send操作,RDMA Write操作以及RDMA Read操作等

用户需要提前准备好数据缓冲区、目的地址等信息,然后调用接口将WR传给驱动,驱动再把WQE填写到QP中

Post Recv的使用场景就相对比较少了,一般只在Send-Recv操作的接收端执行,接收端需要提前准备好接收数据的缓冲区,并将缓冲区地址等信息以WQE的形式告知硬件

Ⅶ 计算机网络可靠数据传输原理rdt2.1,处理受损ACK和NAK的情况。如果接收方发送的NAK受损变

好几年了呀,NAK受损变成ACK会令程序死锁。接收方收到ack后会继续发下一个编号的分组,而接收方在等待前一个分组的接受。收到下一个编号的分组后就又会返回nak,接收方以为下一个编号的分组没收到就又会发,然后循环往复,死锁