[Network] IP addressing

2023. 6. 4. 12:00·공부/Network
728x90

IP 주소는 총 32비트로 8비트씩 4개, 즉 1바이트씩 4로 이루어져 있다.

 

예를 들어 223.1.1.1의 경우 다음과 같다.

 

11011111 00000001 00000001 00000001 (223.1.1.1)

 

또한 IP 주소는 네트워크 주소와 호스트 주소로 나눌 수 있다.

 

문자 그대로 네트워크 주소는 네트워크의 주소를 의미하고 호스트의 주소는 나 자신의 주소를 의미한다.

 

네트워크 주소가 같다면 같은 네트워크 안에 존재하는 것이다.

 

당연하게도 네트워크 주소의 범위가 크다면 그만큼 호스트 주소의 범위가 줄어든다.

 

호스트의 수를 생각해서 네트워크 주소의 범위를 정하면 된다.

 

네트워크 주소의 범위에 따라서 다음과 같이 클래스가 존재한다.

http://www.tcpipguide.com/free/t_IPClassfulAddressingNetworkandHostIdentificationan-3.htm

Subnet

호스트 주소를 할당받으면 이 호스트 주소를 더 작은 단위로 쪼갠 것이 Subnet이다.

 

서브넷은 아래와 같이 라우터를 거치지 않고 하나의 라우터에 링크로 묶인 것이라고 볼 수 있다.

 

그래서 네트워크 주소가 같다면 그 안에서는 라우팅이 일어나지 않는다는 뜻이다.

보통 Network ID와 Subnet ID를 명확히 구분하기 보다는 둘을 합쳐서 네트워크 주소라 부르는 경우도 있는 것 같다.

Subnet Mask

서브넷 마스크는 네트워크 주소에 대한 정보를 알려준다.

 

IP 주소가 172.217.24.196이고 네트워크 주소의 범위가 앞 24비트라고 한다면 서브넷 마스크는 255.255.255.0이 된다.

 

그리고 IP 주소와 서브넷 마스크를 &연산 하면 네트워크 주소를 얻을 수 있다.

 

 IP 주소 :           1 0 1 0 1 1 0 0   1 1 0 1 1 0 0 1   0 0 0 1 1 0 0 0   1 1 0 0 0 1 0 0

서브넷 마스크 : 1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1   0 0 0 0 0 0 0 0

& 연산 :             1 0 1 0 1 1 0 0   1 1 0 1 1 0 0 1   0 0 0 1 1 0 0 0   0 0 0 0 0 0 0 0 

 

보다싶이 & 연산을 하면 네트워크 주소만 뽑아낼 수 있다.

 

CIDR (Classless InterDomain Routing)

기존 A, B, C, D, E 클래스를 사용하면 자유롭게 네트워크 주소의 범위를 설정할 수 없다는 단점이 있다.

 

그런데 CIDR 방식을 사용하면 자유롭게 클래스 방식보다 자유롭게 네트워크 주소의 범위를 정할 수 있다.

 

그래서 Classless 방식인 것이다.

 

IP 주소가 172.217.24.196이고 네트워크 주소의 범위가 앞 24비트라고 한다면 CIDR 방식으로 다음과 같이 표현한다.

 

172.217.24.196 / 24

 

슬래시를 사용한 모습을 볼 수 있다. 슬래시 다음 숫자는 네트워크 주소에 해당하는 비트 개수이다.

 

즉 앞에서 24비트가 네트워크 주소이고 그 다음 8비트(32-24)가 호스트 주소란 뜻이다.

 

바로 호스트 주소가 8비트이고 2의 8승만큼 IP 주소를 호스트에게 할당할 수 있다는 것을 알 수 있다.

728x90

'공부 > Network' 카테고리의 다른 글

[Network] IPv6와 ICMP  (0) 2023.06.08
[Network] DHCP와 NAT  (0) 2023.06.06
[Network] IP fragmentation  (0) 2023.05.31
[Network] Network layer(네트워크 레이어)와 Router  (0) 2023.05.29
[Network] TCP RDT  (0) 2023.04.27
'공부/Network' 카테고리의 다른 글
  • [Network] IPv6와 ICMP
  • [Network] DHCP와 NAT
  • [Network] IP fragmentation
  • [Network] Network layer(네트워크 레이어)와 Router
웅대
웅대
알고리즘과 백엔드를 중심으로 열심히 공부 중입니다! 같이 소통하며 공부해요!
    250x250
  • 웅대
    웅대 개발 블로그
    웅대
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • dp
        • 문자열
        • 정렬
        • 스택
        • 브루트 포스
        • 이진 탐색
        • 정리
        • 우선순위 큐
        • 자료구조
        • 그래프
        • 기타
        • 그리디
      • 컴퓨터 언어
        • Kotlin
        • Python
        • C#
      • 공부
        • Database
        • Android Studio
        • Algorithm
        • 컴퓨터 구조론
        • Spring
        • lombok
        • AWS
        • Network
        • OS
        • Git & GitHub
        • AI
        • Computer Vision
        • 보안
        • Nginx
        • 프론트
        • express
        • GCP
        • grokking concurrency
        • DevOps
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AWS Lambda
    ci/cd
    openvidu 배포
    nn.RNN
    ChatPromptTemplate
    code tree
    embedding
    parametric search
    bfs
    파이썬
    RNN
    Vector Store
    스택
    influxDB CLI
    binary search
    Merge
    푸쉬 알람
    codetree
    다익스트라
    스프링 OAuth2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
웅대
[Network] IP addressing
상단으로

티스토리툴바