Search
Duplicate

인터넷 통신

태그
인터넷 네트워크
2 more properties
인터넷 통신
클라이언트와 서버 사이에 인터넷 통신이 있습니다. 클라이언트가 메세지를 보내면 수많은 노드를 거쳐 메세지가 전달됩니다. 이 때 메세지가 어떻게 전달되는지 알기 위해 IP 를 먼저 공부해보겠습니다.
IP (Internet Protocol)
인터넷 프로토콜은 지정한 IP 주소에 데이터를 전달하는 역할을 합니다. 이때 데이터는 패킷이라는 통신단위로 전달 되는데요, 패킷은 다음과 같이 구성되어 있습니다.
그림을 보면 패킷은 크게 헤더와 데이터로 구성되어 있으며, 헤더 안에 출발지 IP 주소와 도착지 IP 주소가 담겨있다는 것을 알 수 있습니다. 클라이언트가 이러한 패킷을 전송하면 이 패킷이 수많은 노드를 거쳐서 서버에 도달하게 됩니다. 서버가 이 패킷을 받게 되면, 같은 방식으로 데이터를 전송하게 됩니다.
한계
인터넷 프로토콜은 비연결성, 비신뢰성 등의 한계를 가지고 있습니다.
비연결성
인터넷 프로토콜의 경우 대상 서버가 패킷을 받을 수 있는 상태인지 모르기 때문에 패킷을 받을 대상이 없거나 서비스가 불능인 상태에서도 패킷을 전송합니다.
비신뢰성
패킷이 노드를 거치면서 유실되는 경우도 존재합니다. 또한 데이터크기가 커서 1500 바이트 씩 끊어서 보낼 때, 데이터가 담긴 패킷이 순서대로 도착하지 않는 경우 또한 존재합니다.
프로그램 구분의 문제
같은 IP 를 사용하는 서버에서 만약 통신하는 애플리케이션이 둘 이상이면 프로그램을 어떻게 구분할 것인지에 대한 문제가 있습니다.
해결
위와 같은 문제를 해결하기 위해 TCP 와 UDP 를 사용하게 됩니다.