본문 바로가기
강의 정리

OSI 7 Layer

by iOS 개린이 2022. 9. 29.

-OSI 7 계층이란 국제표준기구 iso가 발표한 네트워크 모델이다.

-현재 우리는 다른 모든 컴퓨터들과 통신이 가능하다. 하지만 초기에 정보 통신 업체 장비들은 동일 업체 내의 장비끼리만 연결이 되어있어서 다른 장비와의 호환은 불가했다. 

이런 문제들을 해결하기 위해, 원활한 통신을 위해 표준을 지정한 것이 1984년 iso에서 발표한 OSI 모델이다.

 

-OSI 7 계층은 Physical, Data Link, Network, Transport, Session, Presentation 그리고 Application 계층까지 총 7개의 계층으로 나누어져 있다.

 

-굳이 왜 7개의 계층으로 나누었나?

*전송과 수신의 과정(통신 과정)을 일목요연하게 파악할 수 있다. 따라서 통신의 흐름을 쉽게 보고 이해할 수 있다.

 

-각 계층에서 역할에 따라 추가하는 정보가 있는데 헤더라고 부른다.

 송신 시에는 7계층에서부터 1계층까지 내려가면서 각 층마다 인식할 수 있도록 헤더를 붙이고(캡슐화), 

 수신 시에는 1계층에서부터 7계층까지 올라가면서 헤더를 떼어낸다(캡슐화 해제).

 

OSI 7 Layer

7계층 Application Layer (응용 계층)

-응용 프로세스를 직접 사용하여 응용 서비스를 수행하는 느낌이다.(FTP, HTTP, SMTP, Telnet 프로토콜이 속한 계층) 

-사용자와 바로 연결되어 있는 계층으로 사용자가 네트워크에 접근할 수 있도록 하는 인터페이스 역할을 한다. (사용자에게 보이는 유일한 계층)

-전자 메일, 파일 전송 등의 응용 서비스를 네트워크에 연결해주는 역할을 한다.

 

6계층 Presentation Layer (표현 계층)

-데이터를 어떻게 표현할 지 정하는 역할을 한다. (JPG, MPEG, SMB, AFP 프로토콜이 속한 계층)

-서로 다른 통신 기기 간에 데이터들을 이해할 수 있도록 도와주는 역할을 한다. 

-데이터의 변환, 데이터의 압축 그리고 데이터의 암호화 기능을 가지고 있다.

1. 데이터의 변환 : 송신자로부터 온 데이터를 해석하기 위해서 응용계층 데이터 변환

2. 데이터의 압축 : 수신자에서 데이터의 압축을 풀 수 있는 방식으로 된  데이터 압축

3. 데이터의 암호화 : 데이터의 암호화나 복호화

 

5계층 Session Layer (세션 계층)

-먼저 세션이란 네트워크 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결을 말한다.

-세션 계층은 세션을 열고 닫고를 제공하는 매커니즘의 계층이다. (NetBIOS, SSH 등의 프로토콜이 속한 계층)

-실제 네트워크 연결이 이루어지는 계층으로 네트워크 상의 최초 연결, 연결을 관리해주고, 연결을 유지시켜 주는 역할을 한다. (세션 복구도 가능)

-포트 번호를 기반으로 연결하며, 통신 장치 간의 상호작용을 설정, 유지 및 동기화 기능을 수행한다.

 

4계층 Transport Layer (전송 계층)

-서로 다른 두 네트워크 간의 전송을 담당하는 계층이다. (TCP, ARP 등의 프로토콜이 속한 계층)

-통신을 활성화하기 위한 계층으로 하위 계층의 신뢰할 수 있는 데이터 전송 서비스를 제공하는 계층이다. 보내고자 하는 데이터의 용량, 속도 및 목적지 등을 처리한다.

-신뢰성있는 정확한 데이터를 주고 받을 수 있도록 오류검출 및 복구, 흐름제어와 중복검사, 세그맨테이션 등의 기능을 수행한다.

 

1. 세그멘테이션 : 상위 계층 데이터를 받아서 세그먼트라는 단위로 나누는 것을 의미한다.

세그먼트 작업의 이유 : 100MB 크기의 동영상을 전송받는다고 가정할 때 세그멘테이션을 해주지 않으면 100MB 모두 로딩되고 나서야 동영상을 볼 수 있는 비효율성이 있다. 또한 전송 중 연결이 끊겼을 때 세그멘테이션을 해주지 않으면 모든 데이터가 날아가는 손실 문제가 있다. 이 두 문제를 해결하기 위해 세그멘테이션 작업이 필요하다.

 

2. 흐름제어 : 간단하게는 서로 다른 전송량을 가지고 있는 기기가 있을 때 서로의 전송량에 맞게 제어해주는 것이다. 정확하게는 stop and wait 이나 sliding window 같은 방식을 사용한다고 한다.

 

3. 오류제어 : 전송하는 데이터가 오류가 있는지 확인하고, 오류가 있다면 다시 해당 데이터를 보내주는 것을 말한다. FEC, BEC, ARQ 등의 방식들이 있다.

 

3계층 Network Layer (네트워크 계층)

-네트워크 계층의 데이터 단위를 패킷이라고 한다.

-전송해야 할 데이터(패킷)를 출발지부터 목적지까지 최적의 경로를 찾아 전송하는 계층이다. (IP 등의 프로토콜이 속한 계층)

-데이터를 목적지까지 가장 안전하고 빠르게 전달하는 라우팅 기능을 맡고 있다. (호스트에다 IP번호를 부여하고 해당 도착지 IP까지 최적의 경로를 찾아주는 기능)

-다시 말해 주소를 설정하고, 경로를 선택하여 패킷을 전달

 

2계층 Data Link Layer (데이터 링크 계층)

-데이터 링크 계층의 데이터 단위를 Frame이라고 한다.

-물리적 계층(1계층)과 네트워크 계층 사이에서 데이터 전송을 담당하는 계층이다. (Wifi, LAN, MAC, 이더넷 등의 프로토콜이 속한 계층)

-네트워크 계층이 서로 다른 두 네트워크 간의 전송을 담당한다면, 데이터 링크 계층은 동일한 네트워크 내에서 전송을 담당한다.

-데이터 링크 계층에서도 흐름제어와 오류제어 기능을 제공한다. 전송 계층에서의 오류 제어 기능은 오류가 발생하면 다시 보내주고, 데이터링크 계층에서는 오류가 발생한 Frame은 버린다. (데이터 계층에서도 오류 재전송을 한다고함...)

-MAC(Media Access Control) 주소를 가지고 통신한다. (48비트 길이의 주소를 가진다고 한다. MAC 주소, 물리 주소, 하드웨어 주소, Burned-in 주소)

 

1계층 Physical Layer (물리 계층)

-물리 계층에서 사용하는 통신 단위는 bit (비트)이며 0과 1 로 나타낸다.  

-데이터 전송을 위한 물리적인 표준이다.

-0, 1 같은 비트 단위들을 전기 신호(on, off)로 변환해주고, 전송해주는 역할을 한다. (Modem, Cable 등의 프로토콜이 속한 계층)

-단지 데이터를 전기적인 신호로 변환해서 전달하기 때문에 어떤 오류가 있는지 확인하지 않는다.

 

 

 

참고:

OSI 7 Layer (계층), TCP/IP Layer (계층) :: 좋은 개발자가 되자 (tistory.com)

[iOS CS Study] (네트워크) OSI 7 Layer 개념 및 기능, TCP/IP 4계층 개념 및 기능 (velog.io)

[Network] 네트워크 OSi 7계층에 대해 간단 정리! (tistory.com)

OSI 7 계층이란?, OSI 7 계층을 나눈 이유 :: effortDev (tistory.com)

[Network] OSI(Open Systems Interconnection) 7계층 정리 (tistory.com)