2018년 11월 26일
캡슐화 (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 오류 검사 |