文档介绍:传输控制协议协议
TCP协议的头构造
和IP一样,TCP的功能受限于其头中携带的信息。因此理解TCP的机制和功能需要了解TCP头中的内容,表2-6显示了TCP头构造。
来源端口(2字节)
目的端口(2字节)
序号(4字节)
确认序号(4字节)
头长度(4位)
保留(6位)
URG
ACK
PSH
RST
SYN
PIN
窗口大小(2字节)
校验和(16位)
紧急指针(16位)
选项(可选)
数据
TCP协议的头构造
TCP协议的头构造都是固定的,对表2-6说明如下:
〔1〕TCP源端口〔Source Port〕:16位的源端口包含初始化通信的端口号。源端口和IP地址的作用是标识报文的返回地址。
〔2〕TCP目的端口〔Destination Port〕:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。
〔3〕序列号〔Sequence Number〕:TCP连线发送方向接收方的封包顺序号。
〔4〕确认序号〔Acknowledge Number〕:接收方回发的应答顺序号。
〔5〕头长度〔Header Length〕:表示TCP头的双四字节数,如果转化为字节个数需要乘以4。
〔6〕URG:是否使用紧急指针,0为不使用,1为使用。
〔7〕ACK:请求/应答状态。0为请求,1为应答。
〔8〕PSH:以最快的速度传输数据。
〔9〕RST:连线复位,首先断开连接,然后重建。
〔10〕SYN:同步连线序号,用来建立连线。
〔11〕FIN:完毕连线。如果FIN为0是完毕连线请求,FIN为1表示完毕连线。
〔12〕窗口大小〔Window〕:目的机使用16位的域告诉源主机,它想收到的每个TCP数据段大小。
〔13〕校验和〔Check Sum〕:这个校验和和IP的校验和有所不同,不仅对头数据进展校验还对封包内容校验。
〔14〕紧急指针〔Urgent Pointer〕:当URG为1的时候才有效。TCP的紧急方式是发送紧急数据的一种方式。
一次完整的FTP会话
首先开启目标主机的FTP效劳,如图2-7所示。
一次完整的FTP会话
启动Sniffer,然后在主机的DOS命令行下利用FTP指令连接目标主机上的FTP效劳器,连接过程如图2-8所示。
一次完整的FTP会话
一次完整的FTP会话
登录FTP的过程是一次典型的TCP连接,因为FTP效劳使用的是TCP协议。分析TCP报头的构造如图2-10所示。
传输控制协议〔TCP〕的特点
传输控制协议〔TCP〕的特点是:提供可靠的、面向连接的数据报传递效劳。
传输控制协议可以做到如下的六点:
1、确保IP数据报的成功传递。
2、对程序发送的大块数据进展分段和重组。
3、确保正确排序以及按顺序传递分段的数据。
4、通过计算校验和,进展传输数据的完整性检查。
5、根据数据是否接收成功发送消息。通过有选择确实认,也对没有收到的数据发送确认。
6、为必须使用可靠的基于会话的数据传输的程序提供支持,如数据库效劳和电子邮件效劳。
TCP协议的工作原理
TCP提供两个网络主机之间的点对点通讯。TCP从程序中接收数据并将数据处理成字节流。
首先将字节分成段,然后对段进展编号和排序以便传输。在两个TCP主机之间交换数据之前,必须先相互建立会话。TCP会话通过三次握手的完成初始化。这个过程使序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。
TCP在建立连接的时候需要三次确认,俗称“三次握手〞,在断开连接的时候需要四次确认,俗称“四次挥手〞。
TCP协议的三次“握手〞