Updated:

IP(인터넷 프로토콜)

  • 인터넷 프로토콜 역할
    • 지정한 IP 주소(IP Address)에 데이터 전달
    • 패킷(Packet)이라는 통신 단위로 데이터 전달

 IP 패킷 정보는 출발지 IP, 목적 IP, 전송 데이터 등이 포함되어 있다. 이는 다음과 같이 클라이언트와 서버가 통신할 수 있다.

 IP 프로토콜은 다음과 같은 한계가 존재한다.

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라지거나, 패킷이 순서대로 안오는 경우가 존재
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우

TCP, UDP

 인터넷 프로토콜 스택의 4계층은 다음과 같다.

TCP

 예를 들어, 메시지를 전송하는 과정은 다음과 같다.

  • IP 패킷 정보: 출발 IP, 목적지 IP 등
  • TCP/IP 패킷 정보: 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보, 전송 데이터 등

 TCP(Transmission Control Protocol, 전송 제어 프로토콜)의 특징은 다음과 같다.

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

  • 데이터 전달 보증
  • 순서 보장

 위 특징을 가지고 있어 TCP는 신뢰할 수 있는 프로토콜이기 때문에 현재 대부분이 TCP를 사용한다.

UDP

 UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)의 특징은 다음과 같다.

  • 기능이 거의 없음
    • 연결 지항 X, 데이터 전달 보증 X, 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.

 즉, UDP는 IP와 거의 같지만 PORT와 체크섬 정도만 추가된다. 그래서 애플리케이션에서 추가 작업이 필요하다.

PORT

 PORT는 0 ~ 65535 까지 할당이 가능하다. 0 ~ 1023은 잘 알려진 포트로 사용하지 않는 것이 좋다.

  • FTP: 20, 21
  • TELNET: 23
  • HTTP: 80
  • HTTPS: 443

DNS

 IP는 기억하기 어렵고, 변경될 수 있다. 이런 이유 때문에 DNS(Domain Name System)를 사용한다. 이는 도메인 명을 IP주소로 변환해준다.

댓글남기기