네트워크 IPv4 IPv6 & 서브넷 - mapc-team/document GitHub Wiki

IPv4 주소 체계와 IPv6 주소 체계를 비교하고 정리

IPv4

IPv4는 인터넷 프로토콜의 4번째 판이며, 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다.

IPv4는 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜

데이터가 정확하게 전달될 것을 보장하지 않고, 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다.

→ 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서(그리고 UDP에서도 일부) 보장한다.

IPv4

  • IP Address

ipaddrss

IPv4의 주소체계는 총 12자리이며 네 부분으로 나뉜다. 각 부분은 0~255까지 3자리의 수로 표현

즉 255.255.255.255 는 1111 1111. 1111 1111. 1111 1111. 1111 1111로 나타낼 수 있다.

(미션에서는 UInt32 타입을 통해 표현하였다.)

**IP Address는 Network Address + Host Address로 구성되어 있다.**
  • 네트워크 클래스 별 IP Address

classIP

→ 표현할 수 있는 호스트의 수가 많을 수록 규모가 크다고 할 수 있다.

IPv4의 클래스 기반 주소체계는 네트워크와 호스트 ID 길이가 고정적이므로 비효율적, 주소 부족

IPv6

IPv6(Internet Protocol version 6)는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜(version 6 Internet Protocol)로 제정된 차세대 인터넷 프로토콜을 말한다.

IPv4 프로토콜의 주소가 32비트라는 제한된 주소 공간 및 국가별로 할당된 주소가 거의 소진되고 있다는 한계점으로 인해 지속적인 인터넷 발전에 문제가 예상되어, 이에 대한 대안으로서 IPv6 프로토콜이 제안되었으며, 국제 표준이 RFC 를 통해서 확정되었고, 실제로 IPv6 주소는 휴대폰 및 컴퓨터에 할당되어 적용되고 있다.

IPv6

  • IP Address

    IPv4 사이의 가장 큰 차이점은 바로 IP 주소의 길이가 128비트로 늘어났다는 점이다.

    IPv6는 여러가지 새로운 기능을 제공하는 동시에 기존 IPv4와의 호환성을 최대로 하는 방향으로 설계되었다. 때문에 몇몇 예외(FTP, NTPv3 등)를 제외하고 대부분의 네트워크 수준 상위 프로토콜들은 큰 수정 없이 IPv6 상에서 동작할 수 있다.

classIP2

  • IPv6의 특징

    — IP 주소의 확장

    IPv4의 기존 32 비트 주소공간에서 벗어나, IPv6는 128 비트 주소공간을 제공한다.

    — 호스트 주소 자동 설정 

    IPv6 호스트는 IPv6 네트워크에 접속하는 순간 자동적으로 네트워크 주소를 부여받는다. 이는 네트워크 관리자로부터 IP 주소를 부여받아 수동으로 설정해야 했던 IPv4에 비해 중요한 이점이다.

    — 패킷 크기 확장 

    IPv4에서 패킷 크기는 64킬로바이트 제한되어 있었다**. IPv6의 점보그램 옵션을 사용하면 특정 호스트 사이에는 임의로 큰 크기의 패킷을 주고받을 수 있도록 제한이 없어지게 된다.** 따라서 대역폭이 넓은 네트워크를 더 효율적으로 사용할 수 있다.

    — 효율적인 라우팅 

    IP 패킷의 처리를 신속하게 할 수 있도록 고정크기의 단순한 헤더를 사용하는 동시에, 확장헤더를 통해 네트워크 기능에 대한 확장 및 옵션기능의 확장이 용이한 구조로 정의하였다.

    — 플로 레이블링(Flow Labeling) 

    플로 레이블(flow label) 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공할 수 있도록 한다.

    — 인증 및 보안 기능 

    패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영하였다. IPv6 확장헤더를 통해 적용할 수 있다.

    — 이동성 

    IPv6 호스트는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동할 수 있다. 이와 같은 모바일 IPv6는 RFC 3775와 RFC 3776에 기술되어 있다. (IPv4에도 모바일 IP가 정의되어 있지만 아직 많이 사용되지 않는다.)

    IPv4 vs IPv6

    • IPv6에서는 IPv4에서 자주 사용되지 않거나, 이용하지 않는 기능을 제거 / 선택 사항으로 바꾸었다. 또한 몇몇 새로운 기능들을 추가하여 기능성을 확장하였다.

      → Total Length, Header checksum 필드 삭제, TTL 필드를 Hop Limit로 변환

      → Protocol 필드와 같은 역할을 하는 Next Header 필드를 가지고 있음.

    • IPv6는 세가지 주소를 지원한다

      → 유니캐스트, 멀티캐스트, 애니캐스

IP비교

서브넷팅은 왜 할까?

서브넷이란 IP 네트워크를 논리적으로 나누어 놓은 것

서브넷 마스크의 구조 : 네트워크 비트 + 서브넷 비트 + 인터페이스(호스트) 비트 = 32비트

클래스 A와 B 네트워크의 경우 호스트 주소의 개수가 매우 많아 서브넷이라는 작은 영역들로 나누 는 것이 필요하다. 서브넷 안의 모든 장치들은 물리적으로 같은 네트워크에 있는 것이며, 서브넷 간은 라우터를 통해 연결한다.

라우터? 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치

서브넷을 하는 목적은 여러가지가 있다.

  1. 워크그룹들이 지역적으로 서로 멀리 떨어져 있을 때

  2. 기능을 수행하기 위한 영역을 분리될 필요성이 있을 때

  3. 특정 워크그룹의 트래픽 양이 다른 워크그룹에게 영향을 줄 때

  4. 두 개의 다른 매채 프로토콜이 서로 연결되어야 할 때 등등

  5. 브로드캐스트 영역을 나누기 위해

즉, 주된 목적은 네트워크를 보다 잘 관리하기 위함이다.

  • IP 통신의 논리적 적차

    IP 주소가 할당된 어떤 인터페이스가 IP 주소가 할당된 다른 인터페이스와 통신하기를 원할 때 3단계의 논리적 과정을 거치게 된다.

    1. 목적지 IP 주소의 클래스 조사 (네트워크 비트들이 어떤 것들이 있는지 알기 위함)

    2. "송신자 IP 주소와 목적지 IP 주소가 같은 네트워크에 있는가?" 질문에 대한 응답

    — 다른 네트워크 일때,

    해당 목적지로 데이터그램을 전달하기위해 IP 데이터그램은 게이트웨이로 보냄

    — 같은 네트워크 일때,

    두 주소들이 같은 서브넷에 속하는지 확인 해야한다.

    1. 같은 서브넷에 속하게 된다면, 라우팅 규칙에 맞춰 데이터그램을 전달한다.

    — 직접 또는 로컬 라우팅 (Direct/Local Routing)

    목적지가 같은 물리 네트워크에 있는 데이터그램이 직접 전달된다.

    — 간접 라우팅(Indirect Routing)

    목적지가 송신자와 다른 물리 네트워크에 있다면, 다른 라우터을 통해 전달한다.

    라우터에게 데이터 그램이 전달되는 경우?

    1. 두 주소가 서로 다른 클래스인 경우 (이경우엔 게이트웨이 → 라우터 인가?)

    2. 두 주소가 같은 클래스이지만, 다른 네트워크인 경우(이경우에도 게이트웨이 → 라우터 인가?)

    3)두 주소가 같은 클래스, 네트워크지만 다른 서브넷인 경우

    → 두 주소가 같은 서브넷에 있는지 확인하기 위해서 계산을 해야함.

    (역산하면 되지않을까?)

본인의 내부 IP와 공인 IP 주소를 확인. 서로 다른 IP를 사용해야 하며, 공유기는 어떻게 동작하는지 정리한다.

IP 확인 방법

실행 → cmd → ipconfig를 입력했을 때 IP 주소가 저 범위에 포함되는 경우에는 네이버나 다음같이 포털사이트에서 'ip주소'라고 검색하면 자신의 현재 공인 아이피를 확인할 수 있다.

공유기동작원리

ISP-Supplied Router/Modem : SK브로드밴드

YourWireless Router : IPTIME

간단하게 설명해서 인터넷 공유기( 예) IPTIME )가 한 대 있다고 가정한다.

공유기와 이 공유기에 연결되어 있는 모든 컴퓨터는 하나의 네트워크에 속하게 된다.

하나의 네트워크 즉, LAN에 연결되어 있는 모든 장치들은 사설IP를 할당받게 되고, 각 장치 사이에 통신은 사설IP를 통해서 이루어지게 된다.

IP주소는 유한한 자원이며, 할당을 해주는 주체도 있다. 공인 IP는 전세계에서 유일한 주소.

인터넷이 알 수 있는 것은 공인IP를 할당받은 기기까지의 경로뿐이며, 사설IP의 존재는 알지 못한다.

사설 IP를 할당받은 컴퓨터가 인터넷과 통신하기 위해서는 공인IP를 이용해야 하는데, 이 과정은 해당 컴퓨터가 사설IP로 인터넷에 패킷을 보내면 공유기가 해당 패킷에 적혀있는 사설IP를 공인IP로 바꿔줌으로써 알아서 처리해준다. 또한 인터넷에서 오는 패킷의 목적지도 해당하는 사설IP주소로 알아서 변경한 후에 전달해 준다.

→ 즉, 공유기는 공인 IP와 사설 IP 사이에서 패킷이 전달 가능하게끔 도와준다.

사설 IP, 공인 IP, VPN이란?

IP를 확인하는 명령으로 서로 공인 IP 주소를 비교해본다. 만약 IP 주소 숫자가 비슷하면 가까이에 있는 걸까?

  • 대륙별로 할당된 IP 정보

Number Resources

  • IPv4 주소

  • 국가별 할당된 IP 정보

IP Address Ranges by Country

  • 공인 IP 할당 과정

    IANA(Internet Assigned Numbers Authority)에서 전세계의 IP 주소를 관리하고 있지만, 업무량 분산과 보다 효율적인 운영을 위해 피라미드형 체계로 구축되어 있다.

    IANA → 각 대륙별 IP 주소 관리 기관 → 각국의 IP 주소 관리 기관 → ISP 순으로 IP를 할당받으며 ISP에서는 다시 지역별로 IP를 나눈 뒤 계약자(개인이나 회사)에게 IP를 할당해준다.

    대한민국의 경우 APNIC(아시아-태평양 네트워크 정보센터)과 KRNIC(한국인터넷정보센터)의 관할 구역. 대한민국은 2020년 05월 14일 기준 총 112,872,244개의 IPv4 주소를 할당받았음.

    — 1986년 6월 30일에 할당받은 128.134.0.0 ~ 128.134.255.255로 65,536개를 할당

    — 2010년 1월 27일 받은 175.192.0.0 ~ 175.255.255.255로 4,194,304개를 할당

    — 2011년 4월 11일 받은 106.10.0.0 ~ 106.10.127.255로 총 32,768개 할당

    현재는 IPv4 주소가 고갈되었기 때문에 이 이후에 예약된 주소가 풀리지 않는 한, 추가 할당은 없을 것으로 보인다.

    공인 IP의 주소가 비슷하면 거리상 가까울 확률이 높다고 생각한다. 물론 할당받은 시기별, 소유하고 있는 회사에 따라 다를 순 있다.

    [출처]

    왜.. 굳이.. 자동으로 해주는걸 수동으로 한단말인가...

    → 보통 대부분의 TCP/IP 시스템은 자신의 하드웨어 주소와 프로토콜 주소를 기억할 수 있다.

    그러나, 기억을 하기위한 저장장치가 없는 시스템의 경우 기동시 프로토콜 주소를 알 수 없다.

자동 주소 할당 대신 수동 할당을 할 경우 충돌나면 어떻게 되는지 토론한다.

수동 호스트 설정의 문제

  1. 네트워크 인터페이스 장비들이 너무너무너무 많아짐.. 어케 수동으로 다해...

  2. 수동 설정이 불가능한 경우도 있음

이러한 이유로 외부 리소스에 의존하게 되는데 다음과 같은 방법이 있다.

  1. RARP(Reverse Address Resolution Protocol)

  2. BootP(Boot Protocol)

  3. DHCP(Dynamic Host Configuration Protocol)

위의 프로토콜들은 특정 하드웨어 주소에 대응하는 프로토콜 주소를 저장하고 있는 서버를 구현하도록 해준다.

브로드캐스트 주소로 전송하는 경우 동작 방식에 대해 학습하고 정리

브로드캐스트

모든 수신자에게 동시에 메시지를 전송하는 방법이다. 브로드 캐스팅은 프로그램에서 높은 수준의 다양한 응용 용도로 활용 될 수 있다.

컴퓨터 네트워킹에서 브로드 캐스팅(방송) 방식을 사용하면 네트워크상의 모든 장치가 수신 할 패킷을 전송하는 것을 의미 한다 . 실제로, 브로드 캐스트의 범위는 브로드 캐스트 도메인으로 제한 된다. 즉 메시지 브로드 캐스팅은 호스트가 고유 한 IP 주소로 식별되는 다른 단일 호스트에 데이터 그램을 보내는 유니 캐스트 주소 지정과는 별개로, 해당 브로드 캐스트 주소를 사용하여 해당 주소 범위에 있는 전체 호스트에 트래픽을 전달하는것이다.

브로드캐스팅 (네트워킹)

브로드캐스트 주소

항상 특정 네트워크 주소 또는 서브넷에서 가능한 가장 높은 숫자

→ network bits + subnet bits + all 1 value host bits

브로드캐스트