- 主页 > 生活百科 > >
network的命名空间问题主要在于,每个协议模块的xx_net私有结构不仅是一个,而是由内核全局决定的,即每注册一个新的用户(有点像虚拟机机制),就分配一个新的xx_net结构,这样多用户间可以用参数相同的socket连接,但却指向不同的socket, 可以看到socket的操作,都会有个net参数,就是为了这个作用,主要实现函数在namespace.c中 在Linux协议栈中引入网络命名空间,是为了支持网络协议栈的多个实例,而这些协议栈的隔离就是由命名空间来实现的(有点像进程的线性地址空间,协议栈不能访问其他协议栈的私有数据) 。需要纳入命名空间的元素包括进程,套接字,网络设备 。进程创建的套接字必须属于某个命名空间,套接字的操作也必须在命名空间内进行,网络设备也必须属于某个命名空间,但可能会改变,因为网络设备属于公共资源<~/include/net.h> 在内核中引入命名空间工作量非常大. 为了保持与向后兼容,网络系统在初始化的时候只初始化了一个命名空间,即init_net命名空间 。所有的命名空间通过list项组织起来 。每个网络设备都对应有一个命名空间 。命名空间下的所有网络设备通过dev_base_head组织在一起
推荐阅读
-
-
三国两晋南北朝|雄霸天下的枭雄曹操他是如何走向成功的?
-
第21届香港—亚洲钢琴公开比赛(大湾区选拔赛)落幕
-
猴子的白日梦|你是我的荣耀78,好想向全世界宣布,陈情令忘羡现代向
-
谷火平连核武材料都敢偷,摩萨德特工究竟有多牛?只要以色列需要
-
-
-
『中超』中超6月22号开赛,鲁能一线队号码确定,10号暂无人选择!
-
河南日报|数字新基建支撑未来城市发展,郑州10天搭建7个数字防疫系统
-
-
-
国际足球|综合这段时间米兰的转会动向,自己总结出一个想法
-
-
-
装卸工■青岛发现2名装卸工人感染新冠病毒 属无症状感染者
-
幻想星空|看到她送的手表,李斯丹妮不淡定了,郑希怡的礼物才是最用心
-
谦虚谨慎|一位老僧说:福气降临前,往往有这3大征兆,要把握住
-
毒蛇:世界10大毒蛇,眼镜王蛇和黑曼巴蛇上榜,你有遇到过吗?
-
-