计算机网络
TCP和UDP的区别
首先,TCP和UDP都是传输层的协议,传输层需要为应用层提供服务。它们之间的区别有:
- 连接 TCP是面向连接的传输层协议,数据传输过程是:建立连接–传输数据–断开连接;而UDP无需建立连接就可以传输数据
- 可靠性 TCP是可靠交付的;而UDP是尽最大努力进行交付,不能保证可靠交付
- 服务对象 TCP服务于两个端点,是一对一的;UDP支持一对多或者多对多的交互通信
- 首部开销 TCP的首部比较长,有一定的开销;而UDP首部只有8个字节,是固定不变的,开销比较小
- 应用场景 由于TCP是面向连接的,能够保证数据的可靠交付,所以常用于FTP文件传输、HTTP/HTTPS等;UDP面向无连接,可以随时发送数据,简单高效,常用于音频、视频等多媒体通信
TCP三次握手
TCP是面向连接的传输层协议,在传输数据之前必须要先建立连接,TCP是通过三次握手的方式来建立连接。三次握手的过程:
- 第一次握手:服务器监听某个端口,处于Listen状态。客户端想要与服务器建立连接先要发送一个SYN报文,表示希望与服务端建立连接。这个SYN报文中SYN=1,序列号由客户端随机初始化(序列号为u)。
- 第二次握手:服务器端收到SYN报文之后,同意与客户端建立连接,发送SYN+ACK报文,该报文中SYN=1,ACK=1,序列号由服务器端随机生成(序列号为v&#x