프로토콜
서로 다른 시스템 및 기기 간 데이터 교환을 원할히 하기 위한 표준화된 통신 규약
TCP/IP 프로토콜
인터넷에서 사용하는 표준 프로토콜
각 계층에 맞는 메시지가 존재
메시지
네트워크 장비 사이에서 오고가는 데이터 블록
메시지 구조
- 헤더: 제어정보를 가짐, 서로 다른 장비의 프로토콜 요소간 통신/제어 링크 역할
- 데이터(Payload): 전송되는 실제 데이터, 캡슐화
- 푸터: 제어 정보 포함, 헤더와 비슷한 역할, 데이터를 통해 산출된 결과를 이용해 제어 하는 데이터 관리
PDU(Protocol Data Unit)
같은 계층의 네트워크끼리 주고 받는 메시지 단위
ex) IP를 이용해 IP 패킷전송을 한다. ▶ 패킷 = 3계층(IP)에서 사용하는 PDU
SDU(Service Data Unit)
실제로 서비스되는 데이터, 하위 계층 프로토콜의 SDU = 상위 계층 프로토콜의 PDU
- 애플리케이션 계층: HTTP, FTP, DNS
- HTTP: 전송 프로토콜 ▶ 애플리케이션 프로토콜을 이용해서 도착지에 데이터를 보냄
- 트랜스포트 계층: TCP, UDP
segment
= segment header(client port) + destination(server port) + 상위 계층(Application)에서 받아온 data
- 네트워크 계층(인터넷 계층): IP
packet
= packer header(client ip address) + destination(server ip address) + 상위 계층(Transport)에서 받아온 PDU
- 링크 계층
frame
= client mac address + server mac address + 상위계층(Natework)에서 받아온 PDU
IP(Internet Protocol)란?
https://galid1.tistory.com/475
송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고 받을 때 사용하는 정보 위주의 규약
IP 주소와 MAC 주소를 통해 패킷을 상대방에게 전달하는 역할
IP주소
각 노드에 부여된 주소 ▶ 변경 가능
MAC 주소
각 네트워크 인터페이스에 할당된 고유 주소 ▶ 변경 불가
ARP(Address Resolution Protocol)
주소 결정 프로토콜, MAC 주소를 사용하여 목적지를 찾아가는 프로토콜
- 비연결형 프로토콜 ▶ 최선형(Best Effort)으로 데이터 전송에만 최선을 다함
- 에러제어X ▶ 에러가 존재하면 패킷을 버림(재요청X, 복구X)
- 흐름제어X ▶ 송신의 속도가 빠르고 수신의 처리속도가 느려 데이터를 수신하지 못하는 경우 제어X
- 필요 시 패킷 분할, 단편화
단편화
네트워크 전송가능량에 맞춰 데이터그램을 자르는 행위
Why? 인터넷은 여러 네트워크들이 서로 연결되어 있으므로 한 네트워크에서 통과시킬 수 있는 최대 Byte가 정해져 있기 때문(최대 Byte량 = MTU)
- 유한한 패킷 수명을 가짐
- 옵션에 따라 헤더의 길이가 가변적으로 변함
IP 데이터그램 구조
'IT > CS' 카테고리의 다른 글
[OS] 프로세스와 스레드 (0) | 2021.06.04 |
---|---|
[Web] WEB과 WAS (0) | 2021.06.02 |
[Container] 가상 머신과 컨테이너(feat. Docker) (0) | 2021.06.01 |
[프레임워크] Vue.js (0) | 2021.05.31 |
[프로그래밍 언어] C++과 JAVA (0) | 2021.05.30 |