-
<Network> 데이터 전송 단위Network 2021. 11. 17. 18:17
운영체제가 생성하고 전송하는 데이터 구성은 편지와 비교할 수 있다.
편지 데이터(data) 편지지 페이로드(payload) 편지 봉투 헤더(header) 페이로드(payload) : 사용자가 상대방에게 전송하고자 하는 실제 정보가 담긴 공간
헤더(header) : 보내는 사람의 주소와 받는 사람의 주소가 담긴 공간
페이로드 헤더 페이로드만으로 이뤄진 데이터 전송 단위를 메시지(message)라고 한다.
메시지를 생성하면 앞에 첫 번째 헤더가 붙는데, 여기의 핵심 정보는 출발지 포트 번호와 목적지 포트 번호다.
이러한 데이터 전송 단위를 데이터그램(datagram) 또는 세그먼트(segment)라 부른다.
UDP/TCP 페이로드 데이터그램
(세그먼트 헤더)위 처럼 페이로드 앞에 붙는 첫 번째 헤더를 데이터그램 헤더(UDP) 또는 세그먼트 헤더(TCP)라 부른다.
이러한 전송 단위의 차이는 UDP 방식과 TCP 방식의 차이점인 단편화에 기인한다.
단편화(Fragmentation)란 데이터를 분할한다는 의미다. 단편화는 전송의 효율성과 데이터의 기밀성 등을 위해 사용한다.
결론적으로 버퍼링과 단편화 유무에 따라 UDP 방식과 TCP 방식을 구분한다.
구분 UDP 방식 TCP 방식 페이로드 크기 512bytes 미만 512bytes 이상 버퍼링 X O 단편화 X O 전송 단위 데이터그램 세그먼트 데이터그램 헤더에서는 포트 번호가 핵심이다.
상대방 운영체제에서는 데이터그램 헤더에 담긴 포트 번호를 통해 페이로드의 내용이 어떤 종류의 서비스에 해당하는 지를 판단한다. 사용자가 어떤 웹사이트에 접속한다면 운영체제에서는 1024번 이후의 임의의 포트 번호를 출발지 포트
번호로 할당하고, 목적지 포트 번호에는 웹에서 사용하는 80번 포트 번호를 할당한다.
데이터그램을 완성하면 새로운 헤더가 붙는데, 아래와 같은 데이터 전송 단위를 패킷(packet)이라 한다.
UDP 페이로드 데이터그램 헤더 패킷 헤더 데이터 그램 앞에 붙은 두 번째 헤더를 패킷 헤더라 한다.
패킷 헤더에서는 출발지 IP 주소와 목적지 IP 주소가 핵심이다.
사용자가 웹 브라우저의 주소창에 도메인 네임을 입력하면 DNS 서비스에 의해 IP 주소로 변환된 뒤 패킷 헤더의 목적지 IP 주소 항목에 담긴다. 그리고 라우터 장비가 라우팅 기능을 수행할 때 참조하는 부분이 패킷 헤더다.
패킷을 완성하면 마지막 헤더가 패킷 헤더 앞에 붙는데, 이러한 데이터 전송 단위를 프레임(frame)이라 한다.
UDP 페이로드 데이터그램 헤더 패킷 헤더 프레임 헤더 패킷 헤더 앞에 붙은 세 번째 헤더를 프레임 헤더라 부른다.
프레임 헤더에는 맥 주소가 담긴다. 또한 스위치 장비가 스위칭 기능을 수행할 때 참조하는 부분도 프레임 헤더다.
프레임 헤더는 스위칭 통신 영역과 라우팅 통신 영역에 있을 때 담는 정보가 각각 다르다.
구분 LAN 영역 WAN 영역 데이터그램 헤더 출발지 · 목적지 포트 번호 출발지 · 목적지 포트 번호 패킷 헤더 출발지 · 목적지 IP 주소 출발지 · 목적지 IP 주소 프레임 헤더 출발지 · 목적지 맥 주소 WAN 프로토콜에 대한 정보 패킷 헤더에서 출발지 IP 주소의 네트워크 ID와 목적지 IP 주소의 네트워크 ID가 다르다면 프레임 헤더의 목적지 맥 주소는 라우터의 맥 주소를 의미한다.
마지막으로, 프레임 단위를 생성한 데이터는 비트(bit)로 변환한다.
데이터 전송 단위 주요한 헤더 정보 비고 메시지 페이로드 데이터그램/세그먼트 출발지 · 목적지 포트 번호 패킷 출발지 · 목적지 IP 주소 데이터 전송 단위의 총칭 프레임 출발지 · 목적지 맥 주소 LAN 영역에 있는 경우 비트 ※ 경우에 따라서, 일련의 데이터 전송 단위 전체를 단순히 패킷이라 총칭하기도 한다.
이렇게 생성한 페이로드 앞에 일련의 헤더를 붙이는 과정을 인캡슐레이션(encapsulation)이라 한다. 그리고 일련의 헤더를 떼는 과정을 디캡슐레이션(decapsulation)이라 한다.
데이터를 송신하는 과정(일련의 인캡슐레이션) : 메시지 -> 데이터그램 -> 패킷 -> 프레임 -> 비트
데이터를 수신하는 과정(일련의 디캡슐레이션) : 비트 -> 프레임 -> 패킷 -> 데이터그램 -> 메시지
일련의 인캡슐레이션 과정은 객체 지향 언어 기법에서 사용하는 정보 은폐 기법을 의미하기도 한다.
다시 말해, 라우터는 오직 패킷 헤더만 읽을 수 있을 뿐 세그먼트/데이터그램 헤더 이하는 읽을 수 없다.
스위치 또한 오직 프레임 헤더만 읽을 수 있을 뿐 패킷 헤더 이하는 읽을 수 없다.
'Network' 카테고리의 다른 글
<Network> TCP/IP 방식의 응용 계층 (0) 2021.12.21 <Network> TCP/IP 방식의 계층적 구조 (0) 2021.12.16 <Network> UDP 방식과 TCP (0) 2021.11.10 <Network> DNS 캐시 테이블 (0) 2021.11.08 <Network> ARP 캐시 테이블 (0) 2021.11.05