计算机网络第三章(数据链路层)

计算机网络第三章(数据链路层),第1张

31、数据链路层概述

概述

链路 是从一个结点到相邻结点的一段物理线路, 数据链路 则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)

网络中的主机、路由器等都必须实现数据链路层

局域网中的主机、交换机等都必须实现数据链路层

从层次上来看数据的流动

仅从数据链路层观察帧的流动

主机H1 到主机H2 所经过的网络可以是多种不同类型的

注意:不同的链路层可能采用不同的数据链路层协议

数据链路层使用的信道

数据链路层属于计算机网路的低层。 数据链路层使用的信道主要有以下两种类型:

点对点信道

广播信道

局域网属于数据链路层

局域网虽然是个网络。但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的是多个网络互连的问题,是讨论分组怎么从一个网络,通过路由器,转发到另一个网络。

而在同一个局域网中,分组怎么从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看, 局域网仍属于数据链路层 的范围

三个重要问题

数据链路层传送的协议数据单元是 帧

封装成帧

封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。

首部和尾部的一个重要作用就是进行 帧定界 。

差错控制

在传输过程中可能会产生 比特差错 :1 可能会变成 0, 而 0 也可能变成 1。

可靠传输

接收方主机收到有误码的帧后,是不会接受该帧的,会将它丢弃

如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施

如果数据链路层向其上层提供的是可靠服务,那就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本

以上三个问题都是使用 点对点信道的数据链路层 来举例的

如果使用广播信道的数据链路层除了包含上面三个问题外,还有一些问题要解决

如图所示,主机A,B,C,D,E通过一根总线进行互连,主机A要给主机C发送数据,代表帧的信号会通过总线传输到总线上的其他各主机,那么主机B,D,E如何知道所收到的帧不是发送给她们的,主机C如何知道发送的帧是发送给自己的

可以用编址(地址)的来解决

将帧的目的地址添加在帧中一起传输

还有数据碰撞问题

随着技术的发展,交换技术的成熟,

在 有线(局域网)领域 使用 点对点链路 和 链路层交换机 的 交换式局域网 取代了 共享式局域网

在无线局域网中仍然使用的是共享信道技术

32、封装成帧

介绍

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧

帧头和帧尾中包含有重要的控制信息

发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层,将构成帧的各比特,转换成电信号交给传输媒体,那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧?

答:需要帧头和帧尾来做 帧定界

但比不是每一种数据链路层协议的帧都包含有帧定界标志,例如下面例子

前导码

前同步码:作用是使接收方的时钟同步

帧开始定界符:表明其后面紧跟着的就是MAC帧

另外以太网还规定了帧间间隔为96比特时间,因此,MAC帧不需要帧结束定界符

透明传输

透明

指某一个实际存在的事物看起来却好像不存在一样。

透明传输是指 数据链路层对上层交付的传输数据没有任何限制 ,好像数据链路层不存在一样

帧界定标志也就是个特定数据值,如果在上层交付的协议数据单元中, 恰好也包含这个特定数值,接收方就不能正确接收

所以数据链路层应该对上层交付的数据有限制,其内容不能包含帧定界符的值

解决透明传输问题

解决方法 :面向字节的物理链路使用 字节填充 (byte stuffing) 或 字符填充 (character stuffing),面向比特的物理链路使用比特填充的方法实现透明传输

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面 插入一个转义字符“ESC” (其十六进制编码是1B)。

接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

帧的数据部分长度

总结

33、差错检测

介绍

奇偶校验

循环冗余校验CRC(Cyclic Redundancy Check)

例题

总结

循环冗余校验 CRC 是一种检错方法,而帧校验序列 FCS 是添加在数据后面的冗余码

34、可靠传输

基本概念

下面是比特差错

其他传输差错

分组丢失

路由器输入队列快满了,主动丢弃收到的分组

分组失序

数据并未按照发送顺序依次到达接收端

分组重复

由于某些原因,有些分组在网络中滞留了,没有及时到达接收端,这可能会造成发送端对该分组的重发,重发的分组到达接收端,但一段时间后,滞留在网络的分组也到达了接收端,这就造成 分组重复 的传输差错

三种可靠协议

停止-等待协议SW

回退N帧协议GBN

选择重传协议SR

这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中

停止-等待协议

停止-等待协议可能遇到的四个问题

确认与否认

超时重传

确认丢失

既然数据分组需要编号,确认分组是否需要编号?

要。如下图所示

确认迟到

注意,图中最下面那个数据分组与之前序号为0的那个数据分组不是同一个数据分组

注意事项

停止-等待协议的信道利用率

假设收发双方之间是一条直通的信道

TD :是发送方发送数据分组所耗费的发送时延

RTT :是收发双方之间的往返时间

TA :是接收方发送确认分组所耗费的发送时延

TA一般都远小于TD,可以忽略,当RTT远大于TD时,信道利用率会非常低

像停止-等待协议这样通过确认和重传机制实现的可靠传输协议,常称为自动请求重传协议ARQ( A utomatic R epeat re Q uest),意思是重传的请求是自动进行,因为不需要接收方显式地请求,发送方重传某个发送的分组

回退N帧协议GBN

为什么用回退N帧协议

在相同的时间内,使用停止-等待协议的发送方只能发送一个数据分组,而采用流水线传输的发送方,可以发送多个数据分组

回退N帧协议在流水线传输的基础上,利用发送窗口来限制发送方可连续发送数据分组的个数

无差错情况流程

发送方将序号落在发送窗口内的0~4号数据分组,依次连续发送出去

他们经过互联网传输正确到达接收方,就是没有乱序和误码,接收方按序接收它们,每接收一个,接收窗口就向前滑动一个位置,并给发送方发送针对所接收分组的确认分组,在通过互联网的传输正确到达了发送方

发送方每接收一个、发送窗口就向前滑动一个位置,这样就有新的序号落入发送窗口,发送方可以将收到确认的数据分组从缓存中删除了,而接收方可以择机将已接收的数据分组交付上层处理

累计确认

累计确认

优点:

即使确认分组丢失,发送方也可能不必重传

减小接收方的开销

减小对网络资源的占用

缺点:

不能向发送方及时反映出接收方已经正确接收的数据分组信息

有差错情况

例如

在传输数据分组时,5号数据分组出现误码,接收方通过数据分组中的检错码发现了错误

于是丢弃该分组,而后续到达的这剩下四个分组与接收窗口的序号不匹配

接收同样也不能接收它们,讲它们丢弃,并对之前按序接收的最后一个数据分组进行确认,发送ACK4, 每丢弃一个数据分组,就发送一个ACK4

当收到重复的ACK4时,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻开始重传,具体收到几个重复确认就立刻重传,根据具体实现决定

如果收到这4个重复的确认并不会触发发送立刻重传,一段时间后。超时计时器超时,也会将发送窗口内以发送过的这些数据分组全部重传

若WT超过取值范围,例如WT=8,会出现什么情况?

习题

总结

回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议

在协议的工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议

由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高

选择重传协议SR

具体流程请看视频

习题

总结

35、点对点协议PPP

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议

PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]

数据链路层使用的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议

PPPoE 是为宽带上网的主机使用的链路层协议

帧格式

必须规定特殊的字符作为帧定界符

透明传输

必须保证数据传输的透明性

实现透明传输的方法

面向字节的异步链路:字节填充法(插入“转义字符”)

面向比特的同步链路:比特填充法(插入“比特0”)

差错检测

能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

工作状态

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。

PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。

这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机

分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。

通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

36、媒体接入控制(介质访问控制)——广播信道

媒体接入控制(介质访问控制)使用一对多的广播通信方式

Medium Access Control 翻译成媒体接入控制,有些翻译成介质访问控制

局域网的数据链路层

局域网最主要的 特点 是:

网络为一个单位所拥有;

地理范围和站点数目均有限。

局域网具有如下 主要优点 :

具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。

便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。

提高了系统的可靠性、可用性和残存性。

数据链路层的两个子层

为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成 两个子层 :

逻辑链路控制 LLC (Logical Link Control)子层;

媒体接入控制 MAC (Medium Access Control)子层。

与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。 不管采用何种协议的局域网,对 LLC 子层来说都是透明的。

基本概念

为什么要媒体接入控制(介质访问控制)?

共享信道带来的问题

若多个设备在共享信道上同时发送数据,则会造成彼此干扰,导致发送失败。

随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术

静态划分信道

信道复用

频分复用FDM (Frequency Division Multiplexing)

将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。

频分复用 的所有用户在同样的时间 占用不同的带宽资源 (请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。

SDH帧大体可分为三个部分:�

(1) 段开销(SOH)。 段开销是在SDH帧中为保证信息正常传输所必需的附加字节(每字节含64 kb/s的容量),主要用于运行、 维护和管理,如帧定位、 误码检测、 公务通信、自动保护倒换以及网管信息传输

这里有及其详细的资料,准备一副眼镜,慢慢看吧……

这种帧同步方法是一种面向字节的同步规程,是利用帧头部中的一个域来指定该帧中的字符数,以一个特殊字符表征一帧的起始,并以一个专门字段来标明帧内的字符数。

1.同步原理

接收方可以通过对该特殊字符的识别从比特流中区分出帧的起始,并从专门字段中获知该帧中随后跟随的数据字符数,从而可确定出帧的终止位置。如图7-1所示的就是标识了4个数据帧的帧格式,它们的大小依次为5、5、8、8个字符。

这种方法最大的问题在于如果标识帧大小的字段出错,即失去了帧边界划分的依据,将造成灾难性的后果。如第二帧中的计数字符由“5”变为“7”,则接收方就会失去帧同步的可能,从而不可能再找到下一帧正确的起始位置。由于第二帧的校验和出现了错误,所以接收方虽然知道该帧已经被损坏,但仍然无法知道下一帧正确的起始位置。在这种情况下,给发送方请示重传都无济于事,因为接收方根本不知道应该跳过多少个字符才能到达重传的开始处。由于这种原因,这种字符计数法目前已很少用。

(2)带字符填充的首尾界符法

该同步方法是用一些特定的字符来定界一帧的起始与终止,充分解决了错误发生之后重新同步的问题。

1.同步原理

在这种帧同步方式中,为了不使数据信息位中与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据帧的帧头填充一个转义控制字符(DLE STX,Data Link Escape – Start of Text),在帧的结尾则以DLE ETX(Data Link Escape-End of Text)结束,以示区别,从而达到数据的透明性。若帧的数据中出现DLE字符,发送方则插入一个“DLE”字符,接收方会删除这个DLE字符。如现在要发送一个如图7-3(a)所示的字符帧,在帧中间有一个“DLE”字符数据,所以发送时会在其前面插入一个“DLE”字符,如图7-3(b)所示。在接收方接收到数据后会自己删除这个插入的“DLE”字符,结果仍得到原来的数据,但帧头和帧尾仍在,予以区别,如图7-3(c)所示。

在以前这种同步方式中,起始和结束字符是不同的(如起始字符为DLE,而结束字符是DLE ETX),但是近几年,绝大多数协议倾向于使用相同的字符来标识起始和结束位置。按这样的做法,在接收方丢失了同步,则只需搜索一下标志符就能找到当前帧的结束位置。两个连接的标志符代表了当前帧的结束和下一帧的开始。

但这种同步方式也不是完美的,也会发生严重的问题。当标志符的位模式出现在数据中时,这时不同步问题就可能发生了,这种位模式往往会干扰正常的帧分界。解决这一问题的办法是在发送方的数据链路层传输的数据中,在与分界标志符位模式一样的字符中插入一个转义字符(如ESC)。接收方的数据链路层在将数据送给网络层前删除这种转义字符。因此,成帧用的标志字符与数据中出现的相同位模式字符就可以分开了,只要看它前面有没有转义字符即可。

如果转义字符出现在数据中间,同样需要用转义字符来填充。因此任何单个转义字符一定是转义序列的一部分,而两个转义字节则代表数据中的自然出现的一个转义字符,具体参见图7-3。

2.示例介绍

这种帧同步方法只能用于较为少用的面向字符型协议,典型代表是IBM公司的二进制同步通信协议(BSC)和PPP协议。它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志,以及整个传输过程的控制信息。由于被传送的数据块是由字符组成的,所以也被称之为“面向字符的协议”。

BSC协议用ASCII和EBCDIC字符集定义的传输控制字符来实现相应的功能。这些传输控制字符的标记、名字及ASCII码值和EBCDIC码值见表7-1。

SOH(Start of Head):报头开始标志,用于表示报文的标题信息或报头的开始。

STX(Start of test):文本开始标志,标识标题信息的结束和报文文本的开始。

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协议的数据块有如下四种格式。

不带报头的单块报文或分块传输中的最后一块报文

这种报文格式为:SYN | SYN | STX | 报文 | ETX | BCC

带报头的单块报文

这种报文的格式为:SYN | SYN | SOH | 报头 | STX | 报文 | ETX | BCC

分块传输中的第一块报文

这种报文格式为:SYN | SYN | SOH | 报头 | STX | 报文 | ETB | BCC

分块传输中的中间报文

这种报文格式为:SYN | SYN | STX | 报文 | ETB | BCC

从以上数据报文格式可以看出,BSC协议中所有发送的数据均跟在至少两个SYN字符之后,以使接收方能实现字符同步。所有数据块在块终限定符(ETX或ETB)之后还有块校验字符BCC(Block Check Character),BCC可以是垂直奇偶校验或者说16位CRC,校验范围从STX开始到ETX或ETB为止。

当发送的报文是二进制数据库,而不是字符串时,二进制数据中形同传输控制字符的比特串将会引起传输混乱。为使二进制数据中允许出现与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符;在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个标记。在接收端则进行同样的检测,若发现单个的DLE字符,则可知其后为传输控制字符;若发现连续两个DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。

(3)带位填充的首尾标志法

723 比特填充的首尾定界符法

在前面介绍的字符分界法中存在一个大的不足,那就是它仅依靠8位模式。而事实上,并不是所有的字符编码都使用8位模式,如UNICODE编码就使用了16位编码方式。而且随着网络技术的发展,在成帧机制中内含字符码长度的缺点越来越明显,所以有必要开发一种新的同步技术,以便允许任意长度的字符编码方式。本节所介绍的"比特填充的首尾界定符法"就是这样一种新型的同步方式。

"比特填充的首尾界定符法"是以一组特定的比特模式(如01111110)来标志一帧的起始与终止,它允许任意长度的位码,也允许任意每个字符有任意长度的位。它的工作原理是在每一帧的开始和结束位置都加上一个特殊的位模式,如01111110。当发送方的数据链路层传到数据中5个"1" (因为特定模式中是有5个连续"1")时,自动在输出位流中填充一个"0"。在接收方,当收到连续5个"1",并且后面位是"0"时,自动删除该"0"位。就好像字节填充过程对于双方计算机中的网络层是完全透明的一样。如要传输的数据帧为"0110111111011111001",采用比特填充后,在网络中传送时表示为"0111111001101111101011111000101111110"。

上述结果是在原信息("0110111111011111001")的基础上两端各加一个特定模式来标示数据帧的起始与终止,另外,因为在原信息中,有一段比特流与特定模式类似,为了与用于标识帧头和帧尾的特定模式字符区别,在有5个连续"1"的比特位后面加插入一个"0"(斜体"0")。而接收方在收到上述最终数据后进行发送方的逆 *** 作,首先去掉两端的特定模式字符,然后在每收到连续5个"1"的比特位后自动删去其后所跟的"0",以此恢复原始信息,实现数据传输的透明性。

比特填充帧同步方式很容易由硬件来实现,性能优于字符填充方式。所有面向比特的同步控制协议采用统一的帧格式,不论是数据,还是单独的控制信息均以帧为单位传送,其典型代表是ISO的HDLC协议。在此仅说明在HDLC的帧格式中也采用比特填充的帧同步方式,在它的首尾均有标志字段(Flag,8位,即01111110),如图7-4所示。

(4)物理层编码违例法

该法在物理层采用特定的比特编码方法时采用。例如,曼彻斯特编码方法,是将数据比特“1”编码成“高—低”电平对,将数据比特“0”编码成“低—高”电平对。而“高—高”电平对和“低—低”电平对在数据比特中是违法的。可以借用这些违法编码序列来界定帧的起始与终止。局域网IEEE 802标准中就采用了这种方法。违法编码法不需要任何填充技术,便能实现数据的透明性,但它只适于采用冗余编码的特殊编码环境。因为“曼彻斯特编码方法”已在第3章进行了详细介绍,所以在此不再赘述。

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充法和违法编码法。

好多啊,比如ASCII,Unicode等,下面就简单介绍这两种国际上通用的吧

美国标准信息交换代码( American Standard Code for Information Interchange, ASCII )是由美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,后被ISO及CCITT等国际组织采用。

ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号,以及在美式英语中使用的特殊控制字符。目前许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。

值 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响

控制字符

二进制 十进制 十六进制 缩写 解释

0000 0000 0 00 NUL 空字符(Null)

0000 0001 1 01 SOH 标题开始

0000 0010 2 02 STX 正文开始

0000 0011 3 03 ETX 正文结束

0000 0100 4 04 EOT 传输结束

0000 0101 5 05 ENQ 请求

0000 0110 6 06 ACK 收到通知

0000 0111 7 07 BEL 响铃

0000 1000 8 08 BS 退格

0000 1001 9 09 HT 水平制表符

0000 1010 10 0A LF 换行键

0000 1011 11 0B VT 垂直制表符

0000 1100 12 0C FF 换页键

0000 1101 13 0D CR 回车键

0000 1110 14 0E SO 不用切换

0000 1111 15 0F SI 启用切换

0001 0000 16 10 DLE 数据链路转义

0001 0001 17 11 DC1 设备控制1

0001 0010 18 12 DC2 设备控制2

0001 0011 19 13 DC3 设备控制3

0001 0100 20 14 DC4 设备控制4

0001 0101 21 15 NAK 拒绝接收

0001 0110 22 16 SYN 同步空闲

0001 0111 23 17 ETB 传输块结束

0001 1000 24 18 CAN 取消

0001 1001 25 19 EM 介质中断

0001 1010 26 1A SUB 替补

0001 1011 27 1B ESC 溢出

0001 1100 28 1C FS 文件分割符

0001 1101 29 1D GS 分组符

0001 1110 30 1E RS 记录分离符

0001 1111 31 1F US 单元分隔符

0111 1111 127 7F DEL 删除

可显示字符

二进制 十进制 十六进制 字符

0010 0000 32 20 空格

0010 0001 33 21 !

0010 0010 34 22 "

0010 0011 35 23 #

0010 0100 36 24 $

0010 0101 37 25 %

0010 0110 38 26 &

0010 0111 39 27 '

0010 1000 40 28 (

0010 1001 41 29 )

0010 1010 42 2A

0010 1011 43 2B +

0010 1100 44 2C ,

0010 1101 45 2D -

0010 1110 46 2E

0010 1111 47 2F /

0011 0000 48 30 0

0011 0001 49 31 1

0011 0010 50 32 2

0011 0011 51 33 3

0011 0100 52 34 4

0011 0101 53 35 5

0011 0110 54 36 6

0011 0111 55 37 7

0011 1000 56 38 8

0011 1001 57 39 9

0011 1010 58 3A :

0011 1011 59 3B ;

0011 1100 60 3C <

0011 1101 61 3D =

0011 1110 62 3E >

0011 1111 63 3F

0100 0000 64 40 @

可显示字符

二进制 十进制 十六进制 字符

0100 0001 65 41 A

0100 0010 66 42 B

0100 0011 67 43 C

0100 0100 68 44 D

0100 0101 69 45 E

0100 0110 70 46 F

0100 0111 71 47 G

0100 1000 72 48 H

0100 1001 73 49 I

0100 1010 74 4A J

0100 1011 75 4B K

0100 1100 76 4C L

0100 1101 77 4D M

0100 1110 78 4E N

0100 1111 79 4F O

0101 0000 80 50 P

0101 0001 81 51 Q

0101 0010 82 52 R

0101 0011 83 53 S

0101 0100 84 54 T

0101 0101 85 55 U

0101 0110 86 56 V

0101 0111 87 57 W

0101 1000 88 58 X

0101 1001 89 59 Y

0101 1010 90 5A Z

0101 1011 91 5B [

0101 1100 92 5C \

0101 1101 93 5D ]

0101 1110 94 5E ^

0101 1111 95 5F _

0110 0000 96 60 `

可显示字符

二进制 十进制 十六进制 字符

0110 0001 97 61 a

0110 0010 98 62 b

0110 0011 99 63 c

0110 0100 100 64 d

0110 0101 101 65 e

0110 0110 102 66 f

0110 0111 103 67 g

0110 1000 104 68 h

0110 1001 105 69 i

0110 1010 106 6A j

0110 1011 107 6B k

0110 1100 108 6C l

0110 1101 109 6D m

0110 1110 110 6E n

0110 1111 111 6F o

0111 0000 112 70 p

0111 0001 113 71 q

0111 0010 114 72 r

0111 0011 115 73 s

0111 0100 116 74 t

0111 0101 117 75 u

0111 0110 118 76 v

0111 0111 119 77 w

0111 1000 120 78 x

0111 1001 121 79 y

0111 1010 122 7A z

0111 1011 123 7B {

0111 1100 124 7C |

0111 1101 125 7D }

0111 1110 126 7E ~

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。

2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 410 。另外,50 Beta已于2005年12月12日推出,以供各会员评价。

Unicode 的编码和实现

大概来说,Unicode 编码系统可分为编码方式和实现方式两个层次。

1编码方式

Unicode 的编码方式与 ISO 10646 的通用字元集(亦称[通用字符集])(Universal Character Set,UCS)概念相对应,目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示 65,536(2的16次方) 个字符。基本满足各种语言的使用。实际上目前版本的 Unicode 尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。

上述16位 Unicode 字符构成基本多文种平面(Basic Multilingual Plane, 简称 BMP)。最新(但未实际广泛使用)的 Unicode 版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与 UCS-4 保持一致。未来版本会扩充到 ISO 10646-1 实现级别3,即涵盖 UCS-4 的所有字符。UCS-4 是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示 2,147,483,648(2的31次方)个字符,完全可以涵盖一切语言所用的符号。

以上就是关于计算机网络第三章(数据链路层)全部的内容,包括:计算机网络第三章(数据链路层)、SOH是什么ACK又是什么、帧的识别符号出现在帧数据中怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10185134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存