인터넷 프로토콜(IP, Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜, Protocol)이며, OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 줄여서 아이피(IP)라고도 한다.
IP의 정보는 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송된다.
IP에서는 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요없다.
IP는 비신뢰성(unreliability)과 비연결성(connectionlessness)이 특징이다.
참고 : [나무위키]
아래는 김영한님 강의를 듣고 정리한 내용이다.
모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (인프런)
예를들어 우리집에서 미국에 있는 친구집에 편지(패킷)를 보내려 한다.
그럼 어디로 보낼지 집 주소가 있어야 하는데 인터넷에서는 그 주소를 IP 주소라고 한다.
패킷을 주고 받기 위해서는 IP주소를 부여받아야 한다.

IP 인터넷 프로토콜의 역할
- 지정한 IP주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 패킷은 다음과 같이 생겼다.

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

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

IP 패킷의 한계
• 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
• 비신뢰성
- 중간에 패킷이 사라지면? (패킷의 유실)
- 패킷이 순서대로 안오면? (패킷의 순서 보장x)
• 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
IP 인터넷 프로토콜은 위와 같은 문제를 해결하기 위해 TCP 프로토콜의 도움을 받는다.