middlemoon

OSI 7계층과 네트워크 기능 정리 본문

DevOps/Network

OSI 7계층과 네트워크 기능 정리

중대경 2025. 8. 8. 15:50

 

Network 란 ? 

 

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

 

그렇다면 네트워크는 다양한 목적성을 띄게 되는데 어떤것이 있을까?

 

첫번 째, 애플리케이션 목적에 맞는 통신 방법을 제공한다.

두번 째, 신뢰할 수 있는 데이터 전송 방법 제공

세번 째, 네트워크 간의 최적의 통신 경로 결정

네번 째, 목적지로 데이터 전송

다섯번 째, 노드 사이의 데이터 전송 

 

목적지로 전송하기 위해서 여러 노드를 거쳐 이동하는 역할도 네트워크가 진행하게 된다. 

 

그렇다면 Network의 존재이유는 통신하기 위해서 존재하는것이 분명해졌는데

둘 사이의 간의 사이에서 약속된 통신 방법이 있어야하는 것은 명확해졌다. 

 

네트워크 프로토콜(Network Protocol) 이란?

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

 

예를들어 백엔드의 모든 기능을 하나의 클래스 파일에 담아서 사용하는것이 가능한지에 대해 물었을 때

불가능하다. 그 이유는 백엔드에는 수 많은 기능을 하는 부분이 있기 때문에 하나의 역할로만은 불가능하다.

 

그렇다면 저 위의 다섯번 째 까지 하는 네트워크들의 역할은 기능별로 분리를 시켜 구현을 시키는 것을 결론으로 잡아야한다.(모듈화)

 

즉, 각 기능들이 계층별로 동작하는것 같은 느낌을 받을 수 있다.

 

* OSI model ( 7 layer )

범용적인 네트워크 구조

 

 

* TCP / IP stack ( 4 layer )

인터넷에 특화된 네트워크 구조

 

 

다음은 OSI 7 Layer의 계층을 각각 설명해보려한다. 

 

L7 - application layer ( 애플리케이션 계층 ) 

- 애플리케이션 목적에 맞는 통신 방법 제공

 

A라는 애플리케이션에서 B라는 애플리케이션으로 통신을 통하여 사용자에게 웹 페이지를 보여주고 싶다면 

HTTP Protocol 통신을 하여 확인이 가능하다.

 

파일을 다운로드 및 업로드하는 기능을 사용하고 싶다 하면 FTP Protocol 통신을 사용

 

도메인을 IP 주소로 변경하고 싶다하면 DNS Protocol 통신을 사용

 

이메일로 사용하고 싶다면 SMTP를 사용하면 된다. 

(HTTP, DNS, SMTP, FTP)

 

데이터의 흐름과는 상관은 없으며, A와 B의 애플리케이션 전달목적으로만 사용된다.

 

L6 - presentation layer ( 표현 계층 )

- 애플리케이션 간의 통신에서 메세지 포맷 관리

 

A라는 애플리케이션에서 B라는 애플리케이션으로 데이터를 보낼 때 

어떤 Character Set으로 인코딩(InCoding) 했는지에 따라 받는 부분에서 그 Character Set으로 디코딩(DeCoding)

보내는 쪽에서 보안이슈로 암호화하여 보냈다면 받는쪽에서는 그 받는 데이터들을 복호화를 하여 다시 읽을 수 있도록 만들어야함.

보내는 쪽에서 데이터를 압축하여 보냈다면 받는쪽에서는 압축을 풀어야만 데이터를 풀 수 있는 경우도 존재한다.

 

L5 - session layer ( 세션 계층 ) 

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

 

통신하는 두 시스템 간의 세션(연결)을 설정, 유지, 종료하는 역할

 

RPC ( remote procedure call )에 대한 개념도 세션 계층에 존재한다.

 

 

L4 - transport layer ( 전송 계층 )

- 애플리케이션 간의 통신 담당

- 목적지 애플리케이션으로 데이터 전송

- 안정적이고 신뢰할 수 있는 데이터 전송 보장 ( TCP ) 

- 필수 기능만 제공 ( UDP )

 

A(출발지)라는 애플리케이션에서 B(목적지)라는 애플리케이션 쪽으로 데이터를 보낼 때 

어떻게 데이터를 보낼것인가에 관련해서 두가지 중요한 프로토콜이 존재한다.

 

목적지 애플리케이션쪽으로 데이터를 전송하기 위해서 어떤식에 통신을 할것이냐?

이것을 결정하는 layer라고 할 수 있겠다. 

 

다만, 실제로 출발지에서 어떻게 목적지까지 찾아가게 만들것인지에 대한 것은 바로 아래단인 network layer라고 할 수 있다.

(How use?와 같은 개념이다)

 

 

 

L3- network layer ( 네트워크 계층 )

- 호스트 간의 통신 담당( IP ) 

- 목적지 호스트로 데이터 전송

- 네트워크 간의 최적의 경로 결정

 

출발지에서 목적지로 데이터를 보내려면 호스트로 데이터를 보내야한다.

이 때 목적지 주소의 IP주소를 활용하여 데이터를 전송하게 된다.

그러면 실제적으로 데이터를 목적지까지 찾아가야하기 때문에 네트워크를 이루고 있는 

라우터 같은 장치들도 네트워크 기능을 구현을 해줘야한다.

 

IP Protocol - 실제로 목적지로 보내기위해서 그 목적지로 찾아갈수 있게끔 하는 프로토콜이라고 한다.

 

경로만 관여를 하는 부분이지, 각 노드에 대한 관계는 관여하지않는것이 포인트이다. 

 

 

 

 

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

 

- 직접 연결된 노드 간의 통신 담당

- MAC 주소 기반 통신 (ARP)

 

출발지에서 목적지까지 통신뿐 아니라 노드들 간의 사이에 통신도 관여를 한다. 

네트워크 계층은 IP 주소로 이용하는 반면, 장치와 장치 사이에 연결을 주고 받을 때는 MAC 주소 기반으로 통신을 하게 된다.

IP 주소를 MAC 주소로 변환을 해주는 일이 생기는데, 이때 사용되는 프로토콜이 ARP 프로토콜이라고 보면 된다.

 

 

 

 

L1 - physical layer ( 물리계층 )

- bits 단위로 데이터 전송

 

 

실제로 어떤 물리적인 매개체를 통하여 케이블, 무선의 신호 일수 있다. 

그러한 대상들을 bits 단위로 전송하는 역할을 수행한다. 그리하여 애플리케이션에서 노드로 이동하고 그 다음 노드로 이동하고 애플리케이션으로 도착하는 과정을 말한다.

 

 

 

요약하자면 다음과 같다.

 

 

 

 


 

 

 

마무리하며

 

이전에 OSI 7계층에 관련하여 포스팅을 한 적이 있었는데 오래되기도 했고, 해당 지식을 사용할 날이 있어서 복습차원에서 공부하였습니다.

네트워크적인 부분이고, 시험에 단골 출제가 되지만 잘 외워지지않다보니 학습에 어려움을 겪었었죠

 


 

 


 

 

그리하여 유튜브 강좌를 찾아보던 중 아주 핵심적이고 요약해주신 분이 계셔서 강의를 보며 정리를 하는것이

추후 이직이나 면접 준비 및 자기계발에 도움이 될 것 같아 올리게 되었습니다 ! 

 

 

자세한 내용의 출처는 아래 하단에 링크를 참조하였으니 더 알고싶은 분이 계시다면 아래를 확인해주세요 ! 

 

 

 

 

 

 

 

 

 

 

강의 출처)

https://www.youtube.com/watch?v=6l7xP7AnB64&t=1304s

 

 

'DevOps > Network' 카테고리의 다른 글

라우팅 프로토콜에 대한 이해  (0) 2025.08.08
OSI 7계층에 대하여 정의해보기  (2) 2023.04.09
CentOS7로 SSH연결 및 완료시키기  (0) 2023.04.08
Comments