TCP/IP协议栈的分层结构,从底层往上依次是:物理层->网络层->传输层->应用层。TCP/IP属于传输层的协议。TCP是一种可靠的传输协议,在数据传输过程当中,必须保证数据是正确稳定可靠无差错的传输。应用如支付转账,简单的TCP三次握手示意图:
UDP协议设计的初衷就是尽可能的交付,可以允许有一定的差错,尽可能的让效率和速度快起来,比如视频播放。UDP通信示意图:
TCP三次握手:
- 客户端发送SYN=1(喜欢),seq=100给服务端,seq是0-2的32次方之间的随机数。
- 服务端发送seq=200(随机数),ACK=1,SYN=1,ack=101(确认号=seq+1)。服务端发送的ACK=1表示对客户端上一次请求的一次确认,告知收到请求,SYN=1(也喜欢)表示同意进行连接。
- 客户端发送ACK=1,表示对来自服务端的请求包的一次确认,告知你这个同意进行连接的包我也收到了,ack=200+1=201(