因特网核心协议-IP和TCP
其中IP协议是网络层协议,它是负责联网主机之间的路由选择和寻址。而TCP是“传输控制协议”属于传输层协议。所以他们俩之间是配合,是搭档,合称为“因特网协议套件“。
TCP存在的价值
TCP大家对它并不陌生,但是我们知道一个新生事物出现的时候,必定是为了解决一些问题的。那么TCP的出现主要是解决在不可靠的传输信道上提供可靠的传输。主要是通过以下细节实现:
TCP三次握手机制
如下图所示:
其中包括了两端:数据发送端和数据接收端。
- 首先数据发送端(客户端)选择一个随机序列号x,并发送一个SYN分组,其中包括一下TCP需要的标志和选项。其中的SYN,全称是synchronous建立联机的意思。
- 数据接收端(服务器端)会给x+1,并选择自己的随机序列号y,并追加自己的标志和选项,然后返回给客户端。其中SYN ACK分组是指建立联机确认的意思。
- 客户端会给x和y 加1 ,并且发送ACK分组给服务器端
至此三次握手已经完成,然后客户端和服务器端就可以通信了。其实这个时候在客户端发送完ACK分组后就可以立即发送数据了,但是服务器端必须等到收到ACK分组后才能发送数据。所以使用TCP的应用在性能上会有很大的影响,因为每次传输数据之前都必须经历一次完整的往返。后续会介绍TCP性能相关话题。