STEEM Course: IPv4 Routing Primer (Part 1)

in stem •  7 months ago 

Hello and welcome, I am currently working on a video course regarding Routing for IP version 4, and I've decided to post my slides and scripts here on STEEM as I go along. I appreciate any feedback or suggestions, or if you are new to the world of computer networking, I hope you enjoy them! If you are brand new to the topic, I recommend that you review my previous course posted on STEEM titled IP Version 4 Addressing And Subnetting Deep Dive.

Here is part 1 of a multi-part series. In this section, we will define routing, forwarding, and other associate terms and foundational concepts. How many parts will there be? I have no idea because I am posting them as I go along.


IRPS1S1.jpg

Hello, welcome to my primer course on routing for IP Version 4. In this course, we will take a cursory look at IP routing, including how it is accomplished, and the technologies that surround it. It is not a deep dive into any particular routing protocol, but is meant to provide you a general understanding and framework for the future study of routing and its associated protocols. For success in this course, a general understanding of IP Addressing and Subnetting is required. Please refer to my previous course titled IP Version 4 Addressing And Subnetting Deep Dive.


IRPS1S2.jpg

Just a quick review on the Internet Protocol (IP). The Internet Protocol, or IP is part of the TCP/IP suite of protocols used to facilitate communication on computer networks. It is network layer protocol of the internet. There are 2 versions of IP. The most common is IP version 4, but IPv6 has been slowly gaining ground as the available public IPv4 address space gets exhausted. This course will focus on routing associated with IPv4, but an understanding of IPv6 routing can easily be built on top of it.


IRPS1S3.jpg

An IP address represents a single unique device on the Internet, such a computer, smart phone, or website. If you connect to the Internet, at some point your communication is being identified to the outside world using a unique Internet address.

An IP address contains two parts, a network address and a host address. In modern networks it is difficult to determine which part is which. A subnet mask is used to identify what the network address is, and what the host address is. With IP routing, we focus on the network address, specifically the advertising of it to other devices and networks.

Please refer to my previous course titled IP Version 4 Addressing And Subnetting Deep Dive for more information.


IRPS1S4.jpg

A deep dive into everything inside of an IP Packet is beyond the scope of this course, but we can look at the contents of the header relevant to IP routing. The header of the packet contains all of the information required to facilitate the delivery of the data, also referred to as the payload.

For the header information related to IP routing, first we have the version field, which is 4 bits long and indicates the version of the IP packet being routed. This can be a value of either 4 or 6 in binary. Next we have the 8-bit TTL field, which controls the amount of time an IP packet is allowed to live on the network. Every time an IP packet crosses a network device, the TTL is reduced by one. When the TTL reaches zero, the packet is dropped. The protocol field is used to indicate the protocol being routed over IP, like TCP, UDP, ICMP, or others like routing and tunneling protocols. Then you have the source address of the packet, which indicates the device that initiated the communication, and the destination address that indicates the target of that communication. When the source address and destination addresses in the packet exist on different networks, a router will be required in order to complete this communication


IRPS1S5.jpg

There are two conceptual models for how computer networks operate, these are the OSI model developed by the International Standards Organization (ISO), and the TCP/IP model that predates it. You may hear of an IP address, protocol, or device referred to as being Layer 3. This is because the IP protocol maps directly to the Network layer, or layer 3 of the OSI model. IP also maps directly to the Internet layer of the TCP/IP Model, which was developed as part of the TCP/IP protocol suite. The details of these models is not the focus of this course, but it’s important you know what is meant by a ‘Layer 3 Address, protocol, routing, or device’ and where they fit into these models, as many documentation sources will refer to them.


IRPS1S6.jpg

So what is IP routing, IP routing is the method by which an IP packet sourced from one network is delivered to a destination on another network. In short, it is the mechanism that allows devices with IPs on different networks to communicate in a process called forwarding. The routing and forwarding of packets across networks and devices is accomplished through the use of routing protocols, which can be either static or dynamic in nature, more on this later. Again when you talk about IP routing, you exist within layer 3 of the OSI model, or the Internet layer of the TCP/IP model.


IRPS1S7.jpg

Compared to IP routing, the concept of IP forwarding if closely related. Sometimes the two terms are used interchangeably. While routing determines direction of a packet, forwarding is the process of actually forwarding or moving those packets towards their destination. The path from the source to destination is referred to as a forwarding path. On that path, each router will make an independent decision about where to sent the packet based upon its own routing table. As the packet moves through the network, a packet will be forwarded one network hop at a time. Specifically, the router will look at the destination address of the packet, and look at its routing table to determine which interface it needs to send the packet to.


IRPS1S8.jpg

In the next two slides I will introduce you to a few of the many terms associated with IP routing. Most will be explained in greater detail as we go along, but this will serve as an introduction.

  • A router is simply a device that routes packets to their destination. A router can be a dedicated device or a function of another device. For example, a firewall or layer 3 switch can perform a routing function, but are not considered routers because the primary purpose of the hardware is not to route. For instance, a computer running Linux can also serve as a router. A router has multiple network interfaces. These can be individual physical interfaces like ethernet, or they can virtual. A virtual interface is accomplished through technologies such as VLAN trunking and subinterfaces.

  • Routing is the function of a router. It is the process that takes place that allows the forwarding of packets. Routing can be accomplished through static configuration, or through dynamic discovery of routes through routing protocols.

  • A packet or datagram is each individual unit that is routed and forwarded across the IP network.

  • A hop is simply a router on the path. If a packet crosses ten routers, it is said to traverse ten hops.


IRPS1S9.jpg

Continuing on with our routing terminology:

  • The next hop is the next router in the path to a destination as seen from the current router.

  • Egress traffic is traffic leaving the current router

  • Ingress traffic is traffic entering the current router

  • Neighbors or peers are all routers directly connected to the current router

  • Finally, an Autonomous System (AS) is an entire routing environment under direct administrative control by a single party. For example, a single large business or enterprise would be considered an autonomous system. In the case of certain routing protocols, an Autonomous System number is actually configured on all routers part of that AS.

We will continue to utilize this terminology, so the concepts will become more clear as we progress through the course.


Thanks for viewing! In the next part, we discuss in more detail why routing is needed, and how it is accomplished.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Despite having taken a bunch of programming courses, I never had the opportunity to take a networking class.

The one year I would've had the chance happened to be the year the school stopped offering networking.

I'm eager to read future installments in this series.

Nice. Thanks for dropping by--also if you look back on my blog I have a complete course on IP addressing and subnetting.