DevBrainOps
110 subscribers
99 photos
5 videos
23 files
226 links
The group whose goal is to find the best approaches and solve problems of #DevOps practice.
Download Telegram
Forwarded from easyDevOps
The Open Systems Interconnection (OSI) Model

The Open Systems Interconnection (OSI) model was created to standardize the language used to describe networking protocols. It defines the manner in which systems communicate with one another using abstraction layers. Each layer communicates with the layer directly above and below. Not all layers are used at all times.

The Open Systems Interconnection Model

Layer Name Description
7) - -Application--Most networking stacks have a concept of the application layer.
6) Presentation--Most networking stacks combine the presentation layer in layers 4, 5, or 7.
5) - - Session--Sometimes used by different stacks, often combined into other layers (7 or 6).
4) Transport--Most networking stacks have a concept of the transport layer.
3) - - Network--Most networking stacks have a concept of the network layer.
2) Data - - LinkMost networking stacks have a concept of the data link layer.
1) Physical--Most networking stacks have a concept of the physical layer.

There are other models which are used to talk about networking. The most popular networking stack on the Internet today is the Internet Protocol Suite. The Internet Protocol Suite can be described using a subset of the OSI model.
OSI Layer 7: Application Layer

The Application Layer is the most well-known. This layer is at the top of the stack and deals with the protocols which make a global communications network function.

Some of the common protocols which exist in the Application Layer are:

HTTP: Hypertext Transfer Protocol

SMTP: Simple Mail Transfer Protocol

DNS: Domain Name System

FTP: File Transfer Protocol

DHCP: Dynamic Host Configuration Protocol.

Protocols at this level are the most familiar to users. They are defined by RFC1123. To learn more, take a look at the Requirements for Internet Hosts -- Application and Support memo.
OSI Layer 6: Presentation Layer

The Presentation Layer is commonly rolled up into a different layer. This layer deals with the formatting of data, e.g. conversion of Extended Binary Coded Decimal Interchange Code (EBCDIC) to American Standard Code for Information Interchange (ASCII).

For example, the HTTP protocol (an Application Layer protocol) has methods for converting character encoding. In other words, this Presentation Layer step happens at the Application Layer.

Many networking stacks and protocols make no distinction between layers 6 and 7.
OSI Layer 5: Session Layer

The Session Layer deals with managing of session data. It creates a semi-permanent connection, which is then used for communications.

Many of the RPC-type protocols depend on this layer:

NetBIOS: Network Basic Input Output System

RPC: Remote Procedure Call

PPTP: Point to Point Tunneling Protocol.

This ​layer is used by protocols which need reliable sessions, such as videoconferencing and SOCKS proxy.

If an established connection is lost or disrupted, this layer may try to recover the connection. 

If a connection is not used for a long time, the session layer may close and then reopen it.
OSI Layer 4: Transport Layer

The Transport Layer is responsible for the end-to-end communication protocols. Data is properly multiplexed by defining the source and destination port numbers. This layer also deals with reliability by adding check sums, doing request repeats, and avoiding congestion.

Some of the common protocols in the Transport Layer are:

TCP: Transmission Control Protocol
It is the main component of the TCP/IP (Internet Protocol Suite) stack. It is useful when data integrity, ordered delivery, and reliability are important. It is the backbone to many of the most popular protocols.

UDP: User Datagram Protocol
This is another popular component of the Internet Protocol Suite stack. It is useful when transmission speed is important and the integrity of the data isn't as important, or is managed by an above layer.

SCTP: Stream Control Transmission Protocol
It uses port numbers to allow for connection multiplexing.
Transport Layer Ports

Transport layer protocols use ports to distinguish between different types of traffic or to do multiplexing. The ports are classed in three different ways.

Transport Layer Ports

Well-Known Ports (0-1023)

They are assigned by the Internet Assigned Numbers Authority (IANA), and usually require super-user privilege to be bound. Some of the well-known ports are: 22 TCP: SSH; 25 TCP: SMTP; 80 TCP: HTTP; 443 TCP: HTTPS.

Registered Ports (1024-49151)

Registered ports are also assigned by the IANA. They can be bound on most systems by non-super-user privilege. Some of the registered ports are: 1194 TCP/UDP: OpenVPN; 1293 TCP/UDP: IPSec; 1433 TCP: MSSQL Server.

Dynamic or Ephemeral Ports (49152-65535)

The Ephemeral ports are used as source ports for the client-side of a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) connection. You can also use the Ephemeral ports for a temporary or non-root service.