For the chapter Internet Routing and Functions, we will now look into IGP and EGP. IGP stands for Interior Gateway Protocol. It's used by gateways to exchange routing information within, inside, an autonomous system. An autonomous system could be like a corporate network, campus network or Internet Service Provider network. EGP, Exterior Gateway Protocol is used by Gateways to exchange routing information between outside ASs. Routing path selection is based on, network policies, network administrator configured rule sets. Currently, the Internet uses BGP4, which is Border Gateway Protocol version 4, that was published in 2006. IGP categories include Link-State routing protocols and Distance-Vector routing protocols. IGP examples include OSP, RIP, IS-IS and EIGRP. Among these, link-state routing protocols, and open shortest path first, these technologies are used most frequently and, therefore, we will focus more on them. Border gateway protocols have external BGP and internal BGP types. This is used for BGP routing between ASs and internal BGP, iBGP is used for BGP routing within an AS. Now, BGP security is an issue because BGP routers commonly belong to different Internet service providers and, therefore, each router may use a different encryption and security scheme. Routers and gateways are administered and managed by different Internet service providers, so security coordination may be difficult. BGP routers need to exchange setup and updated information with each other. Now, if poor coordination happens, then security vulnerabilities will occur. When different encryption and security schemes are used, it can be difficult to authenticate and protect against spoofed BGP messages and various malware attacks. OSPF, Open Shortest Path First. This is the most widely used IGP, Interior Gateway Protocol, for routing in the Internet. It is used for routing IPv4, IPv6 and CIDR notations. It is used by Internet gateways and routers and it uses Link State Routing algorithm. The way that it operates is, routers collect Link State information from other routers in the AS network. Then Network Connection Map (a tree) is made, which includes the cost values of all the links. Tree roots from the source node, which will be my node, and my node, I'm going to create a routing tree, to all other nodes in the network, and it will start from me. So, therefore, my node, which will be the source node, will be the root node of the tree. And it will branch out and make connections to all other nodes in the network. The link state routing algorithm is used to set up a shortest path tree that has no loops. Now, a loop can create a big problem because a packet to go into a loop and just go around and around and also it will exhaust the resources of the routes in those that are connected to the loop. So, therefore, loops are not desired, so, therefore, we want to create a loop-free shortest path tree that shows all the routing paths from the source node to all the destination nodes that I can use. Here, SPT will select a minimum cost routing path using Djikstra's algorithm. The gateways and routers will set up and update their routing tables based on the SPT. When changes in the network are detected, then steps one through four will be repeated. OSPF link cost factors include distance of a router, round-trip time, the number of hops to reach the destination, the throughput in terms of bits per second, packets per second, or bytes per second, availability, and reliability. The shortest path algorithm works in the following procedures. M is the set of nodes connected to the shortest path tree. Now, initially it starts with no members. So basically I am the only member within the set M. We want to find the least cost route and we want to find it from the source node, which is my node, to all the other nodes in the network. And when we calculate the link cost value to a certain node, I will be adding up the link cost values following a path that is already selected using the nodes that are in set M. And I'll show you an example to clarify this up. In addition, whenever we select a minimum cost node, it is added to set M. And we want to record the least cost route from S to node X. We will repeat these procedures from three to five until all nodes in the network are a member of the set M. Here is an example, for this network, this node s is my node and that's why I'm the only one that's included in the set M. I'm going to compare all 1 hop connections that connect to node 1, 3, 4, and 2, and the link cost values is 2, 5, 5, and 3. Among these, the minimum one is 2, so therefore I select it. And it becomes a member of set M and now it is connected to my shortest path tree. The first node is connected. Now, when I calculate the next set of values and I'm going to do a comparison to add the lowest cost one, I need to make sure that the connection over here although it's a 2, to connect to node 3 by node 1, it goes through this link value of 2. So actually, the 2 plus 2 results in a value of 4. So it should be represented as a 4. So it's a 4, a 5, a 5, and a 3. So therefore, among these, 3 is the least cost, so, therefore, node 2 is added to the shortest path tree and node 2 is added to set M right here. In the next step, we see the other numbers. And among them, the value 4 at the top is the lowest cost. So therefore, node 3 is added on and then we compare again we see that 9, 5 9 and 13 are compared. The least cost, the minimum cost is this one right here 5 which connects to node 4 so, therefore, it is added to the shortest path tree and node 4 is added to set M right here. Then, among the other options, we compare again. And the least cost, which is the link cost of number 9, which connects node number 6 to the shortest path tree is selected and, therefore, it is added here, what you see right here, number 6. Then, we do another comparison and you see that there is a value over there which is 12, 10, and 13. 10 is a minimum one over there which connects to note 7. So therefore, that link is connected to the shortest path tree and you see right here, note 7 is included inside set M. Then, among the other options, we add the link which is the 11 over there, which connects to node 8, and therefore it is added right here. Then, among the remaining connections that we want to connect to the remaining node, node number 5. Well the options you see the 2 values over there, 12 and 13. Among the options that connect to node 5, the route through node number 7 is the least cost one, which has a cost value of 12 and therefore, that is added on to the shortest path tree. And by that being adding on well, now all the nodes including node number 5 is all included into set M. And the algorithm is able to stop and the shortest path tree is established. The routing table you can see right here. Where you can see the source node S, the destination node which is written From and To, to which shows all the nodes within the network and the route that is used to go through the shortest path tree. OSPF router types, we have internal router, IR, Area Border Router ABR where an IR where all routing interfaces belong to the same network area and in an ABR, this connects subarea networks to the backbone network. There is also a BR, a backbone router, which connects to the backbone network. And we also have an ASBR, which is an autonomous system boundary router, which connects between ASs using multiple routing protocols. Routers may have multiple type functionalities. MOSPF stands for Multicast OSPF. It is an OSPF extension to support multicast routing. It enables routers to share group membership information in multicast routing path setup. Alternative multicasting schemes do include OSPF with PIM, which is protocol independent multicast. OSPF subdivided networks, this is a division based on administration and management requirements. It is used to simplify administration, optimize traffic and resource utilization, enhance security and enable faster routing updates. OSPF network subdividing results in subarea networks and a backbone network area. OSPF traffic engineering, this is traffic engineering quality of service routing control of IP packets from ingress node to egress node. Traffic engineering enhances reliability by minimizing service outage from errors and failures. Traffic engineering enables measurement, characterization, and modeling for performance optimization of Internet traffic. Traffic Engineering can be used for IP and non-IP networks, which optical networks are a representative example of non-IP networks. Address Resolution Protocol, ARP. ARP maps an IPv4 IPv6 address to a device's data link layer address. For example, an Ethernet MAC address can be mapped to an IPv4 address. IPv6 uses NDP which is Neighbor Discovery Protocol for ARP functionality. So, for example, NDP can be used for Wi-Fi Mac address to be mapped to an IPv6 address. ARP is defined in RFC 826 and Internet Standard 37. The IANA manages ARP parameter values. Here are some ARP packet parameters that are used. And as you can see, there is hardware type, protocol type, hardware address length, protocol address length, operation, sender hardware address, sender protocol address, target hardware address, and target protocol address. These are the things that are included in an ARP packet.