天天看点

TCP/IP模型的一个简单解释

tcp/ip模型是互联网的基础。

下面,我按照自己的理解,写一下互联网到底是怎么搭建起来的。说得不对的地方,欢迎指正。

什么是tcp/ip模型?

tcp/ip模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换。

所谓"协议"可以理解成机器之间交谈的语言,每一种协议都有自己的目的。tcp/ip模型一共包括几百种协议,对互联网上交换信息的各个方面都做了规定。

tcp/ip模型的四层结构

这些协议可以大致分成四个层次,上一层的协议都以下一层的协议为基础。就像下面这张图:

TCP/IP模型的一个简单解释

从下到上的四层,分别为连接层(link layer)、网络层(internet layer)、传输层(transport layer)、应用层(application layer)。

可以这样理解它们的作用:

1)连接层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、adsl等等; 2)网络层负责分配地址和传送二进制数据,主要协议是ip协议; 3)传输层负责传送文本数据,主要协议是tcp协议; 4)应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是http、ftp等。

理解这个结构的关键,在于理解科学家在70年代设计互联网的原始目的,就是为了传输文本。所有协议最初都是为了这个目标而设计的,互联网架构的核心就是文本对话。

实例:用telnet建立http对话

为了观察文本在互联网上是如何传输的,我们做一个小实验。

第一步:在"开始"菜单中,点击"运行"命令,输入"telnet google.com 80"。

TCP/IP模型的一个简单解释

telnet命令本身就是一个应用层协议,它的作用是在两台主机间,建立一个tcp连接,也就是打开两台主机间文本传输的一个通道。

第二步:打开本地显示。(非windows系统跳过此步。)

请按以下步骤操作:在telnet窗口中按下"ctrl+]";然后,输入"set localecho"命令,再连续按下两次回车键。

TCP/IP模型的一个简单解释

好了,这个时候你就可以直接同google.com主机进行对话了。

第三步:你可以试着同google随便说句话,看看有什么反应。

我输入了"hello world!"。

TCP/IP模型的一个简单解释

结果,google的回答是这样的:

TCP/IP模型的一个简单解释

"400 bad request"说明google看不懂你的发言。这是毫不奇怪的,因为这时你是在tcp文本通道中,进行http对话。所以,你的发言必须遵守http协议,这样google才能看懂。

第四步:输入"get / http/1.1",表示向google索要首页根文件,使用的协议是http的1.1版本。

google的回应如下:

TCP/IP模型的一个简单解释

"200 ok"表示要求数据成功。在头部信息的下面,就是google在浏览器中显示的首页文件的源代码。

总结

上面这个例子用的是http协议,如果要使用其他"应用层协议"与主机进行对话,你只要改变端口就行了。比如,"telnet ftp.website.com 21",表示用ftp协议进行对话。

所有这些对话的底层协议,都是tcp协议,因为这是负责文本传输的协议;而tcp协议又必须依靠ip协议,进行二进制数据的传输;而二进制数据的传输,离不开最底层负责网络连接的物理协议。

所以,通过这样四层的网络架构,就实现了整个互联网的通信。

(完)

继续阅读