免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1993 | 回复: 0
打印 上一主题 下一主题

Linux 2.6以太网桥接实验 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-29 00:17 |只看该作者 |倒序浏览

   
   
                一、前言本文是一次用Linux进行以太网桥接(Ethernet bridging)的实验记录。关于桥接的原理及实现,可参阅如下资料:1. Benvenuti, C. "Understanding Linux Network Internals", Part IV "Briding", 东南大学出版社影印2. network bridgehttp://en.wikipedia.org/wiki/Network_bridge3. bridginghttp://en.wikipedia.org/wiki/Bridging_%28networking%29二、实验过程2.1 网络拓扑及设备PC0 --- (eth0) PC_bridge (eth1) --- PC1PC0: 2.6.22-14-generic  x86_64 (Ubuntu 7.10)PC1: 2.6.24-16-server i686 (Ubuntu server 8.04)PC_bridge: 2.6.22-14-generic i686 (Ubuntu 7.10)注:由于没有交叉直连网线,因而实际在PC0(或PC1)和PC_bridge之间分别使用了一个以太网交换机进行连接。2.2 PC_bridge配置
$ sudo ip link set eth0 down
$ sudo ip addr flush dev eth0
$ sudo ip addr add 0.0.0.0 dev eth0
$ sudo ip link set eth0 promisc
$ sudo ip link set eth0 up
(对eth1作同样的配置)
$ sudo brctl add br0
$ sudo brctl addif eth0
$ sudo brctl addif eth12.3 PC0配置$ sudo ip link set eth0 down$ sudo ip addr flush dev eth0$ sudo ip addr add 192.168.1.244/24 dev eth0$ sudo ip link set eth0 up检查并确认配置$ ip addr show eth02: eth0:  mtu 1500 qdisc pfifo_fast qlen 1000    link/ether 00:03:0d:3e:3b:0a brd ff:ff:ff:ff:ff:ff    inet 192.168.1.244/24 scope global eth02.4 PC1配置$ sudo ip link set eth0 down
$ sudo ip addr flush dev eth0
$ sudo ip addr add 192.168.1.245/24 dev eth0
$ sudo ip link set eth0 up2.5 实验与观测以下从PC0观测结果。在PC0发起PING命令,通过tcpdump和PING程序的返回查看结果。$ ping 192.168.1.245PING 192.168.1.245 (192.168.1.245) 56(84) bytes of data.64 bytes from 192.168.1.245: icmp_seq=1 ttl=64 time=0.256 ms64 bytes from 192.168.1.245: icmp_seq=2 ttl=64 time=0.247 ms64 bytes from 192.168.1.245: icmp_seq=3 ttl=64 time=0.236 ms$ sudo tcpdump -nn输出结果如下arp who-has 192.168.1.245 tell 192.168.0.245arp reply 192.168.1.245 is-at 00:0a:eb:9b:2c:c8 IP 192.168.0.245 > 192.168.1.245: ICMP echo request, id 7702, seq 1, length 64IP 192.168.1.245 > 192.168.0.245: ICMP echo reply, id 7702, seq 1, length 64IP 192.168.0.245 > 192.168.1.245: ICMP echo request, id 7702, seq 2, length 64IP 192.168.1.245 > 192.168.0.245: ICMP echo reply, id 7702, seq 2, length 64IP 192.168.0.245 > 192.168.1.245: ICMP echo request, id 7702, seq 3, length 64IP 192.168.1.245 > 192.168.0.245: ICMP echo reply, id 7702, seq 3, length 64另外访问192.168.1.245上的WWW服务,也可以正常运行。在PC_Bridge上用Wireshark捕捉数据包,可以看到相关的数据包经过两个网卡。2.6 简析本实验中利用PING业务检查网络可达性,从而确定网桥是否工作正常。PING程序将使用ICMP协议,IP协议,以太网协议。IP协议首先查询IP路由表,确定采用的路由。默认情况下,当发现目的主机在本网络中,就调用ARP协议进行地址解析,得到目的主机的以太网标识。最后便是以太网上的通讯。两端主机的业务可以正常运行,说明基于Linux配置出来的网桥工作正常。
从PING的延迟来看,平均延迟为0.2+ ms。只使用家用商品级的以太网交换机时,平均延迟为0.1+ ms。增加的部分由Linux网桥引起。因为没有交叉直连网线,无法构建只用Linux网桥的拓扑,从而大概比较一下Linux网桥和商品级交换机的延迟。三、附录附录中的实验是关于两端主机的IP路由的配置,与网桥没有联系。在本实验中将修改两端主机的IP地址,使它们处于两个不同的IP网络。然后配置IP路由,保证可达性。在PC0上修改地址:$ sudo ip addr flush$ sudo ip addr add 192.168.0.245/24 dev eth0在PC0上配置IP路由:$ sudo ip route del default$ sudo ip route add default via 192.168.0.245在PC1上配置IP路由(地址保持为第二章中设置的地址):$ sudo ip route del default$ sudo ip route add default via 192.168.1.245从PC0向PC1发起PING业务,运行正常。
               
               
               
               
               
   
   


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22344/showart_1019272.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP