취미가 좋다
네트워크 5 : 네트워크 계층 본문
OSI 모델의 3계층인 네트워크 계층에 대해 알아보자.
네트워크 계층은 서로 다른 네트워크에 있는 목적지로 데이터를 전송하는 기능을 수행한다.
이전의 데이터 링크 계층은 같은 네트워크 즉, 같은 랜 내에서 이더넷 규칙으로 데이터를 전송한다.
그러나 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다.
라우터(router)
라우터는 네트워크 간의 통신을 통해 다른 네트워크로 데이터를 전송하는 네트워크 장비이다.
- IP 주소로 목적지를 지정한다.
- 목적지까지 데이터를 보낼 경로를 지정한다. 이를 라우팅(routing)이라고 한다.
랜에서는 MAC 주소만으로 통신할 수 있지만, 네트워크를 식별을 위해서는 IP 주소가 필요하다.
IP 주소는 어떤 네트워크의 컴퓨터인지 구분할 수 있는 주소이다.
라우터에는 경로 정보가 등록하고 관리하는 라우팅 테이블이 있다.
IP (Internet Protocol) 란?
네트워크 계층의 대표적인 프로토콜로 TCP/IP의 그 IP이다.
네트워크 계층에서는 상위 계층에서 가져온 데이터를 만들어 IP 헤더를 붙인다.
이렇게 만들어진 데이터를 IP 패킷이라고 한다.
IP 주소
IP 주소는 인터넷 서비스 제공자(ISP)에게서 받을 수 있다.
IP 버전에는 IPv4와 IPv6가 있다.
IPv4는 32비트로 이루어져 있어서 약 43억 개의 IP 주소를 만들 수 있다.
하지만 IP 주소가 부족해지면서 128비트로 된 IPv6를 만들었고, 현재는 둘 다 사용하고 있다.
IP 주소에는 공인 IP 주소와 사설 IP 주소가 있다.
여기서 ISP가 제공하는 것이 공인 IP 주소이다.
IP 주소가 부족해지면서 인터넷에 직접 연결되는 컴퓨터나 라우터에 공인 IP 주소를 할당하고, 회사나 가정의 랜의 컴퓨터에는 사설 IP 주소를 할당한다.
랜의 네트워크 관리자가 재량으로 사설 IP 주소를 할당하거나 라우터의 DHCP 기능으로 주수를 자동으로 할당한다.
MAC 주소는 48비트를 16진수로 표현한다.
IP 주소는 32비트를 8비트씩 쪼개서 4개의 10진수로 표현한다. 각 8비트를 옥텟이라고 한다.
10진수로 표시하지만 실제로는 2진수로 되어 있는 것이다.
4개의 숫자는 8비트이기 때문에 0~255 범위를 가진다.
IP 주소 클래스
IP 주소는 네트워크 ID와 호스트 ID로 나눠져 있다.
네트워크 ID는 어떤 네트워크인지 나타내고, 호스트 ID는 해당 네트워크에서 어떤 컴퓨터인지 나타낸다.
32비트의 IP 주소에서 네트워크 ID와 호스트 ID의 비중을 조절하여 네트워크 크기를 조절할 수 있다.
여기서 네트워크 크기는 클래스로 구분한다.
클래스 이름 | 내용 | 네트워크 ID | 호스트 ID |
A 클래스 | 대규모 네트워크 주소 | 8 비트 | 24 비트 |
B 클래스 | 중형 네트워크 주소 | 16 비트 | 16 비트 |
C 클래스 | 소규모 네트워크 주소 | 24 비트 | 8 비트 |
D 클래스 | 멀티캐스트(multicast) 주소 | ||
E 클래스 | 연구 및 특수용도 주소 |
공인 IP 주소와 사설 IP 주소를 포함한 클래스 범위
클래스 이름 | 1 옥텟 | 2 옥텟 | 3 옥텟 | 4 옥텟 | IP 주소 전체 범위 |
A 클래스 | 00000001 ~ 01111111 |
00000000 00000000 00000000 ~ 11111111 11111111 11111111 |
1.0.0.0 ~ 127.255.255.255 |
||
B 클래스 | 10000000 00000000 ~ 10111111 11111111 |
00000000 00000000 ~ 11111111 11111111 |
128.0.0.0 ~ 191.255.255.255 |
||
C 클래스 | 11000000 00000000 00000000 ~ 11011111 11111111 11111111 |
00000000 ~ 11111111 |
192.0.0.0 ~ 223.255.255.255 |
공인 IP 주소와 사설 IP 주소 각각의 범위
클래스 이름 | 공인 IP 주소의 범위 | 사설 IP 주소의 범위 |
A 클래스 | 1.0.0.0 ~ 9.255.255.255 11.0.0.0 ~ 126.255.255.255 |
10.0.0.0 ~ 10.255.255.255 |
B 클래스 | 128.0.0.0 ~ 172.15.255.255 172.32.0.0 ~ 191.255.255.255 |
172.16.0.0 ~ 172.31.255.255 |
C 클래스 | 192.0.0.0 ~ 192.167.255.255 192.169.0.0 ~ 223.255.255.255 |
192.168.0.0 ~ 192.168.255.255 |
가정의 랜에서는 주로 C 클래스의 IP 주소가 사용되어 192.168.O.O 주소를 가질 확률이 높다.
네트워크 주소, 브로드캐스트 주소
IP 주소에는 네트워크 주소, 브로드캐스트 주소라는 특별한 주소가 있다.
특별한 경우에 사용하기 때문에 컴퓨터나 라우터가 자신의 IP 주소로 사용할 수 없다.
네트워크 주소는 호스트 ID가 10진수로는 0, 2진수로는 00000000인 주소이다.
브로드캐스트 주소는 호스트 ID가 10진수로는 255, 2진수로는 11111111인 주소이다.
네트워크 주소는 작은 네트워크를 대표하는 주소로 네트워크를 식별하기 위해 사용한다.
아래를 보면 4개의 다른 IP 주소를 가지는 컴퓨터가 198.168.1.0의 네트워크에 있다고 할 수 있다.
브로드캐스트 주소는 네트워크에 있는 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 IP 주소이다.
만약 위에서 198.168.1.255로 데이터를 전송하면 네트워크 안에 있는 모든 컴퓨터로 데이터가 전송된다.
서브넷
A 클래스의 대규모 네트워크는 약 1600만 대의 컴퓨터가 존재할 수 있다.
이렇게 큰 네트워크를 작은 규모의 네트워크로 분할하는 것을 서브넷팅(subneting)이라고 한다.
여기서 분할된 네트워크를 서브넷(subnet)이라고 한다.
또 예를 들어 작은 기업이 B 클래스의 IP 주소를 할당받았는데 사용할 수 있는 약 6만 개의 주소를 다 사용하지 않을 수 있다.
이 경우 IP 주소가 낭비되기 때문에 서브넷으로 나누어 IP 주소를 효율적으로 할당할 수 있다.
A 클래스의 경우 네트워크 ID가 8비트, 호스트 ID가 24비트인데, 호스트 ID의 일부를 서브넷 ID로 사용한다.
어디까지가 서브넷 ID인지 확인하기 위해 서브넷 마스크를 사용한다.
서브넷 마스크는 네트워크 ID와 호스트 ID를 식별하기 위한 값이다.
서브넷 ID를 사용하지 않은 기존 각 클래스의 서브넷 마스크는 아래와 같다.
클래스 | 서브넷 마스크 | 프리픽스 표기법 |
A 클래스 | 11111111 00000000 00000000 00000000 | /8 |
B 클래스 | 11111111 11111111 00000000 00000000 | /16 |
C 클래스 | 11111111 11111111 11111111 00000000 | /24 |
프리픽스 표기법은 서브넷 마스크를 "/"로 나타낸다.
만약 C 클래스에서 서브넷 마스크가 /28 이라면 아래와 같다.
라우터 (router)
서로 다른 네트워크와 통신하기 위해 필요한 장비로, 네트워크를 분리하는 역할도 수행한다.
만약 라우터 대신 스위치(or 허브)를 사용하면 연결된 모든 장비는 같은 네트워크에 속하게 된다.
다른 네트워크에 있는 컴퓨터에 데이터를 전송하려면 가장 먼저 기본 게이트웨이(default gateway)를 설정해야 한다.
이것은 라우터의 IP 주소를 설정하는 것으로 네트워크의 출입구를 설정하는 지정하는 과정이다.
이 과정이 필요한 이유는 다른 네트워크의 컴퓨터로 데이터를 보내야할 때 송신 컴퓨터는 어디로 보내야할 지 모른다.
그래서 일단 네트워크의 출입구로 지정된 라우터로 데이터를 전송한다.
기본 게이트웨이 설정 이후엔 라우팅(routing) 기능이 수행된다.
라우팅은 경로 정보를 기반으로 현재의 네트워크에서 목적 네트워크까지의 최적의 경로로 데이터를 전송하는 방식이다.
여기의 경로 정보는 라우터의 라우팅 테이블에 저장되어 있다.
경로 정보를 라우팅 테이블에 수동으로 등록하거나 자동으로 등록할 수 있다.
자동으로 등록하는 방법은 라우터 간에 경로 정보를 교환하면서 라우팅 테이블 정보를 자동으로 수정한다.
이처럼 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.
대표적으로 RIP, OSPF, BGP 등이 있다.
본 글은 책 [모두의 네트워크 - 미즈구치 카츠야] 을 참고하여 작성되었습니다.
'Computer Science > 네트워크' 카테고리의 다른 글
네트워크 7 : 응용 계층 - Application Layer (0) | 2021.09.29 |
---|---|
네트워크 6 : 전송 계층 - Transport Layer (0) | 2021.09.17 |
네트워크 4 : 데이터 링크 계층 (0) | 2021.01.28 |
네트워크 3 : 물리 계층 (0) | 2021.01.27 |
네트워크 2 : 프로토콜 (0) | 2021.01.27 |