캡슐화 (Encapsulation)

I. 데이터와 헤더의 결합, 캡슐화

가. 캡슐화의 개념

데이터 통신 시 상위 계층 PDU에 헤더를 붙여, 하위 계층 PDU 데이터 필드 포함 과정

나. 캡슐화와 역캡슐화의 필요성

필요성설명
독립성 유지– 다른 모듈에 미치는 영향 최소화
계층별 기능 수행– 목적에 부합하는 기능만 수행
호환성 유지– 네트워크 동일 계층 간 호환성 유지

 

II. 캡슐화와 역캡슐화 구성도 및 절차

가. 캡슐화와 역캡슐화 구성도

나. 캡슐화와 역캡슐화 절차

절차설명
캡슐화– 상위 계층 데이터, 헤더를 모두 하위 계층 데이터 부분에 포함, 해당 계층 헤더를 앞에 삽입
역캡슐화– 각 계층의 헤더를 제거하고 데이터 부분을 상위 계층으로 전달

 

III. 계층별 헤더 정보

가. 4계층 TCP 헤더

헤더
구성도
설명– Source Port (16bit): 출발지 포트 번호(1 ~ 65535)
– Destination Port(16bit): 목적지 포트 번호(1 ~ 65535)
– Sequence Number(32bit): 세그먼트 순서번호
– Acknowledgement Number(32bit): 다음 수신 번호
– Header Length(4bit): 헤더의 길이(5 ~ 15 * 32bit)
– Reserved(6bit): 추후 사용 예정 필드
– Control Flag(6bit):
= CWR(Congestion Window Reduced):혼잡윈도우 크기감소
= ECN(Explicit Congestion Notification): 혼잡을 알림
= URG(Urgent): 해당 포인터까지 긴급 데이터 포함
= ACK(Acknowledgement): 확인 응답 메시지
= PSH(Push): 데이터를 포함한다는 의미
= RST(Reset): 수신 거부를 하고자 할때 사용
= SYN(Synchronize): SYN 세그먼트 일련번호
 = FIN(Finish): 회선 종결 시 사용
– Window size(16bit): 송신 시스템 가용 수신 버퍼크기
– Checksum(16bit): TCP 세그먼트 내용 유효 여부 검증

나. 3계층 IP(v4) 헤더

헤더
구성도
설명– Version(4bit): IPv4 버전을 나타냄
– Header Length(4bit): IP 헤더의 길이(거의 5 * 32bit)
– Type of Service(8bit): 서비스 우선순위
– Total Length(16bit): 전체 IP패킷 길이(바이트 단위)
– identification(16bit): 데이터 식별용 분열 식별자
– IP Flags(3bit): 분열 여부, 조각이 더 있는지 여부
– Fragment Offset(13bit): 원래 데이터 바이트 범위
– TTL(8bit): 최대 데이터 이동 홉수
– Protocol(8bit): 상위 계층 프로토콜(ICMP, TCP, UDP 등)
– Header Checksum(16bit): IP헤더 체크섬 저장
– Source IP Address(32bit): 출발지 IP 주소
– Destination IP Address(32bit): 목적지 IP 주소
– Options(가변): 특별한 처리 옵션 추가 정의 가능

 다. 2계층 Ethernet 헤더 구조

헤더
구성도
설명– Preamble(7byte): 송/수신측 비트 동기화 위해 사용
 = 비트 동기화 7byte모두 10101010으로된 비트열 전송
– SFD(1byte): 프레임의 시작 알리는 바이트(10101011)
– Destination Address(6byte): 목적지 MAC 주소
– Source Address(6byte): 출발지 MAC 주소
– Type/Length: 프레임 정보의 유형 및 길이 표시
– Data(46 ~ 1500byte): 상위 계층 Data
– FCS(CRC): Preamble과 FCS 제외 frame 오류 검사

 

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^