출처 - https://github.com/jmxx219/CS-Study (opens in a new tab)
라우터 Router
- 동작 계층: 네트워크 계층
- 개념
- 하나의 공인IP를 공유해주는 장치
- NAT기능을 가진 내부 네트워크와 외부 네트워크를 연결해주는 장치
- 데이터들이 전송되는 경로를 지정해주는 장치
-
라우터로 패킷이 들어오면 목적지 IP 주소 확인
-
자신이 가진 경로 (Route) 정보를 이용해 패킷을 최적의 경로로 포워딩
내부 네트워크가 보낸 패킷에 대해 내부 계산을 통해 도착할 수 있는 경로 설정
-
- L3 스위치 역할도 진행
라우팅
-
개념
- 네트워크에서 경로를 선택하는 프로세스
-
라우터가 경로 정보를 얻는 방법
- 다이렉트 커넥티드
- 스태틱 라우팅
- 다이나믹 라우팅
- 라우터가 경로 정보를 얻는 방법은 매우 다양하지만 크게 3가지 방법으로 구분할 수 있음
- 위 3가지 방법을 이용해 경로 정보를 수집하고 수집된 경로 정보 중 목적지에 대한 최적의 경로를 선정해 라우팅 테이블을 만듦
다이렉트 커넥티드 Direct Connected
- 개념
- 네트워크 인터페이스에 IP 주소가 할당되면 자동으로 생성되는 라우팅 정보
- 특징
- 해당 네트워크 인터페이스를 통해 직접 연결된 네트워크에 대한 경로 정보를 가짐
- 생성
- 인터페이스에 IP 설정 시 자동 생성
- 삭제
- 해당 네트워크 설정 삭제 또는 네트워크 인터페이스 비활성화 시 자동 삭제
- 한계
- 내부 네트워크 한정
- 오직 그 인터페이스가 직접 연결된 로컬 네트워크에만 적용
- 외부 네트워크 통신 불가
- 다이렉트 커넥티드 라우트만 있는 경우, 외부 네트워크(인터넷 포함)와의 통신은 불가능
- 다른 경로 정보나 기본 게이트웨이 설정 필요
- 내부 네트워크 한정
라우팅 테이블과 다이렉트 커넥티드
라우팅 테이블
- 라우터가 네트워크 패킷을 전송해야 할 경로를 결정하는 데 사용하는 정보를 포함
- 목적지가 다이렉트 커넥티드인 경우
- L2 통신(ARP 요청 포함)을 통해 목적지에 도달
- 네트워크 내에서의 직접 통신에 최적화
스태틱 라우팅 Static Routing
- 개념
- 관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정보를 입력하는 것
- 장점
- 관리자가 수동으로 경로를 설정하기에 라우터 CPU에 오버헤드가 없음
- 네트워크 관리자가 라우팅 동작을 제어하기에 보안상 더 유리한 부분이 있음
- 단점
- 네트워크 규모가 증가할 수록 네트워크 관리자의 작업이 더 어려워짐
- 라우팅 정보를 입력해야 하기에 네트워크 관리자가 네트워크 구성 정보를 모두 알고 있어야 함
- 네트워크 정보 변경시 네트워크 관리자가 경로를 재설정하기 전까지 방문 불가한 곳이 생길 수 있음
다이나믹 라우팅 Dynamic Routing
라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습하여 라우팅 테이블을 상시 자동적으로 생성, 유지하는 라우팅 방식이다.
- 장점
- 네트워크 관리자의 라우팅 정책 유지를 위한 작업 리소스가 적다.
- 네트워크 구성과 상황에 맞게 최적의 경로를 선택할 수 있다.
- 경로 손실이 발생하더라도 백업 경로가 있기 때문에 내결함성을 가진다.
- 단점
- 다른 많은 장비들과 통신하기 위해 스태틱 라우팅에 비해 상대적으로 더 많은 대역폭 소비가 발생한다.
✔️ AS
자율 시스템(AS, Autonomous System)
- 개념
- 일관된 라우팅 정책을 가지고 있는 라우터의 집단
- 고유한 라우팅 정책을 가지고 있는 ISP, 정부(공공)기관, 회사, 단체 등을 지칭
- 특징
외부 인터넷
과BGP
라우팅 프로토콜을 사용해 자신들의 네트워크에 대한 연결성 제공- 반드시
BGP
를 사용하여 외부 네트워크와 연동하도록 되어있음 - 현재 각 AS를 연동하는데 사용되는 통신규약은 BGP가 유일
- 반드시
- AS 내의 라우터들은 서로 동일한 라우팅 프로토콜 사용
- AS 내의 네트워크와 라우터들은 한 조직에 의해 관리 됨
- AS번호
- 각각의 자율 시스템을 식별하기 위한 인터넷 상의 고유한 숫자
- 사업자 식별번호
라우팅 프로토콜
- 인터넷에는 AS(Autonomous System)라는 자율 시스템이 존재
- 인터넷 사업자(SKT, KT, LGU+)가 한 개 이상의 AS를 운영
- AS 정보 전달
- 하나의 AS는 하나의 조직이므로 AS 내부에서는 자체적으로 규칙을 세워 운영할 수 있음
- 다른 AS와 연결 위해서는 내부와 다른 방법으로 정보를 전달해야 함
- AS 내부의 연결은 효율성이 중요하지만, 다른 AS와 연결에서는 효율성보다 조직 간 정책이 더 중요
IGP(Interior Gateway Protocol)
- 개념: AS 내에서 사용하는 라우팅 프로토콜
- 종류:
- RIP(Routing Information Protocol)
- 패킷이 경유할 가능성이 있는 라우터를 홉수 기준으로 최단 경로를 결정
- 네트워크 주소, IP, 홈수 등의 정보는 라우터 내 DB에 기록되며 정기적으로 정보를 교환하여 업데이트
- OSPF(Open Shortest Path First)
- 링크 상태(Link State) 라우팅 프로토콜을 기초로 함
- 링크 상태의 변화시에만 라우팅 정보를 업데이트
- RIP와 달리 모든 정보를 갱신하는 것이 아니라 변화된 정보만 갱신
- RIP(Routing Information Protocol)
EGP(Exterior Gateway Protocol)
- 개념: AS 간 통신에 사용하는 라우팅 프로토콜
- 종류:
- BGP(Border Gateway Protocol)
- IGP 보다는 컨버전스 속도면에서 느리지만 대용량의 라우터 정보를 교환하는데 최적
- TCP 3웨이핸드쉐이크 방식으로 통신
- BGP(Border Gateway Protocol)
라우팅 알고리즘
- 라우팅 정보를 취하는 범위에 따라 구분
- 글로벌 라우팅 알고리즘
- ex) 링크 상태 알고리즘
- 분산 라우팅 알고리즘
- ex) 거리 벡터 알고리즘
- 글로벌 라우팅 알고리즘
- 부하에 민감한 정도에 따라 구분
- 부하 민감 라우팅 알고리즘
- ex) 초기 ARPANET
- 부하 둔감 라우팅 알고리즘
- ex) RIP, OSPF, BGP 등
- 부하 민감 라우팅 알고리즘
글로벌 라우팅 알고리즘
- 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이의 최소 비용 경로를 계산
- 모든 라우터가 연결 상태와 링크 비용을 알고 있다.
- 링크 상태 알고리즘이 여기에 속하고 다익스트라 알고리즘(Dijkstra algorithm)을 사용한다.
분산 라우팅 알고리즘
- 최소 비용 경로의 계산이 라우터들에 의해 반복적이고 분산된 방식으로 수행
- 어떤 라우터도 모든 링크 비용에 대한 완전한 정보를 갖고 있지 않지만, 자신과 인접한 노드의 링크 비용 정보를 알고 있다.
- 거리 벡터 알고리즘이 여기에 속하고 벨만-포드 알고리즘(Bellman-Ford algorithm)을 사용한다.
라우팅 테이블
-
개념
- 라우터가 네트워크 내에서 패킷을 전송할 최적의 경로를 결정하기 위해 사용하는 정보가 저장된 테이블
-
저장 위치
- RAM에 저장 (전원이 종료될 경우 정보 소실됨)
-
라우팅 테이블의 각 항목의 구성 요소
Target
: 패킷이 도착해야 할 목적지 네트워크의 IP 주소Prefix-Length
: Target IP 주소 중 네트워크를 식별하는 데 사용되는 비트 수Next Hop
: 패킷이 목적지로 가기 위해 거쳐야 할 다음 라우터의 주소Interface
: 패킷이 해당 라우터에서 다음 목적지로 이동하기 위해 사용되는 네트워크 인터페이스
-
라우팅 테이블 작동 원리
경로 결정
- 라우터는 패킷의 목적지 주소(Target)를 라우팅 테이블의 항목과 비교하여 Prefix-Length가 일치하는 경로를 찾음
패킷 전송
- 일치하는 경로를 찾으면, 해당 경로의 Next Hop 주소로 패킷을 전송하기 위해 지정된 Interface를 사용함
다이렉트 커넥티드
- 목적지가 라우터에 직접 연결된 경우, Next Hop은 'directly connected'로 표시 됨
- 즉 목적지가 라우터와 직접 연결되어 있다는 의미
- 특징
- 효율성
- 최적의 경로를 통해 네트워크 트래픽을 관리하고 전송 효율을 최대화함
- 네트워크 관리
- 네트워크의 다양한 경로 정보를 관리하고 필요에 따라 조정할 수 있음
- 효율성
라우터 구조
라우터는 입력 포트(Input ports) -> 스위칭(패브릭) / 라우팅 프로세서(Routing processor) -> 출력 포트(Output ports)의 구조로 되어 있다.
라우팅 프로세서가 처리하는 관리 제어 측면을 라우팅이라고 하고, 입출력 포트와 스위칭을 활용하는 것이 데이터적인 측면, 포워딩이라고 한다.
Input port
입력 포트의 구조는 아래와 같다.
+----------+ +-------- ------+ +-------+
| 물리 계층 | ----> | 데이터링크 계층 | ----> | queue | ---> (fabric)
| 프로세서 | | 프로세서 | | |
+----------+ +---------------+ +-------+
Output port
입력 포트를 뒤집은 모양이다.
+--------+ +----------+ +---------------+
| queue | ----> | 물리 계층 | ----> | 데이터링크 계층 | ---> 외부
| | | 프로세서 | | 프로세서 |
+--------+ +----------+ +---------------+
포워딩 Forwarding
포워딩은 라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것을 말한다.
포워딩 방법
- 라우터는 입력 링크 측으로부터 수신된 패킷의 헤더 부분에서 IP 주소 추출
- 추출된 IP 주소를 라우팅 테이블과 비교
- 어느 포트에 연결된 링크로 보낼지 결정
- 새로운 헤더 정보를 붙여서 다음 라우터로 전달
포워딩 테이블
- 입력 포트의 수신 패킷을 어느 출력 포트로 보낼 것인가를 나타낸 테이블
- 스위치 및 라우터 장비 모두가 포워트 테이블을 관리
라우팅과 포워딩
-
라우팅
- 출발지에서 목적지까지 경로를 설정하는 것
- 라우팅 알고리즘을 사용하여 최적인 경로를 계산
- 제어 평면에 구현된 기능
- 포워딩보다 더 긴 시간이 소요되며 소프트웨어에서 실행됨
-
포워딩
- 라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것
- 데이터 평면에 구현된 기능
- 매우 짧은 시간안에 수행되며, 하드웨어에서 실행됨
➕ 헷갈리는 개념
공유기
- 개념
- 소용량 라우터 == 홈 라우터
- (공유기를 영어로 번역하면 라우터, 보통 공유기는 가정용 라우터를 뜻 함)
- 여러 컴퓨터나 장치들이 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 수 있게 하는 네트워크 장비
- 소용량 라우터 == 홈 라우터
- 내부 기능
- NAT (opens in a new tab)
- 내부 네트워크에서 사용하는 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷과 통신할 수 있게 함
- 게이트웨이
- 내부 네트워크와 외부 네트워크(인터넷) 간의 데이터 라우팅 관리
- 허브/스위치
- 여러 내부 장치들이 데이터를 공유하고 통신할 수 있게 연결하는 역할
- NAT (opens in a new tab)
- 추가 기능
- WiFi
- 최근의 공유기는 Wi-Fi 칩셋과 안테나를 탑재하여 AP 기능도 제공
- 여러 무선 장치들이 인터넷에 접속할 수 있도록 함
- WiFi
스위치
- 동작 계층
- 2계층 (데이터링크 계층)
- MAC주소 기반 동작
- 동작 방식
- A 디바이스와 스위치 연결
- 스위치는 A 디바이스의 MAC주소 기록
MAC주소
: NIC에 할당된 고유 식별 코드, 물리 디바이스를 식별하며 변하지 않음- NIC은 이더넷 케이블에 연결, 케이블은 스위치에 연결 됨
- 스위치는 MAC주소를 통해 어떤 디바이스가 외부 송출패킷을 전송했는지, 전송된 패킷을 어디로 전달해야하는지 파악
- 패킷의 헤더를 읽어 목적지 주소에 맞게 적절한 포트를 통해 패킷 보냄
- L3 스위치
- 3계층에서 운영하는 스위치
- 가상LAN에 필수적, 논리적인 네트워크 분할을 서브넷까지 적용
- 한 서브넷에서 다른 서브넷으로 트래픽을 전달하기 위해서는 스위치와 스위치 사이를 거쳐야만 하는데, 이때 스위치에 탑재된 라우팅 기능 이용
허브
- 개념
- 네트워크 환경에서 여러개의 기기를 서로 연결하는 역할을 하는 장치
- 다수의 PC와 장치들을 묶어서 LAN을 구성할때 사용
- 랜선은 하나고 연결할 컴퓨터는 여러대일경우 사용하며, 거리가 가까운곳의 컴퓨터들을 연결하는 역할
- 역할
멀티포트
- 공유기 포트가 부족하면 허브를 추가적으로 설치하여 포트를 늘림
리피터
- UTP 케이블의 경우 케이블 거리가 100M가 넘을경우 신호 감쇠현상 발생
- 100M 거리가 넘는 두 컴퓨터 사이에 허브를 설치하여 네트워크 신호를 증폭시킴
- 특징
- 브로드캐스트 방식
- 연결된 디바이스 한 대에서 전송한 패킷이 허브에 연결된 모든 디바이스로 전달 됨 (
스위치와 차이점
)
- 연결된 디바이스 한 대에서 전송한 패킷이 허브에 연결된 모든 디바이스로 전달 됨 (
- 간단한 데이터 전달 기능 제공
- 주로 소규모 네트워크 환경에서 사용
- 스위치, 라우터와 같은 고급 네트워크 장치에 비해 성능이 낮아 현재는 많이 사용되지 않음
- 브로드캐스트 방식
ref
IT 엔지니어를 위한 네트워크 입문 (opens in a new tab)
라우팅 vs 포워딩 (opens in a new tab)
컴퓨터네트워크 04 : Network Layer (opens in a new tab)
3.라우팅(포워딩, 링크상태 라우팅,...) (opens in a new tab)
정적 라우팅, 고정 라우팅 (opens in a new tab)
Routing Table, Forwarding Table 라우팅 테이블, 포워딩 테이블 (opens in a new tab)