计算机网络: 入门

2979799-73d579496184057a.png

这学期修了一门叫 Network Lab 的课,主要还是讲计算机网络部分的,对于学习前端的我来说还是很有帮助。这个文集将记录这门课的核心内容。

分层

对于怎么有效地去组织整个网络系统是十分重要的,毕竟不能说我发一个包到另一个地方那么简单。我们可以参考一下机场的组织形式,因为它跟计算机网络是十分相像的,大家都是负责传递东西的。

2979799-73756f1dc785fd34.png
机场结构

从上图可以看到,机场的管理分了好几层:

  1. 先买票
  2. 去托运行李
  3. 过安检
  4. 起飞
  5. 飞行中,根据 GPS 来导航到目的地
  6. 到达
  7. 出关
  8. 拿行李

类比一下,计算机里网络也是这样分发包的:

2979799-f7667a0563f1a39c.png
计算机里的“机场”

上面可以简化成这样的分层形式:

2979799-ac5aa377b30de56f.png
网络分层

注意:这里的分层是对于每台计算机都是这样的,但是路由器或者特殊的机器可能只有 Link 和 Physical 两层。

传递信息

一般来说,信息的传递是在一台机器里从 Application 开始先传到 Pyhsical,然后通过网线再传递到加一台机器的 Physical,最后从下往上传回第二台机器的 Application。如图:

2979799-873b87172aca7ee1.png

你可能想问这个 Ht, Hn, Hi 是什么,这就是这个信息的头部,有点像请求头。但是这里是每下到一层(除了 Physical)都会加一个 Header,所以在 Source 那我们可以看到有 3 个 Header。然后每往上一层又会去掉一个 Header,所以在 Destination 的 Application 可以看到只有一个 M。

Header 一般用来存每一层和该包的信息。

IP 地址

先说说网络中的接口,简单来说接口(Interface)就是指连接两个机器的口,通常来说路由器是有多个接口而主机 (Host) 就只有一两个。

IP 地址通常是由 32 Bits来构成的,也就是 4 个 Bytes,每个 Byte = 8 个Bits。我就不想说位和字节了,因为以前学中文的计网的时候总容易弄错。

2979799-b4731712d3f7254a.png

IP 地址和这个网络接口又有什么关系呢?IP 是这个网络接口对应网络的唯一编号。它有两个组件部分:

  1. Network Prefix,相当于地址里的街道号
  2. Host Number,相当于家里的门牌号

这里你可能会问,这 IP 是怎么去区分哪个是 Prefix,哪个又是 Host 呢?这里就要说到 Network Mask 了。在传递信息的时候,上面的 IP 一般在后面加一个数字,如 128.143.137.144/16。这个 16 就表示前 16 个 Bits 是 Prefix,是已经固定好了,后 16 Bits (32-16) 就是 Host。所以,上面的 IP 可以写成这样:

  1. Network Prefix: 128.143.0.0
  2. Host Number: 0.0.137.144

那当然上面十进制也可以写成 16 进制的,不过大家一般看的都是十进制啦。

猜你喜欢

转载自blog.csdn.net/weixin_34082854/article/details/87319344