[네트워크] 1-4. Protocol Layers, Encapsulation

kkado·2023년 4월 7일
0

네트워크

목록 보기
4/49

⚠️ 들어가기 앞서
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터망 과목을 공부하며 정리한 글입니다.


Protocol Layer란?

인터넷 통신은 수많은 라우터, 호스트, 링크 등으로 구성되어 있고, 이들 간의 기능이 원활하게 작동하기 위해서는 엄격한 규약(프로토콜)이 필요하고, 그 동작 역시 매우 복잡하다.

이러한 동작을 유지, 보수하기 쉽고 확장이 용이하도록 프로토콜 단위로 계층화 시켰다.
한 계층은 특정한 작업만을 수행하고, 이웃해 있는 계층과 데이터를 주고 받는다.

이렇게 프로토콜별로 계층을 나눈 것을 Protocol Layer 라고 하며, 흔히 TCP/IP 5계층 이라고 표현한다.


1. Physical Layer

물리 계층 이라고 하며, 물리적 통신 매체(케이블, 무선 채널 등)를 통해 데이터를 주고 받는다.

  • 물리 계층에서의 통신 단위는 0/1, 즉 bit 이다.
  • 데이터를 어떻게 보낼 것인지에 대한 프로토콜이 있어야 한다.

2. (data)link Layer

데이터 링크 계층 혹은 링크 계층이라고 하며, 네트워크를 통해 노드들 간에 데이터를 정확히 주고받기 위한 프로토콜을 정의한다.

  • 데이터링크 계층에서의 통신 단위는 패킷이며 frame 이라고도 한다.
  • 패킷은 header와 payload로 구성된다.
  • 물리 계층에서 실제로 데이터가 전송되는 중에 오류가 발생하거나 노이즈가 발생해서 데이터가 변화할 가능성이 있으므로 이를 탐지 및 복구하기 위한 프로토콜을 정의한다.
  • 송/수신자 간의 데이터 처리 속도가 차이 날 경우 packet loss를 막기 위해 흐름 제어를 하기도 한다.

3. Network Layer

네트워크 계층 이라고 하며, 다른 노드의 네트워크 계층으로 데이터를 송신한다.

  • 네트워크 계층에서 전달되는 데이터 단위는 IP Datagram 이다.
  • 라우터를 통해 목적지까지의 경로를 설정하는 routing algorithm을 보유하고 있다.
  • IP 주소를 부여한다.
  • 올바른 경로에 따라 패킷을 전달해준다.

4. Transport Layer

'전송 계층' 이라고 하며, 다른 노드로부터 받은 데이터를 재정렬하고 오류를 검출한다.

  • 패킷 단위로 쪼개져서 온 데이터들을 다시 재정렬한다. 이 과정에서 일련번호를 붙인다는 등의 프로토콜이 필요하다.
  • IP 주소를 보고 컴퓨터에 데이터가 도착하면 이 데이터를 사용할 프로세스가 무엇인지를 알아야 하는데 이 때 포트 번호가 사용된다. TCP와 UDP가 전송 계층에 속한다.
  • 전송 계층에서의 통신 단위는 segment 이다.

5. Application Layer

응용 계층 이라고 하며, 많은 응용 프로그램들이 이 곳에 속한다.

  • 보낼 데이터를 프로토콜 양식에 맞추어 만든다.
  • 파일을 송수신하는 FTP, 전자 우편을 주고받는 SMTP, 하이퍼텍스트를 지원하는 HTTP 등 다양한 네트워크 서비스들이 있다.
  • 응용 계층에서의 통신 단위는 message 이다.

Encapsulation, Decapsulation

각 계층 사이에서 데이터를 주고 받을 때 데이터의 신뢰성 유지 및 오류 검출 등의 작업을 위해 추가적인 정보가 필요하다. 이러한 추가 정보들은 패킷의 헤더에 이어 붙는다.

이 때 특정 계층에서 다른 계층으로 정보를 보낼 때 어떤 필요한 정보를 덧붙여서 보내는 것을 캡슐화 encapsulation 이라고 하고, 특정 계층이 데이터를 받은 후에 잘 받기 위해서 필요했었던 정보들을 제거하는 작업을 역캡슐화 decapsulation 이라고 한다.

profile
베이비 게임 개발자

0개의 댓글