Connecting to Multicast in New Zealand (v0.2 Updated 31/01/05)
==============================================================
Please Contact craig@orcon.net.nz if you want to add/change/remove anything.
This is only a start at a Howto on Multicast in NZ. It may be wrong completely/incomplete.
2005/10/09 - Added More ERX Information
2005/02/12 - Added ERX Information
2005/01/05 - Added More Information
2004/03/08 - New Multicast Peer at APE - ConceptNET
2004/01/14 - Added Some Juniper Setup Information
Connecting at APE
-----------------
You will have to talk to each of your Peers at APE to Peer with you as well.
ISPs who may Multicast peer with you at APE with contact details.
192.203.154.36 AS7657 IHUG 1
192.203.154.37 AS7657 IHUG 2
192.203.154.46 AS9790 Attica
192.203.154.60 AS9325 Xtra
192.203.154.67 AS17746 Orcon Internet craig@orcon.net.nz
192.203.154.91 AS17474 ConceptNet craig@concept.net.nz
HOWTO (Cisco/Juniper/ERX/Allied Teleyn)
1) Enable Multicast on Router
(Cisco)
ip multicast-routing
ip multicast multipath # If you have 2 Peers @ APE this might be usefull
Or if you are running DCEF (750x or alike)
ip multicast-routing distributed
ip multicast multipath # See above
(Juniper)
No Setup Needed
(ERX)
ip multicast-routing
2) Enabling MBGP
Add in Multicast BGP Sessions with existing neighbors at APE
(Cisco)
Older Versions of IOS are slightly different (Note to Add)
router bgp XXXX
network X.X.X.X
network Y.Y.Y.Y
neighbor Z.Z.Z.Z remote-as AAAA
!
address-family ipv4 multicast
network X.X.X.X
network Y.Y.Y.Y
neighbor Z.Z.Z.Z activate
..
(repeat with each Peer)
(Juniper)
Set family inet any in your BGP Statements
family inet {
any;
}
ie
bgp {
local-address MY-LOOPBACK-ADDRESS;
group APE-PEERING {
description "Peering with X";
family inet {
any;
}
peer-as XXXX;
neigbor X.X.X.X;
}
Make sure also you are running Multicast on your iBGP as well within your network.
(ERX)
3) Enabling PIM on Interfaces
Enable pim on every interface which is going to be multicast enabled
(Cisco)
int fastethernet0/0
ip address 192.203.154.X 255.255.255.0
ip pim sparse-mode
!
int fastethernet0/1
ip address J.J.J.J 255.255.255.0
ip pim sparse-mode
!
..
(repeat with each Interface)
ip pim rp-address (usually a loopback on one of your machines)
Add to Interface which goes to APE
(Cisco)
ip pim bsr-border
ip multicast boundary multicast-boundary
ip access-list standard multicast-boundary
deny 224.0.1.39
deny 224.0.1.40
deny 239.0.0.0 0.255.255.255
permit any
(Juniper)
protocols pim rp local address X.X.X.X; (X.X.X.X = your RP) (On RP Only)
protocols pim rp static address X.X.X.X version 2; (X.X.X.X = your RP) (On all Devices which are not RP)
protocols pim interface all mode sparse version 2; (Enables PIM on All Interfaces)
protocols pim interface fxp0.0 disable; (Disables PIM On Management Interface)
routing-options {
multicast {
scope internal_announce {
prefix 224.0.1.39/32;
interface so-x/y/z; (Interface to APE)
}
scope internal_discovery {
prefix 224.0.1.40/32;
interface so-x/y/z; (Interface to APE)
}
}
}
(ERX)
interface gigabitEthernet 4/0
ip pim sparse-mode
(Allied Telesyn)
enable pim
add pim interface=eth0
add pim interface=eth1
4) Enabling MSDP
Enable MSDP Peering with Each Multicast Peer @ APE
(Cisco)
ip msdp peer X.X.X.X remote-as YYYY
ip msdp description X.X.X.X Peer with YYYY
ip msdp sa-limit X.X.X.X 255
ip msdp sa-filter out X.X.X.X list 111
ip msdp sa-filter in X.X.X.X list 111
ip msdp mesh-group APE X.X.X.X
...
(repeat with each Peer)
access-list 111 remark MSDP Filters
access-list 111 deny ip any host 224.0.2.2
access-list 111 deny ip any host 224.0.1.3
access-list 111 deny ip any host 224.0.1.24
access-list 111 deny ip any host 224.0.1.22
access-list 111 deny ip any host 224.0.1.2
access-list 111 deny ip any host 224.0.1.35
access-list 111 deny ip any host 224.0.1.60
access-list 111 deny ip any host 224.0.1.39
access-list 111 deny ip any host 224.0.1.40
access-list 111 deny ip any 239.0.0.0 0.255.255.255
access-list 111 deny ip 10.0.0.0 0.255.255.255 any
access-list 111 deny ip 127.0.0.0 0.255.255.255 any
access-list 111 deny ip 172.16.0.0 0.15.255.255 any
access-list 111 deny ip 192.168.0.0 0.0.255.255 any
access-list 111 permit ip any any
(Juniper)
protocols msdp local-address X.X.X.X;
protocols msdp group APE peer 192.203.154.X;
protocols msdp group APE peer 192.203.154.X;
protocols msdp group APE mode mesh-group;
If you are adding it into a mesh-group everyone you are peering with will have to peer with everyone else.
5) How do I know its working
(Cisco)
Router#show ip pin neighbor
PIM Neighbor Table
Neighbor Address Interface Uptime Expires Ver Mode
192.203.154.X FastEthernet2/1 1d04h 00:01:38 v2
192.203.154.X FastEthernet2/1 1d04h 00:01:29 v2
Router#show ip mbgp
Router#show ip mroute
Router#show ip msdp summary
MSDP Peer Status Summary
Peer Address AS State Uptime/ Reset SA Peer Name
Downtime Count Count
192.203.154.X YYYY Up 19:05:01 97 1 XXX.ape.net.nz
192.203.154.X YYYY Up 2w5d 0 0 XXX.ape.net.nz
(Juniper)
user@ROUTER> show bgp neighbor 192.203.154.X
..
NLRI advertised by peer: inet-unicast inet-multicast (BGP can do unicast and uniccast BGP)
NLRI for this session: inet-unicast inet-multicast (BGP session if actually doing unicast and multicast BGP)
Peer supports Refresh capability (2)
Table inet.0 Bit: 10002 (this is the unicast BGP)
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 6
Received prefixes: 6 (number of unicast BGP recieved)
Suppressed due to damping: 0
Advertised prefixes: 6270
Table inet.2 Bit: 20000 (this is the multicast BGP)
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 6
Received prefixes: 6 (number of multicat BGP recieved)
Suppressed due to damping: 0
Advertised prefixes: 79
Last traffic (seconds): Received 2 Sent 2 Checked 14
user@ROUTER> show pim neighbors
Instance: PIM.master
Interface IP V Mode Option Uptime Neighbor addr
g1-1/2/0 4 2 H 03:10:10 X.X.X.X
ge-1/3/0 4 2 HPB 03:15:27 60.234.154.X
ge-1/3/0 4 2 H 03:12:42 60.234.154.X
ge-1/3/0 4 2 H 1d 08:00:39 60.234.154.X
craig@NCT_M02> show msdp brief
Peer address Local address State Last up/down Peer-Group SA Count
192.203.154.X 192.203.154.X Established 3w1d18h APE 1/1
Connecting at WIX
=================
WIX setup should be similar to APE except (in theory), as most people use the route servers to swap routing information
I have not seen any other Multicast routes advertised from the route server so I guess no one else is advertising them to them or the route servers are not set up to use them it. (And Ideas Citylink?). Quagga and other Routing Programs can be set up quite easily with Multicast BGP as well as unicast.
Direct Peering with each other so MSDP and BGP (without Citylinks AS in the middle) could be better for multicast between ISP's.
router bgp YYYY
network X.X.X.0
neighbor 202.7.0.2 remote-as 9439
neighbor 202.7.0.2 description Peering with WIX RS 1
neighbor 202.7.0.2 soft-reconfiguration inbound
neighbor 202.7.0.2 prefix-list YourNetworks out
neighbor 202.7.0.3 remote-as 9439
neighbor 202.7.0.3 description Peering with WIX RS 2
neighbor 202.7.0.3 soft-reconfiguration inbound
neighbor 202.7.0.3 prefix-list YourNetworks out
!
address-family ipv4 multicast
neighbor 202.7.0.2 activate
neighbor 202.7.0.2 soft-reconfiguration inbound
neighbor 202.7.0.2 prefix-list YourNetworks out
neighbor 202.7.0.3 activate
neighbor 202.7.0.3 soft-reconfiguration inbound
neighbor 202.7.0.3 prefix-list YourNetworks out
network X.X.X.0
exit-address-family
Router#show ip bgp ipv4 multicast summary
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
202.7.0.2 4 9439 470828 298730 0 0 0 07:47:15 0
202.7.0.3 4 9439 472853 298801 0 0 0 07:46:43 0
On Wix I can see 2 machines running PIM
cr1.wtn#show ip pim neighbor
PIM Neighbor Table
Neighbor Address Interface Uptime Expires Ver Mode
202.7.0.97 FastEthernet1/0 1d08h 00:01:21 v2
202.7.0.241 FastEthernet1/0 1d08h 00:01:24 v2
202.7.0.97 = sds.wix.net.nz
202.7.0.241 = ihug.wix.net.nz
To Come
-------
Juniper Setup (more information)
Sparse or Dense Modem at APE??
Setup with Other Routers
Auto-RP the best way of doing it?
ip pim sparse-dense-mode on all interfaces and no ip pim rp-address needed?
What Filtering should be done??
A Shared RP Address for all ISP's?
IPV6 Multicast?
dense-mode at Peering points? sparse-dense-mode everywhere?
Client Setup (Programs to use and alike)
Who supports Multicast in NZ?
Enabling Your Entire Network with Multicast
What can I do now? What is there to view?
How can I help?
How to Stream with Multicast?
How do I charge for this? Who pays?
Multicast Tunnels?
Jetstream/Jetstart?
Enabling Dialup?
Adding a Tunnel from Cisco -> Linux
===================================
Linux End
ip tunnel add netb mode gre remote local ttl 255
ip link set netb up
ip link set netb multicast on
ip addr add X.X.X.X/30 dev netb
/sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev netb
/usr/local/sbin/pimd -c /etc/pimd.conf (link to get this from??)
Cisco End
interface Tunnel 0
ip address X.X.X.X 255.255.255.252
tunnel source Y.Y.Y.Y
tunnel destination Z.Z.Z.Z
ip pim sparse-mode
ip pim nbma-mode (is this needed??)
Enabling Dialup Equipment for Multicast
=======================================
Max Ascend (4000/6000)
---------------------
Ethernet->Mod Config->Multicast
Forwarding = Yes
Client = No
Rate Limit = 5
HeartBeat Addr = 224.1.1.1
HeartBeat Udp Port = 16387
In Radius Return Back:
Ascend-Multicast-Client=Multicast-Yes
Anyone who has had this working correctly.. please let me know how?
Max TNT
------
To Add
Juniper/Unisphere ERX (acting as a L2TP termination unit like with UBS)
---------------------
Return via Radius on Accept Packet to Subscribers:
Igmp-Enable = True
(Need more Information)
Cisco (acting as a L2TP termination unit like UBS)
------
To Come (anyone want to help with this?)
Enabling Linux Router/Client
============================
Compile options in Kernel:
CONFIG_MULTICAST_IP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_NET_IPIP=y
Add for each Interface:
/sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev ethX
If running as Router
install pimd (need link for other distros)
(on debian apt-get install pimd)
Change Config to:
phyint eth0 disable # On every ethernet you don't want multicast
rp_address 60.234.8.2 # Your RP Address (this is Orcon's)
group_prefix 224.0.0.0 masklen 4 # All multicast groups
switch_data_threshold rate 50000 interval 20 # 50kbps (approx.)
switch_register_threshold rate 50000 interval 20 # 50kbps (approx.)
Alternative: Xorp
- PIM
- MSDP
- MBGP
Enabling on DSL Routers
=======================
To enable the ability for DSL Routers (running in NAT mode) for Multicast access
You have to enable IGMP/IGMP-Proxy on the DSL router
Working:
-DSE XH1169 ADSL Ethernet Router
- enable IGMP proxy in the Misc Configuration page
- enable IGMP in the Advanced WAN settings page
Not Working:
Software
========
Servers:
-------
Real - http://www.real.com
Windows Media Services - http://www.microsoft.com
Quicktime Server - http://www.apple.com
EMULive - http://www.emulive.com
Clients
-------
Windows Media Player - http://www.microsoft.com
Real Video Player - http://www.real.com
Network Assistant - http://www.mbone.net.nz/software/nassi.exe
Websites
--------
End System Multicast - http://esm.cs.cmu.edu
Multicast Radio - http://www.onthei.com
FreeTV - http://www.americafree.tv/