lesson 6-1 mpls basic - keio university€¦ · lesson 6-1 mpls basic objectives : mpls is...
TRANSCRIPT
1
Lesson 6-1 MPLS basic
Objectives :
MPLS is capsulated protocol for IP packet. MPLS is
connection oriented with 20 bit header. To understanding
MPLS protocol, we start from packet forwarding comparing
with label swapping.
2
Longest prefix matching method and Patricia tree
129.60.0.0/16 B140.252.13.0/24 A224.0.0.0/16 D
IP forwarding table
IP header
DA=129.60.32.1
128.5.0.0/16
129.60.225.0/24 E
C
129.60.83.0/24 D
Prefix NHR
129.0.0.0/16 E
127.32.0.0/16 B
This is an answer
224.0.0.0 |1110 0000| | | |
140.252.13.0 |1000 1100|1111 1100|0000 1101| |
129.60.0.0 |1000 0001|0011 1100| | |
129.60.83.0 |1000 0001|0011 1100|0101 0011| |
129.60.225.0 |1000 0001|0011 1100|1110 0001| |
129.0.0.0 |1000 0001|
128.5.0.0 |1000 0000|0011 0101| | |
127.32.0.0 |0111 1111|0000 0000|
1,2, 5, 8, 17,Reference bit position
(a) IP transmission table and the longest prefix matching
(b) Bit expansion of prefix
Fig. 5.1 (a) (b)
3
Longest prefix matching method and Patricia tree
8
0
129.60/16, B17
0 1
129/8,E
9
0
1
10
011
112
113
114
115
016
0
129.60. 32.1
127.32/16, B
224.0/16, D
140.252.13/24, A
128.5/16, C 129.60/16, B17
129.60.83/24, D 129.60. 225/24, E
8
0 1
0 1
0 1
0 1
129/8,E0 1
129.60.32.1 hits with 129.60/16, but does not hit with 129.60.83/24
1
2
5
Effective node
Intermediate node
(c) Patricia tree (d) Intermediate node in Patricia tree
Reference bit positionPrefix, NH
Fig. 5.1 (c) (d)
4Fig. 5.2 (a)
140.252.13.34
DA
DA Next hop
(a) Principle of IP datagram communication (Connectionless)
140.252.13.34
Route table
Connectionless communication by IP datagram and connection oriented communication by MPLS virtual connection
5Fig. 5.2 (b)
(b) Principle of connection oriented communication by virtual circuit
X
Y
Z
V
W
DA a
a b
Label push table
aDADA
140.252.13.34Label push
a
Label swap
Label pop
b cc
b
Connectionless communication by IP datagram and connection oriented communication by MPLS virtual connection
Virtual circuit
6
Comparison of requirements between IP address and MPLS label
Table 5.1
Role Uniqueness of value
IP address Recognize uniquely the destination hostRoute the IP packetsSearch IP route table
Must be unique all over the Internet.
MPLS label Recognize uniquely the virtual circuit (VC)Recognize uniquely FECForward the MPLS pacletsSearch the MPLS label table
May be unique just by link or by node.
7
Examples of FEC
SA DA SP DP PID
*192.168.32.6/24192.168.32.0/24
141.72.168.0/24141.72.168.0/24141.72.168.0/24
***
**
80
**
TCP
FEC1→FEC2→FEC3→
Fig.5.3
FEC : Forward Equivalent Class
FEC is not only SA/DA but also some connection type like port number.
8Fig.5.4
Shim header (MPLS header)
Label (20 bits) EXP(3 bits) S TTL
(8 bits)
1 bit
DataIPheader
PPPheader
Shimheader
POS (Packet over SONET)
DataIPheader
MACheader
Shimheader
Ethernet
Label(20 bit) Independent label by linkExp(3 bit) Reserved field for experimentS(1 bit) S=1 End label
S=0 Label is following TTL(8 bit) Decrements by 1 at every
time passing the router
MPLS label format
9Fig.5.5
NHLFE, FTN, ILM
NHLFELabel
NHLFEFEC NHLFE
ILM
FTN
ActionNHOP - Swap- Pop- Swap & push
Next Hop Label Forwarding Entry
Next Hop
FEC-to-NHLFE
Incoming Label mapping
10
Principle of packet transfer within MPLS network by label switching technique
R4
NHOP
L1Swap & PushH2
Label (out)ActionDA
R6NHOP
L2SwapL1Label (out)ActionLabel (in)
Swap & Push (L1)R4
ActionNHOPFTN NHLFE table
H2
NHLFEFEC
IP packet
L2
L3IP packetH1
Swap(L2)R6
ActionNHOPILM NHLFE table
L1
NHLFELabel
R7
NHOP
L3SwapL2
Label (out)ActionLabel (in)
Swap(L3)R7
ActionNHOPILM NHLFE table
L2
NHLFELabel
H2
NHOP
-POPL3
Label (out)ActionLabel (in)
POPH2
ActionNHOPILM NHLFE table
L3
NHLFELabel
IP packet H2R1
R2
R3
R4 R6
R8
R5
R7
Search L3 (IP) table and assign a label
Look at label and remove the label. Search L3 (IP) table.
Look at the label and swap
IP packetL1
IP packet
Fig.5.6
11
Processing the label stack processing(Exchange, Pop, Push)
L2
Swap outer labels
IP packet
IP packet L0
L0
IP packet L0
IP packet
L1 L3
Inner label is not changed
Two labels are attached by router 1. Outer label and Inner label are determined by R4, and R7, respectively.
R1
R2
R3
R4
R7
R8
R5
IP packet
H1
H2
R6
L3L0
POPPOP
R7H2
ILM NHLFE table
L2 SWAP (L3)R7
ILM NHLFE table
L1
NHLFELabel
SWAP (L2)R6
ActionNHOP
ILM NHLFE table
H2
NHLFEFEC
SWAP&PUSH (L0,L1)R4
ActionNHOP
FTN NHLFE table
H3
ILM: In coming Label MappingFTN: FEC-to-NHLFENHLFE: Next Hop Label Forwarding EntryFig.5.7
12Fig.5.8
outer-LSP
inner-LSP
IP packet L0 L1
Hierarchical LSP network
13Fig.5.9
t1 t2
t1 t2 t3
R1 R2 R3 R4
PHP (Penultimate-HOP)
In R3, since it is known that the next hop is R4 by looking at t2, it is not required to attach L3 in this area.
PHP
IP searching only
PHP (Penultimate hop popping)
14Fig.5.10
Label L
Label L
Label L
Label merge
15Fig.5.12
Upstream Downstream Upstream Downstream
(b) Upstream type(a) Downstream type
Downstream notifies the label to upstream
Upstream notifies the label to downstream
Label assigning method(Signaling protocol)
16Fig.5.13
Upstream Downstream
Label Mapping (FEC,label)
Upstream Downstream
(1) Label request
(2)Label Mapping (FEC,label)
Upstream node obtains label automaticallyUpstream node requests for label
(a) On-demand type (b) Spontaneous type
Label distribution method
17
Conclusions for Lesson 6-1
Basic principles of MPLS are shown in this
lesson. Label swapping and Hierarchical LSP
is important techniques.
18
Lesson 6-2 Application of MPLS
Objectives :MPLS executes transmission of IP packets based on their
Labels. Traffic engineering or improving the routing efficiency
of external route is essential for MPLS application. It is
difficult to set up under IP date gram.
19Fig. 6.1
1.1.1.1 1.1.1.4 1.1.1.6
1.1.1.3 1.1.1.5
Congestion!
The shortest route is selected even if there is congestion.
1.1.1.2 1.1.1.1 1.1.1.4 1.1.1.6
1.1.1.3 1.1.1.5
Needs traffic regulation
1.1.1.2
(a) (b)
Problem of IGP
Shortest path routing courses congestion at hot-spot link.
20Fig.6.2
Concept of separating the routing from forwarding by MPLS (1)
x
DA
Next hop
BX
NHDA
A
B
C
E
D
x
DA: Unique in whole network
Routing table
XX
NHDA
DX
NHDA
(a) Packet transmission by IP datagram
Each router has a routing table based on DA.
Transmission of the packets (forwarding) and routing control (routing) have been combined in a single process.
Routing = Forwarding
21Fig.6.2
Concept of separating the routing from forwarding by MPLS (2)
Label: unique for each link
a
b
c
d
X
Y
Z
V
W
x
NHLabel
Label forwarding table
Pre-arrange the content of each label forwarding table for host x.
(b) Packet transmission by MPLS
Label is used instead of an address. Virtual circuit is pre-set-up before packet transmission.
22Fig.6.3
1.1.1.1 1.1.1.2 1.1.1.4 1.1.1.6
1.1.1.3 1.1.1.5
#1 #2#3
#1 #2#3
#1 #2#3
#1 #2#3
#1 #2#3 #1
#2 #3
Explicit route1.1.1.1->1.1.1.3->1.1.1.5->1.1.1.6
• Specifies the route at the source node
Source routing and route specifying (Explicit routing)
LSP : Label Switched Path
Source routing set up the LSP along the specified route in MPLS.
23Fig.6.4
1 2 30 4
5 6 7
(a) Strict specification
0-1(s)-2(s)-3(s)-4
1 2 30 4
5 6 7
(b) Loose specification
0-2(l)-4
Both allowed Both allowed
Concept of Strict specification and Loose specification
(S) : Strict
(L) : Loose
24
NE node software structure
RSVP
CSPF
OSPF拡張
OSPF extension:Routing protocolCSPF: Restricted route calculationRSVP: RSVP signalling
Neighboring node
LSP attribute Route information
MPLS network
Destination node
LSP
Source node
Fig.6.5
Concept of CSPF that outputs the route from input information of traffic trunk attribution, resource attribute and topology database
CSPF (Constrain-based shortest path first)
25Fig.6.6
1.1.1.1 1.1.1.2 1.1.1.4 1.1.1.6
1.1.1.3 1.1.1.5
Remove
Concept of CSPF
ER-LSP Set-up by RSVP-TE
26
1.1.1.1 1.1.1.2 1.1.1.4 1.1.1.6
1.1.1.3 1.1.1.5
#1 #2
#3
#1 #2
#3
#1 #2
#3
#1 #2
#3
#1#2
#3 #1#2
#3Resv
Resv
Resv
Path->1.1.1.3->1.1.1.5->1.1.1.6
Path->1.1.1.5->1.1.1.6
Path->1.1.1.6
27
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Length = 12 | Class-Num = 1 | C-Type = 1 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| IPv4 Destination Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Protocol ID | Flags | Destination Port |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Length = 12 | Class-Num = 3 | C-Type = 1 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| IPv4 Next/Previous Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Logical Interface Handle |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Length = 8 | Class-Num = 5 | C-Type = 1 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Refresh Period R |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(a) Session class (このRSVPにより張られるパスの宛先)
RSVPの宛先
(b) Hop class (次デバイスの指定)
(c) Time values object (ソフトステートのリフレッシュピリオドの指定)
Objectの例
次デバイスのIPアドレス
リフレッシュ周期
0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Version| Flags | Message Type | RSVP Checksum | 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Send TTL | Reserved | RSVP Length | 2+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Object Length | Class-Num | C-Type | 3+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Object Data ... | 4+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Object Length | Class-Num | C-Type | 5+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Object Data ... | 6+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Additional Objects ... |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RSVP Header
RSVP Object
RSVP Object
図6.23 RSVPメッセージフォーマット
28
Table-6.2
Value Message Type1 Path2 Resv3 PathErr4 ResvErr5 PathTear6 ResvTear7 ResvConf
Message Type of RSVP
29
Format of ERO and RRO (See next OHP)
Class=20, C-Type=1ERO (Explicit route object)
0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|L| Type | Length | IPv4 address (4 bytes) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| IPv4 address (continued) | Prefix Length | Resvd |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Class=20, C-Type=1RRO (Record route object)
0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Length | IPv4 address (4 bytes) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| IPv4 address (continued) | Prefix Length | Flags |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type= 1 IPv42 IPv632 32 AS number
1: Local protection available2: Local protection in use
Fig.6.11
ERO : Explicit Route Object
PRO : Record Route Object
30
Fig.6.12
1 2 30 4
5 6 7
1(s)2(s)4(l)
2(s)4(l) 4(l) 4(l)
Popped after passing node 1
Popped after passing node 2
Not popped even after passing node 3
When the next pop is specified to Loose, node 3 selects route 2-3-4, because the cost of route 2-3-4 is lower than the route 2-6-7-4.
Processing the ERO and next hop
31Fig.6.13
1 2 30 4
5 6 7
It’s possible to know the upstream route of node 2 from RRO inside the Path message, and the downstream route of node 2 from RRO inside the Resv message.
PathRRO=(0,1)
Path
RRO=0 RRO=0
PathRRO=(0,1,2)
PathRRO=(0,1,2,3)
Resv(4,3,2,1)
Resv(4,3,2)
Resv(4,3)
Resv(4)
Session Attribute Obj.- Label Recording flag set
Option
Processing the RRO
32Fig.6.15
0 4
0 4
0 4
Tunnel ID=1 LSP-ID=10
Tunnel ID=1 LSP-ID=10
Tunnel ID=1 LSP-ID=20(New)
Tunnel ID=1 LSP-ID=20
BW=10 Mb/s
BW=25 Mb/s
BW=25 Mb/s
ID=20, closed after newsetup is completed
Bandwidth changing procedure of traffic trunk with RSVP-TE
33Fig.6.16
Tunnel-ID=1, LSP-ID=10
Tunnel-ID=1, LSP-ID=20
(LSP to be closed)
(New LSP)
Share the bandwidth
Shared Explicit style
34Fig.6.18
0 4
0 4
0 4
0 4
LSP-ID=10
Copy to LSP-ID=10 and 20LSP-ID=10
LSP-ID=20
LSP-ID=10
LSP-ID=20
LSP-ID=20
Select only LSP-ID=20
Select only LSP-ID=10
Switching by “make-before-break”
35
ISP-A
ISP-B
ISP-C
ISP-D
NW-a
Fig.6.19
Exchanging of route information by BGP-4 protocol
36Fig.6.20
IP header
Prefix NHR
IP header
IP forwarding table
IP forwarding at 1.1.1.1 router
1.1.1.21.1.1.31.1.1.41.1.1.51.1.1.6
1.1.1.21.1.1.31.1.1.21.1.1.31.1.1.2
IX
ISP-A ISP-B
1.1.1.3 1.1.1.5
External route 10.1.1.1
1.1.1.1 1.1.1.2 1.1.1.4
10.1.1.1 1.1.1.6
1.1.1.6
How about core routers?
BGP router
Non-BGP routerIBGP BGP router
How this router know that the NH of BGP-4 levelof 10.1.1.1 is ISP-b?
Notification of route information of BGP-4 within AS
This is not NHR of 1.1.1.1.
37Fig.6.21
デフォルトルート
94 95 96 97 98 99 00
X1000
http://www.telstra.net/ops/bgptable.html
10
20
30
40
50
60
70
80
90
0
Nu
mb
er o
f ex
tern
al r
ou
tes
(nu
mb
er o
f P
refi
xes)
Year
Increasing trend of number of entries into the routing table.
38Fig.6.22
IX
AS2AS3
IP packet
LSP full-mesh in between border routers
Transit traffic
B
C D
Border router A
AS1
Realization of transit service by LSP tunneling
39Fig.6.23
PE
PE
P
P
Site1CE
Site2CE
Site5CE
PE
Site4CE
Site3CE
VPN#1
VPN#2
P: providerPE: provider edgeCE: customer edge
VPN architecture
40Fig.6.24
P: providerPE: provider edgeCE: customer edge
PE
PE
P
P
Site1CE
Site2CE
Site5CE
PE
Site4CE
Site3CE
VPN#2
VPN#1
Overlay model
41Fig.6.25
PE
PE
P
P
Site1CE
Site2CE
Site5CE
PE
Site4CE
Site3CE
VPN#1
VPN#2
P: providerPE: provider edgeCE: customer edge
Peer model (RFC2547 specification)
42Fig.6.26
TokyoNew York
ParisLondon
Bank
Automobile
Intranet Extranet
TokyoNew York
ParisLondon
Bank
Automobile
Example of VPN (Intranet and Extranet)
43Fig.6.27
P
Site2 CE2
Site1 CE1
VRF#1
VRF#2VRF#3=VRF#1+#2
Site3 CE3
VPN-A (Automobile)
VPN-B (Bank)PE3
PE1
PE2
Flexible service by VRFVRF : Virtual Routing and Forwarding
PE : Provider Edge
CE : Customer Edge
Both VPN-A,B VRF
Only VPN-A VRF
Only VPN-B VRF
44Fig.6.30
P
Site2 CE
Site1 CE
VRF#1
VRF#2VRF#3= VRF#1+#2
Site3 CE
VPN-A (Automobile)
PE
PE
PEIP packet L0 L1
IP packet L0 L2
IP packetIP packet
VPN-B (Bank)
Label stack (Outer label and inner label)
Inner label for CE
Outer label for forwarding
45
Conclusions for Lesson 6-2
Traffic engineering is key technique for MPLS.
Explicit routing can control traffic flows in the
network.