传输控制协议TCP概述

TCP最主要的特点

TCP最主要的特点:

  1. TCP是面向连接的运输层协议。也就是说应用程序在使用TCP协议之前,必须先建立TC连接。在传送数据完毕后必须释放已经建立的TCP连接。
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
  3. TCP提供可靠交付的服务。也就是说通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
  4. TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接受缓存用来临时存放双向通信的数据。
  5. 面向字节流。TCP中的“流”指的是流入到进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。

TCP面向流

TCP的连接

每一条TCP连接有两个端点。TCP连接的端点叫套接字(socket)或插口。根据RFC 793的定义:端口号拼接到IP地址即构成了套接字。因此套接字的表示方法是在点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。例如:

若IP地址是192.3.4.5而端口号是80。那么所得到的套接字就是(192.3.4.5:80)

套接字socket = (IP地址:端口号)

每一条TCP连接唯一滴被通信两端的两个套接字所确定。

TCP连接 ::= {socket1, socket2} = {(IP1:port1),(IP2:port2)}