EGP - Exterior Gateway Protocol ================================= .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is EGP?** EGP (Exterior Gateway Protocol) is a routing protocol used to exchange routing information between different autonomous systems (AS) on the internet. It was one of the earliest protocols designed for inter-domain routing and was formally defined in RFC 904 (1984). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How does EGP work?** EGP operates by: * Establishing neighbor relationships between routers in different ASes. * Exchanging reachability information (i.e., which networks are reachable). * Using a polling mechanism to request updates from neighbors. * Sending update messages to share routing information. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What are the main message types in EGP?** * Neighbor Acquisition - Establishes or ends neighbor relationships. * Neighbor Reachability - Checks if neighbors are alive. * Poll - Requests routing updates. * Routing Update - Shares reachability information. * Error - Reports issues in communication. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What are the advantages of EGP?** * Simplicity: Easy to implement and understand. * Stability: Routing tables change infrequently. * Historical significance: It laid the foundation for modern inter-domain routing. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What are the limitations of EGP?** * Limited to tree-like topologies (no support for loops or multipath). * No path metrics: Cannot determine the best route. * Not scalable: Designed for a centrally controlled internet. * Obsolete: Replaced by BGP (Border Gateway Protocol) due to its limitations. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI Layer does EGP operate at?** * EGP operates at the **Network Layer (Layer 3)** of the OSI model. * It is responsible for exchanging routing information between different autonomous systems. * It enables packet forwarding decisions based on routing tables. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`EGP Version&RFC Details ` * :ref:`EGP Basic Setup on Ubuntu using IPv4 ` * :ref:`EGP Basic Setup on Ubuntu using IPv6 ` * :ref:`EGP Protocol Packet Details ` * :ref:`EGP Usecases ` * :ref:`EGP Basic Features ` * :ref:`EGP Feature : Inter-AS Communication ` * :ref:`EGP Feature : Reachability-Based Routing ` * :ref:`EGP Feature : Polling Mechanism ` * :ref:`EGP Feature : Finite-State Machine Model ` * :ref:`EGP Feature : Simple Packet Structure ` * :ref:`EGP Feature : Tree-Like Topology Support ` * :ref:`EGP Feature : Limited Scalability ` * :ref:`Reference links ` .. _EGP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _EGP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _EGP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _EGP_step5: .. tab-set:: .. tab-item:: EGP Version&RFC Details .. csv-table:: :file: ./EGP/EGP_Version_RFC_details.csv :widths: 10,10,10,30 :header-rows: 1 .. _EGP_step17: .. tab-set:: .. tab-item:: EGP Basic Setup on Ubuntu using IPv4 * Setup .. _EGP_step18: .. tab-set:: .. tab-item:: EGP Basic Setup on Ubuntu using IPv6 * Setup .. _EGP_step6: .. tab-set:: .. tab-item:: EGP Protocol Packet Details **EGP Hello (Neighbor Acquisition) Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Hello-Ack Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Poll Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails3.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Update Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails4.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Error Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails5.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Request Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails6.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Confirm Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails7.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Refuse Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails8.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Cease Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails9.csv :widths: 10,20,30,10 :header-rows: 1 **EGP Cease-Ack Packet** .. csv-table:: :file: ./EGP/EGP_Packetdetails10.csv :widths: 10,20,30,10 :header-rows: 1 .. _EGP_step7: .. tab-set:: .. tab-item:: EGP Usecases .. csv-table:: :file: ./EGP/EGP_Use_Cases.csv :widths: 10,20,30 :header-rows: 1 .. _EGP_step8: .. tab-set:: .. tab-item:: EGP Basic Features .. csv-table:: :file: ./EGP/EGP_Basic_Features.csv :widths: 10,10,30 :header-rows: 1 .. _EGP_step9: .. tab-set:: .. tab-item:: EGP Feature : Inter-AS Communication **Inter-AS Communication - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature1_Inter_AS_Communication_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step10: .. tab-set:: .. tab-item:: EGP Feature : Reachability-Based Routing **Reachability-Based Routing - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature2_Reachability_Based_Routing_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step11: .. tab-set:: .. tab-item:: EGP Feature : Polling Mechanism **Polling Mechanism - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature3_Polling_Mechanism_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step12: .. tab-set:: .. tab-item:: EGP Feature : Finite-State Machine Model **Finite-State Machine Model - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature4_Finite_State_Machine_Model_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step13: .. tab-set:: .. tab-item:: EGP Feature : Simple Packet Structure **Simple Packet Structure - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature5_Simple_Packet_Structure_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step14: .. tab-set:: .. tab-item:: EGP Feature : Tree-Like Topology Support **Tree-Like Topology Support - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature6_Tree_Like_Topology_Support_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step15: .. tab-set:: .. tab-item:: EGP Feature : Limited Scalability **Limited Scalability - Testcases** .. csv-table:: :file: ./EGP/EGP_Feature7_Limited_Scalability_TestCases.csv :widths: 10,10,30,20 :header-rows: 1 .. _EGP_step16: .. tab-set:: .. tab-item:: Reference links * Reference links