A와 B가 휴대전화를 이용해 대화를 나누는 상황이라고 하자. 두 친구가 나누는 대화 내용을 데이터라고 부를 수 있다. 이들은 목소리라는 매개체로 서로 데이터를 주고 받는다. 이때 데이터를 생성하는 주체는 A와 B, 즉 사람이다. 사람은 음성 통신의 주체이다. 반명 운영체제가 수행하는 통신은 비음성 통신이다. 데이터를 생성하고 전송하는 주체가 운영체제이다.
데이터 구성
페이로드: 편지지와 같이 사용자가 상대방에게 전송하고자 하는 실제 정보가 담긴 공간
헤더: 편지 봉투와 같이 보내는 사람의 주소와 받는 사람의 주소가 담긴 공간.
페이로드로만 이뤄진 전송 단위 = 메시지
메시지 생성 후 첫 번째 헤더: 출발지 포트 번호, 목적지 포트 번호 전송 단위 = 데이터그램, 세그먼트
이러한 전송 단위의 차이는 단편화이다.
단편화는 데이터를 분할한다는 의미이다. TCP에서만 사용해서 세그먼트(segment)라고 한다.
(생성한 페이로드 영역을 여러 개로 조각낸 뒤 전송하는 기법. 전송의 효율성과 데이터의 기밀성 등을 위해 사용)
데이터그램
상대방 운영체제에서 데이터그램 헤더에 담긴 포트 번호를 통해 페이로드의 내용이 어떤 종류의 서비스에 해당하는지 판단할 수 있다.
패킷 헤더
데이터그램에서의 핵심이 포트 번호이고, 패킷 헤더의 핵심은 출발지와 목적지 IP 주소이다.
사용자가 웹 브라우저의 주소창에 도메인 네임을 입력하면 DNS 서비스에 의해 IP 주소로 변한된 뒤 패킷 헤더의 목적지IP 주소 항목에 담긴다. 라우터 장비가 라우팅을 수행할 때 참조하는 부분이 패킷헤더이다.
프레임 헤더
프레임 헤더에는 맥 주소가 담긴다. 스위칭 장비가 스위칭을 수행할 때 참조하는 부분이 프레임 헤더이다.
LAN 영역과 WAN 영역에서 담는 정보가 다르다. (추후 추가 예정)
계층 | 데이터 전송 단위 | 주요한 헤더 정보 | 비고 |
응용 계층 | 메시지 | 페이로드 | |
수송 계층 | 데이터그램/세그먼트 | 출발지, 목적지 포트 번호 | |
네트워크 계층 | 패킷 | 출발지, 목적지 IP 주소 | 데이터 전송 단위의 총칭 |
데이터링크 계층 | 프레임 | 출발지, 목적지 맥 주소 | LAN 영역에 있는 경우 |
물리 계층 | 비트 |
일련의 데이터 전송 단위 전체를 단순히 패킷으로 총칭하기도 한다.
더불어, 페이로드 앞에 헤더를 붙이는 과정을 인캡슐레이션이라고 하고, 반대로 헤더를 떼는 과정을 디캡슐레이션이라고 한다.
즉 운영체제가 데이터를 송신하는 과정은 메시지->데이터그램->패킷->프레임->비트로 변환하는 인캡슐레이션, 반대로 데이터를 수신하는 과정은 디캡슐레이션이라고 할 수 있다.
일련의 인캡슐레이션 과정은 객체 지향 언어 기법에서 사용하는 정보 은폐 기법을 의미하기도 한다. 라우터는 오직 패킷 헤더만 읽을 수 있을 뿐, 세그먼트/데이터그램 헤더 이하는 읽을 수 없다. 스위치 또한 프레임 헤더만 읽을 수 있을 뿐 패킷 헤더 이하는 읽을 수 없다.
'네트워크' 카테고리의 다른 글
LAN/WAN (2) | 2023.09.18 |
---|---|
TCP/IP 프로토콜 (0) | 2023.07.31 |
UDP방식, TCP방식 (0) | 2023.07.10 |
DNS, DNS 캐시 테이블 (0) | 2023.07.07 |
ARP 캐시 테이블, ARP 응답과 요청 (0) | 2023.07.07 |