컴퓨터 네트워크 07 : 네트워크 계층, IP 주소의 구조, 서브넷
네트워크 계층
데이터 링크 계층에서는 이더넷 규칙을 기반으로 같은 네트워크에 있는 컴퓨터로는 데이터 전송이 가능하나, 다른 네트워크로는 전송 불가능.
이를 위해서 네트워크 계층 기술이 필요함.
네트워크 계층: 다른 네트워크와 통신하기 위한 경로 설정을 위해 라우터를 통한 라우팅을 하는 방식으로 패킷 전송을 담당.
라우터: 다른 네트워크와의 연결을 통해 패킷을 전송할 수 있도록 하는 장치. 어떤 경로로 가는 것이 좋은지 알려주기도 함.
MAC 주소는 LAN에서만 통신할 수 있기 때문에 다른 네트워크에 데이터를 보낼 수 있는 주소가 필요했고, 이 역할을 IP 주소가 하게 된다.
IP(Internet Protocol) 주소: 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 주소.(다른 네트워크의 목적지를 지정할 수 있게 함)
정리하자면, IP 주소는 목적지를 지정해주는 역할을, 라우팅은 해당 목적지로 가기 위한 경로를 설정해주는 과정을 의미한다.
IP 주소의 구조
IP 주소는 32비트로 구분하기 쉽도록 10진수로 표시한다.
IP 주소 예시:
11000000101010000000000100001010
사람이 읽기 쉽도록 하기 위해 8비트 단위로 나눠서 표시하고 이를 옥탯이라 부르기도 한다.
IP 주소 옥텟 예시
1옥탯: 11000000 2옥탯: 10101000 3옥탯: 00000001 4옥탯: 00001010
그리고 각각의 8비트를 10진수 꼴로 나타내면
192.168.1.10
이처럼 실제로 2진수로 되어있는 주소를 읽기 용이하게 10진수로 표시할 수 있다.
각 옥탯에서 8비트와 10진수의 범위는 00000000(0) ~ 1111111(255)이다.
IP 주소 클래스
IPv4에서 IP 주소는 32비트이며, 이 주소는 네트워크 ID(어떤 네트워크?)와 호스트 ID(해당 네트워크의 어떤 컴퓨터?)로 나눠져 있다. 이 네트워크 크기를 클래스라는 개념으로 구분한다.
A, B, C, D, E 클래스라는 이름으로 주소 그룹이 나뉜다. A, B, C는 네트워크 ID와 호스트 ID로 구성되며, D 클래스는 멀티 캐스트 주소로 사용된다. E 클래스는 필요에 따라 사용하기 위해 확보한 것이다.
A 클래스 | 대규모 네트워크 주소 | D 클래스 | 멀티캐스트(multicast) 주소 |
B 클래스 | 중형 네트워크 주소 | E 클래스 | 연구 및 특수용도 주소 |
C 클래스 | 소규모 네트워크 주소 |
* 멀티캐스트: 한 컴퓨터(호스트)에서 패킷을 여러 컴퓨터로 동시에 전송하는 것.
일반 네트워크는 A~C 클래스까지 사용 가능하다.
클래스 별 공인 IP 주소의 범위
A 클래스 | 1.0.0.0 ~ 9.255.255.255 11.0.0.0 ~ 126.255.255.255 |
B 클래스 | 128.0.0.0 ~ 172.15.255.255 172.32.0.0 ~ 191.255.255.255 |
C 클래스 | 192.0.0.0 ~ 192.167.255.256 192.169.0.0 ~ 223.255.255.255 |
사설 IP 주소는 공인 IP 주소와 분리되어 있으므로 일반 네트워크에서는 공인 IP 주소를 사용할 수 없다.
클래스 별 사설 IP 주소의 범위
A 클래스 | 10.0.0.0 ~ 10.255.255.255 |
B 클래스 | 172.16.0.0 ~ 172.31.255.255 |
C 클래스 | 192.168.0.0 ~ 192.168.255.255 |
네트워크 주소, 브로드캐스트 주소
네트워크 주소: 호스트 ID가 2진수로 00000000(0)인 주소다.
브로드케스트 주소: 호스트 ID가 2진수로 11111111(255)인 주소다.
호스트 ID가 10진수고 첫 번째 숫자가 0이면 네트워크 주소이다.
192.168.1.0 (C 클래스)
호스트 ID가 10진수고 마지막 숫자가 255면 브로드캐스트 주소이다.
192.168.1.255 (C 클래스)
네트워크 주소는 전체 네트워크의 대표 주소 역할을 한다.
예를들어, '192.168.1.1 ~ 192.168.1.6은 192.168.1.0의 네트워크에 있다' 라고 말할 수 있는 것이다.
브로드캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 전용 IP 주소이다.
192.168.1.255의 브로드캐스트 주소로 데이터를 전송하면 192.168.1.0 네트워크 안에 있는 모든 컴퓨터가 데이터를 받게 된다.
따라서, 네트워크 주소와 브로드캐스트는 이러한 역할을 담당하기 때문에 IP주소로서 설정되면 안된다.
서브넷
브로드캐스트 패킷이 전송을 감당해야할 컴퓨터가 많아지면 네트워크가 혼잡해진다.
때문에 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다.
이를 통해 IP 주소를 더 효율적으로 활용할 수 있다.
이와 같이 네트워크를 분할하는 것을 서브넷팅이라고하고, 이렇게 분할된 네트워크를 서브넷이라고 한다.
서브넷팅: 네트워크를 분할하기 위해 IP 주소의 구성을 변경하는 작업
서브넷: 큰 네트워크를 분할해서 만든 작은 네트워크
서브넷팅을 하면 네트워크 ID와 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트 ID로 나눠진다.
정확히는 호스트 ID의 비트가 쪼개져서 일부가 서브넷 ID로 바꾸어진다.
- A 클래스 서브넷팅 전: 네트워크 ID = 8비트, 호스트 ID = 24비트
- A 클래스 서브넷팅 후: 네트워크 ID = 8비트, 서브넷 ID = 10비트, 호스트 ID = 14비트
서브넷 ID: IP 주소의 네트워크 부분을 늘리기 위해 서브넷 마스크로 사용되는 비트로, 서브넷 비트라고도 한다.
서브넷 마스크: 네트워크 ID와 호스트 ID를 식별하기 위한 값.
IP 주소의 네트워크 부분만 나타나게 하여 같은 네트워크인지를 판별하게 하는 마스크이다.
IP 주소에 서브넷 마스크를 AND 연산하면 Network ID가 된다.
C클래스 IP 주소가 192.168.32.0라고 가정할 때, C 클래스 서브넷 마스크가 255.255.255.0이므로 AND 연산을 하여 나오는 192.168.32.0이 바로 Network ID가 된다.
두번째 줄을 보면 Network ID의 1과 0이 연속적으로 있는 것을 확인할 수 있는데, 여기서 1의 개수를 세면(bit수) 24개가 된다.
이때, /24와 같은 방식으로 표기하는 것을 프리픽스 표기법이라고 한다.
이와같이 원본 네트워크를 여러 개의 서브넷으로 분리하는 과정을 통해 IP 주소 낭비를 방지할 수 있다.
bit 수를 1씩 증가시키면 할당할 수 있는 네트워크 수가 2배수로 증가하고, 호스트 수는 2배수로 감소하기 때문이다.
'CS 공부 > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 09 : NAT (0) | 2023.04.07 |
---|---|
컴퓨터 네트워크 08 : 라우팅 (0) | 2023.04.07 |
컴퓨터 네트워크 06 : TCP 흐름제어, 혼잡 제어 (0) | 2023.03.31 |
컴퓨터 네트워크 05 : TCP UDP (0) | 2023.03.31 |
컴퓨터 네트워크 04 : IPv4 IPv6 (0) | 2023.03.24 |