由ITAA实验室gotolab原创
 
 
R1(S1/0)---------(S2/0)R2(E0/0)----------(E0/0)R3
<?XML:NAMESPACE PREFIX = V /><?XML:NAMESPACE PREFIX = O /><!--[if !vml]-->

<!--[endif]-->
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关闭直播后,在对应接口,不再转换直播地址为广播发送。