现在需要做IP分片重组。参看了网上来自LINUX的IP SAR做法。看的不是十分明白。请做过Windows下面IP SAR的TX谈谈设计的数据结构如何定义?比如Ip Fragment struct、重组队列等。我的定义如下:struct _IP_SAR_BUFFER
{
int nTotalLength; // 该分片报文长度,减去IP头信息即为分片IP负载长度
int nFrameOffset; // 在原始IP报文中的Frame Offset
int nBufSize; // pBuffer指向数据长度
unsigned char* pBuffer; // 缓存Ip分段数据
ST_IP_SAR_BUFFER()
{
nTotalLength = 0;
nFrameOffset = 0;
nBufSize = 0;
pBuffer = NULL;
}
};
struct _IP_FRAGMENT_LIST
{
int nOriginalDatagramLength;
_IP_SAR_BUFFER IpFragment;
_IP_SAR_BUFFER* pNext;
//_IP_SAR_BUFFER* pPrev;
};
请指点指点,谢谢了。对于这块是偶是摸索学习中
{
int nTotalLength; // 该分片报文长度,减去IP头信息即为分片IP负载长度
int nFrameOffset; // 在原始IP报文中的Frame Offset
int nBufSize; // pBuffer指向数据长度
unsigned char* pBuffer; // 缓存Ip分段数据
ST_IP_SAR_BUFFER()
{
nTotalLength = 0;
nFrameOffset = 0;
nBufSize = 0;
pBuffer = NULL;
}
};
struct _IP_FRAGMENT_LIST
{
int nOriginalDatagramLength;
_IP_SAR_BUFFER IpFragment;
_IP_SAR_BUFFER* pNext;
//_IP_SAR_BUFFER* pPrev;
};
请指点指点,谢谢了。对于这块是偶是摸索学习中
要不然你这里分了,别的路由器怎么识别?直接看看linux里面ip分片的那些代码,呵呵
这倒不是。IP分片重组和设备无关,是逻辑层面的分析。数据协议分析需要对IP分片进行reassemble然后进行UDP/TCP...分析