# Network Software

Network software is a set of rules defining how a [[Packet]] should be handled on a network (creation, delivery, etc...).

**These rules are defined as protocols**

The standard model that everyone uses is the [[OSI Model]]

![[packet-encapsulation.png]]

## Network Protocols
Network protocols defines the rules needed for multiple computers to communicate correctly with each other. You can compare it to our rules in natural languages.

- Protocols are divided into multiple layers (abstraction)
- Each layer has their own responsibilities.
- When a layer is replaced, other layers do not get affected. (Layers work independently)

### Examples
- A user does not need to understand how WiFi works exactly, or how signal errors are handled. (Abstraction)
- We can replace the Ethernet cable of a computer with a WiFi module and the internet connection should work exactly the same. (Layers work independently)

