///////
Search
🔔

OSI 네트워크 계층 - 1

네트워크 계층의 역할

1. 개요

네트워크 계층은 서로 상호작용하는 데이터 평면제어 평면의 두 부분으로 분리된다.
데이터 평면은 “어떻게 도착하는지에 관심사”가 존재
제어평면은 “어떻게 지나갈 것인지에 관심사”가 존재
데이터 평면
포워딩(전달) : 패킷이 라우터의 입력 링크에 도달했을 때 패킷을 적절한 출력 링크로 이동시키는 것에 관한 개념
제어 평면
라우팅(경로) : 패킷을 전송할 때 패킷 경로를 결정하는 부분에 관한 개념
라우팅 알고리즘
두 용어는 명백히 다른 용어이다.
포워딩은 매우 짧은 시간 단위로 하드웨어에서 실행되고,
라우팅은 네트워크 전반에 걸쳐 출발지 → 목적지까지의 경로를 결정하는 것으로 더 긴 시간을 갖으며 소프트웨어에서 실행된다.
EX)
여행 동안에 많은 교차로를 지나게 될텐데 포워딩교차로 하나를 지나는 과정이라고 할 수 있다면, 라우팅은 “서울”에서 “부산”까지의 여행 계획 과정이라고 볼 수 있다.
즉, 포워딩은 어떤 교차로로 들어서면 그 이후의 어떤 도로로 들어설지를 결정하는 것이고,
라우팅은 여행 시작 전에 운전자가 지도를 통해 교차로에 연결된 도로에서 이용 가능한 경로를 선택하는 것이다.
정리
라우팅
정의
출발지 → 목적지까지의 경로를 결정하는 작업
실제 정의
라우팅 알고리즘을 사용하여 포워딩 테이블을 만드는 작업
라우팅 알고리즘 : 비용이 가장 적게 드는 경로를 선택하는 알고리즘
포워딩
라우터의 입력 포트에서 (포워딩 테이블에 적힌 목적지 주소에 대응된) 출력 포트로 패킷을 이동하는 작업
여기서 입력/출력 포트는 따로 정해져 있는 것이 아니다. 단순히 패킷이 들어온 포트는 입력포트, 패킷이 나가는 포트를 출력 포트라고 부를 뿐이다.
라우팅 테이블 (결과물)
포워딩 테이블 및 라우팅 정보를 모두 나타낸 표 테이블
즉, 라우팅 알고리즘을 통해 라우팅 테이블이 만들어지고, 이 라우팅 테이블을 만드는 과정이 곧 경로를 결정하는 ‘라우팅’ 과정이다.
포워딩 테이블 (재료)
정의
수신 패킷에 대한 출력 링크 인터페이스를 결정하는 표 테이블, 즉 이 테이블을 참조하여 포워딩이 이뤄진다는 의미
실제 정의
라우팅 알고리즘에 의해 선택된 경로를 저장해 둔 테이블, 즉, 어떤 포트로 패킷을 내보냈을 때 목적지까지 가장 빨리 도달하는가를 저장해둔 테이블이라고 보면 됨
결국, 다시 한번 반복하지만 네트워크 계층에선 라우팅과 포워딩이 상호작용을 통해 이루어지며 이는 네트워크 계층 장비인 라우터에서 일어나는 일이다.
라우팅 알고리즘을 통해 라우팅 테이블이 만들어지고, 이 라우팅 테이블을 만드는 과정이 곧 경로를 결정하는 ‘라우팅’이다.
그리고, 라우팅 알고리즘에 의해 선택된 경로들이 적혀있는 포워딩 테이블을 참조하여 패킷의 목적지까지 가장 best 경로를 찾아 순간순간 적당한 포트로 패킷을 이동시키는 것을 우리는 라우팅과 포워딩이라고 생각할 수 있겠다.

2. 네트워크 간의 연결 구조

데이터 링크 계층의 이더넷 규칙을 기반으로 같은 네트워크에 있는 컴퓨터로 데이터 전송 가능
그렇다면 다른 네트워크로의 데이터 전송은 누가 담당하는가??
네트워크 계층의 역할이자, 라우터가 담당하며, 네트워크 간의 통신을 가능하게 함
상술한 것처럼 라우터는 라우팅과 포워딩의 기능을 활용하여 데이터의 목적지까지 어떤 경로를 이용해 갈지를 결정함
목적지 지정을 위해선 IP 주소가 필요하며, 네트워크의 어떤 컴퓨터까지를 구분할 수 있고, 이를 이용해 다른 네트워크의 목적지에 다다를 수 있음
경로 지정을 위해선 라우팅작업이 필요하며 이는 라우터가 담당

IP 주소의 구조

1. IP 주소란?

IP란 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장비에 부여되는 고유 주소
데이터를 전송할 때 정확한 주소 정보가 필요하고, 이를 IP 주소라고 한다.
버전은 IPv4, IPv6 2가지가 존재한다.
IP 프로토콜 버전 4 - IPv4[RFC 791]
32비트의 10진수로 표현하는 방식
컴퓨터는 2진수로 읽겠지만 사람이 읽기 쉽도록 8비트 단위옥텟으로 나눠서 표시
8비트의 범위
00000000 ~ 11111111(2진수) → 0 ~ 255(10진수)
생성 가능한 주소 갯수
21=22^1 = 2
28=2562^8 = 256
232=432^{32} = 약 43억
IP 프로토콜 버전 6 - IPv6[RFC 2460, RFC 4291]
128비트 16진수로 표현하는 방식
약 340간 = 약 340조의 1조배의 1조배

2. 공인 IP 주소와 사설 IP 주소

이미 43억개의 숫자는 고갈되었고, 새로운 버전인 IPv6가 나오긴 했지만, 기존의 IPv4 버전 기반의 주소체계 변경엔 비용이 많이 들어 상용화가 어려운 상황
그러나 고갈되었다고 하면서 IP 할당에 문제가 생긴 것을 본 적이 있는가?
→ 없다. 이유는?
사설 IP 주소 사용
공인 IP 주소
ICANN이라는 기관이 국가별로 IP 대역 사용을 관리하고, 우리나라는 한국인터넷진흥원(KISA)에서 국내 IP 주소를 관리
이를 인터넷 제공자 즉, ISP의 통신업체가 부여받고, 우리는 이런 통신업체에 가입하여 IP를 제공받음
이렇게 제공받는 IP를 공인 IP라고 한다.
사설 IP 주소
공유기까지는 공인 IP 할당하고, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크에 부여하는 IP 주소로, 어떤 네트워크 안에서만 사용되는 고유한 주소
공인 IP는 전 세계에서 유일하고, 사설 IP는 어떤 네트워크 안에서만 유일하다.
공인 IP 할당과 사설 IP할당을 통해 그룹으로 묶는 방법을 사설망 원리라고 한다.
비유로 쉽게 이해해보자.
학교 회의에 모든 학생이 참여할 수 없으니 대표인 반장을 뽑고, 각 반장은 자기 학급의 학생들의 의견을 대신 전달하고, 역으로 회의 내용을 자기 학급에 전달한다.
반 : 사설망
반장 : 게이트웨이(192.168.0.1 181.227.3.33)
학생들 : 각 컴퓨터(192.168.0.2, 192.168.0.3, 192.168.0.4 ...)
학교 : 외부 인터넷 혹은 네트워크(61.123.44.1)
사설망 안에서 각각의 컴퓨터는 유일하다.
즉, 똑같은 10번을 부여받아도 학급이 다르면 학급으로 구분할 수 있는 것처럼 사설망 개념도 같은 개념이다.
처음으로 돌아가서, 결국 IPv4 버전의 주소가 고갈되었어도 사설망 개념을 사용하면 같은 IP 주소를 네트워크마다 사용할 수 있다.
NAT
사설망 안의 컴퓨터가 외부와의 통신을 위한 방법
외부에서 볼 때 똑같은 사설 IP를 어떻게 아는 것인가?
→ 인터넷 주소 번역(Network Address Translation)
공유기(라우터)에 연결되어 있는 각 홈 네트워크의 사설 IP를 공인 IP로 변환하고, 이 공인 IP주소를 보낸다.
NAT 라우터에서 NAT 변환 테이블을 사용하고, 이 테이블에 사설 IP주소와 포트 번호를 기록하기 때문에 처리를 마치고 돌아온 응답이 이 NAT 변환 테이블을 기준으로 홈 네트워크의 컴퓨터를 찾아간다.