CS/네트워크

인캡슐레이션과 디캡슐레이션

2022. 5. 19. 16:13

현대 네트워크의 대부분은 패킷 네트워크이다. 패킷 네트워크란 데이터를 패킷이라는 작은 단위로 쪼개 보내는데 이런 기법으로 하나의 통신이 회선 전체를 점유하지 않고 동시에 여러 단말이 통신하도록 해주는 것을 말한다.

 

애플리케이션에서 데이터를 테이터 플로 계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는데 이 과정을 인캡슐레이션이라고 한다.

  1. 4 계층부터 네트워크 전송을 위한 정보를 헤더에 붙여 넣고 3 계층으로 내려보낸다. 이때 헤더에는 Source Port, Destination Port, Sequence Number, Acknowledgement Number가 들어간다.
  2. 다시 3계층에서 필요한 헤더 정보를 추가한 후 2 계층으로 내려보낸다. 이때 헤더에는 Source IP Address, Destination IP Address가 들어간다.
  3. 다시 2계층에서 필요한 헤더 정보를 추가한 후 전기 신호로 변환해 수신자에게 전송한다. 이때 헤더에는 Destination MAC, Source MAC이 들어간다.

받는 쪽에서는 다시 하위계층에서 상위계층으로 데이터를 보내는데 이 과정을 디캡슐레이션이라고 한다. 

  1. 받은 전기신호를 데이터 형태로 만들어 2 계층으로 올려 보낸다.
  2. 2 계층에서는 송신자가 작성한 2계층 헤더에 포함된 정보를 확인한다. 만약 목적지가 자신이 아니라면 패킷을 버린다. 자신이 맞다면 3 계층으로 이 정보를 보내준다.
    데이터를 상위계층으로 올려 보낼 때 2 계층의 헤더 정보는 더 이상 필요 없으므로 벗겨낸다.
  3. 3 계층에서는 똑같이 헤더 정보를 확인해 자신에게 온 것이 맞다면 3계층 헤더정보를 제거하고 4 계층으로 보낸다.
  4. 4 계층도 데이터 확인 후 애플리케이션으로 올려준다.

이때 헤더에 포함되어야 할 정보들은 현재 계층에서 정의하는 정보, 상위 프로토콜 지시자가 반드시 포함되어야 한다.

현재 계층에서 정의하는 정보란 Source Port, Destination IP Address 등의 정보를 말한다.

그럼 상위 프로토콜은 왜 필요할까?

각각 해당 계층에 맞는 프로토콜이 있는데 인캡슐레이션 과정시 프로토콜에 대한 정보가 없다면 어떤 프로토콜로 보내야 할지 구분할 수 없는 문제가 생기게 된다.

이런 문제가 발생하지 않도록 헤더에 상위 프로토콜 지시자 정보가 포함되어 있어야 한다.

 

<참고>

MSS(Maximum Segment Size) : 네트워크에서 수용할 수 있는 크기를 역산정해 데이터가 4 계층으로 내려올 때 적절한 크기로 쪼개질 수 있도록 하는 값

MTU(Maximum Transmission Unit) : 네트워크에서 한 번에 보낼 수 있는 데이터 크기

저작자표시 (새창열림)

'CS > 네트워크' 카테고리의 다른 글

네트워크 구성요소  (0) 2022.05.26
네트워크 연결 구분과 회선  (0) 2022.05.24
OSI 7계층  (0) 2022.05.18
프로토콜  (0) 2022.05.18
네트워크 구성도  (0) 2022.05.18
'CS/네트워크' 카테고리의 다른 글
  • 네트워크 구성요소
  • 네트워크 연결 구분과 회선
  • OSI 7계층
  • 프로토콜
옥탑방고래
옥탑방고래
개발 관련 정보 정리중
옥탑방고래
고래의 코딩일지
옥탑방고래
전체
오늘
어제
  • 분류 전체보기 (67)
    • 프로그래밍 (15)
      • Java (1)
      • Spring (4)
      • AWS (0)
      • Git (1)
      • Docker (4)
      • k8s (1)
      • 오류보고 (4)
    • 데이터베이스 (2)
      • RDB (2)
      • NoSQL (0)
    • 알고리즘 (8)
      • 알고리즘 (3)
      • 코딩테스트 (1)
    • CS (35)
      • 자료구조 (6)
      • 네트워크 (27)
      • 개발지식 (2)
    • 개발 관련 소식 (0)
    • 포트폴리오 (0)
    • 일상 (4)
    • 오답 정리 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 수식트리
  • 트리
  • DDoS 방어 장비
  • 중위표기법
  • 정렬
  • MySQL
  • Spring
  • vpn
  • 자료구조
  • 네트워크
  • 템플릿 캐싱
  • IT엔지니어를 위한 네트워크 입문
  • 알고리즘
  • 오답정리
  • 브로드캐스트 스톰
  • 스위치
  • 커리어콘
  • java
  • 리눅스마스터2급
  • 리스트
  • 클래스풀
  • Spring Devtools
  • 라우터
  • docker
  • JUnit
  • 뇌를 자극하는 알고리즘
  • IT 엔지니어를 위한 네트워크 입문
  • IT 네트워크를 위한 네트워크 입문
  • 클래스리스
  • 오류

최근 댓글

최근 글

hELLO · Designed By 정상우.
옥탑방고래
인캡슐레이션과 디캡슐레이션
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.