高效IP分片重组的设计与实现
IP分段重组

实验四IP包的分片和重组实验目的通过实验掌握IP数据包的分片和重组的方法。
实验内容对一个较长的IP分组进行分片,然后再将所有的分片重新组装成一个IP分组。
实验要求(1) 从数据包文件如“packet.pkt”中读取分组,并输入一个整数值作为MTU。
首先计算分组头校验和,判断分组接收是否正确,然后检查分组长度是否超过MTU。
如果长度超过MTU,则检查DF位:若DF位为1,打印出错信息;否则对IP包进行分片,生成各分片的文件,如Fragment1.pkt、Fragment2.pkt等。
(2) 读取上一步得到的各分片文件,首先计算头校验,检查分片是否正确;然后将各个分片组装成一个完整的分组,并保存在一个数据包文件如“MergedPkt.pkt”中;比较MergePkt.pkt与原始的packet.pkt的数据部分内容,以检验分组分片和重组是否成功。
尝试不按顺序读入各个片段,验证重组程序是否仍然能够正确重组分组。
实验提示(1) IP数据包的格式为:4位版本4位首部长度8位服务类型(TOS)16位总长度(字节为单位) 16位标识3位标志13位片偏移8位生存时间(TTL)8位协议16位首部检验和32位源IP地址32位目的IP地址与数据报的分片与重组有关的字段是:总长度、标识、标志、分片偏移、TTL、16位首部校验和。
总长度:总长度以字节为单位,指该IP数据报的总大小,包括首部的20字节以及实际的来自应用层的数据。
判断一个数据包是否要进行分片,就是将收到的数据报的总长度与MTU进行比较。
如果总长度大于MTU,就需要进行分片。
标识:这个16位的字段标识从源主机发出的数据报。
当数据报离开源主机时,这个标识与源IP地址唯一地定义了这个数据报。
为了保证唯一性,IP协议使用了一个计数器来标识数据报。
当IP协议发送数据报时,就把这个计数器的当前值复制到标识字段中,并把这个计数器的值加1。
当数据报被分片时,标识字段的值就被复制到所有的分片中,即同一个数据报的所有分片具有相同的标识。
高效IP分片重组的设计与实现

I 数据报分割成小的 I P P数据报分片, 以便能装载到 具有较小 M u的网络物理帧中, T 此过程称为 I 数据 P 报的分片。目的主机不 断累积到达 的数据报分 片,
识、 长度、 偏移量等) 将这些分片数据重组为原始 的
数据报 , 然后提交到上层协议 。在重组过程中, 各个 数据 报分 片必须 具 有 相 同 的标 识 、 同的用 户上述条件的数据报 分段按照偏移量顺序排 队, 只保 留第一个分片的 且 报头 , 删除其他 的分片报头 , 组装成一个完整 的原始
m nao es H l b dpigtedt s tr o sly缸e i teedig e m plao. etinras 1 y ya0t a t ue fpa . ,n h n , i ss eapi tn t e b n h a mc e t v o ci
Ke r s TC / P;P F a me tt n; p a re; t o k I t s n Dee t n y w0 d : P I I r g n ai S ly T e Ne w r n r i t ci o u o o
N0 5 . 0c . 2 O t .O 8
微
处
理
机
第 5期 20 0 8年 1 O月
MI R0PROCE S C S ORS
高 效 I 片重 组 的设 计 与 实 现 P分
王 永, 张新 家
( 西北 工 业大 学软 件 学院 , 西安 706 ) 105 摘 要: I 片重 组是 T P I P分 C /P协议 栈 中 I 所 需要 实现 的不 可缺 少 的 功 能之 一, 先分 析 P层 首
s c . h sp e i d n l z h e s n t a c me n 0 b i g I r gn n ai n a d t e p e s 0 P t k T i 印 r f s y a ay e te ra o h t o s i t en P fa r e t t n h mc s fI a r o f e tt n r a s n b y e e ep p rd s u s s te a i mei 0 r ai r a n ai e se 1 l , o rt n t a e ic s e h r h t t e l e h h h t c z P r1 n e I r g e n a c P f — a
ip的分片与重组

其实在IP协议的报头中,除了TTL字段,还有几个字段是非常重要的,这就是我们今天要讨论的标识符、标志位以及偏移量,这3个字段在IP数据报的分片与重组中,是非常重要的字段。
我们都知道,不同类型的网络,其MTU(最大传输单元)各不相同,如以太网中,最大的传输帧为1518字节,FDDI为4500字节,令牌环帧在4500字节到17800字节之间,而IP协议的一个重要功能,就是能够对传输的数据大于硬件接口的MTU时,对其进行分段传输。
即大于MTU的数据报将被分为2个或多个的合适的大小被传输。
一个分片在到达接收主机的路径中,还可能被继续分片,因此,分片的IP数据报可能会以不同的路径传输到接收主机,接收主机通过一系列的重组,将其还原为一个完整的IP数据报,再提交给上层协议处理。
IP标识符IP标识符、标志、偏移量3个字段在IP报头中的位置如下图1所示:图1在发送数据报前,发送主机给每个数据报一个ID值,放在16位的标识符字段中。
此ID用于标识唯一的数据报或数据流。
接收主机利用此ID对收到的数据报进行重组。
正如前面所说,当分片的IP数据报从源地址发送到目的地址的时候,由于网络延迟或者不同的传输路径的关系,在到达目的主机时,这些分片数据报并不总是有序的排列,而是处于一种无序状态,因此,接收主机便用此ID判断接收的这些分片数据报是否属于同一个数据流,然后再进行重组(重组将在偏移量中讨论)。
标志标志字段在IP报头中占3位,第1位作为保留,置0;第2位,分段,有两个不同的取值:该位置0,表示可以分段;该位置1,表示不能分段;第3位,更多分段,同样有两个取值:该位置0,表示这是数据流中的最后一个分段,该位置1,表示数据流未完,后续还有分段,当一个数据报没有分段时,则该位置0,表示这是唯一的一个分段。
见下图2:图2当目的主机接收到一个IP数据报时,会首先查看该数据报的标识符,并且检查标志位的第3位是置0或置1,以确定是否还有更多的分段,如果还有后续报文,接收主机则将接收到的报文放在缓存直到接收完所有具有相同标识符的数据报,然后再进行重组。
IP报文分段和重组模拟实现

分段重组层消息
1 byte
2bits 6 bits
ver
hlen
src_ip dest_ip
id
M
offset protocol
msg_hdr(13 bytes)
type
len
业务消息内容
变长
2 bytes
• 业务消息包括:登录、登录转发、文件传输、...... • 限定每个分段重组层消息的最大长度为255字节
Host 消 息 重 组 流 程
N 创建mfq
找到? Y
获得该分段消息的M_OFFSET 字段最高2bit位
计算该消息的 起始偏移量 计算该消息的 结束偏移量 将该分段插入到分 段链表的正确位置 N 满足重组条件? Y
返回NULL
重组并返回重组 后的原始消息
结束
开始
从登录消息队列 login_msg_queue 中取下一消息 登录转发消息 消息类别? 登录应答消息 添加Host 创建已登录 Host列表 删除Host 退出登录消息
len
user
• type — 为1。 • user — 登录名,8字节,其中登录名占7字节,最后一字 节为’\0’
业务逻辑层消息-登录转发
type
len
user
ip
• type — 为2。 • user — 登录名,8字节,其中登录名占7字节,最后一字 节为’\0’ • ip — 此登录用户对应的IP地址,4字节。
消息转发
根据消息中的源Host和目的Host的地址,进行文件传输消息转发
消息的错序 消息的丢失 消息的发送和接收
分层协议栈
源主机
应用层 传输层 路由器 网络层
IP包的分片与重组解析

IP数据报的分片与重组IP层具有一种重要功能,就是当分组过大而不适合在所选硬件接口上发送时,能够对分组进行分片(Fragment)。
过大的分组被分成两个或多个大小适合在所选定网络上发送的IP分片。
而在去目的主机的路途中,分片还可能被中间的路由器继续分片。
在目的主机上,一个IP数据报可能放在一个IP分组内或者多个IP分组内。
因为各个分片可能以不同的路径到达目的主机,所以只有目的主机才有机会看到所有分片。
因此,也只有目的主机才能把所有分片重组成一个完整的数据报,提交给合适的传输层协议。
IP首部内有三个字段实现分片和重组:标识字段、标志字段和偏移字段。
标志字段由三个1bit位标志组成:(1)位0是保留的,必须为0;(2)位1是“不分片”(DF)标志,如果将这一比特置1,IP将不对数据报进行分片,这时如果有需要进行分片的数据报到来,会丢弃此数据报并发送一个ICMP 差错报文给起始端。
(3)位2是“更多分片”(MF)标志。
除了最后一片外,其它每个组成数据报的片都要把该比特置1。
偏移字段指的是该片偏移原始数据报开始处的位置。
另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。
1.IP分片的流程(1)当IP需要分片时,会从原来的分组中把IP首部和IP选项复制到新的分组中,IP首部复制在一个结构中,只复制那些将被复制到每个分片中的选项。
(2)设置分片包括MF位的偏移字段。
如果原来分组中已设置了MF位,则在所有分片中都把MF置位。
如果原来分组中没有设置MF位,则除了最后一个分片外,其它所有分片中的MF都置位。
(3)为分片设置长度,以网络字节序存储长度。
(4)从原始分组中把数据复制到分片中。
调整新创建的分片的分组首部,使其具有正确的全长。
把新分片的接口指针清零,计算新分片的检验和(Check sum),把该分片与前面的分片链接起来。
2.IP重组的流程(1)如果MF位或分片偏移非零,则DF就被掩盖掉了,分组就是一个必须被重装的分片。
分片和重组程序:

实验五 IP包的分片和重组实验目的通过实验掌握IP数据包的分片和重组的方法。
实验内容一个较长的IP分组穿过一个MTU = 500字节的中间网络,将IP分组进行分片,然后再重组。
实验要求(1)从数据文件中读取一个IP分组,检查分片标志,若允许分片则将IP分组进行分片,将每个片段组成新的IP分组,拷到另一个文件中。
(2)从包含片段的文件中读入各个片段,重新组装成一个完整的分组,然后与原始数据包进行比较(比较数据内容)。
尝试不按顺序读入各个片段,验证重组程序是否仍然能够正确重组分组。
实验提示(1)从给定的数据文件ippacket.dat中读取IP分组。
(2)计算片段的长度。
MTU指的是网络的链路层帧中载荷的最大长度,即在中间网络上传输的IP包的最大长度(包括包头),因此包的数据域部分最大长度= MTU - 报头长度。
但片段必须是8字节的整倍数,因此还必须将以上长度对8取整。
为提高分片的效率,除最后一个片段外,其余片段的长度都应当取允许的最大值。
(3)将片段组织成IP分组时,先拷贝原始的IP报头,再对其中的相关域进行修改,包括:总长度(新的数据包长度),MF(最后一个片段的MF=0),片偏移,TTL(减1),头校验。
注意片偏移是以8字节为单位计算的。
(4)计算头校验时,首先将头校验字段置为0,然后将报头中所有16位字进行二进制反码求和,其结果即为头校验。
收到报文进行校验时,将报头中所有16位字进行二进制反码求和,如果结果正确,和为全1(取反为0)。
(5)对片段进行重组时,根据MF判断是否收到最后一个片段,根据最后一个片段的偏移值和片段长度计算出原始数据报的总长度,根据已经收到的各个片段的长度之和判断是否所有的片段都已经到达,如果全部到达就可以开始重组。
可以将收到的所有片段按照偏移值的大小维护在一个有序的链表中,最后一次合并。
为简单起见,假定片段都是属于同一个报文的,因此可不对源地址和分组标识进行检查,且只需维护一个片段链表。
IP数据报的分片与重组过程的教学实验方法[发明专利]
![IP数据报的分片与重组过程的教学实验方法[发明专利]](https://img.taocdn.com/s3/m/141a0acda5e9856a5712600a.png)
专利名称:IP数据报的分片与重组过程的教学实验方法专利类型:发明专利
发明人:佟为明,林景波,李中伟,刘勇,赵志衡,高蕾,赵晶申请号:CN200810063930.6
申请日:20080128
公开号:CN101226700A
公开日:
20080723
专利内容由知识产权出版社提供
摘要:IP数据报的分片与重组过程的教学实验方法,涉及一种教学试验方法。
它解决了现有教学中采用文字描述与图解来讲解抽象复杂的IP数据报的分片与重组的原理和工作过程而使学生不易接受和理解的问题。
将第一从节点的IP地址和第二从节点的IP地址设置为分别属于两个子网,主节点设置成路由节点,主节点与两个从节点相连接口的MTU分别为1500字节和296字节;在第一从节点上构造原始IP数据报,并发送给第二从节点;主节点对原始IP数据报进行判断是否需要进行分片,如果需要则将原始IP数据报进行分片并发送,第二从节点接收并重组分片IP数据报。
本发明通过让学习者参与IP数据报分片与重组的过程而了解、熟悉IP数据报分片与重组过程。
它适用各类教育机构的教学系统。
申请人:哈尔滨工业大学
地址:150001 黑龙江省哈尔滨市南岗区西大直街92号
国籍:CN
代理机构:哈尔滨市松花江专利商标事务所
代理人:王吉东
更多信息请下载全文后查看。
IP报文的分片与重组(ipv4)

IP报⽂的分⽚与重组(ipv4)数据链路的不同,导致链路上的MTU(最⼤传输单元)也不尽相同,⽐如对于IP来说最⼤的MTU是65535字节,但是这个65535字节的MTU 仅仅对于IP上⼀层的TCP,UDP来说可以看做这么⼤。
对于以太⽹传输IP报⽂,由于以太⽹的最⼤MTU是1500字节,假如传输4342字节的IP数据包,就⽆法在⼀个帧中完成发送,这时就需要⽤到IP分⽚(IP Fragmentation)。
Tips:分⽚以8个字节的倍数为单位进⾏分⽚之后的IP数据包在传输的过程中如果遇到了需要检查IP上层的TCP、UDP或者其他应⽤层信息时(防⽕墙,NAT,端应⽤),还需要将分⽚重组,以⽅便提取IP上层的信息,检查之后⼜会按照原分⽚进⾏拆分。
分⽚机制也有⼀定的不⾜,中途路由器还做分⽚处理使得路由器的处理负担加重,不利于链路上的⾼速传输,还有,TCP的⼀个⼩分⽚丢失会导致整个数据包重传。
路径MTU发现技术PMTUD——Path MTU Discovery ,所谓路径MTU(PMTU)是指从发送端主机到接收端主机之间不需要分⽚的最⼤MTU的⼤⼩,可以避免在中途的路由器上进⾏分⽚处理。
PMTUD的⼯作原理:1.在发送端主机发送IP数据包时将⾸部的分⽚禁⽌标志位置为12.数据包传输途中路由器遇到需要分⽚的⼤包也不分⽚,⽽是直接丢弃3.通过ICMP的不可达消息将链路MTU返回给主机4.主机下⼀次发送根据返回的MTU进⾏分⽚处理再发送5.如果路上⼜遇到下⼀台路由器需要分⽚,则⼜直接丢弃,返回带MTU的ICMP6.主机再次根据这个MTU进⾏分⽚,不断循环,直到最后⼀次设置的MTU整个路径都不⽤分⽚7.对于UDP来说,分⽚指UDP传过来的UDP⾸部和UDP数据在IP层被分⽚,对于IP,不区分UDP的⾸部和数据,所有分⽚到达⽬标主机后先被重组,再传给UDP层8.对于TCP来说,分⽚指TCP超时时⾃动按照⽐例缩减MSS的⼤⼩,重传数据包,TCP将数据分成IP层不会再被细分的粒度后传给IP层,IP 层不再做分⽚处理,所有分⽚到达⽬标主机后,照原样传给TCP层,⽽不⽤先被重组IPv4⾸部中部分字段总长度-Total Length表⽰IP⾸部和数据部分加起来的总字节数,该字段长16⽐特,所以IP包最⼤长度 2^16=65535字节标识-Identification⽤于分⽚重组,长16⽐特,同⼀组分⽚的标识值相同(即使标识相同,源⽬的地址或者协议不同也视为不同分⽚),不同分⽚的标识值不同标志-Flags长3⽐特,⽐特0,未⽤;⽐特1,表⽰dont fragment,0-可以分⽚,1-不能分⽚;⽐特2,表⽰是否为最后⼀个包,0-最后⼀个分⽚包,1-分⽚中段的包。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 13位分片偏移量 :每一个分片都要设置该 字段值 ,用来指明其在原始数据报中的位置 ,用 8个 字节的倍数来表示 。
(4) 1位分片标志 :如果没有分片 ,则该标志设 定为 0;如果数据报进行了分片 ,则除了最后一个分 片将该字段设置为 0外 ,其余各分片都应该设为 1。
每个数据报分片在网络中进行独立传输 ,因此 , 在经过中间路由节点时 ,可能会选择不同的路由抵 达目的主机 ,这样 ,抵达目的主机的各个 IP数据报 分片的顺序与其发送顺序极有可能不同 。所以 ,目 的主机的 IP协议必须根据数据报中的相关字段 (标 识 、长度 、偏移量等 )将这些分片数据重组为原始的 数据报 ,然后提交到上层协议 。在重组过程中 ,各个 数据报分片必须具有相同的标识 、相同的用户协议 值以及相同的源和目的 IP地址 ,并且在一定时间内 必须全部到齐 。 IP协议将满足上述条件的数据报 分段按照偏移量顺序排队 ,且只保留第一个分片的 报头 ,删除其他的分片报头 ,组装成一个完整的原始 IP数据报 ,并重新计算报文长度 ,填入相应的报文 字段中 。最后 ,按照组装完毕的报文中的用户协议 值提交给上层协议 。 IP分片重组过程可如图 1 所 示。
伸展树 ( Sp lay Tree)是由 1999年图灵奖得主普 林斯顿大学计算机系教授罗伯特 ·塔扬发明的 ,是 一种二叉排序树 ,但比其他任何平衡树更简单 ,空间 管理更 有 效 , 更 加 快 速 , 更 加 灵 活 。伸 展 树 能 在 O ( log n)内完成插入 、查找和删除操作 ,这是一个非 常重要的性能保证 ,保证了 IP分片重组的高效性 。
3)根据该 IP包的四元组对应值查找 IP包伸展 树 ,看是否已建立该 IP分片的 IP包节点 。如果不 存在 IP包节点 ,则新建 IP包节点 ,插入到 IP包伸展 树 ,再以该 IP包节点 作为根节点 ,初始化分片树 , 将此 IP分片插入到该 IP分片树 。对于 IP包的第一 个分片 ,要为其新建一个 IP包节点 ,并为该 IP包节 点新建一棵 frag伸展树 (该树为空 ) 。然后将这第 一个分片插入到该 IP包节点的伸展树中 ,并将该 IP 包节点再插入到 IP包伸展树中 。
对对该 IP包节点下的 FRAG伸展树进行前序遍历 , 做这个判断的好处是可以减少前序遍历的次数 。
第一个 分 片 特 点 是 IP 分 片 偏 移 量 = 0 并 且
MF =1 最后一个分片特点是 IP分片偏移量 > 0 并且
MF =0 6)通过对 FRAG伸展树进行前序遍历 ,判断所
有的 IP分片是否全部到达并且是否合法 。遍历到 分片 Pi时 ,由 Pi - 1的偏移量和 Pi - 1的数据长度 , 可以得到合法的下一个偏移量 NextOffset。一般的 , Pi Offset = NextOffset,说明 Pi在位置上与 Pi - 1 紧 密相邻 ;但是 ,如果 Pi Offset < NextOffset,说明 Pi在 位置上与 Pi - 1 有重合 ;如果 Pi Offset > NextOffset, 说明 Pi在位置上与 Pi - 1 有空隙 ,分片不完整 ,进 行出错处理 。如果所有分片都满足 :
由于需要进行 IP分片重组的网络数据中可能 有多个被分片的 IP包 ,而每一个 IP包又有多个分 片 ,因此使用两级伸展树存储所有分片 ,第一级伸展 树存储的是 IP包的信息 ,称为“ IP包伸展树 ”,其节 点称为“ IP包节点 ”;第二级伸展树存储的是 IP分 片的信息 ,称为“frag伸展树 ”,其节点称为“frag节 点 ”;如图 2所示 。
No. 5
Oct. , 2008
微 处 理 机
M ICROPROCESSORS
第5 2008年
期 10
月
高效 IP分片重组的设计与实现
王 永 ,张新家
(西北工业大学软件学院 ,西安 710065)
摘 要 : IP分片重组是 TCP / IP协议栈中 IP层所需要实现的不可缺少的功能之一 ,首先分析 了网络中产生 IP分片的原因和 IP分片重组的过程 ,然后论述了采用伸展树这种数据结构实现高 效 IP分片重组的算法 ,最后 ,给出了有关 IP分片重组的一些应用 。
Offset = Pi - 1 Offset, + Pi - 1 Fragsize
则可认为 IP分片已经到齐 ,可以重组 IP包 。
7)对于 IP包的最后一个分片 ,要对 IP包长度
进行一次合法性检查 。由下面公式可以得到 IP包
的数据总长度 :
(下转第 177页 )
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
关键词 : TCP / IP; IP分片 ;伸展树 ;网络入侵检测 中图分类号 : TP393 文献标识码 : A 文章编号 : 1002 - 2279 (2008) 05 - 0172 - 02
D esign and Rea liza tion of H igh Performance IP Fragm en ta tion Rea ssem bly
现 IP分片重组的算法 : 1)首先按照 (源 IP地址 、目的 IP地址 、IP标识
号 、p rotocol协议类型 )四元组建立 IP包伸展树 ,并 以该四员组作为该树的比较查找函数 。
2)每来一个 IP包 ,首先检测其是否为 IP分片 , 若未分片 ,不做处理 。分片识别规则是 :如果 IP数 据报的“分片偏移量 ”和 M F标志同时为零 ,则说明 该 IP数据报未经过分片处理 ;否则 ,就是一个 IP分 片。
5期
王 青等 :基于四象限调速的直流电机控制器设计
·177·
电机电枢两端的电压为 :
UO
=(
t1 T
-
T
T
t1
)
Us
= (2
t1 T
- 1) Us
= ( 2α - 1) Us
(2)
所以通过调节 α值的大小可控制电机的转速
和转向 ,当 α在 0 - 0. 5 之间时 , UO 小于零 ,电机反 转且 α = 0时转速最大 ;当 α在 0. 5 - 1 之间时 , UO 大于零 ,电机正转且 α = 1 时转速最大 。其中 α值 是由单片机判断光电编码器的 2 路信号来确定的 。 单片机每 25m s对光电编码器信号处理后的变量进 行检测 ,当前电机正转时 ,若判断需要加速正转则以 每 25m s占空比递增 5%的速率分级加速到光电编 码器设定的占空比 ,若判断需要停机则立即将占空 比调节到 50% ,若判断需要反转则先将占空比立即 调到 50% ,再以每 25m s占空比递减 5%的速率分级 反向加速到光电编码器设定的占空比 。在程序中 , 电压加速时采用分级加速是十分必要的 ,否则 ,流经 电机的电流会过大 ,有可能烧坏电机 ,对系统造成损 失 。 PWM 波输出控制的流程图如图 4所示 。
IP分片重组是 TCP / IP 协议栈中 IP 层需要实 现的不可缺少的功能之一 。 IP数据报中与 IP分片 相关的字段如下 (参照 TCP / IP协议中 IP数据报格 式):
(1) 16位报文标识 :数据报的唯一标识 。同一 数据报的不同分段中都设置相同的报文标识 。
(2) 16位报文总长度 :对于每一个数据报的分 片 ,都要重新计算其报文长度 。
5期
王 永等 :高效 IP分片重组的设计与实现
·173·
图 1 IP分片重组后的 IP数据报
2 IP分片重组的设计与实现
为了能够高效率的完成 IP分片重组 ,用于保存 数据报分片的数据结构必须能做到 :为构成某个特 定数据报的一组数据报分片快速定位 ;在一组数据 报分片中快速插入新的数据报分片 ;有效地判断一 个完整的的数据报是否已全部到达 ;具有数据报分 片超时机制 ,并且 ,如果在重组完成之前定时器溢 出 ,则删除数据报片 。采用一种叫做伸展树的数据 结构来满足高效 IP分片重组对数据结构的要求 。
4)如果存在 IP包节点 ,则以 IP分片的 OFFSET 值在 IP分片包伸展树内查找 ,如果找到 ,则说明分 片重复 ,丢弃该分片 ,否则插入该分片到树的相应位 置。
5)如果 IP包节点的第一个分片和最后一个分 片都已经到达 ,可以认为大部分 IP分片都已到达 , 对所有分片进行完整性检查 。因为完整性检查需要
Key words: TCP / IP; IP Fragm entation; Sp lay Tree; Network Intrusion Detection
1 概 述
每一种包交换网络技术对在一个物理帧所能传 输的数据量都有一个上限 ,一般称这个上限为这种物 理网络的最大传输单元 ,即 MTU (maximum transfer unit) 。不同的物理网络有不同的〗最大传输单元。互 联网上的 IP数据报要通过许多具有不同 MTU 的物 理网络。因此 ,在从一个具有较大 MTU 的网络转发 到一个具有较小 MTU 的网络时 ,路由器需要把大的 IP数据报分割成小的 IP数据报分片 ,以便能装载到 具有较小 MTU的网络物理帧中 ,此过程称为 IP数据 报的分片。目的主机不断累积到达的数据报分片 , 在所有的数据报分片到达后 ,将它们重新组合生成 完整的数据报 ,此过程称为 IP数据报的分片重组 。
5 结 束 语
系统经测试表明 ,通过调节光电编码器可有效 地实现电机的四象限运行 ,并且由霍尔电流传感器 达到保护作用 。经过实际运行表明文中研制的基于 四象限调速的直流电机控制系统达到了设计要求 。
图 4 PWM 波输出控制流程图
参考文献 : [ 1 ] 王兆安 ,黄俊. 电力电子技术 [M ]. 北京 : 机械工业出
图 2 IP分片两组伸展树结构
伸展树作为一种 BST,树节点之间也有比较关 系 , IP包节点之间的比较是在 (源 IP地址 、目的 IP 地址 、IP标识号 ( ip id) 、p rotocol协议类型 )四元组 进行的 ; frag节点之间的比较是对 IP的偏移量字段 进行比较 。通过比较 ,可以迅速地在伸展树上找到 需要插入 、删除或者进行计算的结点 。下面给出实