TCP/IP

HTTP协议发展

从HTTP 1.0发展到现在的HTTP 2.0,相比HTTP 1.0,2.0有如下特点:

  • HTTP 2.0将只用于https://网址, 而 http://网址将继续使用HTTP/1
  • HTTP1.1新加很多header头,如Expire;支持长连接:keep-alive;支持块编码传输

TCP/IP协议

网络是在TCP/IP协议族上运行的。TCP/IP协议族可分为四层,从上到下为:应用层,传输层,网络层和数据链路层。如下图,左边是四层结构,右边是每层对应的具体协议。

  • 应用层:决定了向用户提供应用服务时通信的活动。
  • 传输层:提供处于网络连接中的两台计算机之间的数据传输
  • 网络层:处理网络上流动的数据包
  • 链路层(又名数据链路层,网络接口层):用来处理连接网络的硬件部分。

HTTP协议属于应用层,TCP协议属于传输层。

TCP/IP 通信传输流

利用TCP/IP协议族进行通信时,会通过分层顺序与对方通信。比如下图,是电脑A如何通过网络发送消息到电脑B。

IP(Internet protocol)

IP地址指明了节点被分配到的地址,MAC地址指网卡所属的固定地址。IP间的通信依赖MAC地址。

TCP 三次握手和四次挥手

TCP位于传输层,提供可靠的字节流服务。TCP协议为了更容易传达大数据会把数据分割,确保数据能够准确可靠的送达到对方。

为了确保准确无误的将数据送达目标,TCP协议采用三次握手策略。

  • 第一次握手:发送端将标有SYN的数据包发给接收端
  • 第二次握手:接收端将标有SYN/ACK的数据包返回给发送端,表示“我收到你的数据包了!”
  • 第三次握手:发送端发送标有ACK的数据包,表示“明白!”

TCP断开时则需要四次挥手

  • 第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。

  • 第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

  • 第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

  • 第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

DNS服务

根据域名查找IP地址

results matching ""

    No results matching ""