TCP/IP
文章平均质量分 82
nphyez
我们只被自己定义!
展开
-
Linux非阻塞connect方法(二)——问题总结
1. 非阻塞socket可调用fcntl或ioctl设置2.connect的返回值 非阻塞connect返回-1,并不一定是连接失败,可能是连接过程未完成,此时errno为EINPROGRESS,可通过select检查连接何时完成3. select的返回值 1)-1,表示select出错,可以关闭socket,重新发起连接过程 2)0,表示select超时,此原创 2013-08-30 11:26:31 · 2821 阅读 · 0 评论 -
集线器(HUB)、交换机、路由器的区别?
到现在也没有说很明白它们的区别,弱爆了!!原创 2015-03-25 14:58:39 · 622 阅读 · 0 评论 -
route add常用命令解析
route add -host 20.6.8.28 gw 108.8.1.199添加路由,到主机20.6.8.28的所有数据都通过网关108.8.1.199转发route add 10.41.0.0 mask 255.255.0.0 10.27.0.1添加路由,指定到目标网段10.41.0.0的数据,其下一跃点地址为10.27.0.1route change 10.41.0.0 m原创 2014-12-23 10:53:55 · 4132 阅读 · 0 评论 -
IP首部结构及组包算法分析
原创 2013-10-30 10:38:07 · 2129 阅读 · 0 评论 -
Checksum: 0x7259 [incorrect, should be 0x0a75 (maybe caused by "TCP checksum offload"?)]
今天在分析一个TCP DUP ACK的问题时,发现Server端的Wireshark抓包出现下面的错误: Checksum: 0x7259 [incorrect, should be 0x0a75 (maybe caused by "TCP checksum offload"?)] 在网上查找原因,基本认为是网卡帮助Tcp协议栈处理了校验和从而发生的错误。本身校验原创 2013-10-30 10:18:42 · 4195 阅读 · 0 评论 -
用setsockopt()来控制recv()与send()的超时
在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制。需要注意的是,在Linux下时间的控制结构是struct timeval而并不是某一整型数。 以下是来自于网上一篇文章中的摘录,它是这样写的: int nNetTimeout=1000;//1秒 //设置发送超时 setsockopt(so转载 2013-10-22 18:52:56 · 912 阅读 · 0 评论 -
IP/TCP/UDP校验和的计算
1. 校验和ICMP,IP,UDP,TCP报头部分都有checksum(检验和)字段。IP 首部里的校验和只校验首部;ICMP、IGMP、TCP和UDP首部中的校验和校验首部和数据。1)IP头长度为20字节,IP校验和只对IP协议头进行计算。UDP协议头为8字节:0 7 8 15 16 23 24 31+--------+--------原创 2013-10-11 10:04:36 · 3393 阅读 · 0 评论 -
字节序与网络字节序
转自:http://www.blogjava.net/Todd/archive/2010/04/15/318387.html字节序在计算机科学领域中,字节序是指存放多字节数据的字节(byte)顺序,不同的CPU的字节序类型可能不同。最常见的两种字节序是1)小端(Little endian): 将低位字节存储在内存的高位2)大端(Big endian) :将高位字节存储在内存的低位转载 2013-08-30 14:13:11 · 764 阅读 · 0 评论 -
Linux socket非阻塞connect方法(一)
Linux非阻塞connect方法(linux non-blocking socket connect)原创 2013-08-24 15:11:17 · 42184 阅读 · 4 评论