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

TCP/IP模型是互联网的基础。

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

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

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

什么是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命令本身就是一个应用层协议,它的作用是在两台主机间,建立一个TCP连接,也就是打开两台主机间文本传输的一个通道。

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

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

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

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


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

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

我输入了"Hello World!"。


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


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

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

Google的回应如下:


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

总结

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

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

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

(完)

时间: 2024-09-19 09:16:23

TCP/IP模型的一个简单解释的相关文章

TCP/IP模型的简单解释

TCP/IP模型是互联网的基础.想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构. 下面,我按照自己的理解,写一下互联网到底是怎么搭建起来的.说得不对的地方,欢迎指正.   什么是TCP/IP模型? TCP/IP模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换. 所谓"协议"可以理解成机器之间交

《精通Wireshark》—第1章1.3节TCP/IP模型的分层

1.3 TCP/IP模型的分层 如下所示,TCP/IP模型中包含了4层,每一层均包含了一系列对应的协议.每个协议都自己的作用,这些协议也都是通过这个模型来对接业界标准的. 第一层是应用层,这一层直接和用户及其他网络层协议进行互动:这一层的重点在于将数据通过用户可以理解的方式呈现给用户.应用层也会追踪用户连接的Web会话,并且使用一系列的协议帮助应用层连接到TCP/IP模型中的其他各层.在本书当中,我们会介绍下面几种非常常用的应用层协议: 超文本传输协议(HTTP): 文件传输协议(FTP): 简

《VMware 网络技术:原理与实践》—— 2.4 TCP/IP模型

2.4 TCP/IP模型 和OSI模型类似,TCP/IP模型使用分层方法分解和隔离功能,但是用4层代替7层--分别是应用层.传输层.互联网层和网络接口层,如图2.3所示. 和OSI模型一样,我们从下往上研究各个层次. 2.4.1 网络接口层 网络接口层定义了主机与网络的连接方法,包括物理连接本身和用于数据传输的物理介质细节.有些令人困惑的是,以太网既是关键的网络接口协议,也是我们所关心的物理介质.以太网将在第3章中详细介绍. 2.4.2 互联网层 互联网层定义了整个网络中编址和数据交付的机制.在

《精通Wireshark》—第1章1.2节TCP/IP模型概述

1.2 TCP/IP模型概述下面,我们来讨论一下网络领域最重要的话题.要想理解这些技术之间是如何关联起来的,读者就必须理解TCP/IP模型的基本概念.即使是计算机世界也需要通过一系列的规则和规范才能完成通信,这就是网络协议的作用之所在了.网络协议的作用正是管理数据包/数据分段/数据帧如何通过主机之间的一条专用通道进行传输. TCP/IP模型最初称为DoD模型,因为这个项目当初是由美国国防部(United States Department of Defense)负责统筹的.TCP/IP模型涉及当

《VMware 网络技术:原理与实践》—— 2.5 OSI和TCP/IP模型的对比

2.5 OSI和TCP/IP模型的对比 OSI和TCP/IP模型有很多共同之处,因为它们描述了同样的一组事物,只不过是方式上不同.图2.4展示了两个模型之间层次的对比,相互的映射,以及每层上协议的示例.

从TCP/IP模型全面认识FTP

1. FTP协议概述 FTP是文件传输协议(File Transfer Protocol )的简称.FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP连接是可靠的,而且是面向连接,为数据的传输提供了可靠 的保证. FTP工作模式与客户/服务器模式相似.与大多数的其他TCP应用不相同的是,FTP在客户与服务器之间使用两个个TCP连接―――控制连接和数据连接,控制连接在客户与服务器交互的整个过程中一直存在,而数据连接只在

SharePoint 2010 ECMAScript客户端模型的一个简单示例

ECMAScript客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverlight"的一种,今天正好看到这,尝试了下,也拿出了和大家分享下.我自己感觉,客户端模型,和sp的对象模型没有太多区别,就是用起来,更加不得心应手了.今天写了下Script的,各种不好使,各种没调试,各种郁闷,哎.怎的一个愁字了得.好了,不费话了. 客户端对象模型的优点,就是可以在没有服务器的条件下,进行客

进程与线程的一个简单解释

  因为学习Python多线程和进程的关系,需要对操作系统中线程和进程有所了解,但学校目前还没有开设操作系统的课程,网上有一篇文章比较浅显易懂地讲解了两者的基本概念,虽然跟真正的理论会有所出入,对于初学者入门学习来说,却是非常适用的. 1. 计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2. 假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的含义就是,单个CPU一次只能运行一个任务. 3. 进程就好比工厂的车间,它

《趣学CCNA——路由与交换》一第2章 TCP/IP协议2.1 TCP协议简介

第2章 TCP/IP协议 趣学CCNA--路由与交换 在上一章,我们郑重其事地介绍了无聊的OSI七层参考模型,并浓墨重彩地讲述了其中每一层负责提供的功能.OSI模型出身名门.条理清晰,只有一个"小小的"缺点,那就是一直没人太拿它当回事儿.所以,如果对它太认真,你就败了. 我们是有职业精神的,因此在介绍OSI模型时反复强调了这个模型是如何地曲高和寡.我们在上一章中花大篇幅介绍OSI模型有三个目的:一是延续各类技术教材的惯例,以免将本书作为技术开蒙读物的读者在与别人讨论技术问题时,因全然不