- 主页 > 生活百科 > >
network的命名空间问题主要在于,每个协议模块的xx_net私有结构不仅是一个,而是由内核全局决定的,即每注册一个新的用户(有点像虚拟机机制),就分配一个新的xx_net结构,这样多用户间可以用参数相同的socket连接,但却指向不同的socket, 可以看到socket的操作,都会有个net参数,就是为了这个作用,主要实现函数在namespace.c中 在Linux协议栈中引入网络命名空间,是为了支持网络协议栈的多个实例,而这些协议栈的隔离就是由命名空间来实现的(有点像进程的线性地址空间,协议栈不能访问其他协议栈的私有数据) 。需要纳入命名空间的元素包括进程,套接字,网络设备 。进程创建的套接字必须属于某个命名空间,套接字的操作也必须在命名空间内进行,网络设备也必须属于某个命名空间,但可能会改变,因为网络设备属于公共资源<~/include/net.h> 在内核中引入命名空间工作量非常大. 为了保持与向后兼容,网络系统在初始化的时候只初始化了一个命名空间,即init_net命名空间 。所有的命名空间通过list项组织起来 。每个网络设备都对应有一个命名空间 。命名空间下的所有网络设备通过dev_base_head组织在一起
推荐阅读
-
-
自主汽车网|Nikola创始人辞职并遭投资者诉讼;大众计划推ID.1;滴滴比亚迪联手推D1车型
-
-
-
第一心理|心理学研究显示:一个人的最佳寿命,在70岁到80岁之间
-
亦舒科技北斗三号卫星系统开通!vivo主线产品:全面支持北斗
-
体坛曾说过|曝中超降级名额将遭削减!仍升级2队或仅降1队或0.5队
-
中新经纬|央行:谋划好今后5年及更长时期内的金融高质量发展具体措施
-
芬姨的故事会|如今没钱想回国,还硬说:我是女排的,她被郎平栽培之后加入日本
-
-
邓文迪|54岁邓文迪穿低胸裙闪耀派对,脸塌了很显老,招待古爱凌吃饺子
-
受疫情影响上半年亏损近4000万,超华科技负债合计超18亿
-
-
-
-
影音星聊|1位被收费杆砸死,1位吃东西被噎死!,死法“最倒霉”的4位明星
-
-
小芳聊电影支付宝“杀熟”行动开始!上亿用户成“鱼肉”?网友:细思极恐
-
-
「emoji表情」为什么现在年轻人喜欢“以爷之名”?