네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별하는 데 사용되고, 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소가 된다. 즉, 전체 네트워크 대표 주소이다.
예) 192.168.1.1~ 192.168.1.6은 [192.168.1.0]의 네트워크에 있다.
브로드캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP주소이다.
-> 전체 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 된다.
예) 192.168.1.1~ 192.168.1.6의 IP주소를 가진 컴퓨터에서 192.168.1.255로 데이터를 보내면 192.168.1.255로 전송한 데이터는 네트워크 안에 있는 모든 컴퓨터로 송신이 된다.
IP주소에는 A,B,C클래스가 있다.
A클래스 => 네트워크 ID 8비트 | 호스트 ID 24비트
B클래스 => 네트워크 ID 16비트 | 호스트 ID 16비트
C클래스 => 네트워크 ID 24비트 | 호스트 ID 8비트
예를 들어 A클래스 네트워크는 호스트 ID가 24비트여서 IP주소를 1677만 7214개를 사용할 수 있다.
이러한 수 많은 컴퓨터가 브로드캐스트 패킷을 전송하면 네트워크가 혼잡해진다. 네트워크가 정체되고 지연되는 것을 방지하기 위하여 A클래스의 대규모 네트워크를 작은 네트워크로 분할하여 브로드 캐스트로 전송되는 패킷의 범위를 좁힐 수 있다.
! 이처럼 네트워크를 분할하는 것을 서브넷팅(subneting)이라고 하고, 분할된 네트워크를 서브넷(subnet)이라고 한다.
기존에 네트워크 ID와 호스트 ID로 구성 => 네트워크 ID, 서브넷 ID, 호스트 ID 나뉨
원래 호스트 ID로 사용되던 비트를 빌려서 서브넷 ID로 만들어 주는 것이다.
IP 주소가 서브넷팅을 하면 어디까지가 네트워크ID이고 어디부터가 호스트 ID인지 판단하기 어려울 때가 있다. 이럴 때 서브넷 마스크라는 값을 사용한다.
서브넷 마스크는 네트워크 ID와 호스크 ID를 식별하기 위한 값 !
서브넷 마스크는 IP 주소의 32비트에 대응한 32비트로 구성되어 있다. 즉, 서브넷 마스크는 IP 주소처럼 32개의 0 또는 1로 구성된 값이다.
IP 주소의 비트가 네트워크 부이면 이 비트에 대응하는 서브넷 마스크의 비트는 1이 되고, IP 주소의 비트가 호스트 부이면 서브넷 마스크의 비트는 0이 된다. 이러한 방법으로 클래스에 구애받지 않고 IP 주소의 네트워크부를 식별할 수 있다.
서브넷 마스크 255.255.255.0은 네트워크부의 비트수가 24비트이므로 프리픽스 표기법을 사용하면 /24가 된다.
C클래스를 컷팅해 본다면??
네트워크 ID를 24비트에서 26으로 변경하면 2비트를 호스트 ID에서 빌리게 된다. 즉 네트워크 ID가 4비트 서브넷 ID가 2비트, 호스트 ID가 6비트가 된다.
현재는 클래스와 상관없이 한 네트워크에 연결하고 싶은 호스트들의 규모에 맞게 네트워크 부와 호스트 부의 길이를 비트 단위로 유연하게 변경할 수 있는 서브넷 마스크를 사용하여 IP 주소를 할당
서로 다른 네트워크와 통신하려면 라우터가 필요하다. 라우터는 네트워크와 네트워크간의 경로(route)를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비다.
그림의 컴퓨터 1이 컴퓨터 6에 접속하려면 라우터의 IP주소를 설정해야 된다. 이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트 웨이(default gateway)라고 한다.
컴퓨터1은 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는지 알지 못한다. 그래서 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송한다. 여기에서 컴퓨터 1은 192.168.1.0/24 네트워크에 속해 있기 때문에 라우터의 IP주소인 192.168.1.1로 설정한 것이다
하지만 데이터를 보내려면 라우팅(routing) 기능이 필요하다!
경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다. 이 경로 정보가 등록되어 있는 테이블이 라우팅 테이블이다.
라우팅 테이블 등록하는 방법
- 수동 등록 : 소규모 네트워크에 적합
- 자동 등록 : 대규모 네트워크에 적합(라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정)
라우터간에 라우팅 정보를 교환하기 위한 프로토콜이 있다.
=> 라우팅 프로토콜
이 라우팅 프로토콜을 설정하여 라우터 간에 경로 정보를 서로 교환하고 그것을 라우팅 테이블에 등록해 나가는 것이다.
Reference
책 - [모두의 네트워크]
변계사 Sam의 테크 스타트업!