HTTP基础之 TCP/ IP 协议族

Posted wanda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP基础之 TCP/ IP 协议族相关的知识,希望对你有一定的参考价值。

 

通常使用的网络( 包括 互 联网) 是在TCP/ IP 协议族的基础上运作的。 而 HTTP 属于它内部的一个子集。

TCP/ IP 协议族里重要的一点就是分层。 TCP/ IP 协议族按层次分别分为以下 4 层: 应用层、 传输层、 网络层 和数据链路层。

应用层

应用层决定向用户提供应服务时通信的活动。TCP/ IP 协议族内预存了各类通用的应用 服务。比如,FTP( File Transfer Protocol, 文件传输 协议) 和 DNS(Domain Name System, 域名 系统) 服务就是其中 两类。 HTTP 协议也处于该层。

传输层

传输层对上层应用层,提供处于网络连接中的两台 计算机 之间的数据传输。 在传输层有两个性质不同的协议: TCP( Transmission Control Protocol,传输控制协议) 和UDP( User Data Protocol,用户数据报协议)。

网络层( 又名网络互连层)

网络层用来处理在网络上流动的数据包。 数据包是网络传输的最小数据单位。 该层规定了通过怎样的路径( 所谓的传输路线) 到达对方算机, 并把数据包传送给对方。 与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

链路层( 又名数据链路层,网络接口层)

用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC( Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分( 还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用 范围之技术图片内。

技术图片

 技术图片

我们用HTTP举例来说明,首先作为发送端的客户端在应用层 HTTP 协议)发出一个想看某个Web页面的 HTTP 请求。 接着,为了传输方便,在传输层( TCP 协议)把从应用层处收到的数据( HTTP请求报文) 进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层( IP协议),增加作为通信目的地的 MAC地址后转发给链路层。 这样一来,发往网络的通信请求就准备齐全了。 接收端的服务器在链路层接收到 数据, 按序往上层发送, 一直到应用层。 当传输到应用层, 才能算真正接收到由客户端发送过来的HTTP请求。

 1. 与 HTTP 关系 密切 的 协议 : IP、 TCP 和 DNS

  1.1 负责传输的IP协议 

IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址( Media Access Control Address)。 IP地址指明了节点被分配到的地址, MAC地址是指网卡所属的固定地址。 IP地址可以和 MAC地址进行配对。 IP地址可变换,但MAC地址基本上不会更改。

 

技术图片

         1.2  确保可靠性的TCP协议

为了准确无误地将数据送达目标处,TCP协议采用了 三次 握手( three- way handshaking)策略。用TCP协议 把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用 了TCP的标志( flag)—— SYN( synchronize)和 ACK( acknowledgement)。发送端首先发送 一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有SYN/ ACK标志的数据包以示传达确认信息。最后, 发送端再回传一个带ACK标志的数据包,代表“ 握手”结束。若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

技术图片

    1.3  负责域名解析的DNS服务

用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址访问。因为与IP地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。DNS 协议提供通过域名查找IP地址, 或逆向从IP地址反查域名的服务。

技术图片

 

     1.4  各种协议与HTTP协议的关系

技术图片

 

 

以上是关于HTTP基础之 TCP/ IP 协议族的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议

TCP/IP协议族 HTTP简介请求方法与响应状态码

TCP/IP 协议族基础

网络基础篇--TCP/IP协议族

http基础(随缘更新)

TCP/IP 开胃菜 之 HTTP