Linux网络子系统是Linux操作系统中一个非常重要的组成部分,它负责处理网络通信和数据传输相关的工作。其中,红帽作为一家知名的Linux发行版供应商,对Linux网络子系统的发展和优化做出了重要贡献。 红帽公司深知网络对于当今的计算机系统来说是至关重要的,特别是对于企业级用户而言。因此,红帽一直致力于改进Linux网络子系统的性能和稳定性,以确保用户能够获得最佳的网络体验。 在红帽的努力下
操作系统安装完毕,就要对网络子系统进行调优。对其它子系统的影响:影响CPU利用率,尤其在有大量TCP连接、块尺寸又非常小时,内存的使用会明显增加。  如何预防性能下降  如下的sysctl命令用于改变安全设置,但是它也可以防止网络性能的下降。这些命令被设置为缺省值。  ◆关闭如下参数可以防止黑客对服务器IP地址的攻击  sysctl -w net.ipv4.conf.eth0.accept_sou
转载 精选 2016-01-11 23:02:50
629阅读
于: ://.cnblogs.com/chd-zhangbo/p/5160492.html 1.选择路由 若要将数据包发至PC2,则linux系统通过查询路由表可知168.1.1.10(目的地址)的网关地址为192.168.1.1,此时linux系统选择网卡1发送数据包。 2.邻居
转载 2017-01-14 00:56:00
130阅读
2评论
在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多,或者即使考虑到性能的问题,但是却发现没有合适的手段去测试网络的性能。 当开发出一个网络应用程序后,我们会发现,在实际的网络环境使用中,网络应用程序的使用效果不是很理想,问题可能出现在程序的开发上面,也有可能由于实际的网络环境中存在着瓶颈。面对这种问题,程序员一般会一筹莫展,原因就在于不掌握一些网络性能测量的工具。 在本文中,首先介绍网络性能测量的一些基本概念和方法,然后结合 netperf 工具的使用,具体的讨论如何测试不同情况下的网络性能。
转载 精选 2014-03-02 12:53:57
394阅读
       
转载 2019-08-07 16:39:00
112阅读
2评论
一转眼毕业三年了,做网络也两年多了。在第一家公司有幸加入了AC快转组,参与开发了快转项目。快转项目是一个运行在cavium octeon 多核网络处理器上的SE程序。这是自己网络职业生涯的第一个项目,在开发项目中自己进步是飞快的,确实学到了不少东西。后来加入了现在这家创业初期的公司,跟几个牛人学到了不少东西。来公司后自己独立开发了在AC上的linux 内核中的wlan 多核快转项目。这个快转是运行
原创 2013-07-30 22:19:11
3474阅读
1点赞
1评论
1 基本介绍网络交换子系统由EMAC模块、SGMII模块、PHY设备、MDIO模块、网络交换机、以及系统集成的其他相关的子模块。NETCP的网络交换子系统的主要作用是提供一个在主设备和其他连接设备间进行数据传输的接口。网络交换子系统主要包括如下三个模块:Ø  网络交换部件Ø  MDIO模块Ø  两个SGMII模块(KeyStone I设备两个;KeyStone II设
原创 2018-07-25 13:02:38
2718阅读
嵌入式Linux子系统网络子系统网卡驱动分析【重要数据结构】 ​​struct net_device​​ :描述网卡驱动的结构 ​​struct net_device_ops​​:设备操作统一接口操作集 ​​struct sk_buff​​ :网络数据包描述结构,一般命名为skb网卡驱动架构分析《cs89x0.c》网卡驱动分析,早期使用的网卡芯片1. 初始化分析模块初始化入口:​​int __i
原创 2023-02-02 07:26:31
77阅读
//选项格式:// 1.type中指示该选项在分片时是否需要被拷贝// 2.ptr从1算起,1为type的位置// 3.len不包括type字段,其余都包括(len,ptr,选项内容)//type字段:
转载 2013-10-09 19:15:00
113阅读
2评论
//ip报头tos字段,一个字节 // 二进制位:[0 1 2] [3] [4] [5] [6] [7] // 1.[0 1 2] 表示优先级: // 000 路由 // 001 优先级 // 010 立即 // 011 火速 // 100 火速覆盖 // 101 紧急 // 110 互联网控制 // 111 网络控制 // 2.[3] 表示时延 // 0
转载 2013-10-11 15:40:00
347阅读
2评论
//ip分片加入到正确的ipq结构//调用路径:ip_defrag->ip_frag_queue// 处理过程:// 1.正在被释放的ipq,不处理新加入的分片(ipq正在被释放由last_in设置COMPLETE指出)// 2.处理分片的合法性// 2.1当该封包为最后一个分片时// 2.1.1如果之前没有接收到最后一个分片,则该分片在总有效载荷中的结尾位置需要大于等于以推测出的最大长度// 2.1.2如果之前已经接收到最后一个分片,则该分片在总有效载荷中的结尾位置需要等于之前接收到的最后一个分片给出的结尾位置// 2.2结尾位置对齐到8字节边界,截去多余的字节,希望...
转载 2013-10-14 09:19:00
107阅读
2评论
//调用路径:ip_defrag->ip_evictor// 分片重组时,可使用内存上下限:// 1.sysctl_ipfrag_high_thresh 可用内存上限// 2.sysctl_ipfrag_low_thresh 内存超过上限后,需要释放内存到此限1.1 static void ip_evictor(void){ struct ipq *qp; struct list_head *tmp; int work; //计算需要释放的内存 work = atomic_read(&ip_frag_mem) - sysctl_ipfrag_low_thresh; if (wor
转载 2013-10-12 22:34:00
56阅读
2评论
//为分片确定正确的ipq结构// 定位5元组 // 1. 可通过ip报文获取// 2.user 通过ip_defrag给出,指出重组是由谁发起的,最常见的时IP_DEFRAG_LOCAL_DELIVER,当重组的入口分包要传递给本地时// ipq中所有分片最迟完成重组的时间为30HZ1.1 static inline struct ipq *ip_find(struct iphdr *iph, u32 user){ //定位4元组 __u16 id = iph->id; __u32 saddr = iph->saddr; __u32 daddr = iph->daddr;
转载 2013-10-14 09:58:00
104阅读
//调用路径ip_rcv->ip_rcv_finish->dst_input->(skb->dst->input) //ip_forward以回调函数的形式,保存在skb->dst->input,input在通过ip_route_input路由封包时被设置 //函数的主要任务: // 1.更新ttl // 2.如果路由被重定向,则向发送方发送icmp重定向
转载 2013-10-11 14:25:00
46阅读
2评论
转自:http://linux.chinaunix.net/techdoc/net/2007/01/30/949381.shtml R.wen (rwen2012@126.com)1),Skb_buff/* To allow 64K frame to be packed as single skb
转载 2016-04-12 18:06:00
63阅读
2评论
 因为协议族和协议都是用户在创建socket时指定的,所以相比系统初始化和模块初始化,socket创建的过程要复杂一些。下面我们先来看一下socket的创建过程:   从上图(我画的是一种类似于时序图的图)中可以看出,socket的创建过程是纵向的,因为它要把几个层中的接口串在一起使用。socket初始化最多就涉及到proto接口层。 下面我们就按照调用顺序来分
原创 2010-11-28 10:37:09
1236阅读
1点赞
本文从代码上讲解了linux 内核软中断的实现原理和实现细节。
原创 2013-07-30 21:49:09
3530阅读
2点赞
1网络子系统性能调优3.1调优简介3.2常用性能监测工具3.3优化方法1.1调优简介调优思路本章主要是围绕优化网卡性能和利用网卡的能力分担CPU的压力来提升性能。在高并发的业务场景下,推荐使用两块网卡,减少跨片内存访问的次数。即将两块网卡分别绑定在服务器的不同CPU上,每个CPU只处理对应的网卡数据。高并发场景还可以为网卡选择x16的PCIE卡。高并发场...
原创 2021-05-25 10:10:16
1051阅读
网络启动初始化函数入口为net/socket.c:2200:socket_init() static int __init sock_init(void) {         /*      &nbs
原创 2010-11-24 09:54:48
534阅读
1点赞
3评论
  • 1
  • 2
  • 3
  • 4
  • 5