클라이언트와 서버가 붙어 있다면, 바로 연결 할 수 있다.
나는 한국에 있는데, 서버는 미국에 있다면 인터넷 망을 통해 메세지를 보내야 한다.
어떤 규칙으로 어떻게 보내질까?
복잡한 인터넷 망에서 메세지를 보내기 위해서는 최소한의 규칙이 필요하다.
1. 클라이언트인 내가 IP주소가 있어야 한다.
2. 받는 쪽도 서버에 IP주소가 있어야 한다.
IP 패킷을 만들어 보내준다.
패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
대상이 서비스 불능, 패킷 전송
위의 그림과 같이, 서버가 패킷을 받을 수 있는 상태인지를 모를 경우
중간에 패킷이 사라지면?
패킷이 순서대로 안오면?
위의 그림 처럼 클라이언트에서 서버로 전송하다가 패킷이 사라질 수 도 있다.
또한, 패킷의 전달 순서에도 문제가 발생 할 수 있다.
위와 같이 Hello, world 순서대로 보냈는데, 패킷 전송 중, 순서가 뒤바뀌게 서버에 도착 할 수 있다.
IP프로토콜에서 발생한 문제점을 보완하기 위해 만들어 졌다.
전송 제어 프로토콜(Transmission Control Protocol)
위와 같은 이유 때문에 TCP를 신뢰할 수 있는 프로토콜이라고 한다.
UDP는 사용자 데이터그램 프로토콜(User Datagram Protocol)의 약자이다.
한 번에 둘 이상 연결해야 하면?
위의 그림처럼, 게임, 화상통화, 웹 브라우저 까지 요청을 하고 있다.
한 PC가 여러개의 서버와 통신해야 한다.
여러개의 패킷이 날라온다.
어떻게 구분을 할까?
위와 같이 PORT번호를 붙여주도록 하자
google.com = 200.200.200.2
aaa.com = 210.210.210.3
위와 같이 IP주소를 도메인명에 저장을 해놓고 사용하는 방법으로 나타낼 수 있다.