IP 주소

  • 인터넷 프로토콜 주소(Internet Protocol Address)의 약자 로, 컴퓨터 네트워크 상에서 장치를 식별하고 통신을 가능하게 하는 주소입니다.
  • 네트워크 상에서 패킷이라고 불리는 데이터 단위를 보내거나 받는 데 사용됩니다.

특징

  • 고유 식별자: IP 주소는 각 장치에게 고유한 식별자를 부여하여 네트워크 상에서 서로를 식별할 수 있게 합니다.
  • 버전
    • 현재 가장 널리 사용되는 IP 버전은 IPv4(인터넷 프로토콜 버전 4)와 IPv6(인터넷 프로토콜 버전 6)이 있습니다.
    • IPv4는 32비트 주소 체계를 사용하고, IPv6는 128비트 주소 체계를 사용하여 주소 공간의 부족 문제를 해결하고 보안을 강화했습니다.
    • 공인 IP 주소 대역: 공인 IP 주소는 인터넷 상에서 공개적으로 사용되는 주소로, 전 세계적으로 유일합니다. 대표적인 공인 IP 주소 대역으로는 A, B, C, D, E 클래스가 있습니다. 
      • 클래스 A: 0.0.0.0에서 127.255.255.255
      • 클래스 B: 128.0.0.0에서 191.255.255.255 (전 세계적으로 중간 규모의 기관이나 조직)
      • 클래스 C: 192.0.0.0에서 223.255.255.255 (주로 작은 기업이나 가정용 네트워크)
      • 클래스 D: 224.0.0.0에서 239.255.255.255 (멀티캐스트용)
      • 클래스 E: 240.0.0.0에서 255.255.255.255 (실험용)
    • 사설 IP 주소 대역: 사설 IP 주소는 내부 네트워크에서 사용되는 주소로, 공인 네트워크 상에서 직접적으로 접근할 수 없습니다. 
      • 클래스 A: 10.0.0.0에서 10.255.255.255 (보통 기업이나 대규모 조직에서 내부 네트워크)
      • 클래스 B: 172.16.0.0에서 172.31.255.255 (클래스  A보다 조금 더 작은 규모의 조직이나 기업)
      • 클래스 C: 192.168.0.0에서 192.168.255.255 ( 가정이나 소규모 사무실 네트워크)
  • 계층 구조
    • IP 주소는 일반적으로 네트워크 ID와 호스트 ID로 구성됩니다.
    • 네트워크 ID는 장치가 속한 네트워크를 식별하고, 호스트 ID는 해당 네트워크 내에서 특정 장치를 식별합니다.
    • ex) IP 주소 192.168.1.100에서 "192.168.1"은 네트워크 ID이고, "100"은 호스트 ID입니다. 따라서 이 IP 주소는 "192.168.1" 네트워크에 속한 호스트 중 하나를 나타냅니다.
    • ex) IPv6의 경우 2001:0db8:85a3:0000:0000:8a2e:0370:7334을 예시로 각 그룹은 16진수로 표시된 네트워크 ID 및 호스트 ID를 나타냅니다. 여기서 "2001:0db8:85a3"은 네트워크 ID이고, "0000:0000:8a2e:0370:7334"는 호스트 ID입니다.
  • 프로토콜 스택의 일부: IP 주소는 TCP/IP 프로토콜 스택의 핵심 구성 요소이며, 데이터 전송을 위해 사용됩니다. 다른 프로토콜과 함께 작동하여 인터넷에서 데이터를 안전하게 전송하는 데 중요한 역할을 합니다.
더보기

IPv6

  • IPv6 주소는 128 비트로 구성되어 있어 굉장히 많은 주소 공간을 제공합니다. 주소는 콜론(:)으로 구분된 16진수 형식으로 표현됩니다.
  • 대역은 다양한 형태의 주소 패턴을 가지고 있지만, 주요 대역은 특별한 의미를 갖는 특정 주소 패턴들로 구성됩니다.
  • ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7344
    • 간략화 규칙
      • Leading Zeros Compression
        •  각 16진수 블록에서 앞부분의 0을 생략할 수 있습니다.
        • 하지만 블록 전체가 0이라면 하나의 0으로만 남겨야 합니다.
        • 예를 들어, 2001:0db8:0000:0042:0000:8a2e:0370:7334는 2001:db8:0:42:0:8a2e:370:7334로 간략화됩니다.
      • Zero Compression
        • 연속된 0이 포함된 블록은 이를 ::로 대체할 수 있습니다.
        • 이 규칙은 한 번만 사용할 수 있으며, 하나의 주소에서 여러 번 사용할 수 없습니다.
        • 예를 들어, 2001:0db8:0000:0000:0000:0000:0000:0001은 2001:db8::1로 간략화됩니다.
      • 대문자 소문자 변환
        • IPv6 주소의 문자열 표현에서 대문자와 소문자는 같은 주소를 나타냅니다.
        • 보통 소문자가 선호되며, 대부분의 표준에서는 주소를 소문자로 표기하도록 권장합니다.
IPv4를 아직 사용하는 이유
  • 호환성 문제
    • IPv4와 IPv6는 호환되지 않습니다.
    • 많은 네트워크 및 시스템은 여전히 IPv4만 지원하고 있으며, IPv6로의 전환은 시간이 오래 걸릴 수 있습니다.
  • 기술적 문제
    • 일부 시스템이나 네트워크 장비는 IPv6를 완전히 지원하지 않을 수 있습니다.
    • 이러한 시스템의 경우 IPv4를 계속 사용해야 할 수 있습니다.
  • 리소스 및 비용
    • IPv6로의 전환은 비용이 많이 들고 시간이 오래 걸릴 수 있습니다.
    • 기존의 IPv4 인프라를 유지하면서 IPv6를 추가하는 것은 비용과 자원을 필요로 합니다.
  • 네트워크 관리와 보안
    • IPv6는 보안 측면에서 더 나은 기능을 제공하지만, 기존의 IPv4 환경에서는 새로운 보안 문제나 관리의 어려움이 발생할 수 있습니다.
    • 이러한 이유로 기업이나 조직에서는 IPv6로의 전환을 신중하게 고려해야 합니다.

이러한 이유로 IPv4는 아직까지도 광범위하게 사용되고 있습니다. 그러나 IPv6의 중요성은 계속해서 증가하고 있으며, 시간이 지남에 따라 IPv6의 사용이 더욱 보편화될 것으로 예상됩니다.

필요성

  • 고유 식별: 각 장치는 고유한 IP 주소를 가지며, 이를 통해 네트워크에서 장치를 식별할 수 있습니다. 이는 데이터를 올바른 장치로 라우팅하는 데 중요합니다.
  • 라우팅: IP 주소는 데이터가 네트워크에서 어디로 전송되어야 하는지를 결정하는 데 사용됩니다. 라우터와 같은 장비는 IP 주소를 통해 데이터를 적절한 목적지로 전송합니다.
    • 라우터
      • 네트워크에서 데이터를 전송하는 장비로, 둘 이상의 네트워크 간에 데이터를 전달하는 역할을 합니다.
      • 패킷 전달: 라우터는 네트워크로 들어오는 패킷을 받아들이고, 최적의 경로를 선택하여 다음 목적지로 전달합니다. 이를 통해 네트워크 간의 통신이 가능해집니다.
      • 라우팅 결정: 라우터는 패킷이 전송되어야 하는 목적지를 결정하기 위해 라우팅 테이블을 사용합니다. 이 테이블은 네트워크 간의 경로와 그에 대한 정보를 포함합니다.
      • 네트워크 분할: 라우터는 네트워크를 분할하여 트래픽을 관리합니다. 이를 통해 네트워크 복잡성이 줄어들고, 성능이 향상됩니다.
      • 보안: 라우터는 패킷이 네트워크로 전송되기 전에 보안을 제공합니다. 방화벽과 같은 보안 기능을 통해 네트워크를 보호하고 비인가된 액세스를 방지합니다.
  • 인터넷 통신: IP 주소는 인터넷 상에서 통신할 때 사용됩니다. 웹 브라우징, 이메일, 파일 전송 등과 같은 모든 인터넷 활동은 IP 주소를 통해 이루어집니다.
  • 서비스 식별: 각 서비스나 애플리케이션은 고유한 IP 주소와 포트 번호를 가질 수 있습니다. 이를 통해 네트워크에서 서로 다른 서비스를 구별할 수 있습니다.
  • 보안: IP 주소는 네트워크 보안에도 중요한 역할을 합니다. 방화벽 및 보안 정책은 IP 주소를 기반으로 트래픽을 필터링하고 제어합니다.

 만일 IP주소가 없으면, 생기는 문제

  1. 통신 불가능: IP 주소가 없으면 네트워크 상에서 데이터를 교환할 수 없습니다. 호스트 간에 통신이 불가능해지며, 인터넷이나 로컬 네트워크에 접속할 수 없게 됩니다.
  2. 네트워크 식별 불가능: IP 주소가 없으면 네트워크 상에서 호스트를 식별할 수 없습니다. 따라서 다른 호스트에게 데이터를 보내거나 받을 수 없으며, 특정 네트워크에 연결할 수 없습니다.
  3. 라우팅 문제: IP 주소가 없으면 라우터가 데이터를 전달하는 데 필요한 정보가 부족해집니다. 이로 인해 라우팅 문제가 발생할 수 있고, 데이터 전송이 중단될 수 있습니다.
  4. 네트워크 보안 취약성: IP 주소가 없으면 네트워크 보안에 취약해집니다. IP 주소를 사용하여 트래픽을 필터링하거나 인증하는 등의 보안 메커니즘을 적용할 수 없게 됩니다.
  5. 서비스 접근 불가능: IP 주소가 없으면 특정 서비스에 접근할 수 없게 됩니다. 예를 들어, 웹 서버에 접속하거나 파일 공유 서비스를 이용할 수 없습니다.

이러한 문제들은 IP 주소가 네트워크에서 중요한 역할을 하고 있기 때문에 발생하는 것이며, IP 주소의 부재는 네트워크 연결에 심각한 영향을 미칠 수 있습니다.


MAC 주소

  • MAC 주소(MAC address 또는 Media Access Control address)는 네트워크 장비가 네트워크 상에서 식별되는 고유한 주소입니다.
  • 이 주소는 네트워크 인터페이스 카드(NIC)나 네트워크 장비에 할당되어 있으며, 데이터 링크 계층에서 데이터를 전송하는 데 사용됩니다. 이는 일반적으로 사용자가 변경할 수 없습니다.
  • MAC 주소는 일반적으로 48비트(6바이트)로 구성되어 있으며, 보통 16진수로 표현됩니다.
  • 예를 들어, "00:1A:2B:3C:4D:5E"와 같은 형식입니다.
  • 이 주소는 네트워크 상에서 패킷을 전송하는 데 사용되며, 네트워크에서 장비를 식별하는 데 중요한 역할을 합니다.

필요성

  • 고유 식별: 각 네트워크 장비는 MAC 주소를 통해 고유하게 식별됩니다. 이를 통해 네트워크 상에서 각 장비를 식별하고 구별할 수 있습니다.
  • 데이터 전송: 데이터 링크 계층에서 MAC 주소는 데이터 프레임을 수신 및 전송하는 데 사용됩니다. 이를 통해 데이터가 올바른 장비로 전송되고, 충돌이나 오류를 방지할 수 있습니다.
    • 유니크한 식별: MAC 주소는 고유하게 할당되어 있으며, 이를 통해 각 장비를 고유하게 식별할 수 있습니다. 따라서 잘못된 장비로 데이터가 전송되는 것을 방지할 수 있습니다.
    • 주소 지정: 데이터가 전송될 때 MAC 주소는 수신자를 지정하는 데 사용됩니다. 이를 통해 데이터가 올바른 장비로 전송되며, 다른 장비에게 전달되는 것을 방지할 수 있습니다.
    • 충돌 감지: MAC 주소를 통해 각 장비는 다른 장비와 충돌 없이 통신할 수 있도록 조정됩니다. 각 장비는 데이터를 전송하기 전에 네트워크의 다른 장비가 사용 중인지를 확인하고, 충돌을 방지하기 위해 적절한 시간에 데이터를 전송합니다.
    • 오류 감지: MAC 주소를 통해 수신된 데이터의 오류를 감지할 수 있습니다. 데이터를 수신하는 장비는 수신된 데이터의 MAC 주소와 자신의 MAC 주소를 비교하여 데이터가 올바르게 전송되었는지를 확인할 수 있습니다. 이를 통해 데이터의 무결성을 유지할 수 있습니다.
  • 네트워크 보안: MAC 주소를 사용하여 네트워크에 연결된 장비를 인증하고, 불법적인 접근을 방지할 수 있습니다. 네트워크 보안 메커니즘에서 MAC 주소를 활용하여 허가된 장비만이 네트워크 리소스에 액세스할 수 있도록 제어할 수 있습니다.

만일 MAC 주소가 없으면, 생기는 문제

  • 네트워크 장비 식별 불가능: 라우터는 각 노트북을 식별할 수 없습니다. 따라서 라우터는 어느 장비에 데이터를 보내야 하는지 알 수 없습니다.
  • 데이터 전송 오류: 라우터는 각 노트북을 식별할 수 없으므로 데이터를 잘못된 장비로 전송할 수 있습니다. 예를 들어, 라우터는 파일을 노트북 A로 보내야 할 때, 그 대신 노트북 B로 보낼 수 있습니다.
  • 네트워크 보안 취약성: 라우터는 인증되지 않은 장비에게 네트워크 액세스를 허용할 수 있습니다. 이는 불법적인 접근이 가능하게 만들어 네트워크 보안에 취약한 상태가 됩니다.
    • 인증 오용: 네트워크 장비는 단순히 IP 주소만으로 신원을 확인합니다. 이는 해커가 임의의 IP 주소를 할당하여 네트워크에 접속하고 데이터를 도용할 수 있는 가능성을 열어둡니다.
    • MAC 주소 변조: 일부 공격자는 MAC 주소를 변조하여 라우터나 다른 네트워크 장비로부터 데이터를 가로채고 수정할 수 있습니다. 이렇게 함으로써 민감한 정보가 유출되거나 중요한 통신이 방해될 수 있습니다.
    • MAC 주소 스푸핑: 공격자는 MAC 주소를 스푸핑하여 다른 장비로 자신을 위장할 수 있습니다. 이는 민감한 데이터를 가로채거나 중요한 네트워크 기능에 접근하는 데 사용될 수 있습니다.
    • MAC 주소 필터링 우회: 일부 네트워크는 허가된 장비만 접속할 수 있도록 MAC 주소 필터링을 사용합니다. MAC 주소가 없는 경우, 이러한 보안 메커니즘을 우회할 수 있으며, 해커가 불법적으로 네트워크에 접속할 수 있습니다.

MAC 주소는 네트워크에서 중요한 역할을 하며, 데이터의 안정적인 전송과 네트워크 보안에 필수적입니다.


IP와 MAC 주소의 차이점

  • IP 주소는 논리적인 주소이며, 호스트가 네트워크 상에서 어디에 위치하는지를 식별합니다. MAC 주소는 물리적인 주소로, 호스트의 네트워크 인터페이스 카드를 식별합니다.
  • IP 주소는 전 세계적으로 고유하며, 라우팅을 위해 사용됩니다. MAC 주소로컬 네트워크에서만 유효하며, 데이터 프레임을 올바른 장비로 전송하기 위해 사용됩니다.
  • IP 주소는 네트워크 계층에서 사용되며, 라우팅 및 인터넷 통신에 사용됩니다. MAC 주소데이터 링크 계층에서 사용되며, 데이터 전송의 물리적인 측면을 다룹니다.

실생활을 예시로 "편지를 보내는 과정"으로 설명하겠습니다.

  • IP 주소
    • IP 주소는 편지를 받을 사람의 주소와 비슷합니다. 편지를 보낼 때, 우편물이 어디로 가야 하는지를 알려줍니다.
    • 예를 들어, " 대한민국 서울 강남"와 같이 특정한 위치를 나타냅니다.
  • MAC 주소
    • MAC 주소는 편지를 받을 사람의 신분증 번호와 비슷합니다. 편지를 받을 사람을 정확하게 식별하는 역할을 합니다.
    • 예를 들어, 이름이나 휴대폰 번호 등과 같이 특정한 사람을 특정짓습니다.

 


ARP 프로토콜

  • ARP(Address Resolution Protocol)는 네트워크에서 사용되는 프로토콜 중 하나로, IP 주소와 MAC 주소 간의 매핑을 수행하는 프로토콜입니다.
  • ARP의 주요 목적은 IP 주소를 가진 호스트나 라우터의 물리적인 MAC 주소를 찾는 것입니다.
  • IP 패킷을 전송할 때, 목적지의 MAC 주소를 알아야 해당 패킷을 올바른 네트워크 인터페이스로 전달할 수 있기 때문에 중요합니다.

ARP 프로토콜 동작원리

출처 : https://watermelon-sugar.tistory.com/8

 

  1. IP 프로토콜이 ARP 프로토콜에게 ARP Request 메시지를 생성하도록 요청합니다. 이 메시지에는 송신자의 물리적 주소와 IP 주소, 그리고 수신자의 IP 주소가 포함됩니다.
  2. 이 메시지는 데이터 링크 계층으로 전달되어 캡슐화됩니다. 송신자의 물리적 주소(MAC 주소)를 발신지로 지정하고, 수신자의 물리적 주소를 알아내기 위해 브로드캐스트 방식으로 전송합니다.
    • 브로드캐스트 방식은 네트워크 상의 모든 호스트에게 메시지를 전송
    • 브로드캐스트 방식을 사용한 이유
      • 데이터 링크 계층에서 전송하므로 물리적 주소인 MAC 주소를 사용해야 하는데, 송신자가 목적지 MAC 주소를 모르기 때문입니다. 따라서 유니캐스트 방식으로 전송하는 것이 불가능합니다.
      • 또한, 동일한 IP 주소에 여러 MAC 주소가 매핑될 수 있는 상황이 발생할 수 있습니다. 
        • 로드 밸런싱: 서버 부하를 분산하기 위해 여러 서버가 동일한 IP 주소를 사용할 수 있습니다.
        • 페일오버: 주 서버의 장애 대비를 위해 백업 서버가 동일한 IP 주소를 사용할 수 있습니다.
        • 네트워크 리소스 공유: 여러 가상 인터페이스가 동일한 IP 주소를 공유할 때 각각의 인터페이스가 다른 MAC 주소를 가질 수 있습니다.
  3. 네트워크 상의 동일한 LAN에 있는 호스트들은 프레임을 수신한 후 자신의 ARP 프로토콜에게 전달합니다. 네트워크 상의 모든 호스트들은 이 메시지를 받지만, 목적지 IP 주소와 일치하는 호스트만 응답합니다.
  4. 목적지 IP 주소가 일치하는 시스템은 자신의 MAC 주소를 포함하는 ARP Reply 메시지를 유니캐스트 방식으로 송신합니다.
    • 특정한 하나의 호스트에게만 전송되므로 유니캐스트 방식
  5. 최초 송신 측은 지정한 IP 주소에 대응하는 MAC 주소를 획득하여 통신을 진행합니다.

 

RARP 프로토콜

  • RARP(Reverse Address Resolution Protocol)는 역 주소 해석 프로토콜을 나타냅니다.
  • RARP는 주로 로컬 영역 네트워크에서 사용되며, 주어진 MAC 주소로 IP 주소를 검색하는 데 사용됩니다.
  • 일반적으로 DHCP(Dynamic Host Configuration Protocol)를 사용하여 IP 주소를 얻지만, 이를 사용할 수 없는 경우 RARP를 사용할 수 있습니다.
  • 컴퓨터는 네트워크 상의 RARP 서버에 요청을 보내고, RARP 서버는 이를 응답하여 해당 MAC 주소에 대한 IP 주소를 제공합니다.

ARP(Address Resolution Protocol)는 IP 주소를 MAC 주소로 얻는 데 사용되고, RARP(Reverse Address Resolution Protocol)는 MAC 주소를 IP 주소로 얻는 데 사용됩니다.


참고

+ Recent posts