计算机网络原理_传输层__TCP

TCP 是用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。

一   TCP服务模型

TCP 提供的服务具有以下主要特征:

(1)面向连接的传输、传输数据前需要先建立连接, 数据传输完毕要释放连接。

(2)端到端通信, 不支持广播通信。

(3)高可靠性,确保传输数据的正确性,不出现丢失或乱序。

(4)全双工方式传输。

(5)采用字节流方式,即以字节为单位传输字节序列。如果字节流太长, 将其分段。

(6)提供紧急数据传送功能,即当有紧急数据需要发送时,发送进程会立即发送,接收方收到后会暂停当前工作,读取紧急数据并做相应处理。

TCP数据传输机制

1. TCP的段结构

源端口 目标端口
序列号
确认号
头长度 |               |       标志 窗口
校验和 紧急数据指针
选项(可变长度)
数据

 

 

 

 

 

 

 

 

因为TCP是应用于大数据量传输的情况,所以需要将长的数据流分段。

TCP地址与IP地址不同,IP地下是字节地址,一个节点可以运行多个应用, TCP的地址是节点的某个应用的地址, 这种应用在计算机内部是进程。 多个进程的数据传递通过不同的端口完成, 因此在TCP段结构中,以 “端口” 表示地址的。

  1. 源端口:  16bit,  源节点进程端口
  2. 目标端口: 16bit, 目标节点端口
  3. 序列号:  32bit,  TCP对字节流中的每个字节都编号
  4. 确认号: 32bit
  5. 头长度:4bit
  6. 标志:  6bit, 该字段包含对其它字段的说明或对控制功能的标志。 具体的设置如下:

      ACK  说明确认字段中的数据有意义

     URG  说明紧急数据指针字段中的数据有意义

     FIN    标志是最后的TCP数据段, FIN也称为"完成"

    PSH   指出接收方不必等待一定量的数据再向应用提供数据,  而是立即提供该数据段, PSH也称为“推”

    RST   在有异常情况发生时,发送方通知接收方暂时终止连接,释放与连接有关的缓冲区, 中断TCP传输, RST也称为"复位"

    SYN  在建立初始连接时,允许双方共同确定初始序列号, SYN 也称为"同步"。

  7. 窗口:  16bit

  8. 校验和: 16bit

   9.   紧急数据指针:  16bit

  10. 选项: 可变长度,  选项一般包含两个内容, 一是在通信双方容量相差很大时,必须在初始建立连接时, 确定可接收的段的最大尺寸; 另一个是在使用高带宽线路传输大型文件时,允许用 16 bit来代替 32bit的窗口字段

 11.  数据:  可变大小, 用户提供的数据。

 

2 TCP端口号

端口号可以在0~65535范围内的端口号。对于这65536个端口号有以下的使用规定

(1) 端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的,端口号由Internet端口号分配机构(Internet     Assigned   Numbers   Authority  IANA) 来管理;

(2) 客户端通常对所使用的端口号不关心,只面保证该端口号在本机上是唯一的;

(3)大多数 TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号为其它服务器预留的。

 

常用的TCP协议所使用的端口

协议名称 协议内容 使用的端口号
FTP(控制) 文件传输服务 21
20
TELNET 远程登录 23
GOPHER 菜单驱动信息检索 70
HTTP 超文本传输协议 80
SMTP      (发) 简单邮件传送协议 25
POP3       (收) 接收邮件(与SMTP对应) 110

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章