传输层概述
传输层概述
TCP协议特点:面向连接、字节流、可靠传输
面向链接:
1.使用TCP协议的双方必须先建立连接,并且双方都必须分配相应的内核资源。TCP的连接是全双工的,也就是说双方可以根据一个连接进行读写操作。
字节流:
1.当发送方应用多次进行写操作的时候,TCP发送模块会先把数据放在发送缓冲区中,当TCP发送模块真正发送的时候,这些在发送缓冲区中的数据才可能被封装成一个或多个报文段发出。所有根据以上结论,应用程序执行的写操作的次数和TCP发送的报文段个数没有对应的数量关系。
2.当接收端收到一个或多个报文段数据后,TCP模块必须把它们携带的应用层数据必须按照报文段序号把它们放到TCP接受缓冲区中。同时通知应用程序读取数据,这样应用程序就可以一次读出数据或多次读出数据,这取决于应用程序读缓冲区的大小。根据以上结论得出,TCP读取操作的次数跟接收报文段个数也没有固定的关系
总结:发送端执行的写操作次数与接受端的读操作次数没有任何数量关系,应用程序的发送和接收是没有边界限制的,UDP就不是这样,在这里不详细说了
如图TCP字节流服务过程:
以上就是字节流服务过程:
从图中我们就可以看见,发送短调用的发送次数,和接收短的接受次数并不一样。所有的数据都是先进入缓冲区,在进行操作。封装成报文段进行发送或接收。
可靠传输
TC