CS/네트워크

[네트워크] IP (인터넷 프로토콜) 이란?

딩코딩 2023. 1. 21. 10:34

인터넷 프로토콜(IPInternet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜, Protocol)이며, OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 줄여서 아이피(IP)라고도 한다.

 

IP의 정보는 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송된다.

IP에서는 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요없다.

 

IP는 비신뢰성(unreliability)과 비연결성(connectionlessness)이 특징이다. 

 

참고 : [나무위키]

 

 

아래는 김영한님 강의를 듣고 정리한 내용이다.
모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (인프런)

 

예를들어 우리집에서 미국에 있는 친구집에 편지(패킷)를 보내려 한다.

그럼 어디로 보낼지 집 주소가 있어야 하는데 인터넷에서는 그 주소를 IP 주소라고 한다.

패킷을 주고 받기 위해서는 IP주소를 부여받아야 한다.

IP주소가 집주소 라고 생각하면 된다.

 

IP 인터넷 프로토콜의 역할

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

 

 

IP 패킷은 다음과 같이 생겼다.

보내는 사람 주소, 받는 사람 주소, 편지의 내용 이라고 생각하면 된다.

 

 

클라이언트는 수많은 노드를 거쳐 목적지에 패킷을 전달한다.

 

서버는 잘 받았다고 응답한다.

 

 

IP 패킷의 한계

• 비연결성
  - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 
• 비신뢰성

  - 중간에 패킷이 사라지면? (패킷의 유실)
  - 패킷이 순서대로 안오면? (패킷의 순서 보장x)
• 프로그램 구분
  - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? 

 

IP 인터넷 프로토콜은 위와 같은 문제를 해결하기 위해 TCP 프로토콜의 도움을 받는다.