인터넷 통신

인터넷에서 컴퓨터는 어떻게 통신을 할까?
클라이언트는 인터넷을 통해 메시지를 보내기 위해서 먼저 인터넷 망을 통해 목적지로 메시지를 전달해야 한다. 이 과정에는 광케이블을 사용하는 경우도 있고, 인공위성을 통해 데이터를 전송하는 경우도 있다.
다양한 중간 노드인 서버들을 거쳐서 메세지가 목적지까지 안전하게 전달되어야 한다.
따라서 메시지가 안전하게 전달되려면 어떤 규칙을 따라야 할까?
IP(Internet Protocol)
IP(Internet Protocol)의 역할이 크게 중요하다. 인터넷을 통해 "Hello"라는 메시지를 다른 나라에 거주중인 친구에게 보내려면 최소한의 규칙이 필요하다. 이 규칙은 IP 주소를 통해 이루어진다.
먼저 클라이언트, 즉 나와 같은 역할을 하는 컴퓨터는 IP 주소를 할당받아야 한다. 예를 들어, 내 IP 주소가 100.100.100.1이라면, 미국에 있는 친구 역시 IP 주소를 가지고 있어야 한다. 그 친구의 IP 주소를 200.200.200.2라고 가정하자.
IP 인터넷 프로토콜의 역할
- 지정한 IP 주소(IP Address)에 데이터를 전달
- 패킷(Packet)이라는 통신 단위로 데이터를 전달
IP 주소는 데이터를 전송하기 위한 규칙을 정의하며, 데이터는 패킷 단위이다.
IP 패킷 정보
메시지를 보내는 것뿐만 아니라 IP 패킷 규칙을 따라야 한다. 패킷에는 전송 데이터뿐만 아니라 출발지 IP (나의 IP)와 목적지 IP (친구의 IP) 두 가지 정보가 들어가야 한다.


이렇게 IP 패킷을 생성한 후, 이를 인터넷 네트워크에 보내준다.
IP 프로토콜을 따르는 서버들은 출발지와 목적지를 파악하여 해당 노드끼리 패킷을 전송한다.
결국, 미국에 있는 친구의 200.200.200.2 IP 주소까지 패킷이 정확하게 전달된다.
그런데 인터넷은 매우 복잡해서, 요청 및 응답 시 서로 다른곳으로 전달될 수도 있다 .
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송된다.
- 즉, 친구의 컴퓨터가 꺼져 있어도 메시지는 전송된다. 마치 우편물을 보내는데 수신자가 그 주소에 더 이상 살고있지 않더라도 우편물이 전송되는 것과 비슷하다
- 비신뢰성
- 중간에서 패킷이 사라지거나 순서가 뒤바뀌는 경우가 있다.
- 프로그램 구분
- 동일한 IP 주소를 사용하는 서버에서 여러 애플리케이션이 통신하는 경우 어떻게 구분할까?
- 여러 대의 PC에서 다양한 작업을 수행하면 IP 주소만으로는 어떤 작업인지 구별하기 어려울 수 있다.
이러한 문제들을 IP 만으로는 해결할 수 없다. 그래서 등장한 것이 TCP 와 UDP 이다.
인터넷 통신

인터넷에서 컴퓨터는 어떻게 통신을 할까?
클라이언트는 인터넷을 통해 메시지를 보내기 위해서 먼저 인터넷 망을 통해 목적지로 메시지를 전달해야 한다. 이 과정에는 광케이블을 사용하는 경우도 있고, 인공위성을 통해 데이터를 전송하는 경우도 있다.
다양한 중간 노드인 서버들을 거쳐서 메세지가 목적지까지 안전하게 전달되어야 한다.
따라서 메시지가 안전하게 전달되려면 어떤 규칙을 따라야 할까?
IP(Internet Protocol)
IP(Internet Protocol)의 역할이 크게 중요하다. 인터넷을 통해 "Hello"라는 메시지를 다른 나라에 거주중인 친구에게 보내려면 최소한의 규칙이 필요하다. 이 규칙은 IP 주소를 통해 이루어진다.
먼저 클라이언트, 즉 나와 같은 역할을 하는 컴퓨터는 IP 주소를 할당받아야 한다. 예를 들어, 내 IP 주소가 100.100.100.1이라면, 미국에 있는 친구 역시 IP 주소를 가지고 있어야 한다. 그 친구의 IP 주소를 200.200.200.2라고 가정하자.
IP 인터넷 프로토콜의 역할
- 지정한 IP 주소(IP Address)에 데이터를 전달
- 패킷(Packet)이라는 통신 단위로 데이터를 전달
IP 주소는 데이터를 전송하기 위한 규칙을 정의하며, 데이터는 패킷 단위이다.
IP 패킷 정보
메시지를 보내는 것뿐만 아니라 IP 패킷 규칙을 따라야 한다. 패킷에는 전송 데이터뿐만 아니라 출발지 IP (나의 IP)와 목적지 IP (친구의 IP) 두 가지 정보가 들어가야 한다.


이렇게 IP 패킷을 생성한 후, 이를 인터넷 네트워크에 보내준다.
IP 프로토콜을 따르는 서버들은 출발지와 목적지를 파악하여 해당 노드끼리 패킷을 전송한다.
결국, 미국에 있는 친구의 200.200.200.2 IP 주소까지 패킷이 정확하게 전달된다.
그런데 인터넷은 매우 복잡해서, 요청 및 응답 시 서로 다른곳으로 전달될 수도 있다 .
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송된다.
- 즉, 친구의 컴퓨터가 꺼져 있어도 메시지는 전송된다. 마치 우편물을 보내는데 수신자가 그 주소에 더 이상 살고있지 않더라도 우편물이 전송되는 것과 비슷하다
- 비신뢰성
- 중간에서 패킷이 사라지거나 순서가 뒤바뀌는 경우가 있다.
- 프로그램 구분
- 동일한 IP 주소를 사용하는 서버에서 여러 애플리케이션이 통신하는 경우 어떻게 구분할까?
- 여러 대의 PC에서 다양한 작업을 수행하면 IP 주소만으로는 어떤 작업인지 구별하기 어려울 수 있다.
이러한 문제들을 IP 만으로는 해결할 수 없다. 그래서 등장한 것이 TCP 와 UDP 이다.