一、TCP简介
TCP是面向连接的:
TCP连接只能有两个端点,TCP连接是点对点的;
TCP提供可靠交互的服务;
TCP提供全双工通信。
面向字节流:
TCP中的“流”指的是流入或流出进程的字节序列;
虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
发送方的数据块和接收方的数据块不具有对应的大小关系。
二、面向连接的概念
面向连接TCP(运输层协议保证可靠):
采用协议的方法(确认、序号、重传),确保通信双方有一条全双工的、可靠的逻辑信道(事实上,提供服务的数据报是不可靠的),字节按序发送并按序接收(但网络层IP数据报并不一定按序到达)。
三、TCP面向流的过程
四、TCP连接的概念
每一条TCP连接都有两个端点,TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口,而是套接字socket,端口号拼接到IP地址即构成了套接字。
同一个IP地址可以有多个不同的TCP连接;同一个端口号也可以出现在多个不同的TCP连接中。
五、socket
应用编程接口API称为socket API,简称为socket。
socket API中使用的一个函数名也叫做socket。
调用socket函数的端点称为socket。
调用socket函数时其返回值称为socket描述符,简称为socket。
在操作系统内核中联网协议的Berkeley实现,称为socket实现。