一个ppp帧的数据部分(用十六进制写出)是7d 5e fe 27 7d 5d 7d 5d 65 7d 5e。试问真正的数据是什么(用十六进制写出)?
时间: 2023-04-27 11:00:23 浏览: 739
真正的数据是:fe 27 5d 65。
这是因为,在 PPP 帧中,0x7d 和 0x5e 和 0x7d 和 0x5d 被用作转义字符。 0x7d 和 0x5e 被用来表示 0x7e, 0x7d 和 0x5d 被用来表示 0x7d。 在这个例子中,7d 5e 被转义成 7e ,7d 5d 被转义成 7d 。
相关问题
PPP帧的数据部分(以十六进制编写)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。问:数据部分
PPP(点对点协议)是一种用于串行通信的数据链路层协议,其数据帧的格式如下:
![PPP帧格式](https://img-blog.csdn.net/20180506200749180?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21hbmdhX2Jsb2dfMTk5NzEwMzg1Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
其中,数据部分(Payload)是不定长的,其长度可以是0~1500字节。为了避免出现和帧界定符(Flag)0x7E相同的字节,PPP采用了一种字节填充方式,即将0x7E替换为0x7D 0x5E,将0x7D替换为0x7D 0x5D。
根据题目所给出的数据部分(以十六进制编写)7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,可以还原出原始数据部分:
7E FE 27 7E 7D 7E 65 7E
其中,0x7D 0x5E被还原为0x7E,0x7D 0x5D被还原为0x7D。
一个 ppp 帧的数据部分(用十六进制写出)是 7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?请写出详细计算过程。
PPP 协议中使用了一种称为“字节填充”的特殊技术,即在数据中出现与控制字符相同的字符时,需要进行转义处理,具体规则是将控制字符 0x7E 转义为 0x7D 0x5E,将控制字符 0x7D 转义为 0x7D 0x5D。
根据这个规则,我们可以将给定的数据部分还原出真正的数据:
7D 5E -> 7E
FE -> FE
27 -> 27
7D 5D -> 7D
7D 5D -> 7D
65 -> 65
7D 5E -> 7E
因此,真正的数据是 7E FE 27 7D 7D 65 7E,用十六进制表示为:7EFE277D7D657E。