프로그래밍/CS

[네트워크] OSI 7계층 모델

choar 2022. 7. 25. 23:49
반응형

1. OSI 7계층 모델이란?

OSI 7계층 모델이란 네트워크에서 통신이 일어나는 과정을 7단계로 나눠서 설명한 모델이다.

OSI 모델 외에도 TCP/IP 모델이 있는데 현재 인터넷은 TCP/IP 모델(updated)로 구현되어 있다.

OSI 모델은 역할에 기반한 모델, TCP/IP 모델은 프로토콜에 기반한 모델이다.

OSI 모델은 논리적인 모델, TCP/IP 모델은 실무적인 모델에 가깝다.

예를 들어, HTTP는 OSI 모델에서 7계층으로 분류되긴 하지만 6계층의 역할도 한다.

OSI 모델은 실제 프로토콜에서는 나누어지지 않는 역할도 쪼개서 구분한 느낌인 것 같다.

 

OSI 7계층 모델은 다음과 같이 구성되어 있다.

TCP/IP 모델에서는 5, 6, 7계층을 묶어 응용 계층으로 칭한다.

 

OSI Model, TCP/IP Model

7계층 - Application Layer (응용 계층)
6계층 - Presentation Layer (표현 계층)
5계층 - Session Layer (세션 계층)
4계층 - Transport Layer (전송 계층)
3계층 - Network Layer (네트워크 계층)
2계층 - Data Link Layer (링크 계층)
1계층 - Physical Layer (물리 계층)

 

TCP/IP 모델을 바탕으로 통신 과정과 각 계층에 대해 더 알아보자.

 

2. 통신 과정

네트워크를 통해 전달되는 데이터를 통칭해 패킷이라고 한다.

패킷은 [ 헤더 + 페이로드 + 풋터 ]로 구성된다.

페이로드는 실제로 보내려는 데이터이고, 풋터는 거의 사용되지 않고, 보통 헤더만 사용한다.

 

패킷을 전송할 때, 데이터가 5계층에서 1계층으로 내려가며 캡슐화(encapsulation)가 일어난다. 

캡슐화란 상위 계층에서 하위 계층으로 데이터가 내려갈 때, 상위 계층의 패킷이 페이로드가 되고, 하위 계층의 프로토콜이 헤더로 붙는 과정이다.

반대로 송신할 때는 1계층에서 5계층으로 올라가며 역캡슐화(decapsulation)를 통해 최초에 보냈던 데이터만을 추출해낸다.

역캡슐화란 헤더를 제거하고 페이로드만을 상위 계층으로 올리는 과정이다.

데이터 전송 과정

 

3. 각 계층의 역할

5계층 - Application Layer (응용 계층)

응용 계층에는 네트워크 애플리케이션들이 위치한다. 네트워크 애플리케이션에는 웹 브라우저, 이메일 클라이언트 등이 속한다. 응용계층에 속한 애플리케이션들은 다른 컴퓨터들과 통신하기 위해 전송 계층으로 데이터를 내려보낸다.

대표적인 응용 계층 프로토콜로는 HTTP, FTP, SMTP 등이 있다.

 

4계층 - Transport Layer (전송 계층)

전송 계층은 Port 번호*를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에까지 데이터가 도달하게 하는 모듈이며,

End point 간 신뢰성 있는 데이터 전송을 담당하는 계층이다.

여기서 '신뢰성'이란 데이터를 순차적 및 안정적으로 전달하는 것을 의미하며,

'전송'이란 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것을 의미한다.

대표적인 전송 계층 프로토콜로 TCP, UCP가 있다.

 

* 포트 번호 = 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값

 

 

[네트워크] 프로토콜, TCP, UDP

1. 프로토콜이란? 프로토콜(Protocol)이란 네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어떤 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식이다. 다른 사람에게 물건을 보낼

choar816.tistory.com

 

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

네트워크 계층에서는 수많은 네트워크의 연결로 이루어지는 inter-network 속에서 목적지 컴퓨터로 데이터를 전송하기 위해 IP 주소를 이용해서 길을 찾고 (라우팅routing) 자신 다음의 라우터에게 데이터를 넘겨준다. (포워딩forwarding)

라우터router는 라우팅을 하는 장치로, 스위치와 스위치를 연결해 서로 다른 네트워크에 속한 컴퓨터끼리 통신이 가능하게 해주는 장비이다.

대표적인 네트워크 계층 프로토콜로 IPv4/IPv6, ICMP, ARP 등이 있다.

 

2계층 - Data Link Layer (링크 계층)

링크 계층이란 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈이다.

전선 하나에 여러 대의 컴퓨터(A, B, C, D)가 연결되었다고 가정할 때, A→B로 데이터를 전송할 때 C, D를 제외한 B에게만 데이터를 전송할 수 있도록 해주는 장치스위치라고 한다. 하나의 스위치로 직접적으로 연결된 노드들을 하나의 네트워크라고 한다. (인트라넷)

 

1계층 - Physical Layer (물리 계층)

물리 계층은 0과 1의 나열을 아날로그 신호로 바꿔 전선으로 흘려보내고, (인코딩encoding)

아날로그 신호가 들어오면 0과 1의 나열로 해석하여 (디코딩decoding)

물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈이다.

 

🌟 내용에 오류가 있다면 댓글 달아주시면 감사하겠습니다.


References

https://www.youtube.com/watch?v=y9nlT52SAcg 

https://www.youtube.com/watch?v=1pfTxp25MA8&t=2162s

https://en.wikipedia.org/wiki/Encapsulation_(networking) 

https://www.techtarget.com/searchnetworking/tip/Intro-to-encapsulation-and-decapsulation-in-networking

반응형