IT/CS

[Network] TCP/IP 프로토콜

Terriermon 2021. 6. 1. 18:00

프로토콜

서로 다른 시스템 및 기기 간 데이터 교환을 원할히 하기 위한 표준화된 통신 규약

TCP/IP 프로토콜

https://medium.com/harrythegreat/osi%EA%B3%84%EC%B8%B5-tcp-ip-%EB%AA%A8%EB%8D%B8-%EC%89%BD%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-f308b1115359

인터넷에서 사용하는 표준 프로토콜

각 계층에 맞는 메시지가 존재

메시지
네트워크 장비 사이에서 오고가는 데이터 블록
메시지 구조
- 헤더: 제어정보를 가짐, 서로 다른 장비의 프로토콜 요소간 통신/제어 링크 역할
- 데이터(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