首页 > 代码库 > tcp/ip http socket笔记

tcp/ip http socket笔记

1、TCP/IP协议是传输层协议,主要解决数据如何在网络中传输

     HTTP是应用层协议,主要解决如何包装数据

2、TCP连接的三次握手

    第一次握手:客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认

    第二次握手:服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态

  第三次握手: 客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入established状态,完成三次握手

 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据

理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次”握手

3、TCP和UDP的区别

   1、TCP是面向连接的,虽然说网络的不安全不稳定决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上保证了连接的可靠性

       而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道是否会正确接收,当然也不用重发所以说UDP是无连接的,不可靠的一种传输协议

   2、正由于1所说的特点,使得UDP的开销更小数据传输速率更高,因为不必进行首发数据的确认,所以UDP的实时性更好

 

tcp/ip http socket笔记