본문 바로가기

CS

IP (Internet Protocol) 란?

IP 는 왜 필요 할까?

우리는 일상생활에서도 IP 라는 단어를 많이 접할수 있습니다. 하지만 정작 IP 가 무엇일까? 하고 생각해보면 보통 IP 주소만을 떠올리게 된다고 생각합니다. IP( Internet Protocol ) 도 일종의 통신 프로토콜이고, 무엇인가 전송하기 위해 있는 규약입니다.

예를 들면, 한국에 살고 있는 내가 미국에 있는 친구에게 메시지를 보내싶다고 가정해 보겠습니다. 그 사이에는 복잡한 인터넷 망이 존재합니다. 이 복잡한 인터넷 망을 통해 친구에게 메시지를 보내려면 어떻게 해야할까요? 그 과정에는 IP 라는것이 있기 때문에 규약을 따라 나의 메시지가 복잡한 인터넷 망을 통해 친구에게 전송 됩니다.

Internet Protocol

인터넷 프로토콜(IP)은 송신 호스트와 수신 호스트 사이에 데이터 패킷이 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 올바른 대상에 도착할 수 있도록 데이터 패킷을 라우팅 하고 주소를 지정하기 위한 프로토콜 또는 규칙의 집합입니다. 인터넷을 통과하는 데이터는 패킷이라고 하는 더 작은 조각으로 나뉩니다. 

IP 주소는 왜 있는걸까?

Internet Protocol 을 이용하기 위해서는 인터넷에 연결되는 어떠한 장치던 간에 IP 주소가 있어야 합니다. 인터넷에 연결되는 거의 모든 장치는 IP 주소를 할당 받습니다. IP 주소정보는 각 데이터 패킷에 첨부되며, 이 정보는 라우터가 패킷을 올바른 위치로 보내는 데 도움이 됩니다.

IP 주소는 인터넷에 연결하는 장치나 도메인에 할당된 고유 식별자입니다. 각 IP 주소는 '192.168.1.1'과 같은 일련의 숫자입니다. 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환하는 DNS 확인자를 통해 사용자는 이 복잡한 일련의 숫자를 기억하지 않고도 웹 사이트에 액세스할 수 있습니다.

각 IP 패킷에는 발송자 주소와 배송 주소를 모두 우편물에 기재하는 방식과 마찬가지로 패킷을 보내는 장치 또는 도메인의 IP 주소와 대상 수신자의 IP 주소가 모두 포함됩니다.

CloudFlare 의 IP 주소 설명

IP 의 역할

IP 가 있기에 지정한 IP 주소에 데이터를 전달하고, 패킷 이라는 통신 단위로 데이터를 전달하고, 패킷을 받아서 재조립 할수 있다고 말할수 있습니다. IP 패킷을 만들어서 인터넷망 으로 전송하면, IP 프로토콜에 의해 대부분의 서버는 이 규약을 이해하고 있습니다. 출발지와 목적지가 무엇인지 등 이해합니다. 데이터 패킷은 목적지 IP 주소를 찾아가며 노드끼리 이 패킷을 전달합니다. 패킷의 전송이 완료되면, 전송이 완료되었음을 수신 호스트가 똑같이 IP 패킷을 만들어서 출발지 IP 주소를 향해 IP 패킷을 응답합니다.

IP 프로토콜의 한계

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

비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송됩니다. (요청자가 알수가 없습니다.)
비신뢰성 : 중간에 패킷이 손실 되거나, 전송 과정에서 패킷이 순서대로 오지 않아도 수신자는 알수가 없습니다.

이러한 문제를 해결하기 위해서, TCP 와 UDP 프로토콜이 존재합니다.

현재의 Internet Protocol

현재 인터넷에서 사용하는 표준 프로토콜은 인터넷 프로토콜의 4번째 판인 IPv4 입니다. 그러나 IPv4 주소공간 고갈 문제를 겪고 있어 조만간 6번째 판인 IPv6 대중화될 것으로 보입니다마이크로소프트 윈도우 7, OS X, 리눅스  현재 널리 쓰이고 있는 대부분의 운영 체제는 IPv6 프로토콜을 지원합니다.

이 포스트에서는 IP 의 개념적인 접근과 이해를 다루기 위해 작성하였으므로, 다른 포스트에서 IPv4, IPv6, TCP, UDP 등을 더 다뤄보도록 하겠습니다.

'CS' 카테고리의 다른 글

Network, Internet 이란?  (0) 2023.07.21