由ITAA实验室gotolab原创
 
 
R1(S1/0)---------(S2/0)R2(E0/0)----------(E0/0)R3

Figure 8 IP 直播
    默认情况下,广播数据报文是没法穿过路由器传播的,有这么一些应用,向处在一个广播域的全部主机发送广播,但是发送者并不处在这 个广播域内,这个时候,希望有一种能够使用单播数据报文穿过路由网络,但到达目的网络时,以广播方式发放(这种应用一般可视为有 去无回,大都是无连接的UDP应用)。IP直播在IOS里面广泛被支持。
    以下配置,R3就是处在接收广播域内的一个成员,而R1是发送者,而R2正是一个将单播转换为广播的路由器。使用OSPF保持路由连通,环回口在这个实验并无实质应用,OSPF的数据报为组播224.0.0.5,在debug调试时,最好过滤掉输出这类信息。
R1
!
hostname R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
 ip ospf network point-to-point
!
interface Serial1/0
 ip address 12.1.1.1 255.255.255.0
 clockrate 64000
!
router ospf 10
 router-id 1.1.1.1
network 0.0.0.0 255.255.255.255 area 0
!
R2
!
hostname R2
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.0
 ip ospf network point-to-point
!
interface Ethernet0/0
 ip address 10.1.1.2 255.255.255.0
!
interface Serial2/0
 ip address 12.1.1.2 255.255.255.0
!
router ospf 10
 router-id 2.2.2.2
 network 0.0.0.0 255.255.255.255 area 0
!
R3
!
hostname R3
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.0
 ip ospf network point-to-point
!
interface Ethernet0/0
 ip address 10.1.1.3 255.255.255.0
!
router ospf 10
 router-id 3.3.3.3
 network 0.0.0.0 255.255.255.255 area 0
!
监视和测试配置
路由器可以转发主机位全为 1 的目的地址,对于中间路由器,转发数据报文,只检查网络位,因此这些数据报文在到达最后 1 跳时,转发和普通数据包无异:
1) 打开 R2 R3 的调试开关
R2(config)#access-list 101 permit icmp any any
R2#debug ip packet 101
IP packet debugging is on for access list 101
 
以上定义访问列表的意义是调试只输出 ICMP 相关数据包,这样可以避免 OSPF hello 干扰。
 
2 )打开 R2 Ethernet0/0 接口转发直播
 
R2(config)#int e0/0
R2(config-if)#ip directed-broadcast
 
3 )在 R1 ping 10.1.1.0/24 目标网段,发起一个主机位全为 1 的地址。
 
R1#ping 10.1.1.255
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.255, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/20/32 ms
 
4) 查看R2的调试输出,关键部分为粗体显示:
 
*Jul 25 20:57:03.879: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), g=255.255.255.255, len 100, forward directed broadcast
*Jul 25 20:57:03.879: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 20:57:03.879: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 20:57:03.899: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), g=255.255.255.255, len 100, forward directed broadcast
(以下重复,输出省略)
 
可见R2已经将数据报文转为广播方式,向10.1.1.0/24所在接口转发。
 
5) 查看R3调试输出,关键部分为粗体显示:
 
*Jul 25 20:59:06.079: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.079: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.099: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.099: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.119: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.119: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.139: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.139: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.167: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.167: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
 
    R3 收到广播数据报文,并以单播方式应答ping
 
6) 关闭R2Ethernet0/0接口直播
 
R2(config)#interface ethernet 0/0
R2(config-if)#no ip directed-broadcast
 
7)R1 再次发起ping 目标网段10.1.1.0/24,主机位为全为1
R1#ping 10.1.1.255
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.255, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/20/20 ms
 
8) 查看R2调试输出:
 
*Jul 25 21:05:22.071: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.071: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.099: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.099: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.131: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.131: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.159: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.159: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.191: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.191: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
 
只有单播的应答,R2使用接收直播的接口应答(即S2/0),R2没有再将直播数据报转换成广播方式向Ethernet0/0发送。
 
    9) 查看R3调试输出:
 
    R3 没有调试输出,原因如上,R2关闭直播后,在对应接口,不再转换直播地址为广播发送。