- 主页 > 生活百科 > >
network的命名空间问题主要在于,每个协议模块的xx_net私有结构不仅是一个,而是由内核全局决定的,即每注册一个新的用户(有点像虚拟机机制),就分配一个新的xx_net结构,这样多用户间可以用参数相同的socket连接,但却指向不同的socket, 可以看到socket的操作,都会有个net参数,就是为了这个作用,主要实现函数在namespace.c中 在Linux协议栈中引入网络命名空间,是为了支持网络协议栈的多个实例,而这些协议栈的隔离就是由命名空间来实现的(有点像进程的线性地址空间,协议栈不能访问其他协议栈的私有数据) 。需要纳入命名空间的元素包括进程,套接字,网络设备 。进程创建的套接字必须属于某个命名空间,套接字的操作也必须在命名空间内进行,网络设备也必须属于某个命名空间,但可能会改变,因为网络设备属于公共资源<~/include/net.h> 在内核中引入命名空间工作量非常大. 为了保持与向后兼容,网络系统在初始化的时候只初始化了一个命名空间,即init_net命名空间 。所有的命名空间通过list项组织起来 。每个网络设备都对应有一个命名空间 。命名空间下的所有网络设备通过dev_base_head组织在一起
推荐阅读
-
-
-
逮住好吃的不放筷!济南两伙窃贼互不相识,盯着同一地下室偷了半个月
-
-
-
-
爱游戏的萌博士机票、金矿石都能复制?《集合啦!动物森友会》邮箱出现bug
-
-
红薯|吃了二十多年的红薯, 这种做法第一次见, 比肉还香还美味
-
【扒姐的高跟鞋】并非人人合适,这三类身材千万不要穿男友风西装,男友风西装酷帅
-
-
#智东西#还能制作风暴动画,苹果收购的天气App有多特别?AI精准预测天气
-
-
港股|三次敲钟的俞敏洪,最新身价285亿,新东方市值却难敌好未来
-
nba|马龙:对阵快船是极大的挑战,他们是夺冠大热门
-
-
宋江|宋江手下唯一有史可查的败家子,却圆了宋江不敢想的皇帝梦
-
-
-
芯片|哈啰电动车发布自研智能平台图灵T30:充电15分钟 能骑70公里