[모든 개발자를 위한 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"
- 패킷의 용량이 큰 경우, 메시지를 끊어서 보내는 경우가 존재
- 여기서 핵심은 해킷들이 중간에 다른 노드를 탈 수 있기에 순서가 바뀔 수 있다
참고 자료
'Network > HTTP' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 06. HTTP-URI-URL-URN (0) | 2023.04.25 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 05. HTTP의 TCP와 UDP 통신 (0) | 2023.04.25 |
[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 04. HTTP의 PORT와 DNS (0) | 2023.04.25 |
[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 03. HTTP의 Mehod란? (0) | 2023.04.25 |
[모든 개발자를 위한 HTTP 웹 기본 지식 강의] 01. HTTP API 설계원칙 (0) | 2023.04.25 |
블로그의 정보
기록하고, 복기하고
ymkim