为什么光有 IP 还不够

数据送到了 10.0.0.7 这台机器。可光有这个地址还不够,还得带上一个端口,因为【0】。

开始练习 →

协议规定的是什么

两台机器之间流过一串字节。协议规定的是【0】。

开始练习 →

同一串字节,两套规矩

同一串字节,一边按协议甲解释,另一边按协议乙解释。结果是【0】。

开始练习 →

五条数据到了,收下几条

五条数据到达这台机器(10.0.0.7),每条都写着送给哪台机器的哪个端口。本机只在 8080、22、5432 三个端口上等着。 这段程序输出收下几条和地址根本不是本机的有几条。它输出什么? arrived = [("10.0.0

开始练习 →

同一串字节解出两个数

线上到达了两个字节:0x0A 和 0x0B。协议甲规定高位在前,协议乙规定低位在前。 这段程序输出什么? raw = [0x0A, 0x0B] a = raw[0] * 256 + raw[1] # 协议甲:高位在前 b = r

开始练习 →

自己写:把到达的数据分出来

又来了六条数据。本机地址是 10.0.0.7,只在 80 和 443 上等着。 补全 sort_out(),输出收下几条和地址根本不是本机的有几条,中间用 / 隔开。

开始练习 →

自己写:两套规矩各解一遍

这次到的两个字节是 0x01 和 0x2C。 补全两个函数:read_be() 按高位在前解,read_le() 按低位在前解,输出两个结果,中间用 / 隔开。

开始练习 →

分层换来的是什么

把网络拆成四层,最直接的好处是【0】。

开始练习 →

地址和端口分别归哪一层

一份数据要发出去,它身上既有地址也有端口。这两样分别归哪一层管:【0】。

开始练习 →

收方拆头的顺序

一个包从上到下贴了三个头,到了对方手里要一层层拆开。拆的顺序是【0】。

开始练习 →