跳转至

网络基础知识

约 1129 个字 -5 行代码 预计阅读时间 4 分钟

计算机网络

我们这辈人生活在一个高度信息化的时代中,自打记事开始,很多人就知道网络,并且经常在网上进行查找资料,聊天视频,联机游戏等活动。那么计算机网络究竟是如何组织起来的呢?我们这篇文章将做一些简要的介绍

OS/I 七层模型

--------------
|   应用层    |     7
--------------
|   表示层    |     6
--------------
|   会话层    |     5
--------------
|   传输层    |     4
--------------
|   网络层    |     3
--------------
|  数据链路层  |     2
--------------
|   物理层    |     1
--------------

目前基本不再使用 5、6 层的说法,按照 OS/I 的定义和现在的实际情况,5、6 层功能被 4、7 层包含。各层具体的作用我们以后再提。

TCP/IP 协议

TCPIP 协议分别工作在上述模型的第四层和第三层,IP 协议为世界上每一个能连入全球互联网的设备分配一个地址,同时提供不可靠的包交换服务。数据包指的是一段长度有限(但不总是固定)的数据,不可靠的包交换意思是把数据包从出发地传送到目的地,但是不保证包按照顺序到达,不保证有且仅有一个包到达,不保证包内容正确。

IP 协议目前有两个版本,一个是 IPv4,其地址由点分十进制,也就是类似于 111.111.111.111 的形式表示,每个十进制范围是 0-255,同时有许多地址被保留,如 127.xxx.xxx.xxx,10.xxx.xxx.xxx,192.168.xxx.xxx,0.0.0.0,255.255.255.255 等等,它们或被用于标示本机回环地址,或被用于局域网内,或被用于广播地址或保留地址。即使不考虑上述情况,IPv4 也只能为最多 4294967296(42 亿)个设备分配唯一地址,很明显目前地球上的人口数已经远远超过这个数值,IPv4 已经接近枯竭。目前的缓解办法包括 NAT 等协议使得多台设备共用一个公网 IP,但是这样会存在很多不方便的地方。

练习:114.514.1919.810 是不是有效的 IPv4 地址?

目前正在快速普及的 IPv4 的后继者是 IPv6,其地址由冒号分隔的 16 进制组成,长度是 128bit。如果地址中存在连续多项 0,可以用两个冒号替代,但是只能替代一次。下面是一些 IPv6 的地址示例:

::1
240c:c001:1014:4a3a:22f7:cb5f:88e2:219d
fe80::b7bf:964:d695:708d
IPv6 资源丰富很多,基本不会存在枯竭问题。

TCP 是在 IP 之上的协议,利用 IP 协议提供的不可靠数据传输,为上层提供流式的端到端可靠数据传输。端口号是在这一层协议定义的。TCP 协议存有状态,必须先双方三次交互建立连接,每个数据报文对方都要确认,报文都带有编号和校验码,确保报文正确按顺序到达。TCP 不能保证服务质量,比如传输速率。

TCP 同层还有 UDP 协议。UDP 协议不提供可靠传输服务,无状态,适合对数据准确性要求不高但是追求数据快速到达的场景,也适合上层实现别的可靠传输协议。

提示:指定端口号的地址,IPv4 可以写作 127.0.0.1:8080 这种形式,IPv6 可以写成 [::1]:8080 的形式。

DNS 协议

DNS(Domain Name System) 协议是用于解析域名信息的协议。我们在日常上网的过程中,由于 IP 地址过于抽象难记,经常会使用类似于pku.edu.cn这样的域名,DNS 就是将域名转化为 IP 地址的服务。DNS 服务从点分隔的域名的最后一部分开始查找,整个查找过程先向系统预设的 DNS 服务器查找最后一部分cn,返回cn域名的服务器,然后向cn域名的服务器继续询问edu,直到整个域名解析完成,得到最终的 IP 地址。实际情况下,有时候 DNS 服务器会直接返回下一级域名服务器作为结果,也有时候会代替你继续查询,直接返回给你最终的结果。

提示:以前国内的网络运营商默认提供的 DNS 有时会遭到污染,进行植入广告等操作,这时候你可以自行更换 DNS 地址,你可以在互联网上查询到关于如何更换以及更换为哪些声誉较好的 DNS 服务的信息。