티스토리 뷰

IP (인터넷 프로토콜) 역할

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

 

IP 주소 부여

IP 패킷 정보

IP 패킷에 전송 데이터가 전송되는데, 전송 데이터에 출발지 IP, 목적지 IP, 기타 정보등이 들어가 있다.

클라이언트와 서버간 데이터를 전송할 때 서버 패킷을 전달한다.

 

 

IP 프로토콜의 한계

  • 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성 : 중간에 패킷이 사라지는 경우, 패킷이 순서대로 도착하지 않은 경우 ex) Hello World를 보냈는데 World Hello가 도착한 경우
  • 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리켕션이 둘 이상이라면?

 


TCP / UDP

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

프로토콜 계층

IP 패킷 정보

  1. 출발지 IP
  2. 목적지 IP
  3. 전송 데이터
  4. 기타 정보

 

TCP/IP 패킷 정보

  1. 출발지 IP
  2. 목적지 IP
  3. 출발지 PORT
  4. 목적지 PORT
  5. 전송 제어, 순서, 검증 정보..
  6. 전송 데이터

 

 

TCP의 특징

  • 연결지향 - TCP 3 way handshake (가상 연결)
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP 사용

3 way handshake 방식의 예시

1. 클라이언트가 서버에게 SYN(synchronization)을 요청한다

2. 서버는 클라이언트에게 SYN를 요청하고 ACK(Acknowledge)를 보낸다

3. 클라이언트는 서버에게 ACK를 보낸다

4. 클라이언트와 서버는 데이터를 전달한다 (3, 4 과정이 함께하는 경우도 있다)

 


UDP 특징 (User Datagram Protocol)

  • 하얀 도화지에 비유 (기능이 거의 없다)
  • 연결 지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • 정리 : IP와 거의 같은 특징 + PORT + CheckSum , 애플리케이션 추가 작업 필요

 

댓글