第2章+TCPIP协议分析-3+网际协议.ppt

网 络 协 议 第2章 TCP/IP协议分析 TCP/IP协议族 编址与地址解析 网际协议 网际控制消息协议 IP路由协议 IP组播协议 传输层协议 应用层协议 在发送数据时,按如下步骤: (1)把IP数据报的首部校验和字段置为0。 (2)把首部看成以16位为单位的数字组成,依次进行二进制反码求和。 (3)把得到的结果存入校验和字段中。 在接收数据时,按如下步骤: (1)把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段。 (2)检查计算出的校验和的结果是否等于零。 (3)如果等于零,说明被整除,校验是和正确。否则,校验和就是错误的,协议栈要抛弃这个数据包。 USHORT checksum(USHORT *buffer, int size) { unsigned long cksum=0; while (size 1) { cksum+=*buffer++; size -=sizeof(USHORT); } if (size ) { cksum += *(UCHAR*)buffer; } cksum = (cksum 16) + (cksum 0xffff); cksum += (cksum 16); return (USHORT)(~ck

文档评论(0)

1亿VIP精品文档

相关文档