PCE Hierarchical SDNs draft-chen-pce-h-sdns-00 Huaimo Chen (huaimo.chen@huawei.com) Mehmet Toy (mehmet_toy@cable.comcast.com) Lei Liu (lliu@us.fujitsu.com) Vic Liu (liuzhiheng@chinamobile.com)
Introduction • Hierarchical PCE: – RFC 6805 as referenced – Architecture – Hierarchical PCE Procedures (parent child discovery, etc) – Hierarchical PCE Applicability Nature and simple extensions • Hierarchical Controller Parent receives service Controls Parent requests eventually, n child Controller work with children to controllers provide services. Each child controls a Child Child Child domain Controller 1 Controller 2 Controller n Domain info Domain 2 hidden from Domain 1 Child Domain n parent, others Controller j Child Controller i Page 2
Extensions to PCE: Parent-Child Discovery • Using Open Messages with capability TLV – flag PC: Parent Controller, flag CC: Child Controller An example sequence of events for discovery Assume PCE session between P and C Parent Controller PCE P PCE C Child Controller k Configure C as Domain k Configure P as child controller parent controller Open Message (PC=1) Remote P is Parent and is same as configured, Open Message (CC=1) Form Child-Parent relation Remote C is Child and is same as configured, Form Parent-Child relation Sends P inter-domain links Connection and Access attached to domain n without details Page 3
Extensions to PCE: E2E Domain Sequence and Path After controller discovery, parent controller • Knows: – its child controllers and connections among domains • Does not know any details or abstraction on any domain • Obtains E2E domain (sequence) path (and then path by BRPC) – working with related child controllers and – using path segments computation request/reply path segments computation request/reply (PSReq/PSRep) may be from PCReq/PCRep containing RP with a new flag indicating “path segments computation” or Other ways to extend PCE such as new messages or new RP (CRP) Repeat: send PSReq to child, build SPT using path segments as links in PSRep, until Dest in SPT (i.e., Domain Path in SPT) Parent PSReq: Path Segments To which child PSReq is sent is guided by SPT Controller from A to edges Controller 3 T R Controller 2 PSRep: Path Segments N U computed from A to 9 S Controller 1 J edges as links w/o details D Domain 3 B G 1 M O 8 F 3 K 2 A C Controller 4 E 3 L 1 P Z 2 5 3 Domain 1 2 V X H 4 Source Q Domain 2 Node W 5 Path Segment 5 Y Destinati Computed, on E2E path on Node Path Segment Computed, Domain 4 not on E2E path Page 4
Extensions to PCE: Create Tunnel along Path After obtaining E2E path, parent controller • Create tunnel along path – working with related child controllers and – using tunnel segment creation request/reply tunnel segment creation request/reply (TSReq/TSRep) may be from PCReq/PCRep containing RP with a new flag indicating “tunnel segment creation” or Other ways to extend PCE such as new message, new RP (CRP), or etc Parent TSReq: create Tunnel Segment Controller along path segment w/ key Parent sends TSReq to each of TSRep: Tunnel Segment created child controllers along path. E2E tunnel is created after each segment is created. Controller 3 T R Controller 2 5 N U S Controller 1 J 4 D Domain 3 B G 1 M O F 3 K 2 A C Controller 4 E L P Z 2 3 Domain 1 V X H Source Q Domain 2 Node W 5 Path Segment Y Destinati Computed, on E2E path on Node Domain 4 Page 5
An Interesting Scenario A parent has information of domains “controlled” by its children Parent receives service Parent Controls requests eventually, Controller n child Child 2 controls work with children to controllers domain 2 (3 inter- provide services. domain links to parent) Child Child Child Controller 1 Controller n Controller 2 As parent controls child controller i, j Domain 2 Domain 1 Domain n Domain j Domain i Child Child Controller j Child controller Controller i i, j controls domain i, j Domain j Domain i How does parent co-ordinate with its children? One way: – Parent computes path, and – Child creates tunnel segments (assign label and write cross connects, etc) Page 6
Encoding Options For contents of a message, it may be encoded in one of a few ways New type • A new type for each message • A new type for a group of messages o Define flags or options to differentiate them Embedded in an existing message • A new flag or options in existing object such as RP indicating this + new contents • A new object with a flag or options (such as xRP) + new contents Mixed Page 7
Next Step • Request for comments and suggestions
Recommend
More recommend