- 主页 > 生活百科 > >
network的命名空间问题主要在于,每个协议模块的xx_net私有结构不仅是一个,而是由内核全局决定的,即每注册一个新的用户(有点像虚拟机机制),就分配一个新的xx_net结构,这样多用户间可以用参数相同的socket连接,但却指向不同的socket, 可以看到socket的操作,都会有个net参数,就是为了这个作用,主要实现函数在namespace.c中 在Linux协议栈中引入网络命名空间,是为了支持网络协议栈的多个实例,而这些协议栈的隔离就是由命名空间来实现的(有点像进程的线性地址空间,协议栈不能访问其他协议栈的私有数据) 。需要纳入命名空间的元素包括进程,套接字,网络设备 。进程创建的套接字必须属于某个命名空间,套接字的操作也必须在命名空间内进行,网络设备也必须属于某个命名空间,但可能会改变,因为网络设备属于公共资源<~/include/net.h> 在内核中引入命名空间工作量非常大. 为了保持与向后兼容,网络系统在初始化的时候只初始化了一个命名空间,即init_net命名空间 。所有的命名空间通过list项组织起来 。每个网络设备都对应有一个命名空间 。命名空间下的所有网络设备通过dev_base_head组织在一起
推荐阅读
-
-
-
-
-
-
字条|杭州姑娘出租屋内惊现“温馨”字条,看完监控头皮发麻......
-
-
近视眼两只眼睛都能分别看清,但是两只眼睛一起看就看不清,为啥
-
「医院」【你有多美】四川第一批138人援助湖北医疗救援队出发
-
-
-
-
「步步高vivo」出门不用带镜子 真机欣赏:vivo X30系列alexanderwang联名限定版
-
小勇看世界|想低调处理,为何大半个娱乐圈明星都来了,曾志伟老婆朱锡珍去世
-
-
西安|充满仪式感,西安一小学重现古代入泮礼,重现古代开学典可以弘扬传统文化
-
果莓妈妈|宝妈深感疲惫,婆婆却说是爱妈妈的表现,儿子睡觉时需要摸着妈妈
-
文史星空|二郎神是八九玄功,悟空究竟不如在哪里?,孙悟空有72变
-
宸妤说娱乐那快递驿站靠什么挣钱?老板:一天500没问题,取快递是免费的
-
暴雪|暴雪发布新招聘信息 曝光疑似正在开发新《魔兽》手游