Giter VIP home page Giter VIP logo

http's Introduction

IP주소 체계와 서브넷 마스크

전과한 후로 학교에서 네트워크 수업을 한번도 듣지 못하여 네트워크 관련된 지식이 현저하게 떨어지고 기본기가 없는 것을 평소에도 느끼고 있었다. (학과에 네트워크 수업이 없다...)

IPv4

모든 컴퓨터, 네트워크 장비 등 인터넷을 사용하기 위해 IP주소를 할당받아 사용하게 된다. IP 주소를 사용하는 이유는 이러한 각각의 Host들(컴퓨터, 네트워크 장비 등등)을 구분하기 위해서 사용한다. 하지만 1바이트 옥텟 4개로 이루어진 IPv4 주소쳬게에서 표현할 수 있는 주소의 수는 4바이트(32비트)로 표현할 수 있는 4294967296(42억)으로 한정되어 있으므로 모든 Host에게 고유한 IP를 할당하는 것은 불가능하다. 언뜻 많은 숫자처럼 보이지만 요즘처럼 개인마다 스마트 기기의 보급이 대중화된 시대에서는 그렇게 큰 숫자가 아니며, 따라서 DHCP 서버를 이용하여 전원이 켜진 컴퓨터 또는 장비에게만 유동적으로 IP를 할당하고 전원이 꺼지면 회수하는 방법을 사용한다.

IPv4 주소체계는 1바이트 옥텟 4개로 이루어져 있으며, 하나의 IP주소에는 Network ID와 Host ID가 존재한다. NetWork ID란 모든 Host들의 ID를 한 번에 처리하는 것이 아니라 관리할 수 있는 범위로 묶어 관리하기 위해 만들어진 HostID의 일종의 상위 ID라고 할 수 있다. 주소번지 체계를 대입해서 생각해본다면 번지까지가 NetWork ID고, 그 이후의 동 호수 및 상세주소는 Host ID라고 할 수 있다. 이 때 묶을 수 있는 HostID의 범위를 크기별로 나누어 각각 다른 클래스로 관리하는데, 클래스에는 A,B,C 클래스가 있다.(D,E 클래스는 존재하나 사용되지는 않는다.). A클래스는 4자리의 옥텟 중 첫번째 자리만을 NetWork ID를 위해 할당한 클래스로 가능한 Host ID의 경우의 수가 16777214로 가장 많다. 또한 네트워크 ID의 최상위 비트(시작 비트)가 0으로 시작하도록 예약되어 있다. 즉 첫번째 옥텟이 0~127 사이이다. B 클래스는 두 개의 옥텟을 네트워크 ID에, 나머지를 호스트 ID에 할당하며, 네트워크 ID의 최상위 비트가 10으로 예약되어 있다. 따라서 첫번째 옥텟의 범위가 128~191 사이이다. C 클래스는 3개의 옥텟을 네트워크 ID에 할당하며 호스트 ID는 1개의 옥텟을 가지므로 가능한 호스트 ID의 개수가 256개이다. 최상위 비트 110으로 예약되어 첫번째 옥텟의 범위는 192~223 사이이다.

서브넷 마스크

서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 넷 마스크를 통해 변경하여서 '네트워크 영역을 분리'시키는 개념이다. 하나의 네트워크 즉 하나의 브로드캐스트 도메인에 있는 IP끼리 통신하기 위해선 네크워크 영역이 같아야하며, 호스트 IP는 달라야한다. 물론 네트워크 영역이 달라도 라우터나 게이트웨이와 같은 통신장비를 통해 통신할 수 있으나 라우터와 네트워크장비 없이 통신할 수 있는 영역을 브로드캐스트 도메인이라고 한다. 만약 어떤 호스트에 A클래스 IP주소를 그대로 할당하게 된다면, 호스트 ID의 범위 0.0.0.0 ~ 0.255.255.255로 가능한 호스트 수가 16,777,216개 나 되어 매우 비효율적이게 된다. 이를 서브넷팅을 통하여 보다 더 많은 네트워크 영역으로 호스트를 나누어주게 되는데, 서브넷 마스크는 이 때 IP주소와 똑같은 32비트 2진수로 되어 있다. 이 때 중요한 점은, 서브넷 마스크는 2진수로 표현하였을 때 Network ID 부분은 1이 연속적으로 있어야 하며, Host ID 부분은 0이 연속적으로 있어야 한다는 점이다. 이는 서브넷 마스크는 IP주소와의 비트 AND연산을 통해서 , 네트워크 주소에 할당할 ID수를 2배씩 확장하고, 호스트 ID의 할당 가능 개수를 2배씩 줄이기 때문이다.

서브넷팅을 통해 네트워크 ID 수가 확장되므로, 할당할 수 있는 네트워크의 수가 늘어나며, 네트워크가 분리되므로 분리된 호스트끼리는 라우터를 통하여서만 통신이 가능하다. 이 때, 서브넷팅을 통해 분리된 네트워크는 각 범위의 가장 첫번째 IP만을 사용하느데, 이를 네트워크 주소라고 부르며 사용할 수 없게끔 되어있다. 또, 범위의 가장 마지막 IP 주소는 Broadcast Address로 사용할 수 없다.

http's People

Contributors

nerdyinu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.