TCP/IP模型的简单解释
TCP/IP模型是互联网的基础。想要理解互联网,就必须理解这个模型。但是,它不好懂,我就从来没有搞懂过。
前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型。我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构。
下面,我按照自己的理解,写一下互联网到底是怎么搭建起来的。说得不对的地方,欢迎指正。
什么是TCP/IP模型?
TCP/IP模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换。
所谓”协议”可以理解成机器之间交谈的语言,每一种协议都有自己的目的。TCP/IP模型一共包括几百种协议,对互联网上交换信息的各个方面都做了规定。
TCP/IP模型的四层结构
这些协议可以大致分成四个层次,上一层的协议都以下一层的协议为基础。就像下面这张图:
从下到上的四层,分别为连接层(Link Layer)、网络层(Internet Layer)、传输层(Transport Layer)、应用层(Application Layer)。
可以这样理解它们的作用:
连接层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等;
网络层负责分配地址和传送二进制数据,主要协议是IP协议;
传输层负责传送文本数据,主要协议是TCP协议;
应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是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协议,进行二进制数据的传输;而二进制数据的传输,离不开最底层负责网络连接的物理协议。
所以,通过这样四层的网络架构,就实现了整个互联网的通信。
原文地址:http://mp.weixin.qq.com/s?__biz=MjM5OTMxMzA4NQ==&mid=208159796&idx=2&sn=2fee0f5dbbfe82a4b8cc4ddfa4207180&scene=21#wechat_redirect
转载于:https://blog.51cto.com/29498359/1736197
TCP/IP模型的简单解释相关推荐
- TCP/IP模型及OSI七层参考模型各层的功能和主要协议
注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...
- 详解OSI七层模型和TCP/IP模型
详解OSI七层模型 1. 详解OSI七层模型 1.1 详解每层结构 1.2 交换机和路由器的区别 1.3 集线器与路由器在功能上有什么不同 2. 详解TCP/IP模型 2.1 详解每层结构 2.2 O ...
- TCP/IP模型以及OSI七层参考模型各层的功能介绍和主要协议
注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...
- OSI 七层模型和TCP/IP模型及对应协议
OSI 七层模型和TCP/IP模型及对应协议图: 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于不同层的中继系统具有不同的名称. 一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部 ...
- Linux系统下实现基于TCP/IP协议的简单Socket通信
Linux系统下实现基于TCP/IP协议的简单Socket通信 网络套接字Socket Socket概念 主机字节序和网络字节序 Sockaddr地址结构 Socket实现客户端.服务端通信 服务端程 ...
- OSI模型和TCP/IP模型
OSI模型 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念 ...
- TCP/IP模型各层的作用和设备
TCP/IP模型 功能 对应的TCP/IP协议 设备 应用层 文件传输.电子邮件.文件服务等 HTTP.FTP.TFTP(简单文件传输协议).SNMP(简单邮件传送协议).DNS 服务器.计算机 传输 ...
- 以太网数据帧的报尾封装字段是什么_利用TCP/IP模型理解数据通信过程
回顾TCP/IP模型 TCP/IP模型是当今IP网络的基础(由OSI七层参考模型发展而来,也称为DoD模型). 分层参考模型的设计是非常经典的理念: 层次化的模型设计将网络的通信过程划分为更小.更简单 ...
- TCP/IP模型的各层的作用
第一种总结: TCP/IP模型:以无缝方式实现各种网络之间互连的网络体系结构. TCP/IP模型共分四层,分别为应用层.传输层.互联网层和主机到网络层. 各层实现特定的功能,提供特定的服务和访问接口, ...
最新文章
- Pytorch中多GPU训练指北
- 图解梯度下降背后的数学原理
- a byte of python-A Byte of Python PDF 下载
- arcsoft panorama maker 6_葫芦娃 本领大——中国邮政将于2020年6月1日发行动画——葫芦兄弟特种邮票...
- 使用Template时 typename 关键字的用法
- python网站模板下载_Python画图模板大全:从此画图不用愁
- xmpp 常见错误 一
- java的向下转型_终于搞明白向下转型的作用了,还不懂的进来看下.
- 在大项目中,实施顾问主要负责什么具体工作?
- python编程语言_Python编程语言的历史
- ubuntu16.04下ROS操作系统学习笔记(三 / 一)ROS基础-工作空间
- 图片滚动js 实现图片无缝滚动
- 智慧能源一体化管控平台
- Element 表单校验方法简单抽离
- 华为ensp联动Wmware虚拟机Openstack平台实现Vlan网络模式
- Android 接入穿山甲激励视频广告步骤与错误总结
- 线程池、volatile、原子性、并发工具类
- 微信15分钟视频怎么发送(简单实用的方法)
- 江苏省常州市谷歌高清卫星地图下载
- 中兴通讯云网解决方案介绍
热门文章
- Tomcat启动Maven项目异常:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
- linux 下mysql忘记密码或者安装好linux后不知道mysql初始密码解决方案
- SpringBoot-文件在线预览解决方案-基于OpenOffice及jacob
- 在多行中查找和替换vim中的字符串
- Java与jar之间的区别
- Win11如何添加过时硬件?Win11添加过时硬件的方法
- 怎么修改win11睡眠时间
- shiro身份验证失败捕获的异常对应信息
- MTK:socket通信
- php无重复字符的最长子串,无重复字符的最长字串问题