네트워크 계층의 역할
1. 네트워크 간의 연결 구조
다른 네트워크에 있는 목적지로 데이터를 전달하려면 아래와 같은 네트워크 계층의 기술이 필요하다.
- 이 규칙에 따라 같은 네트워크에 있는 컴퓨터로 데이터를 전송할 수 있지만, 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다.
- 스위치를 사용하면 데이터를 어디든 보낼 수 있다고 생각할 수 있으나 수많은 네트워크가 연결된 환경에서 데이터 링크 계층의 기능만으로는 다른 네트워크로 데이터를 전송하기 어렵다.
- 위 사진의 네트워크 A를 보면 데이터 링크 계층의 기능만으로는 해당 네트워크 안에서만 통신이 가능한 것을 알 수 있다.
- 따라서 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할이다.
- 네트워크 계층을 통해 다른 네트워크로 데이터를 전송하기 위해서는 라우터(Router)라는 네트워크 장비가 필요하다.
- 라우터를 사용하면 가정에서도 인터넷에 연결할 수 있고 해외로도 데이터를 보낼 수 있다.
💡 라우터란, 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능을 한다. (단, 반드시 네트워크의 목적지 주소가 있어야 가능하다.)
IP 주소
- 네트워크를 식별할 수 있는 주소를 IP주소라고 한다.
- 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소를 말한다.
- IP 주소가 있으면 다른 네트워크에 있는 목적지를 지정할 수 있다.
- IP 주소로 목적지를 정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 결정해야 데이터를 보낼 수 있는데 이것을 라우팅(Routing)이라고 한다.
- 라우팅을 위해서는 아래 사진과 같은 라우터라는 장비가 필요하다.
- 라우터를 사용하면 거리에 관계없이 다른 네트워크로 데이터를 보낼 수 있다.
- 라우터에는 라우팅 테이블(Routing table)이 있어서 경로 정보를 등록하고 관리할 수 있다.
2. IP
지금까지 데이터를 다른 네트워크에 있는 목적지까지 보내기 위해서는 라우터가 필요하다고 했는데 사실은 IP가 있어서 가능한 것이다.
- 네트워크 계층에서는 캡슐화할 때 아래와 같이 IP 헤더를 붙인다.
- IP 헤더에는 위와 같이 데이터를 정확하게 전달하기 위해 필요한 정보들이 포함되어 있다.
- 1~12번 중 ‘출발지 IP 주소’와 ‘목적지 IP 주소’ 정도만 기억해도 된다.
- 이처럼 IP 프로토콜을 사용하여 캡슐화할 때는 데이터에 IP 헤더가 추가되는데, 이렇게 만들어진 것을 IP 패킷이라고 한다.
IP 주소의 구조
1. IP 주소란?
- IP 주소는 실생활에 비유하면 주소와 같은 개념이다.
- 데이터를 다른 네트워크의 목적지로 보내기 위해 필요하다.
- IP 주소 받는 방법
- 인터넷 서비스 제공자(ISP)에게 받을 수 있다.
- IP 버전에는 IPv4와 IPv6가 있다.
- IPv4는 현재 주로 사용하고 있는 주소로 32비트로 되어 있어 IP주소를 약 43억 개 만들 수 있는데 인터넷이 널리 보급되면서 IP 주소가 부족해져서 IPv6를 사용하게 된 것이다.
- IPv6는 128비트로 되어 있어 IPv4보다 많은 IP 주소를 만들 수 있다.(약, 340간 개, 340조의 1조 배의 1조 배로 사실상 무한대)
- IP 주소에는 공인 IP 주소와 사설 IP 주소가 있다.
- 공인 IP 주소는 인터넷 서비스 제공자(ISP)가 제공한다.
- 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 IP 주소를 할당하고, 회사나 가정의 랜에 있는 컴퓨터는 사설 IP 주소를 할당한다.
-
- 위 사진처럼 랜 안에 컴퓨터가 여러 대 있으면 공인 IP 주소는 사용할 수 있는 숫자가 제한되기 때문에 컴퓨터 한 대당 할당하기 어렵다. 따라서 인터넷 서비스 공급자가 제공하는 공인 IP 주소는 라우터에만 할당하고 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당하거나 라우터의 DHCP 기능을 사용하여 주소를 자동으로 할당한다.
- 이렇게 하면 공인 IP 주소 한 개로 랜 안에 있는 컴퓨터 세대에 인터넷을 모두 연결할 수 있는 환경을 만들 수 있다.
- </aside>
- IP 주소는 32비트로 구분하기 쉽도록 10진수로 표시한다.
- 표시는 10진수로 하지만 실제로는 2진수로 되어있다.
- IP 주소는 네트워크 ID와 호스트 ID로 나눠져 있다.
- 네트워크 ID는 어떤 네트워크인지를 나타내고, 호스트 ID는 해당 네트워크의 어느 컴퓨터인지를 나타낸다.
- 이 두 가지 정보가 합쳐져 IP 주소가 되는 것이다.
- 아래의 사진처럼 네트워크 A, B가 네트워크 주소 A와 B의 1, 2가 호스트 ID이다.
IP 주소의 클래스 구조
1. IP 주소 클래스란?
- IP 주소는 비트로 구분하지만 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기를 조정할 수 있다. 이러한 네트워크의 크기는 클래스라는 개념으로 구분한다.
- 클래스는 A~E까지 있다.
클래스 이름 내용
A 클래스 | 대규모 네트워크 주소 |
B 클래스 | 중형 네트워크 주소 |
C 클래스 | 소규모 네트워크 주소 |
D 클래스 | 멀티캐스트(multicast) 주소 |
E 클래스 | 연구 및 특수용도 주소 |
- 일반 네트워크에서는 A~C 클래스까지 사용할 수 있다.
- A 클래스는 처음 8비트가 네트워크 ID이고 다음 24비트가 호스트 ID이다.
- B 클래스는 처음 16비트가 네트워크 ID이고 다음 16비트가 호스트 ID이다.
- C 클래스는 처음 24비트가 네트워크 ID이고 다음 8비트가 호스트 ID이다.
- 공인 IP 주소와 사설 IP 주소를 포함한 클래스 범위
- A 클래스의 1옥텟(8비트) 범위는 2진수로 00000000~01111111이다. 이것을 10진수로 변환하면 1~127이 된다.
- 2~4옥텟의 범위는 각각 2진수로 00000000~11111111이고 이것을 10진수로 변환하면 0~255가 된다.
- 최대 호스트 수는 1677만 7214대이다.
- B 클래스의 1옥텟(8비트) 범위는 2진수로 10000000~10111111이고 이것을 10진수로 변환하면 128~191이 된다.
- 최대 호스트 수는 6만 55334대이다.
- C 클래스의 1옥텟(8비트) 범위는 2진수로 11000000~11011111이고 이것을 10진수로 변환하면 192~223이 된다.
- 최대 호스트 수는 254개이다.
네트워크 주소와 브로드캐스트 주소의 구조
1. 네트워크 주소와 브로드캐스트 주소란?
- IP 주소에는 네트워크 주소와 브로드캐스트 주소가 있다.
- 이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안 되는 주소이다.
- 아래의 사진처럼 C 클래스 사설 IP 주소가 있다고 가정하고 네트워크 주소는 호스트 ID가 10진수로 0이고, 2진수는 00000000인 주소, 브로드캐스트 주소는 호스트 ID가 10진수로 255이고, 2진수면 11111111인 주소이다.
- 네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별하는 데 사용되고, 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소가 된다. 즉, 전체 네트워크의 대표 주로라고 할 수 있다.
- 아래 사진과 같이 192.168.1.1 ~ 192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0의 네트워크에 있는 것이다.
- 브로드캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전송 IP 주소이다.
- 전체 네트워크에 데이터를 전송하기 위해서는 호스트 ID에 255를 설정하면 된다.
- 즉 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정해서는 안된다.
서브넷의 구조
1. 서브넷이란?
- 네트워크를 분할하는 것
- 많은 수의 컴퓨터가 브로드캐스트 패킷을 전송하면 모든 컴퓨터에 패킷이 전송되어 네트워크가 혼잡해지기 때문에 네트워크가 지연된다.
- 아래 사진과 같이 A 클래스의 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다. 이렇게 하면 더 많은 네트워크를 만들 수 있기 때문에 IP 주소를 더 효과적으로 활용할 수 있다.
- 이와 같이 네트워크를 분할하는 것을 서브넷팅(Subneting)이라고 하고, 분할 된 네트워크를 서브넷(Subnet)이라고 한다.
- 아래 사진과 같이 A 클래스는 네트워크가 8비트고 호스트 ID가 24비트이다.
- 이 상태를 서브넷팅하여 작은 네트워크로 분할하는 것을 말하는 것이다.
- 기존의 네트워크 ID와 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트 ID로 나눠지게 되는 것이다. 즉 원래 호스트 ID로 사용했던 비트를 서브넷 ID로 바꾸는 것이다.
2. 서브넷 마스크란?
- IP 주소를 서브넷팅하면 어디까지가 네트워크 ID이고 어디부터가 호스트 ID인지 판단하기 어려울 때가 있다. 이런 경우 서브넷 마스크라는 값을 사용한다.
- 서브넷 마스크는 네트워크 ID와 호스트 ID를 식별하기 위한 32비트의 값으로 A 클래스는 255.0.0.0, B 클래스는 255.255.0.0, C 클래스는 255.255.255.0이 된다.
- 이를 프리픽스(prefix) 표기법으로도 사용할 수 있는데, 프리픽스 표기법은 서브넷 마스크를 슬래시(/비트 수)로 나타낸 것을 말한다. 예를 들어 255.255.255.0은 /24가 된다.
라우터의 구조
1. 라우터란?
- 서로 다른 네트워크와 통신하기 위해 필요하다.
- 아래 사진과 같이 네트워크를 분리할 수 있다.
- 스위치만 있는 네트워크에서는 모든 컴퓨터와 스위치가 아래와 같이 동일한 네트워크에 속하게 된다.
- 아래와 같이 컴퓨터 1이 컴퓨터6에 접속한다고 가정할 때, 컴퓨터 1이 다른 네트워크에 데이터를 전송하기 위해서는 라우터 IP 주소를 설정해야한다. 이는 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 한다.
- 라우터의 IP 주소를 지정해야하는 이유는 컴퓨터 1이 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는지 알지 못하기 때문에 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송한다. 여기서 컴퓨터 1은 192.168.1.0/24 네트워크에 있기 때문에 라우터의 IP 주소인 192.168.1.1로 설정한 것이다.
- 하지만 라우터 IP 주소를 지정하는 것만으로 데이터를 보낼 수는 없다.
- 추가적으로 라우팅(Routing) 기능이 필요하다.
- 라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 가는 최적의 경로를 통해 데이터를 전송하는 것이다.
- 그 경로가 등록되어 있는 테이블이 라우팅 테이블이다.
- 아래와 같이 각 라우터의 라우팅 테이블에 경로 정보가 등록되어 있어서 라우팅이 가능하다. 따라서 A → B로 데이터를 보내는 것이 가능하다.
- 라우팅 테이블을 등록하는 방법은 자동과 수동으로 나눠진다.
- 수동으로 등록하는 방법은 소규모 네트워크에 적합하고, 자동으로 등록하는 방법은 대규모 네트워크에 적합하다.
- 왜냐하면 대규모 네트워크에서는 정보를 하나하나 라우터에 등록하기 힘들고, 등록된 내용이 수정되면 수동으로 변경해야 해서 작업량이 많아지기 때문이다.
- 자동으로 등록하는 방법은 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정해준다.
- 이처럼 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.
- 라우팅 프로토콜에는 RIP, OSPF, BGP 등이 있다.네트워크 계층의 역할다른 네트워크에 있는 목적지로 데이터를 전달하려면 아래와 같은 네트워크 계층의 기술이 필요하다.
'모두의 네트워크' 카테고리의 다른 글
7장 응용 계층 : 애플리케이션에 데이터 전송하기 (0) | 2024.05.01 |
---|---|
6장 전송 계층 : 신뢰할 수 있는 데이터 전송하기 (0) | 2024.04.29 |
4장 데이터 링크 계층: 랜에서 데이터 전송하기 (0) | 2024.04.22 |
3장 물리 계층: 데이터를 전기 신호로 변환하기 (0) | 2024.04.19 |
2장 네트워크의 기본 규칙 (0) | 2024.04.18 |