[转]TCP报文重组和会话的唯一确定规则

一些有关TCP重传的资料:
http://blog.csdn.net/fan_hai_ping/article/details/8352079
http://blog.sina.com.cn/s/blog_639d20bb0100whbr.html
重传的判断方法,在有很多乱序包的时候,可以:
在有数据包经过时,根据seq、包长,计算下一包的expect seq
如果再来的包在expect seq之前,则认为是重传,否则认为是乱序。
http://blog.csdn.net/mingxinjueyu/article/details/7712052
http://blog.jobbole.com/71427/
http://www.cnblogs.com/ggjucheng/archive/2012/02/05/2339228.html

基本概念

四元组:源IP地址、目的IP地址、源端口、目的端口。

五元组:源IP地址、目的IP地址、协议号、源端口、目的端口。

六元组:源MAC地址、源IP地址、源端口号、目的MAC地址、目的IP地址和目的IP地址。

七元组:源MAC地址、源IP地址、源端口号、目的MAC地址、目的IP地址和目的IP地址和协议号。

五元组确定一个会话还是四元组?

五元组通常是指由源IP地址,源端口,目的IP地址,目的端口和传输层协议号这五个量组成的一个集合。例如:192.168.0.1/10000/TCP/121.14.88.76/80就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接通讯。

五元组能够唯一确定一个会话。

在TCP会话重组时,使用序列号确定TCP报文顺序可以解决数据报文不按顺序到达及其重传问题,并且利用二维链表对TCP会话就行还原。难点在于解决多连接问题、IP包乱序到达和TCP会话重传的问题。

原因:TCP协议是TCP/IP协议族中一个重要组成部分,TCP数据流的重组是高层协议分析系统设计和实现的基础。TCP协议是面向连接的可靠传输协议,而TCP下层的IP协议却是面向报文的不可靠协议,这回带来问题:IP不能保证TCP报文可靠的、顺序的传输。为了解决这个问题,TCP采取滑动窗口机制、字节流编号机制和快速重传算法机制等。这可以保证数据的可靠传输。

TCP会话(TCP_Session_IDT)可以通过四元组<源IP地址、目的IP地址、源端口号和目的端口号>唯一标识。

使用HASH表快速查找定位的特征,解决多个TCP会话同时处理的问题,快速处理多个会话问题。

在TCP头中Sequence Number是判断该数据包是否重传和包乱序的重要参数。在TCP连接刚建立时,会为后续TCP传输设置一个初始的SequenceNumber,每传送一个包含有效数据的TCP包,后续传送的TCP数据包的Sequence Number会作响应的修改,如果前一个包长度为N,则这个包的Sequence Number为前一个包Sequence Number加N。它是为保证TCP数据包按序传输来设计的,可以有效的实现TCP数据的完整传输,特别是当数据传输出现错误时可以有效进行错误纠正。

TCP重组数据文件写指针的SYN算法如下:

File_Init_Write_Pointer= Init_Sequence Number + 1;

File_write_Pointer= Current Sequence Number – File_init_Write_point;

检查TCP会话中是否存在空洞,可以来确定会话重组成功、失败和超时。

TCP建立连接需要3次握手,而终止一个连接需要4次握手。这是因为一个TCP连接时全双工的,每个方向必须单独的进行关闭。

规则1:六元组<源MAC地址、源IP地址、源端口号、目的MAC地址、目的IP地址和目的IP地址>,协议号是TCP,它应该是唯一的会话。

规则2:TCP头中4元组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值