TCP/IP协议族的解析


TCP/IP协议族的解析_第1张图片
不说再见

疑问???What are you 弄啥嘞??? 

也许你们刚看见这个标题的时候会有疑问,为什么会是TCP/IP协议族而不是TCP/IP协议呢?族?难道还要弄一个部落吗?答案是肯定的,因为TCP/IP当中包含好多个协议,如IP协议,IMCP协议,TCP协议,还有我们熟知的HTTP协议,FTP协议等,所以这里就定义为TCP/IP协议族。

为什么会出现TCP/IP协议族呢?

大家都知道,电脑在生活中以各种方式服务于我们,然而电脑有着不同的操作系统,这就导致了不同的电脑在表达同一种信息的时候的表达方式就不同。这就好比我们国家的56个民族有着不同的语言表达方式和习俗。试想一下,如果大家坐在一起,都各自使用自己的方言进行沟通,那现场会是一种什么情况?同样的每种系统单独运行一种环境中也就是所谓的独立运行,封锁自己不进行外交,这样的话是发挥不了多大的作用的,只有大家互相沟通联合一起,才能发挥他们的最大的潜力,于是聪明的人类就使用网线将他们链接在一起。

但即使这样的话,也不能很好的解决沟通的问题,因为各自还是按照自己的方式进行处理问题,只有自己理解而对方是不理解的,于是TCP/IP出现,让不同的电脑使用同一种规定和方式进行交流,也就是所谓的桥梁作用。

TCP/IP协议族分层

按照层次分的话TCP/IP协议族分为应用层 传输层 网络层 网络接口层(数据链路层)。说起这个分层的作用就是各层级分工合作,各司其职,出现问题直接锁定某一层之后进行有针对性的维护。

下面介绍一下每一层中都包括哪些我们熟悉的协议和作用是什么?首先第一层就是应用层,在这一层中包括我们熟知的HTTP协议 FTP协议 DNS协议,这一层作用是组织报文数据;第二层是传输层,包括TCP和UDP协议,这一层负责对报文数据拆解 运送 拼装;第三层是网络层,这一层包括IP协议,它将数据加上地址和其他的数据确保数据准备的传到目的地;第四层是网络接口层,这个层次数据加上一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。下图为TCP/IP的结构图


TCP/IP协议族的解析_第2张图片

下面是TCP/IP的数据流:


TCP/IP协议族的解析_第3张图片
通信数据流

常用协议

1.HTTP协议

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。HTTP目前协议的版本是1.1。这在日常使用中出现的频率是最高的,HTTP协议时一种无状态的协议。

无状态指的是,浏览器像服务器发送一次请求,服务器收到请求后作出响应,返回响应给浏览器,随后立即将连接关闭,在服务器端不保留连接的任何信息。

HTTP协议通信的过程

HTTP遵循请求(Request)/应答(Response)模型。浏览器向服务器发送请求,服务器处理请求并返回相应的应答。所有HTTP连接都被构造成一套请求和应答。

在一次完整的HTTP通信过程中,浏览器和服务器之间要完成一下七个步骤:

(1) 建立TCP连接

(2) Web浏览器向Web服务器发送请求

(3) Web浏览器发送请求头信息浏览器发送其请求之后,还要以头信息的形式向Web服务器发送其它信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

(4) Web服务器应答 客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1200OK  应答的第一部分是协议的版本号和应答状态码

(5) Web服务器发送应答头信息

(6) Web服务器向浏览器发送数据Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。

(7) Web服务器关闭TCP连接般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,如果浏览器或者服务器在其头信息加入了这行代码: Connection:keep-aliveTCP连接在发送后将仍然保持打开状态。

2.IP协议

IP(Internet protocol)这个IP指的是协议而不是我们所了解的IP地址(如192.162.1.1),IP协议的作用就是把各种数据包准备无误的传递到相应的位置,IP协议中最重要的两个条件就是IP地址和MAC地址(Media Access Control Address),IP地址很稀有,不可能每个人都有一个IP地址,因此我们平时所接触的IP地址是路由器随机分配的IP地址,路由器中也会记录我们的MAC地址。

3.TCP协议

IP协议的作用是将数据精准的送到指定的位置,那么TCP就是保证数据的安全送到。按层次分,TCP属于传输层,提供可靠的字节流服务。什么叫字节流服务呢?这个名字听起来很陌生,下面我就通俗的解释一下。所谓字节流,其实就类似于信息切割传送再拼接的过程。比如你是汽车的生产商,你现在要发货给下边的代理商,整车发货的话会由于体积过大运输不方便,这样你就想了一个办法,将整车分为各个零部件贴上代理商的名字配送到指定的地点,之后再挑选出贴有这个代理商名字的零部件进行安装,这个拆解 运输 再安装的过程就是TCP字节流的过程。

4.DNS协议

DNS(Domain names System)位于应用层,作用是解析域名为IP地址。

大家又会有疑问,为什么要将域名解析为IP地址呢?因为在互联网上的通信是通过IP地址进行通信的,试想一下如果将的域名http://www.jianshu.com/改为IP地址为192.168.14.125.16...你觉得你会和容易的记住它吗?所以为了方便记忆就有了域名。但是网络通信是基于IP地址的,所以DNS协议应运而生,将域名解析为IP地址。

最后附上一张我们访问一个网页时,各层协议是如何分工合作的:


TCP/IP协议族的解析_第4张图片
各层协议分工合作图

PS:以上是对TCP/IP族的理解,希望可以对有需要的你们有一定的作用。

你可能感兴趣的:(TCP/IP协议族的解析)