그림과 같이 서로 멀리 떨어진 클라이언트와 서버는 통신을 Hello World! 라는 메시지를 주고 받고 싶다.
중간에 수많은 노드중에서 어떤 것이 적절한 서버인지 알 수 있을까?
우리가 많이 들어본 IP를 통해서 통신이 가능하다
패킷은 컴퓨터 네트워크에서 데이터를 주고 받을 때 정해놓은 규칙이다
즉 아무런 방식으로 IP를 이용해 데이터를 전송하는 것은 아니고 아래 그림과 같이 데이터에 다른 것들을 포함해 전송하게 된다.
패킷에 정보에 따라 전송을 시작하게 되는데 인터넷에 있는 여러 노드(서버)들도 이러한 규칙을 모두 따르고 있기 때문에 서로 전송이 가능하다.
서로 전송을 하다보면 결국에 목적지 서버에 도달하게 되는 것이다.
서버에서도 마찬가지로 패킷 정보를 토대로 노드들에게 패킷을 전달, 전달하면서 결국 메세지가 클라이언트 목적지에 도달하게 되는 것이다.
인터넷망이 복잡하기 때문에 클라이언트에서 송신할때랑 다른 노드들을 거쳐 전달이 될 수도 있다
출발지 IP와 목적지 IP등의 정보를 포함한 패킷으로 전송이 가능하게 해주는 IP프로토콜이지만 한계점도 가지고 있다.
이러한 문제점들을 해결해주는 것이 TCP 프로토콜이다
해당 포스팅은 김영환 HTTP강의 토대로 작성되었습니다.