TCP/IP 协议中与HTTP密不可分的3个协议(IP、TCP、DNS)。
-
负责传输的IP协议
IP网际协议。位于网络层,把各种数据包传送给对方。而要保证确实传送到对方那里,有两个最重要的条件是IP地址和MAC地址(Media Access Control Address)。
IP地址:节点被分配到的地址
MAC地址:网卡所属的固定地址
IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会更改。IP间的通信依赖MAC地址。在网络上,通信双方在同一局域网内的情况很少,通常经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议(Address Resolution Protocol)。
ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反差出对应的MAC地址。可以参考 计算机网络--ARP地址解析协议详解
没有人能全面掌握互联网中的传输状况。在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线,这种机制称为路由选择(routing)。
-
确保可靠性的TCP协议
TCP传输控制协议,位于传输层,提供可靠的字节流服务。字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
为了准确无误地将数据送达目标处,TCP协议采用了三次握手(three-way handshaking)策略。
握手过程中使用了TCP的标志---SYN(synchronize)和ACK(acknowledgement)
发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包表示传达确认消息。最后,发送端在回传一个带有ACK标志的数据包,代表“握手”。
若在握手过程中某个阶段中断,TCP协议会再次以相同的顺序发送相同的数据包。
-
负责域名解析的DNS服务
DNS域名系统位于应用层的协议,提供域名到IP地址之间的解析服务。
用户通常使用主机名或域名来访问对方的计算机,因为域名更符合人类的记忆习惯。
但是计算机去理解相对就变得困难。
为解决上诉问题,DNS服务应运而生。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务
-
各种协议与HTTP协议的关系
IP协议、TCP协议和DNS服务在使用HTTP协议的通信过程中各自发挥了哪些作用。