随笔分类 -  TCP/IP

协议栈相关
摘要:1, 利用iptables在OUTPUT方向丢弃特定端口上的报文之后,再使用tcpdump是无法抓取该端口出方向的包的。原因是libpcap是从网卡驱动中获取报文的,而这些报文在没有送到网卡驱动之前,就已经在协议栈中被netfilter丢包了。 2, connect()调用block模式下,当发送的 阅读全文
posted @ 2017-12-18 17:54 lanyuliuyun 阅读(308) 评论(0) 推荐(0)
摘要:stun基本只是用于client探测NAT之后靠近stun server的外网地址,本身不包含应用数据通信的功能,其底层STUN协议通信多是基于UDP的。多个端点之间相互通过信令通道拿到彼此的NAT外网地址之后,就可以进行直接的P2P通,但可能因路由防火墙的规格太严格导致直接P2P通信不成功。 tu 阅读全文
posted @ 2017-09-04 16:28 lanyuliuyun 阅读(605) 评论(0) 推荐(0)
摘要:原文来自 ideawu构建C1000K的服务器(1) – 基础著名的C10K 问题提出的时候, 正是 2001 年, 到如今 12 年后的 2013 年, C10K 已经不是问题了, 任何一个普通的程序员, 都能利用手边的语言和库, 轻松地写出 C10K 的服务器. 这既得益于软件的进步, 也得益于... 阅读全文
posted @ 2015-12-09 21:44 lanyuliuyun 阅读(439) 评论(0) 推荐(0)
摘要:下午验证一个高流量发包问题时,发现了一个值得记录的问题:socket的收发buffer尺寸是会影响收发包的效率的,高流量通讯时,若socket的收发buffer尺寸过小会一定程度降低收发包效率。自己先分别获取了一下Windows/Linux系统中默认的收发包尺寸值在x86 Win7环境里实际程序验证... 阅读全文
posted @ 2015-08-15 16:32 lanyuliuyun 阅读(5841) 评论(0) 推荐(0)
摘要:这几天写GB28181平台接入层代码,对收到的PS包进行解包时,总是出现误码,最终导致rtsp点播服务中画面花屏。分析了码流抓包数据之后,发现网络上没有丢包,遂认为PS流解包代码有bug,于是埋头分析了2个小时的解包函数后,没有发现问题。将抓包RTP负载中的PS包数据导出之后,专门利用PS解包代码写... 阅读全文
posted @ 2015-05-20 20:25 lanyuliuyun 阅读(2955) 评论(1) 推荐(0)
摘要:最近完成了一RTSP代理网关,这是第二次开发做RTSP协议相关的开发工作了,相比11年的简单粗糙的版本,这次在底层TCP/IP通讯和RTSP协议上都有了一些新的积累,这里记录一下。基本的RTSP协议交互流程去读rfc2326就可以了,这里就不赘述了。这里说一些实际用VLC/MPlayer进行测试时,... 阅读全文
posted @ 2014-11-30 21:36 lanyuliuyun 阅读(1367) 评论(0) 推荐(0)
摘要:基于Linux-2.6.30版本,具体实现net\ipv4\netfilter目录下,入口文件为net\ipv4\netfilter\iptable_filter.c,入口/出口函数为模块的init函数iptable_filter_init()和uninit函数iptable_filter_fini... 阅读全文
posted @ 2014-07-14 11:55 lanyuliuyun 阅读(2146) 评论(0) 推荐(0)
摘要:主动建立TCP链接情况:被动建立TCP链接情况主动断开链接的情况被动断开连接的情况在TIME_WAIT阶段需要停留2倍的MSL,MSL即Maximum Segment Lifetime,表示任何报文被丢弃前在网络内的最长时间,TCP/IP详解中额外注解了:RFC793指出MSL为2min,然而实现中... 阅读全文
posted @ 2014-06-28 21:19 lanyuliuyun 阅读(320) 评论(0) 推荐(0)
摘要:阿里核心系统团队博客http://csrd.aliapp.com/?p=1055记录了主动关闭TCP socket时,可能不发fin包,而是发rst的问题。其原因是主动关闭socket时,若接收buffer里还有报文尚未收取,则本段将以rst包替代正常情况下的fin包。详细的代码在net/ipv4/... 阅读全文
posted @ 2014-06-11 23:22 lanyuliuyun 阅读(667) 评论(0) 推荐(0)