IP 프로토콜의 한계
1.대상 서버가 패킷을 받을 수 있는 상태인지 모름
2.패킷 손실
3.패킷 전달 순서 문제 발생
▶ 이러한 문제를 해결해 줄 수 있는게 TCP 프로토콜
패킷 = 패키지 + 버킷(덩어리)
전송을 어떻게 할지 제어를 한다.
1.연결지향 - 연결 후 메세지를 보낸다. 상대의 연결상태를 확인한다. (TCP 3way handshake)
2.데이터 전달 보증 - 중간에 누락되었는지 알 수 있다.
3.순서보장
▲ 신뢰할 수 있는 프로토콜, 현재는 대부분 TCP 사용
TCP 3 way handshake - 서로 요청 및 허락을 하기 때문에 서로 믿을 수 있다.
****논리적으로만 연결된거다.
1.데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
2.IP와 거의 같다 + PORT(패킷을 구분할때 쓴다) + 체크섬(메세지에 대한 검증) 정도만 추가
3.애플리케이션에서 추가 작업 필요(TCP는 손을 대지 못한다. UDP에 손을 대어 최적화 할 수 있다)
한 번에 둘 이상 연결해야 한다면?
IP는 목적지 서버를 찾는 것, 서버 안에서 돌아가는 에플리케이션을 찾는 것은 PORT
PORT - 같은 IP 내에서 프로세스 구분
IP는 기억하기 어렵다. IP는 변경될 수 있다.
→ 도메인 서버로 이 문제를 해결할 수 있다.