The current lesson is all about networking. You will learn the networking protocols – the OSI model and the TCP/IP protocol suite. I will also talk about the HTTP protocol and web sockets! Svetlin Nakov will go over several real-world examples to make sure you understand the concepts well.
Networking and Internet protocols play an important role in software development.
Communication in Internet uses networking protocols.
Protocols define the technical standards for communication between two systems, for example a mobile app and a Web server.
The OSI model defines 7 layers of networking protocols.
OSI stands for “Open Systems Interconnection” and defines a framework on which modern networking and communication standards are based.
The 7 layers of the OSI model are:
- Layer 1: the Physical layer. It is responsible for the physical connection between two or more parties.
- Layer 2: the Data Link layer. It provides node-to-node data transfer – a link between two directly connected nodes in the same network.
- Layer 3: the Network layer. Layer 3 networking protocols (such as IP, IPv6, IPSec, ICMP and IGMP) transfer packets (such as IP packets) between two nodes at two different networks.
- Layer 4: the Transport layer. The transport layer protocols (such as TCP, UDP and QUIC) are responsible for end-to-end communication between the two endpoints.
- Layer 5: the Session layer. It controls the dialogues (connections) between computers.
- Layer 6: the Presentation layer. It is responsible for translation, encryption, and compression of data.
- Layer 7: the Application layer. This is the only layer that directly interacts with data from the user. Software applications like Web browsers and Email clients rely directly on the application layer protocols.
The 7-layer OSI model is too complicated.
It is designed for network engineers and communication experts. In software development a simplified networking model exists.
It is called “The TCP/IP protocol suite” and it consists of only 4 layers:
- Link layer, which combines physical media and data link protocols, such as Ethernet.
- Internet layer, which transmits packets between two hosts in Internet, using the network protocols IP or IPv6.
- Transport layer, which provides communication between two endpoints, using the TCP, UDP or QUIC protocols.
- Application layer, which defines how two applications (client and server) talk to each other. Protocols like HTTP, HTTPS, SMTP, SMTPS, DNS and DNSSEC operate at the application level.
- Networking and Internet Protocols – The OSI Model, TCP/IP
- HTTP and Socket Communication
- A Real-Life Example of Socket-Based Communication