随笔分类 - 网络
就是各种协议了
摘要:网络总共有两个窗口需要处理,第一是滑动窗口,第二是拥塞窗口。 1、使用sock设置的缓冲区的大小,发送缓冲区的大小和发送窗口 通过TCP_mmem设置的内存的大小应该是和接收端大小强相关的,如果发送端缓冲区还达不到接收窗口的话,那么程序的数据产生速度可能就赶不上数据发送的速度了,那么tcp的三个发送
阅读全文
摘要:sk_wmem_queued是目前发送缓冲区的量 tcp_trim_head 把这快内存给去掉, 什么时候会加入到内存里呢?__tcp_add_write_queue_tail, skb里的内存是啥? 是如何确认发送缓冲区的,发送缓冲区 sk_wmem_free_skb 当接收到了ack之后,整个s
阅读全文
摘要:初始的三次握手: 02:52:36.585412 IP 127.0.0.1.59764 > 127.0.0.1.8000: Flags [S], seq 3800457532, win 43690, options [mss 65495,sackOK,TS val 1597305 ecr 0,nop
阅读全文
摘要:707 void tcp_init_xmit_timers(struct sock *sk)708 {709 inet_csk_init_xmit_timers(sk, &tcp_write_timer, &tcp_delack_timer,710 &tcp_keepalive_timer);711
阅读全文
摘要:1、系统中的父子进程关系,以及docker是如何处理的这种父子进程关系,线上问题发现,子进程长时间得不到退出。 2、调用system系统调用发生了啥事情,发现大量的页表拷贝。 3、通过shell命令通过tid得到pid 4、如何使用tcpdump看数据包的传输 5、stap中如何得到用户态的栈 6、
阅读全文
摘要:net_device下面 { struct QDISC qdisc } 所以这里网络,也就是是说每个一个网卡都有一个qdisc队列,从tc qdisc中似乎也能看到端倪,每个网卡上都会有一个默认的排队规则,其中我的无线网卡上的排队规则就是pfifo_fast,有线网卡是只有一条规则,一些虚拟网卡上:
阅读全文
摘要:发送数据包的时候,用户态的数据包是如何拷贝到内核的kiovec msghd 结构体 icmp是走sock吗? 每一个skb_buffer的大小都是固定的吗?所以有skb_available这样的函数 skb->end和skb->tail有什么区别?end tail reserved_room end
阅读全文
摘要:ip_deliver_local函数中函数中完成合并 听过netfilter框架中也会 因为net_filter框架需要感知到第四层的信息,但是单个数据包是无法感知到这些信息的,所以需要在netfilter框架中合并数据包,
阅读全文
摘要:https://blog.csdn.net/qinyushuang/article/details/46611709 tc实际操控网络的流量 解释网络tc的架构,从架构上分析tc,与netfilter架构对比: https://www.cnblogs.com/yxwkf/p/5424383.html
阅读全文
摘要:ip_local_out->OUTPUT->dst_out->ip_output-> POSTROUTING -->ip_output_finish 上面的路径中啊,在OUTPUT和POSTROUTING之间的都没有发生什么新事情,设置了两个地方一个是skb->dev,一个是skb->protoco
阅读全文
摘要:udp->ip & tcp->ip udp到ip层是:ip_send_skb tcp到ip层是: ip_queue_xmit 拿tcp为例,在使用【ip_queue_xmit, ip_local_out】在这个函数区间之内,数据包的IP数据包就已经确定下了: ip_queue_xmit From S
阅读全文
摘要:虚机中的地址:192.168.0.110 PC机的地址是: 192.168.0.1 设置PC机的sudo iptables -t nat -I POSTROUTING -s 192.168.0.1 -d 192.168.0.110 -j SNAT --to-source 192.168.1.1 然后
阅读全文
摘要:从昨天晚上开始,我就立志要把RCU拿下,昨晚加今天早上看了RCU的东西,太细节的原理我就不扣了,放弃,知道RCU是怎么用的就可以了,赶紧看文件系统中dcache的管理了。 说说RCU,RCU其实是很简单,读者在读之前rcu_read_lock(); 以此来关闭本CPU上的抢占;然后读者用rcu_de
阅读全文
摘要:A qumu ethA1 B 宿主机 ethA2 ethC2 C 树莓派 ethC1 在A和C中都是直接sudo route add default dev ethA1/ethC1 这样做是有问题的,相当于仅仅是让包从ethA1和ethC1中发出去了,此时如果是访问A2和C2当然是没有问题的,但是如
阅读全文
摘要:https://blog.csdn.net/beckdon/article/details/15815197 sudo ifconfig eth0:0 192.168.0.110/24 删除虚拟IP地址 sudo ip addr del 192.168.0.110 dev lo
阅读全文
摘要:看网上一篇教程啊,说LVM使用的就是在回环地址上绑定了IP地址,然后设置arp_filter和arp_ignore来达到负载均衡的目的,于是就自己把本地的回环地址给改掉了,改成了一个随便的值:192.168.3.110,然后发现访问不了外网了,用wireshark抓包发现是因为DNS解析失败,然后发
阅读全文
摘要:1)机器上有好几个IP地址,如何让网卡只接收自己IP地址的数据包; 如何只接收自己网卡的数据包 http://www.cnblogs.com/honpey/p/8447819.html 相关的配置arp_filter和arp_ignore这两个参数是干嘛的? 设置arp_ignore就好,这里控制的
阅读全文
摘要:如何用ssh实现端口的映射? 为了解决什么问题,应该就是ssh服务器程序在22号端口监听,难道这就是用软件实现了 实现隧道的方法真是有好几种,包括使用ssh,包括使用tap,或者使用ssh都是可以的,今天试验下如何使用ssh实现隧道功能。 测试程序在 codebox/net/sock/inet/se
阅读全文
摘要:netstat -aon /proc/net/tcp /proc/net/udp /proc/net/unix 相关的代码是:tcp4_seq_show(struct seq_file *file, void *v),函数执行 established_get_first listening_get_
阅读全文
摘要:ifstat查看网卡流量的原理:读的是哪个/proc/ 接口啊 同diskIO一样,网络的IO也同样有统计计数的,是/proc/net/dev一个典型的输出就是这个样子的: 看下这里的收包的频率和发送的频率到底是啥样子的 更新网卡接受接受数据:ieee80211_rx_stats ieee80211
阅读全文
浙公网安备 33010602011771号