摘要: 1、TCP数据段格式 TCP是一种可靠的、面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后,在此连接上,被编号的数据段按序收发。同时,要求对每个数据段进行确认,保证了可靠性。如果在指定的时间内没有收到目标主机对所发数据段的确认,源主机将再次发送该数据段。 如图1所示,是TCP头部结构(RFC 793、1323)。 图1 TCP头部结构 ●源、目标端口号字段:占16比特。TCP协议通过使用"端口"来标识源端和目标端的应用进程。端口号可以使用0到65535之间的任何数字。在收到服务请求时,操作系统动态地为客户端的应用程序分配端口号。在服务器端,每种... 阅读全文
posted @ 2013-10-30 16:54 新绿 阅读(12777) 评论(0) 推荐(0) 编辑
摘要: 一:原理当发送IP包时,需要计算IP报头的校验和:1、把校验和字段置为0;2、对IP头部中的每16bit进行二进制求和;3、如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值;4、 将该16bit的值取反,存入校验和字段。当接收IP包时,需要对报头进行确认,检查IP头是否有误,算法同上2、3步,然后判断取反的结果是否为0,是则正确,否则有错。二:实现SHORT checksum(USHORT* buffer, int size){ unsigned long cksum = 0;while(size>1) { ck 阅读全文
posted @ 2013-10-30 16:49 新绿 阅读(1738) 评论(0) 推荐(0) 编辑