- 내가 한국에살고, 친구는 미국에 사는데 메시지를 보내려면 인터넷 망을 통해서 메시지를 보내야한다.
- 어떻게 이 복잡한 구조를 거쳐서 메시지가 해당 사용자에게 도착하는 것일까?
IP (인터넷 프로토콜)
- 미국에 있는 친구에게 메시지를 보낼때 필요한 최소한의 규칙? → IP
- IP의 역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 페킷(packet)이라는 통신단위로 데이터를 전달한다.
- 패킷에는
출발지 IP
(내꺼), 도착지 IP
(친구꺼), 메시지
가 담겨서 인터넷 망을 통해서 도착지 IP 주소로 전달 전달 된다.
- 해당 패킷은 인터넷 망에 있는 수많은 노드들을 거치면서 결국에
도착지 IP
에 도착하게 된다.
- 응답을 보낼때도 똑같이
출발지 IP
(친구꺼), 도착지 IP
(내꺼), 메시지
가 적힌 패킷을 전달한다.
IP 프로토콜의 한계
-
비 연결성
- 패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷을 전송.
- ex) 그냥 편지봉투에 편지써서 그 주소에 친구 안살아도 그냥 보낼 수 있음.(의미가 있나?)
<aside>
💡 받는 대상이 서비스 불능상태이건 상관없이 패킷을 보내는것. 대상 서버가 패킷을 받을 수 있는지 없는지 모름…
</aside>
<aside>
💡 한마디로 보내야할 서버가 살아 있는지 안 살아 있는지 체크할 방도가 없음.
</aside>
-
비 신뢰성
- 패킷을 보냈는데 중간에 인터넷 망에서 사라짐…. 택배 보냈는데 중간에 택배 사라짐.
- 내가 1,2,3 순서대로 패킷을 보냈는데, 2,1,3 순서로 패킷이 도착함. (순서가 다를 수 있음)
<aside>
💡 인터넷 망에서 소실될 가능성 이있음.
</aside>
<aside>
💡 패킷을 여러개 보낼때 서로 다른 노드를 거쳐서 전달 될 수 있다. → 순서가 달라질 수 도 있음.
</aside>
-
프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 두개 이상이라면???
<aside>
💡 이러한 문제때문에 IP 프로토콜의 한계가 있어 TCP/UDP 방식으로 진화 하였다.
</aside>