개발 ━━━━━/CS

[HTTP] IP / TCP / UDP / PORT / URI

GukJang 2024. 6. 13. 22:12
반응형

IP (Internet Protocol)

특징

  • 지정한 IP 주소에 데이터 전달
  • 패킷 (Packet, Package + Bucket) 이라는 통신 단위로 데이터 전달

 

한계

비연결성

  • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

비신뢰성

  • 중간에 패킷이 사라짐
  • 패킷이 순서대로 오지 않음

프로그램 구분

  • 같은 IP 를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상?

인터넷 프로토콜 스택의 4계층

애플리케이션 계층 HTTP, FTP
전송 계층 TCP, UDP
인터넷 계층 IP
네트워크 인터페이스 계층  

 

TCP (전송 제어 프로토콜, Transmission Control Protocol)

특징

  • 연결 지향 - TCP 3 way handshake (가상 연결)

1. (클라이언트 -> 서버) SYN
2. (서버 -> 클라이언트) SYN + ACK
3. (클라이언트 -> 서버) ACK
4. 데이터 전송

* SYN - 접속 요청, ACK - 요청 수락
* 3. ACK 와 함께 데이터 전송 가능

 

  • 데이터 전달 보증 - 메세지 누락 유무 알 수 있음
  • 순서 보장
  • 신뢰할 수 있는 프로토콜

 

UDP (사용자 데이터그램 프로토콜, User Datagram Protocol)

특징

  • 단순하고 빠름
  • 연결지향 x
  • 데이터 전달 보증 x
  • 순서 보장 x
  • IP 와 거의 같다 + PORT + 체크섬

 

PORT

특징

  • 같은 IP 내에서 프로세스 구분

 

URI (Uniform Resource Identifier)

특징

  • URI 는 로케이터 (Locator), 이름 (Name) 또는 둘 다 추가로 분류될 수 있다.
  • URI = URL + URN
  • URL (Resource Locator) - 리소스가 있는 위치를 지정
  • URN (Resource Name) - 리소스에 이름을 부여
  • 위치는 변할 수 있지만, 이름은 변하지 않는다.

 

문법

scheme://[userinfo@]host[:port][/path][?query][#fragment]

 

 

 

참고

모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 강사님

반응형