Lined Notebook

[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 02. IP란?

by ymkim

✔ IP(Internet Protocol)

복잡한 인터넷망에서 ’Hello World’라는 메시지를 전달해야 한다

  • 최소한의 규칙이 필요
  • 인터넷에서는 IP(Internet Protocol)이라는 규칙이 존재
  • 클라이언트와 서버가 둘 다 IP 주소를 가지고 있어야 한다

인터넷 프로토콜 역할

  • 지정한 IP 주소(IP Address)에 데이터 전달.
  • 패킷(Packet)이라는 통신 단위로 데이터 전달.

IP 패킷 정보란?

  • 메시지를 그냥 보내는것이 아닌 IP 패킷이라는 규칙을 통해 메시지 전달
  • 출발지 IP, 목적지 IP, 기타 정보를 패킷에 저장 후 인터넷 망에 정보 전달

클라이언트 패킷을 인터넷망에 전달

  • 위에서 패킷에 저장된 정보를 통해 노드간에 해당 IP 패킷을 전달
  • 이렇게 전달된 패킷은 도착지 서버 ( ex: 200.200.200.2 )에 도달

서버 패킷 전달

송신측에서 패킷에 정보를 넣을 경우 출발지 IP, 목적지 IP, 메시지를 넣은 것처럼

수신측 서버에서도 위와 같은 정보를 넣고 인터넷 전송망에 해당 정보를 전달한다.

✔ IP 프로토콜의 한계

IP 프로토콜의 한계를 통해 점점 발전해나가는 기술을 흐름을 파악

비연결성

  • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 정보를 받는 수신측의 상태(State)는 신경쓰지 않고 일방적인 정보 전송

비신뢰성

  • 중간에 패킷이 사라지면?
  • 패킷을 여러개 보냈을 때 패킷이 순서대로 안오면?

프로그램 구분

  • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상?
  • 한 PC에서 게임도 하고, 음악도 들을경우 IP 주소가 같다, 어떻게 구분할 것인가?

대상 서비스 불능, 패킷 전송

  • 수신측 서버가 작동중인지 모르지만, 송신측은 IP 패킷을 일방적으로 전달
  • 인터넷망의 노드들끼리 해당 패킷을 주고 받으며 수신측 서버에 전달
  • 하지만 해당 서버는 현재 죽은 상황, 이러한 이유로 인해 전송에 실패하게 된다

패킷 손실

  • 인터넷망은 노드(서버)간 패킷을 주고 받는다
  • 만약, 중간 서버에 문제가 있는 경우 해당 메시지(패킷)이 손실되는 결과를 가져온다
  • 또한, 이러한 손실은 알 수 있는 방법이 없다

패킷 전달 순서 문제 발생

1. 송신측: "Hello, World"
2. 수신측: "World, Hello"
  • 패킷의 용량이 큰 경우, 메시지를 끊어서 보내는 경우가 존재
  • 여기서 핵심은 해킷들이 중간에 다른 노드를 탈 수 있기에 순서가 바뀔 수 있다

참고 자료

블로그의 정보

기록하고, 복기하고

ymkim

활동하기