一种基于HASH表和SYN计算的TCP会话重组方法(3)


    P3:写入从SYN3-File_Init_Write_Pointer,即,SYN1 + LEN1 + LEN2 - File_Init_Write_Pointer到SYN1 + LEN1 + LEN2 - File_Init_Write_Pointer + LEN3。
    在数据包不能按序到达的情况下,设IP数据包到达的顺序为P1,P3,P2,可以发现重组数据的写入位置还是相同的,只是写入的先后不同,成了P1,P3,P2。因此,按照此种算法仍能将有效的TCP数据写入到重组数据文件的正确位置。
    ▲处理TCP数据包重传问题
    假设TCP数据传送方先传了四个TCP包TCP1、TCP2、TCP3、TCP4,Sequence Number分别为:SYN1、SYN2、SYN3、SYN4,长度分别为LEN1、LEN2、LEN3、LEN4。但是,TCP数据接收方要求从第二个TCP包开始重新传送,同时由于网络原因重传的数据包大小发生了变化,分别为:LEN2’,LEN3’,LEN4’,并有LEN2 + LEN3 + LEN4 = LEN2’ + LEN3’+ LEN4’,三个新TCP包的Sequence Number分别为:SYN1 + LEN1,SYN1 + LEN1 + LEN2’, SYN1 + LEN1 + LEN2’ + LEN3’。
    根据SYN计算法可得,第一次传输的四个数据包写入TCP重组文件的位置分别为:
    TCP1:写入位置为SYN1-File_Init_Write_Pointer到SYN1-File_Init_Write_Pointer + LEN1。
    TCP2:写入位置为SYN2-File_Init_Write_Pointer,即,SYN1 + LEN1 + - File_Init_Write_Pointer到SYN1 + LEN1 - File_Init_Write_Pointer + LEN2。
    TCP3:写入位置为SYN3-File_Init_Write_Pointer,即,SYN1 + LEN1 + LEN2 - File_Init_Write_Pointer到SYN1 + LEN1 + LEN2 - File_Init_Write_Pointer + LEN3。
    TCP4:写入位置为SYN4-File_Init_Write_Pointer,即,SYN1 + LEN1 + LEN2 + LEN3 - File_Init_Write_Pointer到SYN1 + LEN1 + LEN2 + LEN3 - File_Init_Write_Pointer + LEN4。
    当发生TCP包重传时,程序将从第二个TCP包开始重新写重组数据文件。此时的情况为:
    TCP2’:写入位置为SYN1 + LEN1 - File_Init_Write_Pointer到SYN1 + LEN1 - File_Init_Write_Pointer + LEN2’。
    TCP3’:写入位置为SYN1 + LEN1 + LEN2’ - File_Init_Write_Pointer到SYN1 + LEN1 + LEN2’ - File_Init_Write_Pointer + LEN3’。
    TCP4’:写入位置为SYN1 + LEN1 + LEN2’ + LEN3’ - File_Init_Write_Pointer到SYN1 + LEN1 + LEN2’ + LEN3’ - File_Init_Write_Pointer + LEN4’。
    由于LEN2 + LEN3 + LEN4 = LEN2’ + LEN3’ + LEN4’,因此各数据包在TCP重组数据文件中写入的最终位置两次是相同的,即实现了正确覆盖。
    三、 结束语
    经反复测试我们发现:利用HASH表可以快速实现对多个会话的处理;利用SYN算法可以成功实现TCP会话的恢复,并可以有效地解决IP数据包的乱序到达和TCP数据包的重传问题,误差率非常小且重组效率很高。

(责任编辑:adminadmin2008)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

如何运维网站能让其稳定高效之稳定篇

黑客、Geek等高手们都是这样上网的

如何选择最佳的数据中心闪存?

手机解锁:图案、数字谁更强?

黑客声称一款流行的加密App竟然只用了异或

返回首页 返回顶部