Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

在inet_peer/tcp_metrics_hash中记录通往一个IP地址的链路状况历史的metrics信息

我需要在内核中记录一张标识IP层二元组(源IP/目标IP)流的流表!要这个干什么呢?因为我需要记录一条端到端路径的链路状况,比如TCP的拥塞窗口设置到哪里合适,比如RTT的波动范围,如此等等。这些信息非常重要,它可以指导当这条路径再次发生TCP连接的时候,TCP的拥塞参数如何配置,这些信息也是大数...

2016-07-30 10:02:13

阅读数:2660

评论数:1

关于TCP的CLOSING状态和CLOSE_WAIT状态浅析(附带一个2.6.32内核tun驱动BUG定位)

很多资料讲了关于TCP的CLOSING和CLOSE_WAIT状态以及所谓的优雅关闭的细节,多数侧重与Linux的内核实现(除了《UNIX网络编程》)。本文不注重代码细节,只关注逻辑。所使用的工具,tcpdump,packetdrill以及ss。        关于ss可以先多说几句,它展示的信息跟...

2016-07-30 08:39:46

阅读数:4913

评论数:0

从一个TCP抓包的例子看流量整形-概述

一个单向的TCP数据流从数据发送端到数据接收端之间,会经历什么?我的答案是,可能会有大不同!通过抓包来看那是最真实的情况,首先通告一下,发送端的拥塞窗口的值为60个MSS,这个是在抓包中看不出来的。我们先看发送端的情况,且看下面的抓包分析:发送端在既不超越拥塞窗口也不超越通告窗口的前提下持续发送数...

2016-07-26 22:51:47

阅读数:4053

评论数:2

TCP零窗口更新与超时重传联合优化的packetdrill确认

早先写了一篇《关于TCP Zero Window Update感知的非常棒的优化》,大意是当数据接收端由于缓冲区配额问题导致丢包时,发送端是无法区分这种情况和拥塞丢包的,最终的结果依然是超时退避重传,在接收端发送窗口更新并被发送端收到的时候,这个窗口更新不会打扰正在退避重传中的逻辑,如果有退避等待...

2016-07-24 10:08:16

阅读数:4040

评论数:0

pcapng文件的python解析实例以及抓包补遗

正文为了弥补pcap文件的缺陷,让抓包文件可以容纳更多的信息,pcapng格式应运而生。关于它的介绍详见《PCAP Next Generation Dump File Format》        当前的wireshark/tshark抓取的包默认都被保存为pcapng格式。        形而上...

2016-07-23 19:10:43

阅读数:11170

评论数:3

pcap文件的python解析实例

最近一直在分析数据包。同时也一直想学python。凑一块儿了...于是,便开工了。座椅爆炸!正文首先要说的是,我知道python有很多解析pcap文件的库,这里不使用它们的原因是为了理解pcap文件的格式细节。使用tcpdump你可以很容易抓取到一系列的数据包,然而tcpdump并没有分析数据包的...

2016-07-23 18:44:31

阅读数:41932

评论数:0

年轻人千万别让老司机把你带到坑里

最近一直在脑补关于老司机的问题,突然就想到了谋起车祸中报道”X师傅是拥有xx年驾龄的老司机...“结果,结果还是翻到坑里了,而且自己翻车了不算,还带翻了一车的人...好吧,我们步入正题!       刚毕业的同学们,又到了毕业季,在携带些许伤感觥筹交错的离别之后,我想大部分同学们都已经找到了心仪的...

2016-07-23 18:18:59

阅读数:5023

评论数:3

Linux 3.6版本内核后关于路由cache的一个优化

Linux 3.6内核去掉了路由cache的支持,这件事众口难调。也许你会记得路由cache给你带来的各种好处,也许你已经注意到去掉了路由cache支持后fn_trie_lookup在perf top中显示的比重是多么地高,然而不管怎样,社区的人总是能告诉你100个路由cache下课的原因。如果你...

2016-07-18 21:58:47

阅读数:4914

评论数:1

关于CentOS 6.7之一个TCP重传细节的证实

如果你真的就看完了《packetdrill框架点滴剖析以及TCP重传的一个细节》,我觉得你应该有一个疑问,那就是RH发行版使用的2.6.32内核真的使用了PRR降窗算法吗?为此,我把故事再撸一遍。        按照标准的2.6.32内核,第一次收到SACK的时候,在进入重传之前,拥塞窗口的值应该...

2016-07-18 21:45:39

阅读数:4954

评论数:0

packetdrill框架点滴剖析以及TCP重传的一个细节

本来周末想搞一下scapy呢,一个python写的交互式数据包编辑注入框架,功能异常强大。然而由于python水平太水,对库的掌握程度完全达不到信手拈来的水平,再加上前些天pending的关于OpenVPN的事情,还有一系列关于虚拟网卡的事情,使我注意到了一个很好用的packetdrill,可以完...

2016-07-17 21:12:04

阅读数:4965

评论数:0

通过packetdrill构造的包序列理解TCP快速重传机制

TCP的逻辑是极其复杂的,其学习曲线虽然很平缓但其每一步都是异常艰难,好在这些都是体力活,只要肯花时间也就不在话下了。想彻底理解一个TCP的机制,有个四部曲:1.读与其相关的RFC;2.看Linux协议栈的TCP实现;3.通过抓包以及其它工具来确认事实就是如此;4.解决一个与之相关的网络问题。经历...

2016-07-16 10:46:16

阅读数:11019

评论数:2

关于TCP Zero Window Update感知的非常棒的优化

本文从“然而有一种丢包...”开始步入正题。此前的胡扯可以直接跳过。这个周末是搬入新家的第二个周末,感觉整个人比在罗湖时状态更加好了。也许这个房子的色调跟我上海的家更像吧...不管怎么说,这是我到深圳以后第一个感到振作的地方,以前曾经好几次都想离开了,但是这个家让我决定可以继续坚持。说实话我并不喜...

2016-07-09 08:58:13

阅读数:12888

评论数:2

关于“TCP segment of a reassembled PDU”

为什么大家看到这个以后总是会往MSS,TSO上联系呢?也许第一个解释这个的人是个高手,而且以MSS/MTU/TSO的观点解释了这个问题,还有一种可能就是TSO等技术让人觉得太牛逼,毕竟是底层硬件机制吧,抓包机制又是作用于网卡层面的,所以很自然会觉得TSO会有关联。        事实上,这个跟TS...

2016-07-02 09:02:03

阅读数:13655

评论数:3

独立双(N)拥塞窗口的TCP单边加速思想

让TCP以流水线方式工作靠谱吗?也许你听说过MPTCP,也许你听过P2P下载是多么的天下人为我而我负天下人。        如果我能将一个TCP流拆分成多个TCP流,理论上来讲传输速度会有很大的提升,因为TCP拥塞控制算法是必须携带公平性收敛特征的(不然paper不会通过...),TCP反馈系统会...

2016-07-02 07:54:51

阅读数:13400

评论数:1

提示
确定要删除当前文章?
取消 删除