성장기록지

프로토콜과 OSI 7계층 본문

카테고리 없음

프로토콜과 OSI 7계층

pengcon 2025. 1. 1. 22:31

네트워크 프로토콜이란?

네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야하는 형식, 절차, 규약이다.

프로토콜은 기능에 따라 여러 계층으로 분리가 돼서 동작을 한다.

 

네트워크 계층구조 

대표적으로 OSI model (7 layer) , TCP/IP stack(4 layer) 가 있다.

OSI model은 범용적인 네트워크 구조이고, TCP/IP stack은 인터넷에 특화된 네트워크 구조이다.

 

OSI 7 LAYER

아래 그림과 같이 7계층이 있다.

아래에서부터 L1~L7이다.

각 레이어에 맞게 프로토콜이 세분화되어 구현되어있다.

각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작한다.

Application Layer

애플리케이션 목적에 맞는 통신 방법을 제공해준다.

대표적 프로토콜로는 HTTP, DNS, SMTP, FTP 가 있다.

어플리케이션 간의 통신방법이 관심사이다.

어플리케이션 사이에서 어떻게 데이터가 오고가는지는 관심사가 아니다 (다른 레이어 담당)

 

EX) 어플리케이션끼리 통신을 통해 사용자에게 웹페이지를 보여주고 싶다면 HTTP, 

EX2) 파일을 서버에 업로드,다운로드하는 어플리케이션을 만들고싶으면 FTP

EX3) 유튜브.com 같은 domain을 ip주소로 바꾸고싶다면 DNS

EX4) 이메일을 주고받는 기능을 구현하고 싶다면 SMTP

 

Presentation Layer

애플리케이션 간의 통신에서 메시지 포맷을 관리하는 레이어

보내는 쪽에서 어떤 Character set으로 인코딩했냐에 따라 

받는 쪽에서 어떻게 디코딩하냐를 결정

암호화-복호화, 압축-압축 해제 도 같다. 

Q) Character set 이란?  https://lipcoder.tistory.com/271

Session Layer

애플리케이션 간의 통신에서 새션을 관리

RPC(remote procedure call)는 이 레이어에서 동작한다. 

Q) RPC란? https://velog.io/@jakeseo_me/RPC%EB%9E%80

 

Transport Layer

애플리케이션의 통신을 담당한다.

목적지 애플리케이션으로 데이터 전송하는 일이 일어난다.

안정적이고 신뢰할 수 있는 데이터 전송을 보장하는 TCP와

데이터를 받을 수 없을수도 있게 필수 기능만 제공하는 UDP가 있다. 

목적지 애플리케이션에 데이터를 전송하기 위해서 어떤식으로 통신할지를 결정하는 레이어이고,

보내려는 데이터가 어떻게 목적지까지 찾아가게 만들것인지에 대한 것은 관심사가 아니다. (네트워크 Layer가 담당.)

 

Network Layer

호스트간의 통신을 담당한다. (대표적으로 IP)

목적지 호스트의 IP주소를 활용하여 데이터를 전송한다.

네트워크 간의 최적의 경로를 결정한다. (라우터에도 기능을 구현해줘야 함)

경로를 담당하는 레이어로, 노드 사이에서 어떻게 데이터를 전송할것인지는 관심사가 아니다.

 

data Link Layer

직접 연결된 노드 간의 통신을 담당한다. (라우터와 라우터 등..)

장치와 장치 사이에 데이터를 주고받을때는 MAC 주소 기반 통신을 한다.

IP주소를 MAC주소로 변환해주려고 ARP 프로토콜을 사용한다. 

Physical Layer

물리적 매개체를 통해(케이블,무선신호 등) bits(비트) 단위로 데이터를 전송하는 것을 담당한다.

 

 

컴퓨터끼리 데이터를 전송한다고 한다면?

아래의 그림처럼 레이어끼리 통신을 하게된다.

라우터는 통신을 위한 장치이기 때문에 아래와 같이 3개의 레이어에 있는 프로토콜을 구현하고 있다.

1. application Layer 부터 Physical Layer까지 내려오며 포장을 시켜준다.

2. 물리 레이어에서 라우터로 데이터를 보낸다.

3. 라우터는 포장을 뜯어 네트워크 레이어까지 올린다.

4. 네트워크 레이어에서는 목적지 주소로 가기위해 가야할 길을 알려주는 역할을 한다.

5. 네트워크 레이어에서 목적지 IP주소를 확인하고, 경로 설정 후 물리 레이어까지 데이터를 포장한다.

6. 라우터가 다른컴퓨터로 데이터를 보낸 후, 다시 포장을 뜯어 application Layer까지 올린다.

7. 마침내 데이터를 받게된다.

 

Encapsulation & Decapsulation 

포장을 하는 것을 Encapsulation

포장을 뜯는 것을 Decapsulation이 있다.

 

 

TCP/IP Stack

인터넷 구조에 특화된 layered architecture이다.

상위 3개의 계층이 application layer로 묶어진다.

아래 2개의 계층도 link layer로 묶어진다.