혼자 고민해보기_ 개발/CS

네트워크 OSI 7 계층 (OSI 7 LAYER)

nuri-story 2023. 11. 8. 15:38

네트워크 개념

컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계입니다.

 

네트워크 기능

- 애플리케이션 목적에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송 방법 제공
- 네트워크 간의 최적의 통신 경로 결정
- 목적지로 데이터 전송

- 노드 사이의 데이터 전송

 

네트워크는 통신하기위해서 존재, 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에 약속된 통신 방법이 있어야 합니다.

 

네트워크 프로토콜

네트워크 통신을 하기위해 통신에 참여하는 주체들이 따라야하는 형식, 절차, 규약을 말합니다. 즉 약속된 통신을하기 위해 네트워크 프로토콜을 따라야한다는 겁니다.

 

단 이 모든 기능을 단 하나의 프로토콜로 구현할 수 없습니다.

하나만 있다면 유지보수나 새로운 기능을 추가하기 어렵겠지요. 그렇기 때문에 모듈화! 해야합니다. 기능별로 분리시켜서 모듈화 시키는게 낫겠다~ 싶어서 만든거죠.

 

근데 모듈화를 어떻게 해야할까? 싶어서 곰곰히 네트워크의 기능을 보니 각 기능이 계층별로 동작하는 것 같아 그걸 계층 구조라고 하고 

그걸 OSI model (7 layer), TCP/IP stack (4 layer)로 나뉘어지게 된겁니다.

 

 

 

OSI model(7 layer)

범용적인 네트워크 구조를 말합니다. 각 레이어에 맞게 프로토콜이 세분화되어 구현되어있고 각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작합니다.

 

L7 - application layer 응용계층

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

ex )
HTTP : 두 개의 어플리케이션의 통신을 통해서 웹페이지를 보여주려면

FTP : 파일을 서버에 업로드 하고 다운로드 하는 애플리케이션을 만들고 싶다면 
DNS : 유튜브 닷컴처럼 도메인을 ip주소로 바꾸고 싶다면 
SMTP : 이메일을 주고 받고 싶다면

등등 다양한 것들이 많습니다.

 

애플리케이션의 통신 방법을 결정하는 레이어이기 때문에 실제로 어떻게 데이터를 보낼 것인가는 application layer의 관심사가 아닙니다.

기능을 사용만 하면됩니다.

 

 

L6 - presentation layer 표현 계층

애플리케이션 간의 통신에서 메세지 포맷을 관리해줍니다.
ex)
데이터를 인코딩해서 보냈다면 디코딩해서 받아야하고
데이터를 암호화해서 보냈다면 복호화해서 받아야하고
데이터를 압축해서 보냈다면 압축을 풀어서 받아야만 원래의 데이터를 볼 수 있습니다.

 

L5 - session layer 세션 계층

애플리케이션 간의 통신에서 세션을 관리합니다.RPC(remote procedure call)

 

 

L4 - transport layer 전송 계층

애플리케이션 간의 통신을 담당합니다. 목적지 애플리케이션으로 데이터를 전송하기 위해 어떤 식의 통신을 할 것이냐를 결정하는 레이어 입니다. 실제로 목적지 까지 찾아가는 것은 transport layer의 관심사는 아닙니다.

 

TCP - 안정적이고 신뢰할 수 있는 데이터를 전송을 보장하는 것
UDP - 데이터가 유실될 수도 있고 보내는 쪽에 받지 못할 수도 있지만 데이터를 보내는 것

 

L3 - network layer 네트워크 계층


호스트간의 통신을 담당합니다. (IP) 목적지 호스트로 데이터를 전송하게 합니다. 실제로 데이터를 목적지까지 찾아가게 해야하기때문에 네트워크를 이루고 있는 라우터 같은 장치들도 네트워크를 구현, 네트워크 간의 최적의 경로를 결정하는 역할도 수행합니다. 최적의 경로를 찾아놓으면 최적의 경로로 데이터를 전송하게 될 겁니다.

network layer는 각각의 노드 사이에 데이터를 어떻게 전송할 것인가가 관심사는 아닙니다. 그건 data link layer가 하는 것이고   data link layer가 제공하는 기능을 사용해서 목적지까지 보내는 역할입니다.

 

L2 - data link layer 데이터 링크 계층

 

직접 연결된 노드간의 통신을 담당합니다. 장치와 장치사이의 데이터를 주고 받을때는 ip 주소 기반이 아니라 MAC주소 기반으로 변환을 합니다. 그때 MAC주소로 변화된걸 ip 주소로 변화시키는 과정이 필요한데 그걸 ARP라고 합니다.

 

L1 - physical layer 물리 계층

 

물리적인 매개체를 통해서 실제로 그 데이터를 bit단위로 데이터를 전송하는 역할을 합니다.

 

 

 

참고

 

https://velog.io/@cgotjh/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B5-OSI-7-LAYER-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EA%B0%81-%EA%B3%84%EC%B8%B5-%EC%84%A4%EB%AA%85

 

[네트워크] OSI 7 계층 (OSI 7 LAYER) 기본 개념, 각 계층 설명

네트워크의 기초 OSI 7 계층

velog.io

https://www.youtube.com/watch?v=6l7xP7AnB64

https://dev-coco.tistory.com/144

 

TCP와 UDP의 특징 및 차이점 알아보기

TCP와 UDP는 OSI 7 계층들 중 TCP/IP의 전송 계층에서 사용되는 프로토콜이다. ※ 전송 계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층이다. 즉, 데이터의 전달을 담당하며 전달되는

dev-coco.tistory.com