본문 바로가기
Server/Server 통신

[IP] IP란? (Packet, IPV4/IPV6, Domain)

by 로토마 2022. 3. 27.

IP 주소(영어: Internet Protocol address, IP address, 표준어: 인터넷규약주소)는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 만약 서버가 들어가지 않으면 IP가 안전하지 않다고 한다. 네트워크에 연결된 장치가 라우터이든 일반 서버이든, 모든 기계는 이 특수한 번호를 가지고 있어야 한다. 이 번호를 이용하여 발신자를 대신하여 메시지가 전송되고 수신자를 향하여 예정된 목적지로 전달된다. IP 주소를 줄여서 IP라고 부르기도 하나 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 한다. IP 와 IP 주소는 다른 개념이다.

IP 주소는 5036이나 5047, 인터넷에서만 사용되는 전화번호라고 생각할 수 있다. 한편, 이런 번호는 사람이 외우기 어렵기 때문에, 전화번호부와 같은 역할을 하는 서비스가 필요하다. DNS가 이런 역할을 하며 이런 서비스를 "도메인 이름 분석" (domain name resolution) 혹은 "이름 분석" (name resolution)이라고 한다.

오늘날 주로 사용되고 있는 IP 주소는 IP 버전 4(IPv4) 주소이나 이 주소가 부족해짐에 따라 길이를 늘린 IP 버전 6(IPv6) 주소가 점점 널리 사용되는 추세이다. 수사를 할때도 IP추적을 자주한다.

 

Packet
 패킷(packet, 문화어: 파케트, 소포)은 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다. 데이터가 패킷으로 형식이 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신뢰성 있게 보낼 수 있다.

 

http 구성 (header & Body)
Header 구성

Header
헤더는 크게 4가지로 분류된다.

- General Header(공통 헤더)
- Request Header(요청 헤더)
- Response Header(응답 헤더)
- Entity Header(엔티티 헤더)

**General Header**
공통 헤더는 요청 및 응답의 메시지 모두에서 사용되지만 컨텐츠에는 적용되지 않는 헤더이다.
흔하게 우리가 사용하는 공통 헤더는 Date, Cache-Control, Connection등이 있다.

자세한 내용은 공통 헤더 파트에서 확인할 수 있다.

**Request Header**
요청 헤더는 HTTP 요청에서 사용되지만 메시지의 컨텐츠와 관련이 없는 HTTP 헤더이다.
보통 Fetch될 리소스나 클라이언트 자체에 대한 정보를 포함하여 서버로 보내진다.
자세한 내용은 요청 헤더 파트에서 확인할 수 있다.

**Response Header**
위치 또는 서버 자체에 대한 정보(이름, 버전)과 같이 응답에 대한 부가적인 정보를 갖는 헤더이다.
자세한 내용은 응답 헤더 파트에서 확인할 수 있다.

**Entity Header**
컨텐츠 길이나 MIME 타입과 같이 Entity Body에 대한 자세한 정보를 포함하는 헤더이다.


헤더는 프록시의 처리 방법에 따라 그룹핑될 수 있다.

 

Body
가져올 실제 데이터 컨텐츠/메시지 본문이 나타난다. 콘텐츠에는 요청한 리소스에 따라 HTML 코드, 이미지, CSS 스타일 시트 또는 JavaScript 파일이 포함될 수 있다.

 

IPv4
IP version 4 주소, 줄여서 IPv4 주소는 오늘날 일반적으로 사용하는 IP 주소이다. 이 주소의 범위는 32비트로 보통 0~255 사이의 십진수 넷을 쓰고 .으로 구분하여 나타낸다. 따라서 0.0.0.0부터 255.255.255.255까지가 된다. 이론적으로 42억9496만7296개의 IP가 존재한다. 중간의 일부 번호들은 특별한 용도를 위해 예약되어 있다. 이를테면 127.0.0.1은 localhost(로컬 호스트)로 자기 자신을 가리킨다.

 

IPv6
모든 단말에 주소를 부여하기에 32비트로는 부족해짐에 따라 IP의 새로운 버전인 버전 6에서는 주소 길이를 128비트로 늘렸다. IPv6 주소는 보통 두 자리 16진수 여덟 개를 쓰고 각각을 : 기호로 구분한다.

 

Domain

Domain

ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데, 이것을 도메인이라고 한다. ex) 번지주소(ip) → 도로명 주소(Domain)

컴퓨터의 이름과 최상위 도메인으로 구성되어 있다. 예를들면 아래와 같다.

- opentutorials.org
    - opentutorials : 컴퓨터의 이름
    - org : 최상위 도메인 - 비영리단체
- daum.co.kr
    - daum : 컴퓨터의 이름
    - co : 국가 형태의 최상위 도메인을 의미
    - kr : 대한민국의 NIC에서 관리하는 도메인을 의미