Segment Routing เหมือน หรือต่างกับ MPLS ที่ใช้งานอยู่ในปัจจุบันอย่างไร?
Segment Routing เหมือน หรือต่างกับ MPLS ที่ใช้งานอยู่ในปัจจุบันอย่างไร? 1. MPLS ดั้งเดิม (MPLS LDP) MPLS จะ forward IP packet หรือ Ethernet frame บนพื้นฐานของ label โดยการ forwarding and swap label จากต้นทางไปยังปลายทาง ตามชื่อเต็มๆ ของ MPLS คือ Multiprotocol Label Switching (การ switching ข้อมูล หรือการส่งข้อมูลบนพื้นฐานของการ swap label header โดยมี payload ของของ MPLS frame เป็น protocol อะไรก็ได้ (multiprotocol) คือ payload ของ MPLS frame จะเป็น Layer 3 packet (IP packet ) หรือเป็น Layer 2 frame (Ethernet frame, HDLC frame, PPP frame) ก็ได้ โดยดั้งเดิมแล้วเนื่องจาก IGP (Routing protocol อย่างเช่น OSPF, ISIS, EIGRP, RIP) ดั้งเดิมจะแลกเปลี่ยนกันแค่ routing information หรือ IPv4 subnet / IPv6 subnet และไม่สามารถแลกเปลี่ยน label ที่จะใช้ในการ forwarding ใน MPLS network ได้ ซึ่งในช่วงแรกๆ มีการพิจารณา และตัดสินใจสร้าง protocol ใหม่ขึ้นมา คือ LDP (Label Distribution Protocol) ซึ่ง protocol ตัวนี้จะทำหน้าที่เป็นขั้นตอนคือ Step 1: รอให้ IGP แลกเปลี่ยน routing information (เช่น IPv4 subnet) ให้เสร็จสิ้นเสียก่อน Step 2: จากนั้น LDP protocol จะเอา IGP route (หรือ IPv4 subnet) ทั้งหมดที่เป็น the best path ใน routing table มาจัดสรร (allocate) label (โดย default แล้วจะเอาทุกๆ route ที่เป็น IGP route ใน routing table มาจัดสรร label) Step 3: จากนั้น LDP protocol จะประกาศ label และแลกเปลี่ยน label ซึ่งกัน และกันในทำนองว่า "ต่อไป ถ้านายจะส่งข้อมูลมาหาชั้นนะ แทนที่จะ forwarding data มาในรูปแบบของ IP packet แต่ขอให้นาย encapsulate IP packet ไว้ใน MPLS frame นะ แล้วให้ส่งมันออกมาหาชั้นด้วย label เบอร์นี้แทนนะจ๊ะ"
2. MPLS-TE (TE = Traffic Engineering)
ในตอนนี้จะกล่าวถึงการประกาศ หรือแลกเปลี่ยน label ที่จะถูกใช้ในการ forwarding ใน MPLS network อีก protocol หนึ่ง นั่นคือ RSVP MPLS-TE (TE = Traffic Engineering) จะใช้ IGP ประเภท Link-State protocol ที่ได้รับการ upgrade ให้รองรับ parameter ที่เกี่ยวข้องกับการคำนวณ best path บนพื้นฐานของ Traffic Engineering โดย IGP เหล่านั้นก็คือ OSPF-TE หรือ ISIS-TE ถึงแม้ว่า OSPF-TE และ ISIS-TE จะได้รับการ upgrade แต่มันก็ยังไม่มีความสามารถในการประกาศ หรือแลกเปลี่ยน label ดังนั้นมันจึงต้องมี protocol อีก protocol หนึ่งเข้ามาช่วยในการประกาศ หรือแลกเปลี่ยน label นั่นก็คือ RSVP protocol ซึ่ง protocol นี้โดยดั้งเดิมแล้วมันถูกใช้อยู่ใน QoS แบบ Integrated Service หรือ IntServ ด้วยความสามารถของ RSVP protocol ที่สามารถทำ signaling ในการ request and confirm การจอง bandwidthได้ ดังนั้นมันจึงถูกเลือกเอามาใช้การ reserve bandwidth ใน MPLS-TE โดยขั้นตอนโดยสังเขป จะเป็นดังนี้ Step 1: PE router ต้นทางจะทำการคำนวณเลือก the best path จากตัวมันไปยัง PE router ปลายทางบนพื้นฐานของ bandwidth ที่ต้องการจอง ด้วย IGP protocol สำหรับ TE ซึ่งถ้าไม่ใช้ OSPF-TE ก็จะใช้ ISIS-TE ตัวใดตัวหนึ่งในการคำนวณหา the best path จาก PE ต้นทางไปยัง PE ปลายทาง (ทั้ง OSPF-TE และ ISIS-TE จะใช้ algorithm CSPF ในการคำนวณ the best path) Note: สำหรับ CSPF มีหลักการอย่างไร ท่านสามารถเข้าไปอ่านได้ตาม link นี้ครับ https://www.bloggang.com/viewblog.php?id=likecisco&date=28-06-2017&group=12&gblog=3 Step 2: หลังจากที่ PE router ต้นทาง เลือก the best path แล้ว PE router ต้นทางก็จะทำการส่ง RSVP signalling ประเภท RSVP PATH message ไปบอกกับ router ที่อยู่ระหว่างทางให้ช่วยจอง bandwidth ให้มันหน่อย ประมาณว่า "เราเลือกนายเป็นทางผ่านนะ และเราต้องการผ่าน link xx ของนาย นายช่วยจอง bandwidth ขนาด yy ให้เราด้วยนะ" และ router ระหว่างทาง ก็จะทำการส่ง RSVP signaling ประเภท RSVP PATH message ในลักษณะนี้ต่อไปเรื่อยๆจนถึง PE ปลายทาง Step 3: หลังจาก PE ปลายทางได้รับ RSVP signaling ประเภท RSVP PATH message เพื่อขอจอง bandwidth แล้ว มันจะทำการจอง bandwidth ให้ แล้วทำการ confirm การจองกลับไปยัง PE router ต้นทางผ่าน router กลางทางไปทีละ hop ทีละ hop ด้วย RSVP signalling ประเภท RSVP Reserve message ซึ่งในการ confirm การจอง bandwidth นี้ router ที่ทำการส่ง RSVP Reserve message นี้ จะทำการ allocate หรือทำการจัดสรร label ให้กับ router ต้นทางด้วย และเอา label ที่ได้จัดสรรเอาไว้แล้วนี้ ใส่ลงไปใน RSVP Reserve massage ด้วย เพื่อบอกกับต้นทางประมาณว่า "ถ้านายจะส่งข้อมูลมาทางฉัน ขอให้นายส่งมาด้วย MPLS frame ที่มี label เป็นเบอร์นี้นะจ๊ะ" Note: RSVP ที่ใช้อยู่ใน MPLS-TE จะถูกเรียกว่า RSVP-TE ถึงตรงนี้ เราจะเห็นได้ว่า MPLS-TE จะใช้ RSVP ในการประกาศ หรือแลกเปลี่ยน label สรุป MPLS ธรรมดา (MPLS-LDP) กับ MPLS-TE - MPLS ธรรมดาจะใช้ LDP protocol ในการประกาศ หรือแลกเปลี่ยน label ที่จะใช้ในการ forwarding ใน MPLS network - MPLS-TE จะใช้ RSVP protocol ในการประกาศ หรือแลกเปลี่ยน label ที่จะใช้ในการ forwarding ใน MPLS network สิ่งหนึ่งที่จะต้องบอกไว้ตรงนี้คือ โดยดั้งเดิมแล้วเมื่อเราพูดถึง MPLS ธรรมดาแล้ว เรามักจะเหมารวมด้วยความรู้สึกว่า MPLS ธรรมดา กับ LDP protocol เป็นสิ่งเดียวกันโดยปริยาย แต่เมื่อมี technology Segment Routing เกิดขึ้นมาในโลกใบนี้แล้ว เราจำเป็นต้องเข้าใจ Keyword ของคำว่า MPLS กับ LDP กันใหม่ สำหรับ MPLS (MPLS-LDP) และ MPLS-TE แล้ว มันจะใช้ IGP (routing protocol) ในการคำนวณ the best path เท่านั้น แต่จะใช้ protocol อื่นในการประกาศ หรือแลกเปลี่ยน label - MPLS (หรือ MPLS-LDP) จะใช้ LDP protocol ในการแลกเปลี่ยน label (LSP label) - MPLS-TE จะใช้ RSVP protocol ในการแลกเปลี่ยน label (LSP label)
แต่สำหรับ Segment Routing แล้วมันจะไม่ได้เป็นเช่นนั้น มาถึงตรงนี้เป็นเพียงแค่การ brief พื้นฐานของการแลกเปลี่ยน label (LSP label) ของ MPLS (หรือ MPLS-LDP) และ MPLS-RSVP ก่อนที่จะกล่าวถึง Segment Routing ต่อไป
3. Segment Routing สำหรับ Segment Routing แล้ว การ forwarding traffic จะยังคง forward อยู่บนพื้นฐานของ label เช่นเดียวกันกับ MPLS-LDP และ MPLS-TE เพียงแค่ Segment Routing จะใช้ IGP (routing protocol) ในการ learn label โดยตรงโดยที่ไม่ต้องพิ่งพา protocol อื่นๆ อย่างอย่าง LDP หรือ RSVP อีกต่อไป Segment Routing เกิดขึ้นมาเพื่อรองรับ SDN สำหรับ Service Provider ซึ่งโดยพื้นฐานแล้ว หาก network ของ Service Provider ยังไม่พร้อมที่จะไป SDN solution แล้ว Service Provider ก็ยังสามารถที่จะ implement Segment Routing รอเอาไว้ก่อนได้ โดยการ convert หรือปรับเปลี่ยน network จาก MPLS-LDP (การเรียนรู้ label ผ่าน LDP protocol) มาเป็น Segment Routing (การเรียนรู้ label ผ่าน IGP) รอไว้ก่อนได้ ซึ่ง Segment Routing จะเป็นการเตรียม LSP path จาก PE-to-PE เท่านั้น โดยหากต้องการให้บริการ L3VPN แล้ว เรายังคงต้อง implement MP-BGP เพื่อรองรับการ learn หรือแลกเปลี่ยน VPN label (label ที่ใช้สำหรับ L3VPN service) อยู่ดี *** ความแตกต่างระหว่าง MPLS-LDP/MPLS-TE และ Segment Routing ก็คือ วิธีการเรียนรู้ หรือวิธีการแลกเปลี่ยน label (LSP label) นั่นเอง *** ความเหมือน ก็คือ MPLS-LDP/MPLS-TE และ Segment Routing การ forwarding traffic จะยังคง forward อยู่บนพื้นฐานของ label (LSP label) สำหรับ SDN ที่จะเอามาใช้งานร่วมกับ Segment Routing นั้น ระบบจะต้องมีการ implement SDN Controller หรือ คนกลาง ที่สามารถมองเห็น Network Topology ได้ทั้ง Network แบบ End-to-End และสามารถรองรับการ provisioning service ผ่าน SDN controller ได้ หรือแม้กระทั่งการจัดสรร Bandwidth แบบ MPLS-TE ก็สามารถทำได้บน SDN Controller ด้วยเช่นกัน ข้อดีอีกอย่างของการใช้งาน SDN Controller ร่วมกับ Segment Routing ก็คือการรองรับการทำ Source Routing หรือการอนุญาติให้ต้นทางสามารถที่จะระบุ หรือเลือกเส้นทางที่ต้องการจะรับส่งข้อมูลเองได้ สำหรับตอนนี้ขอจบเพียงเท่านี้ครับ หากมีเวลา จะมา update เพิ่มในบทความนี้ครับ โก้-ชัยวัฒน์ (KoChaiwat)
Create Date : 03 พฤศจิกายน 2561 |
Last Update : 6 พฤศจิกายน 2561 19:29:13 น. |
|
3 comments
|
Counter : 5990 Pageviews. |
|
|
|