Segment routing เป็น network technology ที่มุ่งเน้นการแก้ปัญหาจุดอ่อนของ IP และ Multiprotocol Label Switching (MPLS) networks ที่มีอยู่ใน terms ของ ความเรียบง่าย, ความสามารถในการขยาย, และความสะดวกในการดำเนินงาน
มันเป็นรากฐานสำหรับ applicatoin engineered routing เพราะมันเตรียมความพร้อม network สำหรับรูปแบบธุรกิจ ใหม่ๆ ที่ application สามารถสั่ง หรือชี้นำ (direct) ลักษณะการทำงานของ network (network behavior) ได้
Segment routing พยายามสมดุลระหว่าง distributed intelligence และ centralized optimization และ programming ซึ่งมันถูกสร้างขึ้นมาเพื่อยุคของ software-defined networking (SDN) นั่นเอง
Segment routing enables enhanced packet forwarding behavior. It enables a network to transport unicast packets through a specific forwarding path, other than the normal shortest path that a packet usually takes. This capability benefits many use cases, and you can build those specific paths based on application requirements.
Segment routing uses the source routing paradigm. A node, usually a router but it can also be a switch, a trusted server, or a virtual forwarder running on a hypervisor, steers a packet through an ordered list of instructions, called segments. A segment can represent any instruction, topological or service-based. A segment can have a local semantic to a segment-routing node or global within a segment-routing network. Segment routing allows you to enforce a flow through any topological path and service chain while maintaining per-flow state only at the ingress node to the segment-routing network. To be aligned with modern IP networks, segment routing supports equal-cost multipath (ECMP) by design, and the forwarding within a segment-routing network uses all possible paths, when desired.
Segment routing ช่วยให้พฤติกรรมการ forwarding packet ถูกยกระดับขึ้นมา ซึ่งมันจะทำให้ network สามารถที่จะขนส่ง packet ที่เป็นแบบ unicast ผ่านเส้นทางการ forwarding ที่เจาะจงตามที่ต้องการได้ ที่นอกเหนือไปจาก shortest path แบบธรรมดาๆ ที่ packet มักจะทำกัน
ความสามารถนี้จะเป็นประโยชน์ต่อ “ตัวอย่างของการใช้งาน (use cases)” จำนวนมาก และคุณสามารถที่จะสร้างเส้นทางที่เจาะจงเหล่านั้นบนพื้นฐานของความต้องการของ application (application requirements) ได้
Segment routing ใช้กรอบความคิดแบบ “source routing หรือการค้นหาเส้นทางบนพื้นฐานของต้นทาง”
คำว่า “node” โดยปกติแล้วจะหมายถึง router แต่นอกจากนั้นแล้ว มันก็ยังสามารถที่จะเป็น switch, trusted server, หรือ virtual forwarder ที่ run อยู่บน hypervisor ได้อีกด้วย
Note: Node จะทำการชี้นำ packet ผ่านทาง “ordered list of instructions หรือ การแนะแนว ในการ forward ซึ่งเป็นรายการที่ได้ถูกจัดลำดับเอาไว้” ซึ่งจะถูกเรียกว่า segment
Segment สามารถที่จะเป็นตัวแทนของ การแนะแนว (instruction), topological หรือ services-based ได้ โดย segment สามารถที่จะมีความหมายที่เป็นแบบ local (local semantic) ต่อ segment-routing node หรือ global ที่อยู่ภายใน segment-routing network ได้
Segment routing จะทำให้เราสามารถที่จะบังคับ packet ให้ไหลผ่านทาง topological path และ service chain ใดๆ ก็ได้ในขณะที่ทำการ maintaining สถานะ (state) แบบ per-flow ไปยัง segment-routing network จะอยู่ที่ ingress node เท่านั้น (การ maintaining per-flow state จะทำอยู่ที่ ingress node เท่านั้น)
เพื่อที่จะทำให้สอดคล้องกับ modern IP network และการ forwarding ที่อยู่ภายใน segment-routing network แล้วนั้น ให้ใช้เส้นทาง (path) ทั้งหมดที่เท่าที่เป็นไปได้ เมื่อมีความต้องการที่จะใช้มัน
Note: Segment routing ถูกออกแบบมาให้สนับสนุน (support) equal-cost multipath (ECMP) อยู่แล้ว