ICMP协议的效验码计算
来源:互联网 发布:c语言中的库函数system 编辑:程序博客网 时间:2024/05/16 06:55
ICMP全名Internat Control Message Protocol。从技术来看,ICMP 就是一个“错误侦测和回报机制,主要用来测试网络是否联通。是否连接到指定地址。
其主要功能有:
侦测远端主机是否存在。
建立及维护路由资料。
重导资料传送路径。
资料流量控制。
ICMP协议的校验和算法 unsignedshortchksum(addr,len) unsignedshort*addr;/*校验数据开始地址(注意是以2字节为单位)*/ intlen;/*校验数据的长度大小,以字节为单位*/ { intsum=0;/*校验和*/ intnleft=len;/*未累加的数据长度*/ unsignedshort*p;/*走动的临时指针,2字节为单位*/ unsignedshorttmp=0;/*奇数字节长度时用到*/ while(nleft>1) { sum+=*p++;/*累加*/ nleft-=2; } if(nleft==1)/*奇数字节长度*/ { *(unsignedchar*)&tmp=*(&(unsignedchar*)p);/*将最后字节压如2字节的高位*/ sum+=tmp; } sum+=(sum>>16)+(sum&0xffff);/*高位低位相加*/ sum+=sum>>16;/*上一步溢出时,将溢出位也加到sum中*/ tmp=~sum;/*注意类型转换,现在的校验和为16位*/ returntmp; }
0 0
- ICMP协议的效验码计算
- 循环冗余计算的效验码
- ICMP协议的禁止
- ICMP协议的PING程序
- 14、ICMP协议的主要功能
- IP/UDP/TCP/ICMP数据报协议的校验和的区别和计算
- 网络数据包效验和(checksum)的计算
- 网络数据包效验和(checksum)的计算
- ICMP协议
- ICMP协议
- ICMP协议
- icmp协议
- ICMP协议
- ICMP协议
- ICMP协议
- ICMP协议
- ICMP协议
- ICMP协议
- Thread学习总结
- nologging使用
- HDU解题报告——1038
- cocos2dx 新方法 实现多线程加载plist功能
- 牛刀小试(二)——简单 的java “我行我素”购物管理系统
- ICMP协议的效验码计算
- ThinkPHP3.2.1代码示例-仅供PHP新手入门
- JavaSE0002_Java编程语言运行机制
- 第三周作业
- php操作mysql(封装mysql类)
- Can't create handler inside thread that has not called Looper.prepare()
- hdu1561,树形dp+背包
- int
- 【DP】Palindrome Partitioning II