Friday, January 6, 2017

UPnP With VLAN's

Summary

DLNA is a common standard for media devices today.  UPnP is the underlying discovery/control protocol for DLNA.  UPnP relies on IP multicast for the device discovery.  I'll discuss how to make UPnP functional in a segmented network.  Specifically, I'll show how to configure a Cisco multi-layer switch for multicast routing to VLANs.

Environment

Figure 1 below depicts the target environment for this discussion.  A UPnP media server is connected to a Layer 3 switch via EtherChannel.  Clients (media players) are located on separate VLANs on that same switch. 

Figure 1
The Discovery protocol (SSDP) of UPnP relies on IP Multicast.  The multicast address used is 239.255.255.250.

Implementation

Step 1:  Turn on multicast routing.
switch(config)#ip multicast-routing distributed

Step 2:  Configure PIM on the interface(s) to the Media Server.  In this case, a Port Channel interface.  Sparse-Dense or Dense mode will work.
switch(config)#int port-channel1
switch(config-if)#ip pim sparse-dense-mode

Step 3:  Configure the VLAN interfaces to pass IGMP traffic.
switch(config-if)#int vlan2
switch(config-if)#ip pim passive

Step 4:  Verify multicast routing is functional.  192.168.1.3 represents the UPnP media server.  192.168.2.113 is a media player client of that server.
switch#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.255.255.250), 01:59:36/stopped, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan6, Forward/Sparse-Dense, 01:31:17/00:02:41

(192.168.2.113, 239.255.255.250), 00:01:11/00:01:52, flags: PT
  Incoming interface: Vlan2, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(192.168.1.3, 239.255.255.250), 01:59:36/00:02:53, flags: T
  Incoming interface: Port-channel1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Vlan6, Forward/Sparse-Dense, 01:31:17/00:02:41

(*, 224.0.1.40), 03:51:35/00:02:28, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Port-channel1, Forward/Sparse-Dense, 01:59:37/stopped

Copyright ©1993-2024 Joey E Whelan, All rights reserved.