了解TCP协议

了解TCP协议

TCP协议是传输层协议,它可以将数据从一台计算机完整有序地传输到另一台计算机上。
当传输一个HTML文件时,哪怕一个字符或字节传输错误,浏览器都可能无法渲染该页面。
IP协议是基于TCP协议的,Node Http服务器是在Node TCP服务器的基础上构建的,像Node里的http.Server就是继承自net.Server
IP是基于数据包传输的,而这些数据包的传输是独立进行的,也就意味着数据包被送达时是无序的,但TCP连接保证了它们的有序性。
在TCP连接中,每个IP数据包都会被打上标识,来标识数据流顺序。

不同编码会导致传输的字节数不同,但TCP对字符、字符编码无感。

TCP通过确认和超时机制来达到可靠性
发送方发送数据后,会等待一个确认消息,如果过了指定时间窗口还没有收到这个确认消息,发送方会重新发送数据,这其实就是建立TCP连接的“三次握手”。
了解TCP协议
断开TCP连接则会经过“四次挥手”。
了解TCP协议
两台计算机之间进行通信,如果发送方的传输速度远快于接收方,TCP会通过流控制来保证两点之间传输速度的平衡。

TCP会通过控制数据包的传输速度来避免拥堵

TCP会通过控制数据包传输的延迟率、丢包率不那么高,来保证服务质量