我们可以大致看出数据在IPv4协议中的流向,
接收报文
设备驱动处理完硬件介绍到的数据后,IPv4协议的ip_rcv函数(net_receive_skb调用)得到了属于IPv4的报文,接着调用ip_rcv_finish对报文进行分析。判断是该转发还是交付本地上层协议。
如果是本地报文,则传给ip_local_deliver处理,如果是转发,那就交付ip_forward进行转发处理。
发送报文
对于接收到的属于转发的报文(来自ip_forward_finish)以及L4层传下来的报文,需要进行分析后传给...
分类:
系统相关 时间:
2015-05-13 16:48:26
阅读次数:
166
tcp选项TCP_DEFER_ACCEPThttp://blog.chinaunix.net/uid-23207633-id-274317.html之前在项目测试的时候,如果第三次握手发完裸ack(没有数据)之后不发送数据的时候,连接状态一直为SYN_RCV,而且服务端重传synack,当时很不解,...
分类:
其他好文 时间:
2015-05-05 12:20:22
阅读次数:
119
之前对于TCP接收过程中的三个队列的关系之前没搞清楚。这几天,在同事邱的帮助下,终于把关系理清了,故特此做个笔记。一、在软中断中加入数据包1615 int tcp_v4_rcv(struct sk_buff *skb)1616 {1617 const struct iphdr *ip...
分类:
其他好文 时间:
2015-04-01 19:38:14
阅读次数:
372
简述: 在TCP协议中影响数据发送的三个因素分别为:发送端窗口值、接收端窗口值和拥塞窗口值。本文主要分析MPTCP中各个子路径对接收端窗口值rcv_wnd的处理。接收端窗口值的初始化 根据《MPTCP 源码分析(二) 建立子路径》中描述服务端在发送完SYN/ACK并接收到ACK的时候建立新的so.....
分类:
其他好文 时间:
2015-03-11 16:38:50
阅读次数:
197
软件流量使用数据保存在 /proc/uid_stat/uid(用户id)/ 下面文件中
/proc/uid_stat/uid/tcp_send 上传流量
/proc/uid_stat/uid/tcp_rcv 下载流量
关键代码如下:
//1.获取一个包管理器。
PackageManager pm = getPackageManager();
//2...
分类:
移动开发 时间:
2014-12-02 15:20:42
阅读次数:
286
转载自:http://blog.sina.com.cn/s/blog_628cc2b70101dbyy.html一、查看原理:某个应用的网络流量数据保存在系统的/proc/uid_stat/$UID/tcp_rcv文件中。二、步骤:(1)获取当前应用的pid:通过ps命令查看当前应用的进程id,比如...
分类:
移动开发 时间:
2014-09-28 17:06:23
阅读次数:
169
http://www.cnblogs.com/songdavid/articles/2067534.html调用EBS标准API的时候,可能会返回一些让人看不懂的错误,比如最近我在开发rcv_transaction_interface的时候,数据卡在接口表里没有过去,但是返回的错误令人费解。例如如下...
分类:
数据库 时间:
2014-09-27 12:29:19
阅读次数:
241
Table of Contents1 tcp_v4_connect()2 sys_accept()2.1 tcp_accept()3 三次握手3.1 客户端发送SYN段3.2 服务端接收到SYN段后,发送SYN/ACK处理3.3 客户端回复确认ACK段3.3.1 tcp_rcv_synsent_st...
分类:
其他好文 时间:
2014-08-05 13:53:39
阅读次数:
462