ByteByteGo Newsletter

Share this post

A Crash Course in Networking

blog.bytebytego.com

A Crash Course in Networking

ByteByteGo
Jan 18, 2024
∙ Paid
622
  • Share this post with a friend

    Since you liked this post, why not share it to help spread the word?
Share this post

A Crash Course in Networking

blog.bytebytego.com
4
Share

The Internet has become an integral part of our daily lives, shaping how we communicate, access information, and conduct business. At its core, the Internet is a global system of interconnected computer networks that use standardized communication protocols to facilitate data exchange. This enables the transmission of text, images, videos, and more, across all sorts of devices.

In this issue, we dive into the essence of the Internet by exploring its key components: the network edges, access networks, network core, network protocols, and the Internet Protocol stack. We discuss how packet switching, forwarding, and routing work. We unravel the complexities of access networks and examine the crucial role protocols play in governing Internet activities. By the end, you will gain a comprehensive understanding of the Internet's architecture and its pivotal role in modern communication.

Internet Evolution

The evolution of the Internet is a fascinating journey spanning several decades, marked by groundbreaking developments and innovations. Here is a timeline of key milestones and transformative moments in the history of the Internet that have shaped the digital landscape we know today.

Components of the Internet

The Internet is a complex and interconnected network, consisting of several key components. We are going to explore the most important components of the Internet.

The Network Edge

The computers and other devices connected to the Internet are often referred to as end systems. They are called end systems because they sit at the “edge” of the Internet.

The Internet’s end systems include desktop computers, servers, mobile devices, and an increasing number of non-traditional “things” like smart appliances and IoT devices are being attached to the Internet as end ­systems.

End systems are also referred to as hosts because they host application programs such as a web browser, web server, e-mail client, or e-mail server.

Hosts are sometimes further divided into two categories: clients and servers. Informally, clients tend to be desktop and mobile PCs, smartphones, and similar personal computing devices, whereas servers tend to be more powerful machines that store and distribute web pages, stream video, relay e-mail, and similar services. Today, most of the servers providing search results, e-mail, web pages, and videos reside in large data centers. 

Access networks

Having considered the applications and end systems at the “edge of the network,” let’s next consider the access network, which is the network that physically connects an end system to the first router (also known as the “edge router”) on a path from the end system to any other distant end system. 

Access networks serve as the crucial link between end systems and the broader network infrastructure. Access networks can be broadly categorized into three types.

Home Access Networks

Home Access Networks refers to the set of technologies that enable connectivity and communication within a residential environment. This network allows devices within the home to connect to the Internet, share data, and communicate with each other. 

Institutional Access Networks

Institutional Access Networks refers to the networking infrastructure and technologies used by organizations, institutions, and businesses to connect to the Internet and facilitate communication within their premises. These networks are designed to handle the specific needs and requirements of large-scale operations.

Mobile Access Networks

Mobile Access Networks refer to the various technologies that enable mobile devices, such as smartphones and tablets, to connect to the Internet and communicate with each other. These technologies facilitate wireless communication and data transfer for mobile users.

To provide last-mile connectivity between end-users and the Internet, there are various technologies and infrastructure. Here are some of the most common access network technologies used in home, institutional, and mobile access networks. 

The Network Core

Having examined the Internet’s edge, let us now dive more deeply inside the network core, which is the mesh of packet routers and links that interconnect the Internet’s end systems.

The Internet core operates based on the principle of Packet Switching. This means end hosts take application messages, divide those messages into chunks of data, put those chunks of data inside packets, and send those packets to the Internet. Each packet contains the destination address and is routed independently through the network. This allows many communication sessions to share the core network.

For example, a web server breaks down an application response into packets. The server sends these data packets, which hop from router to router across Internet backbone links until they reach the destination - a user’s laptop running a browser. The laptop reassembles the packets to reconstruct the web server’s response.

There are two key functions performed inside the network core: forwarding and routing.

Forwarding

Forwarding is a local action of moving an arriving packet from a router’s input link to the appropriate router output link. Forwarding is controlled by a forwarding table inside each of the millions of routers on the Internet. 

When a packet arrives, the router looks inside for the destination address and looks up that destination address in its forwarding table. It then transfers that incoming packet to the output link leading towards that destination. 

Routing

The forwarding tables that allow routers to move packets toward their destination are created by routing algorithms. Routing is the global process of determining the full paths packets take from source to destination.

Internet routing algorithms compute the shortest and most efficient paths between any two points on the global network. They take into account the current network conditions and traffic flows to create optimal routes. The algorithms determine appropriate paths and populate each router's forwarding table with the next hop to efficiently reach network destinations.

Network Protocols

All activity on the Internet involving communication between networked devices is governed by protocols that provide standard rules. Protocols define message formats, ordering of message exchanges, and expected responses that allow proper communication between devices.

Protocols implemented at the hardware level control the transmission of bits between two physically connected network interface cards. Congestion control protocols regulate the rate at which end systems send packets back and forth. Routing protocols map out the path each packet should traverse between source and destination. Protocols coordinate all activities within networks.

Some common examples include Transmission Control Protocol (TCP) which supports reliable data delivery, Internet Protocol (IP) for logical addressing, Hypertext Transfer Protocol (HTTP) defining web traffic structure, and File Transfer Protocol (FTP) for file transfers. Each serves a specific purpose within the network, such as ensuring reliable data delivery, addressing, routing, and managing different types of network services. 

Standardization comes from the Internet Engineering Task Force (IETF), which publishes technical standards called RFCs (Request for Comments). These specifications allow diverse hardware and software implementations to achieve interoperability.

The Internet Protocol Stack (TCP/IP Stack)

The Internet, as you may have gathered, is an immensely complex system. It consists of numerous applications and protocols, diverse end systems, packet switches, and a variety of link-level media. Given this complexity, is there any hope of organizing a network architecture effectively? Fortunately, the answer is yes. 

To provide structure to the design of network protocols, network designers organize protocols, and the network hardware and software that implement the protocols, in layers. Each protocol belongs to one of the layers. Each layer provides its service by (1) performing certain actions within that layer and by (2) using the services of the layer directly below it. When taken together, the protocols of the various layers are called the Protocol Stack. 

The Internet Protocol stack, also known as the TCP/IP stack, is a conceptual framework that standardizes the protocols used for communication over the Internet and most computer networks. It is a set of networking protocols that enables computers and devices to communicate and exchange data with each other. While the OSI (Open Systems Interconnection) model famously outlines seven layers, the TCP/IP model typically consolidates these into four layers.

Application Layer

The top layer of the TCP/IP stack is the Application Layer, responsible for providing network services directly to end-users or applications. It includes protocols such as HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), and DNS (Domain Name System). This layer deals with high-level communication and user interfaces.

Transport Layer

The Transport Layer is responsible for end-to-end communication between devices. It ensures that data is reliably and efficiently transferred between applications on different devices. The most common protocols at this layer are TCP (Transmission Control Protocol), which provides reliable, connection-oriented communication, and UDP (User Datagram Protocol), which provides faster, connectionless communication.

Network Layer

The Network Layer is where IP (Internet Protocol) resides. It handles the addressing and routing of data packets between devices across different networks. This layer primarily encompasses the IP protocol, which is essential for all Internet components with a network layer. The Internet’s network layer also contains routing protocols that determine the routes that datagrams take between sources and destinations. 

There are many routing protocols and since the network layer contains both the IP protocol and numerous routing protocols, it is often simply referred to as the IP layer, reflecting the fact that IP is the glue that binds the Internet together. IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6) are the two main versions of IP used in this layer.

Link Layer

The Link Layer, also known as the Network Interface Layer or Data Link Layer, is responsible for the physical connection between devices on the same network segment. It deals with the protocols and hardware addressing, such as MAC (Media Access Control) addresses. Ethernet is a common protocol used at this layer.

These layers work together to enable communication across networks. Data is encapsulated at each layer as it moves down the protocol stack on the sender's side and decapsulated as it moves up the stack on the receiver's side.

The TCP/IP model is widely used for internet communication and is the foundation for the modern internet.

Summary

In this issue, we explored the role of end systems, access networks, and the network core in the Internet. The Internet operates on the principles of packet switching, with forwarding and routing playing crucial roles in its core functionality. Network protocols, governed by entities like the Internet Engineering Task Force (IETF), form the backbone of Internet communication. The Internet Protocol (IP) stack provides a structured framework for organizing the complexity of Internet architecture. This layered approach ensures seamless communication across networks, making the TCP/IP model the bedrock of modern Internet communication.

622 Likes
·
4 Restacks
622
  • Share this post with a friend

    Since you liked this post, why not share it to help spread the word?
Share this post

A Crash Course in Networking

blog.bytebytego.com
4
Share
Comments
Top
New
Community
Understanding Database Types
The success of a software application often hinges on the choice of the right databases. As developers, we're faced with a vast array of database…
Apr 19, 2023 • 
Alex Xu
745
Share this post

Understanding Database Types

blog.bytebytego.com
12
Netflix: What Happens When You Press Play?
This week's newsletter features a chapter from one of my favorite books, Explain the Cloud Like I’m 10. I am fascinated by our guest author, Todd Hoff’s…
Jan 4 • 
ByteByteGo
613
Share this post

Netflix: What Happens When You Press Play?

blog.bytebytego.com
1
Netflix: What Happens When You Press Play - Part 2
Remember how we said a CDN has computers distributed all over the world? Netflix developed its own computer system for video storage. Netflix calls them…
Jan 11 • 
ByteByteGo
554
Share this post

Netflix: What Happens When You Press Play - Part 2

blog.bytebytego.com
1
A Crash Course in Kubernetes
In today's world of complex, web-scale application backends made up of many microservices and components running across clusters of servers and…
Oct 26, 2023 • 
ByteByteGo
333
Share this post

A Crash Course in Kubernetes

blog.bytebytego.com
5
Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 2
Passwordless Authentication We have covered three types of authentication so far: HTTP basic authentication, session-cookie authentication, and…
Apr 12, 2023 • 
Alex Xu
584
Share this post

Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 2

blog.bytebytego.com
10
System Design PDFs
High Resolution PDFs/Images Big Archive: System Design Blueprint: Kuberntes tools ecosystem: ByteByteGo Newsletter is a reader-supported publication. To…
May 17, 2022 • 
Alex Xu
1,643
Share this post

System Design PDFs

blog.bytebytego.com
69
Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1
When we use various applications and websites, three essential security steps are continuously at play: Identity Authentication Authorization The…
Apr 5, 2023 • 
Alex Xu
550
Share this post

Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1

blog.bytebytego.com
24
A Crash Course in Docker
In the old days of software development, getting an application from code to production was slow and painful. Developers struggled with dependency hell…
Nov 9, 2023 • 
ByteByteGo
245
Share this post

A Crash Course in Docker

blog.bytebytego.com
2
7 Microservices Interview Questions
Microservices are a popular way to structure software systems today. As companies grow bigger and use more cloud computing, microservices help tackle…
Dec 14, 2023 • 
ByteByteGo
187
Share this post

7 Microservices Interview Questions

blog.bytebytego.com
5
EP94: REST API Cheatsheet
This week’s system design refresher: Everything You NEED to Know About Client Architecture Patterns (Youtube video) REST API Cheatsheet How Does a…
Jan 13 • 
ByteByteGo
590
Share this post

EP94: REST API Cheatsheet

blog.bytebytego.com
7
© 2024 ByteByteGo
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing

Update your profile

undefined subscriptions will be displayed on your profile (edit)

Skip for now

Only paid subscribers can comment on this post

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to wenranlu@gmail.com, or click here to sign in.

  • Wenran Lu
    wenranlu@gmail.com

    Home Inbox Explore Chat Activity Start writing
    Manage subscriptionSettingsSupportSign out
    AboutPrivacyTermsCollection notice