Upload
pablo-unwin
View
218
Download
5
Tags:
Embed Size (px)
Citation preview
Advance in Design and Implementation of VLSR in Support of E2E VLAN
DRAGON Meeting, 2005
Xi Yang
Information Sciences Institute
University of Southern California
Outline
• Introduction• Features and networking scenarios• New VLSR design and implementation• Development and testing status• Summary
Xi Yang VLSR in Support of E2E VLAN 2
3Xi Yang VLSR in Support of E2E VLAN
Introduction
• Requirements by HOPI– End-to-end(E2E) Ethernet services
– Tagged E2E VLAN for traffic engineering
– Multiple VLANs can be aggregated into 10 GigE links, share bandwidth and be managed separately.
VLSREthernetSwi tch
VLSR PC
HopiCl i ents
HopiCl i ents
HopiCl i ents
HopiCl i ents
HopiCl i ents
10 Gi gEVari abl e
VLSREthernetSwi tch
VLSR PC
VLSREthernetSwi tch
VLSR PC
VLSREthernetSwi tch
VLSR PC
VLSREthernetSwi tch
VLSR PC
VLAN Tag = 3001
VLAN Tag = 3001
VLAN Tag = 3002
VLAN Tag = 3003
VLANTags30023003
Shared Bandwi dth
4Xi Yang VLSR in Support of E2E VLAN
Introduction (cond.)
• Maximizing flexibility in E2E VLAN– Binding single or group of edge ports to VLAN via
GMPLS
– Supporting both untagged and tagged VLAN
– Supporting Point-to-Point, Point-to-Group and Group-to-Group connections for various applications
– Supporting Bandwidth Sharing (untagged or tagged) and Traffic Engineering (tagged)
– Dynamic VLAN tag advertisement and management
Old VLSR Cannot
5Xi Yang VLSR in Support of E2E VLAN
• Be an ingress or egress LSR
• Conduct traffic to or from specified edge ports
• Support port group
• Assign a port/interface to multiple tagged VLANs
• Advertise VLAN tags that are assigned to a port
• Compute a path by picking available VLAN tag
• Signal up a tagged VLAN from end to end
• Allow multiple tagged E2E VLANs to share bandwidth on any intermediate links
• Local ID is a 32-bit Local Interface Identifier associated with a local port of a group of local ports– Type 1: Untagged single port
– Type 2: Untagged port group
– Type 3: Tagged port group
– Type 4: Global tagged port group (computed by RCE)
• New provisioning functions– Specify an ingress and/or egress port or port group for an LSP
– Aggregate a group of untagged or tagged ports at in/egress VLSR and bind them together to an LSP (E2E VLAN)
– Join one or more untagged or tagged VLAN at edge to a tagged E2E VLAN to be created
6Xi Yang VLSR in Support of E2E VLAN
New Features – Local ID
Type = 0x1 Val = port#
Type=0x2, 3, or 4
Val = VLANTag/ I D
Associ ated l i stof ports
7Xi Yang VLSR in Support of E2E VLAN
New Features – Tagged E2E VLAN
• Tagged E2E VLAN can be provisioned in an all-VLSR network (or network domain) for traffic engineering purpose– Traffic aggregation: A Ethernet switch port can join multiple VLAN
s, which allows for VLANs sharing bandwidth on common links/ports.
– Traffic differentiation: Traffic can be split between E2E connections with different VLAN tags.
• New provisioning functions– Assign and advertise a set of available VLAN tags to each VLSR port
– Compute an LSP with a given or automatically picked VLAN tag
– Signal up and tear down a tagged E2E VLAN using ERO that consists of proprietary UnNumIf ID subobjects
– Use tagged E2E VLAN in joint with Local ID
NARB/RCE
VLSREthernetSwi tch
HopiCl i ents
HopiCl i ents
VLSREthernetSwi tch
VLSR PC
HopiCl i ents
VLSREthernetSwi tch
VLSR PC
HopiCl i ents
VLSREthernetSwi tch
VLSR PC
VLSR
OSPF- TE
RSVP- TE CLI
XML API
Swi tch Manage
User andAppl i cati onI nterfaces
GMPLSProtocol
Sui te
VLSR PC
VLSR
OSPF- TE
RSVP- TE CLI
XML API
Swi tch Manage
User andAppl i cati onI nterfaces
GMPLSProtocol
Sui te
8Xi Yang VLSR in Support of E2E VLAN
Changes Made to the DRAGON Software SuiteESA: 1. Configure and maintain local ID;
2. Pass local ID into RSVPD;
3. Request ERO with VLAN tag constraint.
OSPFD-TE: 1. Configure VLAN tags on ports/interfaces;
2. Advertise, remove and restore VLAN tags dynamically;
3. Allocate partial, shared bandwidth to E2E VLAN;
NARB/RCE: 1. Collect VLAN info from OSPF;
2. Incorporate the new VLAN tag constraint;
3. Create new ERO with UnNumIf subobjects.
RSVPD: 1. Update ERO handling for local ID and E2E VLAN;
2. Update/hack RSVP and MPLS procedures;
3. Update SNMP operation logic for local ID and E2E VLAN.
• Configure and maintain local ID in both ESA and RSVPD– set local-id port 23; delete local-id port 23;
– set local-id tagged-group 2000 delete 9; show local-id;
– set local-id tagged-group 2000 add 9; clear local-id;
• New LSP setup commands– edit lsp test
– set source ip 10.100.0.11 port 23 destination ip 10.100.0.13 tagged-group 2000
– set vtag 2000 (or set vtag any)
– exit
• ESA sends route request to NARB with vltag constraint and modify the returned ERO with the local ID info.
9Xi Yang VLSR in Support of E2E VLAN
Implementation – ESA (CLI)
A-1 B-2 B-3 C-4
VLSRA
VLSRB
VLSRC
1 2 3 4I ngressl ocal I D
Egressl ocal I D
ERO by RCE : A-1 B-2 B-3 C-4A' s Loopback
I ngress- l ocal I DC' s l oopback
Egress l ocal I D
Add Local I D i nto ERO as UnNumI f - I D subobj ects
10Xi Yang VLSR in Support of E2E VLAN
Implementation – OSPFD-TE
• Associate VLAN tags with port/interface in OSPFd CLI
• Advertise VLAN tags as proprietary ifswcap-specfic-vlan information within the standard IfSwCap Descriptor TLV.
• Similar to the existing ifswcap-specific-psc and ifswcap-specific-tdm
• VLAN tag is removed from or recovered to IfSwCap Descr upon LSP (E2E VLAN) setup and teardown respectively.
• Support partial bandwidth allocation for L2SC, which allows for bandwidth sharing among multiple tagged E2E VLANs.
ospf - te i nterf ace gre2 l evel gmpl s data- i nterf ace i p 10. 200. 0. 2 protocol
snmp swi tch- i p 10. 1. 2. 2 swi tch-port 2 swcap l 2sc encodi ng ethernet max-bw 625000000 max- rsv-bw 625000000 max- l sp-bw 0 625000000 . . . . . . max- l sp-bw 7 625000000exi t
ospf - te i nterf ace gre2 l evel gmpl s data- i nterf ace i p 10. 200. 0. 2 protocol
snmp swi tch- i p 10. 1. 2. 2 swi tch-port 2 . . . . . . . . . . . vl an 100 vl an 2001 vl an 3002exi t
11Xi Yang VLSR in Support of E2E VLAN
Implementation – RCE and NARB• Representation in RCE and NARB API message header:
• Modified path computation algorithm– Take a specified VLAN tag as constraint
– If Tag = VTAG_ANY, pick a path with consistent VLAN tag on all other links
– Ignore the constraint for links without the optional VLAN tag configured
• Convert IPv4 Prefix ERO subobjects into UnNumIf ID ERO subobjects for VLAN links in the computed path
– IPv4 address remain unchanged.
– Format of a 32-bit Unnumbered Interface ID
– Type 4 distinguish this UnNumIfId from those for LocalId (types 1, 2, 3)
struct api _msg_header { / * uni fi ed API header */ u_i nt16_t type; u_i nt16_t l ength; u_i nt32_t uci d; / * uni que cl i ent i d*/ u_i nt32_t seqnum; / * sequence number u_i nt32_t chksum; / * checksum for the above words*/ u_i nt32_t opt i ons; / * rout i ng and data f ormat opt i ons*/ u_i nt32_t tag; / *opt i onal tag*/};
Type= 0x4 Val ue = VLAN Tag/ I D
#define LSP_OPT_E2E_VTAG ((u_int32_t)(0x20 << 16))
VLAN Tag# from 2 to 4095 or VTAG_ANY = 0xffff
A' s LoopbackI ngress- l ocal I D
C' s l oopbackEgress l ocal I D
A-1 TE addressI ngress- l ocal I D
B-2 TE addressI ngress- l ocal I D
B-3 TE addressI ngress- l ocal I D
C-4 TE addressI ngress- l ocal I D
12Xi Yang VLSR in Support of E2E VLAN
Implementation – RSVPD-TE
• Hacked kom-rsvp API message processor to allow for passing local IDs
• Hacked the MPLS label allocation and mapping procedure to allow for binding ingress/egress local IDs
• Hacked the ERO processor to handle the proprietary UnNumIfId subobjects in support of both local ID and tagged E2E VLAN.
• Modified PATH/RESV to SNMP function mapping logic in support of both local ID and tagged E2E VLAN.
• Added and modified a number of functions in switch control module in support of a number of new provisioning scenarios.
• Fixed bugs in the original kom-rsvp and the old VLSR code to make the new features work.
13Xi Yang VLSR in Support of E2E VLAN
Tested Scenarios
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCport 2 port 22
port 5port 6
port 23
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCport 2 port 23
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCport 7 port 23
port 8VLAN tag = 3
3 3 3 3
Port-to-port service via an untagged VLAN (ingress and egress ports can be either tagged or untagged)
Group-to-group service via an untagged VLAN (ingress and egress ports can be either tagged or untagged)
Group-to-port service via a user-specified tagged E2E VLAN (ingress and egress ports can be either tagged or untagged)
14Xi Yang VLSR in Support of E2E VLAN
Tested Scenarios (cond.)
Tagged E2E VLAN using automatically picked VLAN tag (In this case, VTAG = 200 is picked.)
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PCport 7 port 23
port 8VLAN tag = VTAG_ANY
162001001
16200
16200
2001001
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PC
VLSREthernetSwi tch
VLSR PCport 5 port 23
port 6
port 7 port 8
port 24
VLAN tag = 100VLAN tag = 200
Two tagged E2E VLANs share bandwidth over a link (and two switch ports).
VLSREthernetSwi tch
VLSR PCVLSR
EthernetSwi tch
VLSR PC
VLSREthernetSwi tch
VLSR PCport 5port 23
port 6
port 7 port 8
VLAN tag = 100VLAN tag = 200
Two tagged E2E VLANs aggregate traffic into a common edge port (or port group).
15Xi Yang VLSR in Support of E2E VLAN
Summary
• New VLSR supports local ID which enables any in/egress ports being attached to an LSP in tagged or untagged fashion.
• Routing and signaling code has been modified in support of tagged E2E VLAN provisioning and traffic engineering.
• The new VLSR features support a variety of E2E VLAN networking scenarios with great flexibility.
• Most scenarios have been successfully tested and proven stable except for the interdomain provisioning scenarios.