IP(인터넷 프로토콜)
인터넷 프로토콜 역할
- 지정한 IP(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 프로토콜의 한계
- 비연결성
패킷을 받을 대상이 없으면? 서비스 불능 상태여도 패킷 전송하면? - 비신뢰성
중간에 패킷이 사라지면? 패킷이 순서대로 안 오면? - 프로그램 구분
같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
인터넷 프로토콜 계층
TCP/IP 패킷 정보
Transmission Control Protocol(전송 제어 프로토콜)
TCP의 역할
- 연결 지향(먼저 연결이 됐는지 확인하고 메시지를 보낸다.)
TCP 3 way handshake (가상 연결)
- 데이터 전달 보증(보내다가 누락이 됐는지 알 수 있다.)
- 순서 보장
- 패킷 1, 패킷 2, 패킷 3 순서로 전송(클라이언트-> 서버)
- 패킷 1, 패킷 3, 패킷 2 순서로 도착
- 받은 패킷 1 제외 다 버리고, 패킷 2부터 다시 보내 요청(서버-> 클라이언트) 물론, 서버 최적화로 더 효율적인 방식으로 요청 가능함. 기본 상황을 예로 든 것!
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
UDP:
사용자 데이터그램 프로토콜(User Datagram Protocol)
- 하얀 도화지에 비유(기능이 거의 없음)
- 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X -IP와 거의 같지만 차이점은 PORT가 추가 PORT 왜 써? IP에서 어떤 애플리케이션을 사용하고 있는지 구분하기 위해서
UDP를 쓰는 이유
- TCP는 데이터 순서 보장, 검증,... 기능이 많지만 데이터 양도 크고 전송 속도를 빠르게 만들기 어렵다.
(최적화 어렵다). - 최적화하고 싶으면 UDP를 커스텀하면 된다(하얀 도화지).
- 현재는 TCP가 90% 점유, 동영상 보낼 때도 UDP로 보냄. HTTP3에서는 UDP 사용하는 추세(for 최적화)
'Network' 카테고리의 다른 글
Http 상태코드 (0) | 2022.02.24 |
---|---|
TCP 네트워킹(2) (0) | 2021.09.21 |
TCP 네트워킹(1) (0) | 2021.09.20 |
네트워크 기초 (0) | 2021.09.20 |
Https (0) | 2021.06.03 |