【20190220】HTTP-知识点整理:TCP/IP与HTTP

TCP/IP是互联网相关的各类协议族的总称,HTTP属于它内部的一个子集。

一、TCP/TP的分层管理

1. 应用层

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

  • DNS服务:提供域名到 IP 地址之间的解析服务。用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP地址访问。而计算机更擅长处理一长串数字的IP地址,为了解决IP地址与域名之间互相转换的问题,DNS 服务应运而生。

 

2. 传输层

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

  • TCP协议:提供可靠的字节流服务。首先,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。然后采用三次握手(three-way handshaking)策略等手段确保数据能到达目标。

三次握手策略:握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK(acknowledgement)。发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。

 

3. 网络层(网络互联层)

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

网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。

  • IP协议:IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。

IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可变换,但 MAC地址基本上不会更改。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC地址来搜索下一个中转目标。这时,会采用 ARP 协议(Address Resolution Protocol)。

  • ARP协议:一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。

 

4. 链路层(数据链路层/网络接口层)

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

 

二、TCP/IP的通信传输

利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端往上走到应用层。

如客户端在应用层发出一个HTTP请求报文,每向下通过一层则在HTTP数据上加上一个该层所属的首部信息。而接收端从链路层接收到数据后,每向上一层则会把对应的首部消去,最后传输到应用层才是真正的HTTP请求。

三、各种协议与HTTP协议的关系

posted @ 2019-02-20 20:06  dorrri  阅读(415)  评论(0编辑  收藏  举报