Network/Network Composition

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

seongduck 2022. 10. 14. 20:17
  • 데이터를 보내는 과정을 인캡슐레이션(Encapsulation)
    • 상위계층에서 Data Flow Layer로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는 과정
    • 랜 카드에서 전기 형태로 변환되어 전송
  • 데이터를 받는 과정을 디캡슐레이션(Decapsulation)
    • 전기 신호를 데이터 형태로 변환하여 상위 계층으로 올리는 과정
    • 이 패키들을 조합해 데이터 형태로 만드는 과정

인캡슐레이션과 디캡슐레이션 과정을 통해 데이터가 전송되는 과정

계층 데이터 계층
트랜스포트 계층
(Transport)

4계층 PDU (세그먼트) 트랜스포트 계층
(Transport)

    4계층 헤더 상위 데이터  
네트워크 계층
(Network)

3계층 PDU(패킷) 네트워크 계층
(Network)

  3계층 헤더 상위 데이터  
데이터 링크 계층
(Data Link)

2계층 PDU(Frame) 데이터 링크 계층
(Data Link)

2계층 헤더 상위 데이터 FCS
피지컬 계층
(Physical)
============ 0 1 0 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 1 ===========> 피지컬 계층
(Physical)
인캡슐레이션 디캡슐레이션
  • 각 계층에서 추가한 헤더 정보는 각 계층에 대응되는 계층에서 확인이 가능하다.
  • 즉, 헤더 정보는 각 계층끼리 전달된다.

 

인캡슐레이션

  1. 네트워크상황을 고려해 적절한 크기로 자른다.
  2. 4계층부터 네트워크 전송을 위한 정보를 헤더에 붙여 넣는다.
  3. 헤더 정보는 4계층, 3계층, 2계층에서 각각 자신이 필요한 정보를 추가한다.
  4. 추가할 땐 문자가 아닌 미리 정의된 비트 단위(0 or 1)를 쓴다.
  5. 각각 계층에서 필요한 헤더 정보를 추가하고 2계층으로 전달한다.
  6. 2계층에서도 추가하고 전기 신호로 변환해 수신자에세 전송한다.

 

디캡슐레이션

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

헤더 필수 내용

  • 현재 계층에서 정의하는 정보
  • 상위 프로토콜 지시자

 

계층 헤더 목적
4계층 1. 큰 데이터를 잘 분할하고 받는 쪽에서 잘 조립한다.
2. 빠진 패킷은 없는지 점검하고 이 정보를 헤더에 적어둔다.
3. 시퀀스, 애크 번호 필드로 이 데이터를 표현한다.
3계층 3계층에서 정의하는 논리적인 주소인 출발지, 도착지, IP주소 넣는다.
2계층 MAC 주소를 정의하고 출발지, 도착지 MAC주소를 넣는다.