If you have done any work in IT, it’s likely that you’ve been exposed to networking concepts. Although we use identity as our primary perimeter control in modern environments, this doesn’t mean that network controls are redundant. Although this is a huge topic, in this lesson we will cover some key networking concepts.
In this lesson, we’ll cover:
-
What is IP addressing?
-
What is the OSI model?
-
What is TCP/UDP?
-
What are port numbers?
-
What is encryption at rest and in transit?
IP addressing, or Internet Protocol addressing, is a numerical label assigned to every device connected to a computer network that uses the Internet Protocol for communication. It serves as a unique identifier for devices within a network, allowing them to send and receive data across the internet or other interconnected networks. There are two main versions of IP addressing: IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6). An IP address is typically represented in either IPv4 format (e.g., 192.168.1.1) or IPv6 format (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
The OSI (Open Systems Interconnection) model is a conceptual framework that standardizes the functions of a communication system into seven distinct layers. Each layer performs specific tasks and communicates with adjacent layers to ensure efficient and reliable data communication between devices in a network. The layers, from the bottom to the top, are as follows:
-
Physical Layer
-
Data Link Layer
-
Network Layer
-
Transport Layer
-
Session Layer
-
Presentation Layer
-
Application Layer
The OSI model provides a common reference for understanding how networking protocols and technologies interact, regardless of the specific hardware or software implementations.
ref: https://en.wikipedia.org/wiki/OSI_model
TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are two fundamental transport layer protocols used in computer networks to facilitate the communication between devices over the internet or within a local network. They are responsible for breaking down data into packets for transmission and then reassembling those packets into the original data on the receiving end. However, they differ in their characteristics and use cases.
TCP (Transmission Control Protocol):
TCP is a connection-oriented protocol that provides reliable and ordered data delivery between devices. It establishes a connection between the sender and the receiver before data exchange begins. TCP ensures that data packets arrive in the correct order and can handle retransmission of lost packets to guarantee data integrity and completeness. This makes TCP suitable for applications that require reliable data delivery, such as web browsing, email, file transfer (FTP), and database communication.
UDP (User Datagram Protocol):
UDP is a connectionless protocol that offers faster data transmission but does not provide the same level of reliability as TCP. It does not establish a formal connection before sending data and does not include mechanisms for acknowledging or retransmitting lost packets. UDP is suitable for applications where speed and efficiency are more important than guaranteed delivery, such as real-time communication, streaming media, online gaming, and DNS queries.
In summary, TCP prioritizes reliability and ordered delivery, making it suitable for applications that require data accuracy, while UDP emphasizes speed and efficiency, making it appropriate for applications where minor data loss or order rearrangement is acceptable in exchange for reduced latency. The choice between TCP and UDP depends on the specific requirements of the application or service being used.
In networking, a port number is a numeric identifier used to differentiate between different services or applications that are running on a single device within a network. Ports help route incoming data to the appropriate application. Port numbers are 16-bit unsigned integers, which means they range from 0 to 65535. They are divided into three ranges:
-
Well-Known Ports (0-1023): Reserved for standard services like HTTP (port 80) and FTP (port 21).
-
Registered Ports (1024-49151): Used for applications and services that are not part of the well-known range but are officially registered.
-
Dynamic/Private Ports (49152-65535): Available for temporary or private use by applications.
Encryption is the process of converting data into a secure format to protect it from unauthorized access or tampering. Encryption can be applied to data both "at rest" (when stored on a device or server) and "in transit" (when being transmitted between devices or over networks).
Encryption at Rest: This involves encrypting data that is stored on devices, servers, or storage systems. Even if an attacker gains physical access to the storage media, they cannot access the data without the encryption keys. This is crucial for safeguarding sensitive data in case of device theft, data breaches, or unauthorized access.
Encryption in Transit: This involves encrypting data as it travels between devices or over networks. This prevents eavesdropping and unauthorized interception of data during transmission. Common protocols for encryption in transit include HTTPS for web communication and TLS/SSL for securing various types of network traffic.
- How Do IP Addresses Work? (howtogeek.com)
- Understanding IP Address: An Introductory Guide (geekflare.com)
- What is the OSI model? The 7 layers of OSI explained (techtarget.com)
- The OSI Model – The 7 Layers of Networking Explained in Plain English (freecodecamp.org)
- TCP/IP protocols - IBM Documentation
- Common Ports Cheat Sheet: The Ultimate Ports & Protocols List (stationx.net)
- Azure Data Encryption-at-Rest - Azure Security | Microsoft Learn