中的传输控制协议TCP.docxInternet中的传输控制协议TCP
张翱翔信息学院 570228
学号 2000714063
******@
摘要:TCP控制协议保证数据传输可靠,按序,无丢失和无重复的机制
关键字:TCP的编确的。这里需要说明 的是网关在接收到这个包后,会将包解开,看看是不是已经到目的地了,如果没 有到,应该走什么路由达到目的地,在决定后,网关会根据下一个网络内的协议 情况再次将TCP包打包传送,如果需要,还要把这个包再次分成几段再传送。 这个落地检查的过程是一个耗时的过程。从上面,我们可以看出TCP传送的基 本过程,当然具体过程可能要复杂得多。
3 TCP的实现
TCP实现控制原理
在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大, TCP也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的 任务由专门的设备驱动模块完成。TCP只是调用IP接口,IP向TCP提供所有 TCP需要的服务。通过下图我们可以更清楚地看到
TCP协议的结构。
4~ + 4- + 4— + 4— +
|Telnet| | FTP | |Voice| ... | | 应用层
4- + 4- + 4- + 4- +
I I I I
H + H + H +
| TCP | | RTP | ... | | 主机层
H + 4 + H +
I I I
H +
| Internet Protocol &. ICMP | 网关层
H +
I
H +
I 本地幽络协议 | 网络层
4 +
网络层次联系图
上面已经说过了,TCP连接是可靠的,而且保证了传送数据包的顺序,保证顺序 是用一个序号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序 号的包。在TCP传送一个数据包时,它同时把这个数据包放入重发队列中,同 时启动记数器,如果收到了关于这个包的确认信息,将此包从队列中删除,如果 计时超时则需要重新发送此包。请注意,从TCP返回的确认信息并不保证最终 接收者接收到数据,这个责任由接收方负责。
每个用于传送TCP的通道都有一个端口标记,因为这个标记是由每个TCP 终端确定的,因此TCP可能不唯一,为了保证这个数值的唯一,要使用网络地 址和端口号的组合达到唯一标识的目的,我们称这个为了套接字(Socket), 一 个连接由连接两端的套接字标识,本地的套接字可能和不同的外部套接字通信, 这种通信是全双工的。
3. 2TCP包头格式
IP包头传送不同的信息域,包括源地址和目的地址。TCP头跟在internet包 头后面,提供了一些专用于TCP协议的信息。下图是TCP包头格式图:
源端 口 Source Port : 16 位;
目的端口 Destination Port: 16 位
序列码Sequence Number: 32位当SYN出现,序列码实际上是初始序列码(ISN), 而 第一个数据字节是ISN+1;
确认码Acknowledgment Number: 32位,如果设置了 ACK控制位,这个值表示一个准 备接收的包的序列码;
数据偏移量Data Offset: 4位,指示何处数据开始;
保留Reserved: 6位,这些位必须是0;
控制位URG: 6位;
窗口 Window: 16 位;
校验位Checksum: 16位;
优先指针Urgent Pointer: 16位,指向后面是优先数据的字节;
选项Options:长度不定;但长度必须以字节记;选项的具体内容我们结合具体命令来看;
填充Padding:不定长,填充的内容必须为0,它是为了保证包头的结合和数据的开始处 偏移量能够被32整除;
0 12 3
012345678901234567890**********
4-4-4- 4-H-+-4—1-4—1-4- 4-4-4- 4-4-4-+
Source Port | Destination Port
4—4—4— 4—I—+-4—4—4—I—4—I—4—I—4—I—4—I—I—I—4—I—4—I—4—I— 4-4-4— 4—4—4—+
Sequence Number
4-4-4- 4~H-+_4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4-4- +-4-4- 4-4-4-+
Acknowledgment Number
4—4—4— 4—I—4—4—4—4—I—4—I—4—4—4—I—4—I—I—I—4—4—4—I—4—I— 4-4-4— 4—4—4—+
I Data | |U|A|P|R|S|F| I
| Offset| Reserved |R|c|s|s
中的传输控制协议TCP 来自淘豆网m.daumloan.com转载请标明出处.