CS Repo/네트워크 - Top-down Approach + @

IPv4

조금씩 차근차근 2025. 4. 16. 17:52

IPv4란?

  • 커넥션리스 타입(비연결) 인터넷 프로토콜이다.
  • L2 헤더에는 0x0800으로 정의되어 있다.
  • RFC791 에서 상세 정보를 알 수 있다.

IPv4의 패킷 포맷

IPv4 주소 형태

표기법 - 10진수 표기법

  • 8비트씩 점(.) 으로 구분해서 10진수로 표기하는 것을 의미한다.
  • 127.0.0.1
  • 192.168.1.1

IPv4 주소는 최적화를 위해 어디서부터, 어떻게, 어디까지 활용해야 하는지에 대한 형태가 프로토콜로 정의되어 있다.

아래 내용을 통해 IPv4 주소의 구조를 파악해보자.

  • 분류 방식
    • 사용 용도
    • 사용 장소
    • 예외 주소/비 예외 주소

사용 용도에 따른 분류

클래스풀 어드레싱

  • IPv4 주소를 사용 용도에 따라 클래스 A, B, C, D, E로 나누어 사용하는 것
  • 8비트 단위로 클래스를 나누어 사용한다.
    • 해당 단위가 너무 커서, 주류로는 잘 사용되지 않고 있다.
  • 주로 클래스 A, B, C가 많이 사용됐다.

클래스리스 어드레싱

  • 서브네팅이라고도 불린다.
  • CIDR(Classless Inter-Domain Routing) 이라고도 불린다.
  • 해당 클래스리스 어드레싱은, "서브넷" 이라는 새로운 개념을 만들어 도입한 방식이다.
  • 현재 할당 방식의 주류가 되어있다.
    • IANA에서도 해당 방식으로 할당을 진행한다.
  • 자세한 내용은 아래 링크를 참고하자.

사용 장소에 따른 분류

  • IP 주소를 공개된 IPv4 주소와 공개되지 않은 IPv4 주소로 나누어 사용할 수 있다.
    • 공개된 IPv4 주소 내에서, 여러 공개되지 않은 IPv4 주소를 사용한다고 생각하면 좋다.

글로벌 IPv4 주소

  • 외선번호를 생각하자.

프라이빗 IPv4 주소

  • 내선번호를 생각하자.

제대로된 활용은 NAT를 참고하자.

예외 주소에 따른 분류

  • 클래스 A~C 중에서, 특별한 용도로 사용되기 때문에, 단말에는 할당할 수 없는 주소가 몇 개 있다.
  • 그중에 중요한 다음 세가지를 알아보자.
    • 네트워크 주소
    • 브로드캐스트 주소
    • 루프백 주소

네트워크 주소

  • 호스트 부분의 비트가 모두 '0'인 주소를 의미한다.
  • 해당 네트워크 자체를 나타낼 때 사용한다.
  • 예시 1) 192.168.100.1를 갖는 라우터에서, 라우터가 255.255.255.0 을 서브넷 마스크로 갖는다면?
    • 자신이 속한 네트워크 자체는, 192.168.100.0
  • 예시 2) 라우터가 모든 네트워크를 가리키고 싶다면?
    • 0.0.0.0/0
    • 이를 기본 경로 주소라고 한다.

브로드캐스트 주소

  • 호스트 부분의 비트가 모두 '1'인 주소를 의미한다.
  • 해당 네트워크에 있는 모든 단말을 지칭할 때 사용한다.
  • 예시 1) 192.168.100.1를 갖는 라우터에서, 라우터가 255.255.255.0 을 서브넷 마스크로 갖는다면?
    • 자신이 속한 네트워크의 브로드캐스트 주소는, 192.168.100.255
  • 리미티드 브로드캐스트 주소
    • 자신의 IPv4 주소를 알 수 없을 때 사용하는 IP 주소이다.
    • 255.255.255.255
    • DHCPv4를 통해 주소를 얻을 때 등에도 사용한다.
  • 브로드캐스트: 해당 링크 참고

루프백 주소

  • 자기 자신을 나타내는 IPv4 주소를 의미한다.
  • 1옥텟이 127인 IPv4 주소이다.
  • 1옥텟이 127인 IPv4 주소이면 뭐든 상관없지만, 통상 127.0.0.1/8 을 사용한다.
    • 이를 localhost 라고 한다.