라우터 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와 달리 모든 정보를 갱신하는 것이 아니라 변화된 정보만 갱신 
 
EGP(Exterior Gateway Protocol)
- 개념: AS 간 통신에 사용하는 라우팅 프로토콜 
- 종류: - BGP(Border Gateway Protocol) - IGP 보다는 컨버전스 속도면에서 느리지만 대용량의 라우터 정보를 교환하는데 최적 
- TCP 3웨이핸드쉐이크 방식으로 통신 
 
 
라우팅 알고리즘
- 라우팅 정보를 취하는 범위에 따라 구분 - 글로벌 라우팅 알고리즘 - 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 주소를 사용하여 인터넷에 접속할 수 있게 하는 네트워크 장비 
 
- 내부 기능 - 내부 네트워크에서 사용하는 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷과 통신할 수 있게 함 
 
- 게이트웨이 - 내부 네트워크와 외부 네트워크(인터넷) 간의 데이터 라우팅 관리 
 
- 허브/스위치 - 여러 내부 장치들이 데이터를 공유하고 통신할 수 있게 연결하는 역할 
 
 
- 추가 기능 - WiFi - 최근의 공유기는 Wi-Fi 칩셋과 안테나를 탑재하여 AP 기능도 제공 
- 여러 무선 장치들이 인터넷에 접속할 수 있도록 함 
 
 
스위치
- 동작 계층 - 2계층 (데이터링크 계층) 
- MAC주소 기반 동작 
 
- 동작 방식 - A 디바이스와 스위치 연결 
- 스위치는 A 디바이스의 MAC주소 기록 
- MAC주소: NIC에 할당된 고유 식별 코드, 물리 디바이스를 식별하며 변하지 않음
- NIC은 이더넷 케이블에 연결, 케이블은 스위치에 연결 됨 
- 스위치는 MAC주소를 통해 어떤 디바이스가 외부 송출패킷을 전송했는지, 전송된 패킷을 어디로 전달해야하는지 파악 
- 패킷의 헤더를 읽어 목적지 주소에 맞게 적절한 포트를 통해 패킷 보냄 
 
- L3 스위치 - 3계층에서 운영하는 스위치 
- 가상LAN에 필수적, 논리적인 네트워크 분할을 서브넷까지 적용 - 한 서브넷에서 다른 서브넷으로 트래픽을 전달하기 위해서는 스위치와 스위치 사이를 거쳐야만 하는데, 이때 스위치에 탑재된 라우팅 기능 이용 
 
 
허브
- 개념 - 네트워크 환경에서 여러개의 기기를 서로 연결하는 역할을 하는 장치 
- 다수의 PC와 장치들을 묶어서 LAN을 구성할때 사용 
- 랜선은 하나고 연결할 컴퓨터는 여러대일경우 사용하며, 거리가 가까운곳의 컴퓨터들을 연결하는 역할 
 
- 역할 - 멀티포트- 공유기 포트가 부족하면 허브를 추가적으로 설치하여 포트를 늘림 
 
- 리피터- UTP 케이블의 경우 케이블 거리가 100M가 넘을경우 신호 감쇠현상 발생 
- 100M 거리가 넘는 두 컴퓨터 사이에 허브를 설치하여 네트워크 신호를 증폭시킴 
 
 
- 특징 - 브로드캐스트 방식 - 연결된 디바이스 한 대에서 전송한 패킷이 허브에 연결된 모든 디바이스로 전달 됨 ( - 스위치와 차이점)
 
- 간단한 데이터 전달 기능 제공 
- 주로 소규모 네트워크 환경에서 사용 
- 스위치, 라우터와 같은 고급 네트워크 장치에 비해 성능이 낮아 현재는 많이 사용되지 않음 
 
ref
IT 엔지니어를 위한 네트워크 입문 라우팅 vs 포워딩 컴퓨터네트워크 04 : Network Layer 3.라우팅(포워딩, 링크상태 라우팅,...) 정적 라우팅, 고정 라우팅 Routing Table, Forwarding Table 라우팅 테이블, 포워딩 테이블
Last updated