论坛主题

这个论坛貌似没多少人气啊?
由 linux-2009 在 周六, 2010-02-27 23:22 提交 IT人生版主绝对是linux内核的大牛,该版《网络内核》部分对我帮助很大,首先谢谢版主。想问下为何不翻译完啊?再次拜谢

多播中的源发现与接收组成员发现
由 senseb 在 周五, 2009-08-21 15:00 提交 网络协议栈呵呵~ 这几天研究一个多播的问题,主要是如何发现多播的发送方和组成员确定的问题,也就是多播的发送方想知道到底是哪些组成员会接受这个包,因为刚接触这个不久,就这个问题请教了久仰大名的droplet,呵呵~ 把邮件贴出来~~~
按照邮件的新旧顺序::)
----------------------------------------------------------------------------------------------------
droplet:你在router上snoop igmp应该可以得到所有的receiver的mac;在router上抓from souce的包,可以得到源的mac。从包里面是没法得到receiver的mac的。所以说,在router上抓包可以满足你的要求。
你能把这些邮件贴到kernelchina.org上吗,这样别人也可以学习一下,相同的问题就不用问多次了。
---------------------------------------------------------------------------------------------------
senseb: 那既然这样子是receiver能够接受到这个广播包,那么为何通过tcpdump看不到receiver接收到的这个包呢?
这几天看了一些多播的相应文档,但对多播理解还是不够。
我目前的多播的top图大体如下:
192.168.201.59 192.168.201.0/24 192.168.201.3
+--------+ +---------+ +----------+
| source |--------| router |--------| receiver1|
+--------+ +---------+ +----------+
|
|
| 192.168.201.58
+---------+
|receiver2|
+---------+
也就是说其中涉及到的计算机室属于同一个子网,连在一个交换机/路由器上。
可以给您描述下现在我的应用场景:
在一台计算机上有多个虚拟机存在,而上面的source receiver都是虚拟机,一台物理机器上可能有多个虚拟
机存在,那我现在就需要判断这些source和receiver是不是在同一台物理机器上,而这些虚拟机的mac地址都是
已知给定的,而在网络层就需要判断这些有哪些source和receiver是分布在同一台物理机器上的。也就是说需要
解析出这个多播的发送方和所有接收方的mac地址。
呵呵~ 大体是这样子的
---------------------------------------------------------------------------------------------------
droplet: Ip 层的多播映射到mac层的广播,mac地址是0x01xxxxxxxxxx,没有哪一个receiver会设置这个mac地址的,在以太网上,这就是一个广播包。Mlistener能收到包,说明发送接收没问题啊。不知道你想要的结果是什么样?听起来像是snooping,但不是很确定。
把你的拓扑贴出来,你想在什么地方抓包?
-------------------------------------------------------------------------------------------------
senseb: 最近在做一个关于如何在网络层透明截获多播的发送源和接收方的ip以及mac地址的小东西。在sf上看到您做的Multicast test suite项目,试着用了一下其中的多播发送和接收包的程序。有些方面不是很清楚,不知道能不能请教下您?
我测试中用到的网络top结构如下:(相当于您在http://www.kernelchina.org/?q=node/292 中提到的p2mp测试)
source: 192.168.201.59
receiver1: 192.168.201.58
receiver2: 192.168.201.4
其中主机都配置了其对ip多播的支持。
现在在receiver启动接收程序,source启动发送程序,其结果如下
这说明发送和接收都是成功的。
可是我用tcpdump程序截取网络中的发送和接收包时,却发现只能看到source的发包,以及对source对广播地址225.0.0.225的发送数据,无法看到receiver端接收到的数据,那是不是就是说receiver端没有成功接收到数据,可是在上面的图中分明receiver1已经接收到这个广播包了,不是吗?那样我能否成功在接收方监听到这个广播包呢?
p.s.:我目前的目的是在网络层透明截获多播的发送源和接收方的mac地址,不知道您认为上面的这个方法可以实现这个功能吗?您认为有什么另外的策略实现这个功能。
我的网络环境就是一个子网,比如说是192.168.201.0这个网络。
----------------------------------------------------------------------------------------
END.
p.s.:不知道怎么贴图的~~ 其中的图片不见了~ 呵呵~

高薪诚聘嵌入式Linux软件开发高级工程师
由 2009_zhao_pin 在 周五, 2009-08-07 21:16 提交 求职招聘为国内某著名通信设备公司高薪诚聘嵌入式Linux软件开发高级工程师。
职位描述:
1、作为主要人员参与公司产品系统设计,独立负责主要模块的功能详细设计
2、负责代码编写,相关测试及编写相关技术文档
职位要求:
1、计算机、电子、通信、自动控制等相关专业本科以上学历。英语四级。
2、本科三年以上,研究生二年以上的实际开发经验。
3、对Linux 系统有深入了解,精通Linux的C/C++ 开发。
4、精通Linux 应用系统开发、Linux 网络开发。
5、有嵌入式Linux终端软件开发经验者优先考虑。
6、有独立工作的能力,同时具有团队合作的精神。
7、有较强的事业心、责任感和质量意识。
8、对工作富有激情,追求卓越品质。
工作地域:深圳、武汉
截止时间:2009年9月15日
符合上述条件有意者请将简历发送至:2009_zhao_pin@sina.com

SRX-series Services Gateway
由 droplet 在 周二, 2009-02-17 22:12 提交 业界新闻 | 业界评论SRX-series Services Gateway,号称是目前世界上最强的防火墙了,了解一下先。
http://www.juniper.net/products_and_services/srx_series/index.html
http://forums.juniper.net/jnet/board?board.id=srx

MMU and TLB
由 droplet 在 周三, 2009-02-11 23:59 提交 内核研究 | 编程实践MMU是虚地址转换到物理地址的一个机制。大部分的CPU都支持虚地址。当然也有一些没有虚地址的CPU。TLB是虚地址到物理地址映射表的一个缓存,一个高速的cache,用于快速地实现地址转换。完整的映射表在内存里面,CPU会把最近访问的映射表的一部分放到TLB里面。TLB是和CPU在一起的,所以访问速度高。TLB可以自动更新,也可以手动更新。具体要看CPU的实现。
MMU的定义在这里: http://en.wikipedia.org/wiki/Memory_management_unit.

关于MTU的几个问题
由 droplet 在 周三, 2009-02-11 23:54 提交 编程实践 | 网络协议栈MTU的定义是否包含链路层的长度,还是只定义了IP层的长度。 IP包的最大长度是64k,这远远大于一般链路最大帧长。所以,在配置MTU时,应该考虑链路层的长度。比如在以太网上,IP包的最大长度是1500。在IP层发送时,会取接口的MTU,这个MTU应该是去掉链路层长度的值。IP分片的大小不应该大于这个值。
MTU对收到的包有没有限制?如果收到了大于MTU的包,应该如何处理?按道理应该是丢弃吧。
在PMTU探测时,是根据入接口的MTU应答,还是出接口的MTU应答?按道理应该是两者取其中小的一个吧。

SkipList (跳表)
由 droplet 在 周一, 2008-11-17 15:01 提交 内核研究 | 算法研究跳表是一种有序链表的扩展,它的查找时间是O(logn),比有序链表的查找时间O(n)要好一点。学习跳表的一个关键点:跳表节点的插入时的level是随机选取的,每个level都是一个有序链表,每个level上的插入都是独立的,每个level上的删除也是独立的。如果一个节点在level n上,那么它就在level小于n的所有level上。level 0上包含所有的节点。
这里有一个ppt,可以学习一下:
Skip List

最新评论
4 小时 9 分钟 前
11 小时 52 分钟 前
1天 7 小时 前
2 天 5 小时 前
5 天 3 小时 前
5 天 3 小时 前
5 天 8 小时 前
1周 8 小时 前
1周 11 小时 前
2 周 1天 前