TCP/IP模型的简单解释
创始人
2025-01-10 20:31:29
0次

TCP/IP模型是互联网的基础。想要理解互联网,就必须理解这个模型。但是,它不好懂,我就从来没有搞懂过。

前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型。我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构。

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

 [[128435]]

什么是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"。

实例:用Telnet建立HTTP对话

 

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

"telnet google.com 80"表示建立本机与google.com在80端口的一个文本传输通道。所谓"端口"其实是TCP协议的一个参数,用来帮助TCP协议判断对方主机传来的文本,到底使用的是哪一种应用层协议。80端口是HTTP协议的端口,就是我们平时浏览网页的端口。常见端口列表可以参考这里。

另外,与Windows 2000和Windows XP不同,Vista系统默认没有安装Telnet客户端,大家可以参考微软公司的安装说明自行安装。如果你使用的是Linux系统,那么可以直接在命令行窗口中,输入上面的命令。

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

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

实例:用Telnet建立HTTP对话

 

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

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

我输入了"Hello World!"。

实例:用Telnet建立HTTP对话

 

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

实例:用Telnet建立HTTP对话

 

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

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

Google的回应如下:

实例:用Telnet建立HTTP对话

 

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

总结

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

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

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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...