一.tcp/udp协议详解
tcp协议:
可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
优点:可靠,稳定,传输完整稳定,不限制数据大小
缺点:慢,效率低,占用系统资源高,一发一收都需要对方确认
应用:Web浏览器,电子邮件,文件传输,大量数据传输的场景
以太网头 | ip头 | tcp头 | 数据 |
---|
udp协议:
不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
优点:速度快,可以多人同时聊天,耗费资源少,不需要建立连接
缺点:不稳定,不能保证每次数据都能接收到
应用:IP电话,实时视频会议,聊天软件,少量数据传输的场景
以太网头 | ip头 | udp头 | 数据 |
---|
tcp 三次握手和四次挥手
三次握手
SYN 创建连接
ACK 确认响应
FIN 断开连接
seq 序号(算是客户端和服务端的一个暗号,防止洪水攻击:会一直向服务器发创建连接的请求)
客户端向服务器发送请求,建立连接
服务器确认响应,并向客户端发送请求建立连接
客户端接收服务器请求确认响应
每发送一个数据出去,对应的主机都会有一个回执消息,确认数据的接受情况,
如果没有得到回执消息,该数据会重发一次,保证数据的完整