LostCatBox

IP는 유일한가?

Word count: 1.4kReading time: 8 min
2020/02/15 Share

IP주소

왜 알아야해?

IP주소는 집주소다. 집주소는 알아야 서로 정보를 전달할것아닌가?

개인적으로는 이번포스팅으로 개인 서버컴퓨터를 세팅 후 다룰 수있는 기반을 만들고싶었다.

IP주소란?

인터넷(TCP/IP)에 연결되어 있는 모든 인터페이스(이더넷 카드 같은)는 고유의 IP주소를 가지고 있어야 통신할 수 있다.

IP주소는 32bit 크기를 가지는데 8bit(1byte) 씩 끊어서 옥텟 octets이라고 하고, 각 octet은 0-255의 범위를 가지는 10진수로 바꿔 마침표(“.”) 기호로 나누어 표기한다. ( 예) 8.8.8.8 )

IP주소의 효율적인 관리를 위해서, IP주소를 네트워크 ID + 호스트 ID로 구성하고, 이렇게 그룹화(네트워크ID)된 것을 class 라고 부르며, A, B, C, D, E의 클래스로 나뉜다.

네트워크 ID(혹은,네트워크 주소)는 IP 라우터에 의해 묶여져 있는 동일한 물리적 네트워크에 존재하는 시스템을 구분한다. 동일한 물리적 네트워크상에 존재하는 모든 시스템은 반드시 동일한 네트워크 ID를 가져야 한다. 인터넷상에서는 네트워크 ID는 반드시 유일해야 한다.

호스트 ID(혹은, 호스트 주소) 는 네트워크내에서 워크스테이션, 서버, 라우터, 기타 TCP/IP 호스트를 구분한다. 호스트 주소는 네트워크 ID에 대해 유일해야 한다.

IP 주소 범위

각각의 클래스는 관리(할당) 가능한 IP 주소의 범위가 아래와 같이 정해져 있다.

IP주소 범위는 0.0.0.0부터 255.255.255.255까지이고 클래스별로 나뉘어져 있다.

class 네트워크ID 호스트 ID 범위 비고
A 첫 1 옥텟 최상위 비트는 항상 0 126개의 네트워크 존재가능성 나머지 3 옥텟 네트워크별 16,777,214개의 호스트 존재가능성 0.0.0.0 ~ 127.255.255.255 큰 규모의 네트워크에 위임하기 위해서
B 첫 2 옥텟 최상위 2 비트는 항상 1 0 16,384 개의 네트워크 존재가능성 나머지 2 옥텟 네트워크 별 65,534 개의 호스트 존재가능성 128.0.0.0 ~ 191.255.255 중간 정도 규모의 네트워크에 위임하기 위해서
C 첫 3옥텟 최상위 3비트는 항상 110 2,097,152개의 네트워크 존재가능성 나머지 1옥텟 네트워크 별로 254개의 호스트 존재가능성 192.0.0.0 ~ 223.255.255.255 소규모 네트워크에 위임하기 위해서
D 최상위 4비트는 항상 1110 나머지 비트는 관심 있는 호스트가 인식할 주소 값을 위해 사용 224.0.0.0 ~ 239.255.255.255 IP 멀티캐스트를 위해 사용
E 최상위 4비트는 항상 1111 240.0.0.0 ~ 255.255.255.255 앞으로 사용하기 위해 남겨둔 실험적인 영역

사설 Private IP 범위

RFC 1597에 정의된 사설(Private) 주소 공간은 3개의 블록으로 정의되어 있다.

10.0.0.1~ 10.255.255.254
172.16.0.1 ~ 172.31.255.254
192.168.0.1 ~ 192.168.255.254

위와 같은 사설IP를 가지는 공유기 내부나 네트워크 내부에서, 공인IP를 확인하는 방법은 여기에 접속해서 확인하는 방법이 있다.

사설IP는 IP주소의 부족분을 메우는데 사용되기도 한다.

특수 IP들

클래스 A 주소에 해당하는 127.x.y.z 은 루프백(loopback) 테스트와 지역 컴퓨터 내부에서 프로세스간 통신을 위해 사용한다.

네트워크 ID에 모두 1로 지정하는 것은 IP 브로드캐스트 주소를 위해 사용된다.
네트워크 ID에 모두 0으로 지정하는 것은 지역 네트워크의 특정 호스트가 경로 설정 되지 않는 것을 나타낸다.

호스트 ID에 모두 1로 설정하는 것은 패킷을 네트워크의 모든 호스트로 보내는 브로드캐스팅 주소사용된다.
호스트 ID에 모두 0으로 지정하는 것은 IP 네트워크 ID를 나타내기 위해 사용된다.

255.255.255.255 는 해당 네트워크내의 제한된 브로드캐스트(Limited Broadcast)에 사용된다.
255.255.255.255 로 되어 있으면 라우터가 다른 네트워크로 포워딩하지 않는다

IPv4 -> IPv6

인터넷 엔지니어링 태스크 포스(IETF;Internet Engineering Task Force)에서는 2008년에서 2011년 사이 IPv4 주소가 부족할 것으로 예측하고, ‘IPng’(IP next generation)라고 하는 작업 그룹(working group)을 만들어서 1995년 9월 18일 IPv6 표준을 제안했다

IPv6주소는 현재 널리 사용되고 있는 IPv4와 다르게 128비트체계로 구성되어 있으며, 그 표현방법은 128bit를 16bit씩 8부분으로 나누어 각 부분을 콜론(colon, “:”)으로 구분하고, 각 구분은 16진수로 표현된다.

예) 2021:230:abcd:f12f:0000:0000:ffff:1111

IPv6특징

  • 인터넷 주소를 기존의 「A, B, C, D」와 같은 클래스별 할당이 아닌 유니캐스트·애니캐스트·멀티캐스트 형태의 유형

  • 브로드캐스트 대신 멀티캐스트

  • IP 주소 자동 구성

    IPv4에서는 IP 주소 자동 할당을 위해 DHCP 서버를 만들고, 이 서버를 통해 IP 자동 할당이 가능해졌습니다. 이러한 방식을 Stateful Auto Configuration이라고 합니다.

    그렇지만, IPv6에서는 DHCP 서버 없이도 라우터를 통해 IP 주소를 자동으로 구성할 수 있게 합니다.

  • 간단해진 헤더(Header)

네트워크 통신 방식 4가지

애니 캐스트

애니캐스트(anycast)는 단일 송신자부터의 인터넷 상 트래픽인 테이터들을 토폴로지 상의 잠재적인 수신자 그룹 안에서 가장 가까운 노드로 연결시키는, 네트워크 어드레싱 및 라우팅(데이터 toss!) 방식으로, 여러 개의 노드들에 전송될 수 있고 이 노드들 모두 동일한 목적 주소로 식별된다.

유니 캐스트

컴퓨터 네트워크에서 유니캐스트(unicast) 전송이란 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 ( one-to-one) 트래픽 또는 메시지를 전송하는 방식을 말한다. 즉, 데이터 발신자:수신자=1:1

  • 유니캐스트 메시징은 개인적이거나 고유한 리소스가 필요한 모든 네트워크 프로세스에서 사용될 수 있다.

  • 대량으로 배포되는 특정 네트워크 응용 프로그램에서 유니캐스트로 데이터를 전송할 경우, 각각의 네트워크 연결마다 호스트의 컴퓨팅 리소스를 소비할 뿐 아니라 각각 다른 네트워크 대역폭을 필요로 하기 때문에 전송 비용이 매우 높다

    (데이터 패킷을 다수의 수신자에게 각각 여러 번 전송해야 하며, 이러한 동일한 패킷의 중복전송으로 인해 네트웍 효율이 저하된다)

멀티 캐스트(IPv6 only)

컴퓨터 네트워크에서 멀티캐스트(Multicast)란 한 번의 송신으로 메시지나 정보를 목표한 여러 컴퓨터에 동시에 전송하는 것을 말한다.

  • 멀티캐스트는 보통 IP 멀티캐스트 형태로 구현되는데, 이는 스트리밍을 위한 인터넷 프로토콜 응용 프로그램에 쓰인다.

  • 멀티캐스트는 소스로부터 패킷을 한 번만 전송하게 함으로써 네트워크 인프라를 효율적으로 사용하며, 이는 많은 수신자들에게 전송할 필요가 있을 때도 마찬가지이다. 네트워크상의 각 노드들은 필요한 경우에만 여러 수신자에 도달하는 패킷을 복제한다.

  • 가장 일반적인 전송 계층 프로토콜(transport layer protocol)은 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)이다. UDP는 전송 과정에서 데이터그램이 누락되거나 순서가 뒤바뀌는 경우도 있어 신뢰성이 낮다.

  • IPv6에서의 멀티캐스트는 4비트의 Scope ID를 사용하여 멀티캐스트의 전송 범위를 지정해줄 수 있습니다.

브로드 캐스트(IPv4 only)

브로드캐스팅(broadcasting)은 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 의미한다.(단점: 모든)

송신 가능한 모든 목적지에 동일 데이터를 전송하는 브로드캐스트

TCP/IP 의 IPv4 에서 같은 대역의 네트워크주소를 가진 모든 호스트들에게 패킷을 전송하는 방식. 주 사용 예로는 ARP 로써 특정 IP 주소를 MAC 주소로 질의하는 과정에서 특정 IP 호스트 MAC 주소가 필요하여, 같은 대역의 모든 호스트에 요청하여 특정 IP 호스트가 MAC 주소를 응답 하도록 하는 방식. 브로드캐스트 요청시 요청받은 같은 대역의 호스트들은 업무를 중단하고 CPU 에게 처리요청을 하여 불필요하게 모든 호스트의 리소스가 소모되는 단점이 있음.

주요 관련 용어설명

패킷(은 정보 기술에서 패킷 방식컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다. 패킷을 지원하지 않는 컴퓨터 통신 연결은 단순히 바이트, 문자열, 비트를 독립적으로 연속하여 데이터를 전송한다. 데이터가 패킷으로 형식이 바뀔 때, 네트워크는 장문 메시지를 더 효과적이고 신뢰성 있게 보낼 수 있다

데이터그램: datagram은 순수한 사용자의 message를 다르게 부르는 말입니다. IP packet에서의 packet은 이 사용자 datagram을 layer-2의 MTU에 맞춰서 토막을 낸 상태입니다. 그러니까 packet은 토막난 상태의 사용자 정보 스트림을 말합니다.(fragmentation과 defragmentation과 다릅니다.)

리눅스 네트워크 명령어

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
인터페이스(랜카드) 설정 정보 표시 : ifconfig

eth0 인터페이스(랜카드) 설정 정보 표시 : ifconfig eth0

IP 할당 : ifconfig eth0 192.168.1.2

여러 IP 할당 : ifconfig eth0:0 192.168.1.2

두번째 IP 할당 : ifconfig eth0:1 192.168.1.3

IP/Subnet 설정 : ifconfig eth0 192.168.1.2 netmask 255.255.255.0

eth0 인터페이스 disable : ifconfig eth0 down

eth0 인터페이스 enable : ifconfig eth0 up

접속여부, 응답시간, 패킷손실율 확인 : ping www.findip.kr

현재 라우팅 테이블 보기 : route

기본 Gateway 설정 : route add default gw 192.168.1.1

IP 주소와 매칭되는 하드웨어 주소 표시: arp

IP 패킷이 목적지에 도달하기 위해 거치는 (라우팅) 경로추적 Trace Route: traceroute www.findip.kr

IP 패킷이 목적지에 도달하기 위해 거치는 경로추적 Trace Path: tracepath www.findip.kr

DNS Test : host www.findip.kr

Advanced DNS Test : dig www.findip.kr

Reverse Lookup : host 8.8.8.8

Advanced Reverse Lookup : dig -x 8.8.4.4

그래서 IP주소는 유일한가?

ip주소는 전 세계에서 나만 유일한 건가요? 전 세계에서 골고루 나눠서 쓰는건가요? 중복안되게?
그럴 수도 있고, 아닐 수도 있는데, 같은 네트워크 내에서는 같은 IP를 가진 다른 호스트는 허용되지 않습니다. 당연하겠죠? 하지만 다른 네트워크라면? 단순한 예시를 들면, 님 집에 공유기가 있는데 스마트폰을 와이파이 연결하면 공유기로부터 IP를 할당받겠죠? 근데 공유기는 다른 집도 많잖아요. 친구네 집에도 공유기가 있을 텐데, 그 친구가 님처럼 그 친구네 집 공유기의 와이파이에 연결했어요. 그럼 님 스마트폰과 친구 스마트폰은 같은 IP를 가질 수 있겠죠? 각각 다른 사설 네트워크에 있는 호스트니까요?

자세히

출처

http://www.findip.kr/ip_info.php

출처: https://jwprogramming.tistory.com/28 [개발자를 꿈꾸는 프로그래머]

출처: https://baekcedar.tistory.com/106 [BAEKNAMU.COM]

출처: https://daliliving.tistory.com/6 [내가 사는 동안]

CATALOG
  1. 1. IP주소
    1. 1.1. 왜 알아야해?
    2. 1.2. IP주소란?
      1. 1.2.1. IP 주소 범위
      2. 1.2.2. 사설 Private IP 범위
      3. 1.2.3. 특수 IP들
      4. 1.2.4. IPv4 -> IPv6
    3. 1.3. 네트워크 통신 방식 4가지
      1. 1.3.1. 애니 캐스트
      2. 1.3.2. 유니 캐스트
      3. 1.3.3. 멀티 캐스트(IPv6 only)
      4. 1.3.4. 브로드 캐스트(IPv4 only)
    4. 1.4. 리눅스 네트워크 명령어
  2. 2. 그래서 IP주소는 유일한가?
  3. 3. 출처