네트워크 계층의 역할
1. 개요
•
네트워크 계층은 서로 상호작용하는 데이터 평면과 제어 평면의 두 부분으로 분리된다.
◦
데이터 평면은 “어떻게 도착하는지에 관심사”가 존재
◦
제어평면은 “어떻게 지나갈 것인지에 관심사”가 존재
•
데이터 평면
◦
포워딩(전달) : 패킷이 라우터의 입력 링크에 도달했을 때 패킷을 적절한 출력 링크로 이동시키는 것에 관한 개념
•
제어 평면
◦
라우팅(경로) : 패킷을 전송할 때 패킷 경로를 결정하는 부분에 관한 개념
→ 라우팅 알고리즘
포워딩은 매우 짧은 시간 단위로 하드웨어에서 실행되고,
라우팅은 네트워크 전반에 걸쳐 출발지 → 목적지까지의 경로를 결정하는 것으로 더 긴 시간을 갖으며 소프트웨어에서 실행된다.
EX)
여행 동안에 많은 교차로를 지나게 될텐데 포워딩은 교차로 하나를 지나는 과정이라고 할 수 있다면, 라우팅은 “서울”에서 “부산”까지의 여행 계획 과정이라고 볼 수 있다.
즉, 포워딩은 어떤 교차로로 들어서면 그 이후의 어떤 도로로 들어설지를 결정하는 것이고,
라우팅은 여행 시작 전에 운전자가 지도를 통해 교차로에 연결된 도로에서 이용 가능한 경로를 선택하는 것이다.
•
라우팅
◦
정의
▪
출발지 → 목적지까지의 경로를 결정하는 작업
◦
실제 정의
▪
라우팅 알고리즘을 사용하여 포워딩 테이블을 만드는 작업
•
포워딩
◦
라우터의 입력 포트에서 (포워딩 테이블에 적힌 목적지 주소에 대응된) 출력 포트로 패킷을 이동하는 작업
▪
여기서 입력/출력 포트는 따로 정해져 있는 것이 아니다. 단순히 패킷이 들어온 포트는 입력포트, 패킷이 나가는 포트를 출력 포트라고 부를 뿐이다.
•
라우팅 테이블 (결과물)
◦
포워딩 테이블 및 라우팅 정보를 모두 나타낸 표 테이블
◦
즉, 라우팅 알고리즘을 통해 라우팅 테이블이 만들어지고, 이 라우팅 테이블을 만드는 과정이 곧 경로를 결정하는 ‘라우팅’ 과정이다.
•
포워딩 테이블 (재료)
◦
정의
▪
수신 패킷에 대한 출력 링크 인터페이스를 결정하는 표 테이블, 즉 이 테이블을 참조하여 포워딩이 이뤄진다는 의미
◦
실제 정의
▪
라우팅 알고리즘에 의해 선택된 경로를 저장해 둔 테이블, 즉, 어떤 포트로 패킷을 내보냈을 때 목적지까지 가장 빨리 도달하는가를 저장해둔 테이블이라고 보면 됨
라우팅 알고리즘을 통해 라우팅 테이블이 만들어지고, 이 라우팅 테이블을 만드는 과정이 곧 경로를 결정하는 ‘라우팅’이다.
그리고, 라우팅 알고리즘에 의해 선택된 경로들이 적혀있는 포워딩 테이블을 참조하여 패킷의 목적지까지 가장 best 경로를 찾아 순간순간 적당한 포트로 패킷을 이동시키는 것을 우리는 라우팅과 포워딩이라고 생각할 수 있겠다.
2. 네트워크 간의 연결 구조
•
데이터 링크 계층의 이더넷 규칙을 기반으로 같은 네트워크에 있는 컴퓨터로 데이터 전송 가능
•
그렇다면 다른 네트워크로의 데이터 전송은 누가 담당하는가??
◦
네트워크 계층의 역할이자, 라우터가 담당하며, 네트워크 간의 통신을 가능하게 함
•
상술한 것처럼 라우터는 라우팅과 포워딩의 기능을 활용하여 데이터의 목적지까지 어떤 경로를 이용해 갈지를 결정함
◦
목적지 지정을 위해선 IP 주소가 필요하며, 네트워크의 어떤 컴퓨터까지를 구분할 수 있고, 이를 이용해 다른 네트워크의 목적지에 다다를 수 있음
◦
경로 지정을 위해선 라우팅작업이 필요하며 이는 라우터가 담당
IP 주소의 구조
1. IP 주소란?
•
IP란 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장비에 부여되는 고유 주소
•
데이터를 전송할 때 정확한 주소 정보가 필요하고, 이를 IP 주소라고 한다.
•
버전은 IPv4, IPv6 2가지가 존재한다.
•
32비트의 10진수로 표현하는 방식
•
컴퓨터는 2진수로 읽겠지만 사람이 읽기 쉽도록 8비트 단위의 옥텟으로 나눠서 표시
•
8비트의 범위
◦
00000000 ~ 11111111(2진수) → 0 ~ 255(10진수)
•
생성 가능한 주소 갯수
개
•
128비트 16진수로 표현하는 방식
•
약 340간 = 약 340조의 1조배의 1조배
2. 공인 IP 주소와 사설 IP 주소
•
이미 43억개의 숫자는 고갈되었고, 새로운 버전인 IPv6가 나오긴 했지만, 기존의 IPv4 버전 기반의 주소체계 변경엔 비용이 많이 들어 상용화가 어려운 상황
→ 없다. 이유는?
•
사설 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 주소를 네트워크마다 사용할 수 있다.
•
사설망 안의 컴퓨터가 외부와의 통신을 위한 방법
•
외부에서 볼 때 똑같은 사설 IP를 어떻게 아는 것인가?
→ 인터넷 주소 번역(Network Address Translation)
•
공유기(라우터)에 연결되어 있는 각 홈 네트워크의 사설 IP를 공인 IP로 변환하고, 이 공인 IP주소를 보낸다.
•
NAT 라우터에서 NAT 변환 테이블을 사용하고, 이 테이블에 사설 IP주소와 포트 번호를 기록하기 때문에 처리를 마치고 돌아온 응답이 이 NAT 변환 테이블을 기준으로 홈 네트워크의 컴퓨터를 찾아간다.