네트워크 계층의 역할
데이터 링크 계층에서는 랜에서 이더넷을 통해 같은 네트워크상에서 데이터를 전송할 수 있도록 함
네트워크 계층에서는 네트워크 간 통신을 가능하게 함
데이터를 다른 네트워크로 전송하기 위해서는 라우터
라는 네트워크 장비가 필요함
라우터
데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 역할
데이터의 목적지는 MAC 주소가 아닌 네트워크를 식별할 수 있는 IP 주소
가 필요함
IP 주소로 지정된 목적지까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅
이라고 함
라우팅 테이블
이 있어 경로 정보를 등록하고 관리함
IP
TCP/IP 에서 IP와 같은 의미
네트워크 계층의 대표적인 프로토콜
IP 주소
어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소
IP 헤더
위와 같은 헤더를 붙여 만들어진 것을 IP 패킷
이라고 한다. (데이터 링크 계층에서 헤더와 트레일러를 붙인 것은 프레임
이라 한다.)
IP 주소의 특징
버전에는 IPv4와 IPv6 두가지 버전이 있다
IPv4 주소는 32비트이기에 IP 주소를 약 43억 개 만들 수 있는데, 점점 부족해져 128비트를 사용하여 340간 개를 만들 수 있는 IPv6가 등장하였다.
공인 IP 주소와 사설 IP 주소가 존재한다.
공인 IP 주소는 ISP 에게 제공받는다.
주소의 수가 점점 모자르게 되어 랜에서 사용하는 컴퓨터에 중복이 가능하게 할당할 수 있는 사설 IP 주소가 사용되고 있다.
라우터에만 공인 IP 주소를 할당하고, 랜 내에서 사설 IP 주소를 할당하거나 DHCP
를 사용하여 주소를 자동으로 할당한다.
32비트로 구성되어 있으며, 10진수로 표기한다. (8개씩 끊어 10진수로 표기하는데 이때 8개씩 묶는 단위를 옥텟
이라고 한다.)
네트워크 ID와 호스트 ID로 나누어진다
네트워크 ID는 어떤 네트워크인지를 나타낸다.
호스트 ID는 해당 네트워크의 어느 컴퓨터인지를 나타낸다.
IP 주소 클래스
네트워크 크기를 구분하는 개념
네트워크 ID 를 크게 만들거나, 호스트 ID 를 작게 만들어 네트워크의 크기를 조정할 수 있음
IP 주소 클래스의 종류
A 클래스
대규모 네트워크 주소
앞 8비트를 네트워크 ID, 24비트를 호스트 ID 로 사용함
1옥텟을 0~127까지 사용할 수 있음 (00000000 ~ 01111111)
1옥텟의 127 주소는 로컬 루프백 주소로 사용됨
사설 IP 주소는 10.0.0.0 ~ 10.255.255.255까지 사용할 수 있음
B 클래스
중형 네트워크 주소
16비트가 네트워크 ID
1옥텟을 128~191까지 사용할 수 있음 (10000000 ~ 10111111)
사설 IP 주소는 172.16.0.0 ~ 172.31.255.255
C 클래스
소규모 네트워크 주소
24비트가 네트워크 ID
1옥텟을 192~223까지 사용할 수 있음 (11000000 ~ 11011111)
사설 IP 주소는 192.168.0.0 ~ 192.168.255.255 (가정에서 연결된 랜에서 가장 자주 사용됨)
D 클래스
멀티캐스트 주소
E 클래스
연구 및 특수용도 주소
IP 주소에는 네트워크 주소와 브로드캐스트 주소가 존재하며, 사용할 수 없다.
네트워크 주소
호스트 ID 비트가 모두 0인 주소
해당 네트워크의 대표 주소로 사용됨
브로드캐스트 주소
호스트 ID 비트가 모두 1인 주소
네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용
서브넷
큰 네트워크를 여러 작은 네트워크로 분할하는 것
브로드캐스트 시 서브넷 단위로 전송할 수 있게 됨
호스트 ID 가 다시 서브넷 ID와 호스트ID로 분할되어 네트워크 ID, 서브넷ID, 호스트 ID 로 32비트를 나누어 사용
서브넷 마스크
서브넷팅을 하게되면 어디까지가 네트워크 ID 이고, 어디부터가 호스트 ID 인지 판단하기 어려워 구분하기 위해 사용하는 값
xxx.xxx.xxx.xxx/N 과 같이 (/비트 수) 로 prefix 표기법을 주로 사용하여 표기하며, N은 N째 자리까지 네트워크 ID로 사용한다는 의미
일반적인 표기는 xxx.xxx.xxx.xxx/26 같은 경우 255.255.255.192가 서브넷 마스크가 됨 (네트워크 ID 자리 비트는 1, 호스트 ID 자리 비트는 0)
라우터의 기능
허브나 스위치는 네트워크 자체를 분리할 수 없지만, 라우터는 네트워크를 분할한다.
라우팅
컴퓨터가 다른 네트워크의 IP로 데이터를 전송하려면 먼저 라우터에 데이터를 전송해야한다.
네트워크의 출입구로 라우터를 설정하고 별다른 설정을 안하면 기본 게이트웨이로 동작한다.
이후 라우터가 라우팅 테이블에 있는 경로 정보를 통해 최적의 경로로 라우팅한다.
라우팅 프로토콜
라우터 간에 경로 정보를 서로 교환하고 라우팅 테이블에 등록해 나가는 규칙을 정하는 것
대표적인 라우팅 프로토콜로는 RIP, OSPF, BGP가 있다.
라우팅 프로토콜은 IGP(내부 게이트웨이 프로토콜), EGP(외부 게이트웨이 프로토콜) 로 나뉘어진다.
추가.
라우팅 테이블에 경로 정보를 등록하는 방식에는 소규모 네트워크에 적합한 수동 등록 방법과 대규모 네트워크에 적합한 자동 등록 방식이 있다.
IGP, EGP 에서 설명하는 내부, 외부 란 AS(네트워크 관리자가 관리하는 대규모 네트워크 집단) 내부에서 동작하는지, AS 간 동작하는 지를 의미한다.
컨버전스 타임 : 네트워크 변화가 일어난 뒤, 라우팅 테이블에 반영되는 데 걸리는 시간. 빠를수록 좋음
RIP
최단 거리(중간 장치의 개수가 가장 작은 경로)로 데이터를 전송
최대 거리가 있어 내부용으로만 사용
네트워크 속도는 고려하지 않기 때문에 성능이 좋지 않을 수도 있음
컨버전스 타임이 느림
OSPF
최단 시간 경로를 찾아 데이터를 전송하는 방식
주로 대규모 기업망에서 내부 프로토콜로 사용
컨버전스 타임이 아주 빠름
BGP
EGP 중 표준이라고 볼 수 있음 (전세계가 BGP를 통해 연결)
라우팅 정보를 대량으로 교환할 수 있음
컨버전스 타임이 조금 느림