라우터
: 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 지정해주는 장비
: 원격지 통신의 필수 장비
: 자신이 속한 네트워크로의 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장
: 들어온 패킷의 목적지 주소가 라우팅 테이블에 없을 경우 패킷을 버림
: 패킷 포워딩 과정에서 기존의 데이터링크 계층의 헤더 정보를 제거하고 새로운 헤더 정보를 삽입
- L3 스위치
: 네트워크 계층에서 동작하는 스위치
: 라우터와 같은 의미
라우터의 경로지정
: 라우터는 패킷의 IP 주소를 확인하여 원격지로 적절한 경로로 패킷을 포워딩함
- 라우터가 경로를 저장하는 방법
: IP 주소와 함께 인전 네트워크 정보를 획득
: 관리자가 직접 경로 정보를 입력
: 라우터끼리 경로 정보를 교환
브로드캐스트 컨트롤 / 멀티캐스트 컨트롤
: 브로드캐스트가 다른 네트워크로 전파되는 것을 막는 기능
: 패킷의 도착지 주소를 모르면 플러딩을 통해 모든 포트에 패킷을 전송하는 스위치와 달리
라우터는 분명한 도착지 정보가 있을 경우에만 통신을 허락
: 라우터는 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전송하지 않음
프로토콜 변환
: 서로 다른 프로토콜로 구성된 네트워크를 연결하는 라우터의 기능
: 라우터에 들어온 패킷의 데이터링크 계층 헤더를 갱신하여 작동
: WAN 구간에서는 PPP와 같은 WAN 프로토콜을 사용
: LAN 구간에서는 라우터를 거치면서 데이터링크 계층의 헤더가 제거되고 WAN 구간으로 나올 때 변환됨
라우팅 / 스위칭
- Summary
: 서브넷 단위로 라우팅 정보를 습득하고 최적화 하기 위해
여러 개의 서브넷 정보를 뭉쳐 패킷을 전달 하는 라우터의 기능
: 라우터에 들어온 패킷의 목적지 주소와 라우터가 가지고 있는 라우팅 테이블 정보가 정확하게
일치하지 않더라도 근접한 정보를 찾아 패킷을 포워딩
- Hop By Hop
: 단말부터 목적지 까지의 모든 경로를 책임지지 않고 인접한 라우터까지 경로를 지정하여 포워딩하는 방법
: 현재 인터넷의 라우터들이 채택한 방법
: 라우터는 최적의 넥스트 홉 (인접한 라우터)로 패킷을 전송
※ 넥스트 홉을 지정하는 방법
: 패킷의 목적지 주소만을 확인하여 넥스트 홉으로 포워딩
- 패킷의 목적지 주소로 다음 라우터의 IP를 지정
: 일반적인 방법
- 라우터의 나가는 인터페이스를 지정
: 특수한 경우에 사용
> 넥스트 홉의 MAC 주소 정보를 알아낼 수 있을 때 사용
: WAN 구간 전용선에서 PPP나 HDLC와 같은 프로토콜을 사용하는 경우
> 이 경우 상대방 라우터에서 프록시 ARP가 동작하여 MAC 주소를 알 수 있음
- 라우터의 나가는 인터페이스와 다음 라우터의 IP를 지정
: VLAN 인터페이스와 같이 논리적인 인터페이스를 사용하는 경우
※ 라우팅 테이블에 저장하는 데이터
: 목적지 주소
: 넥스트홉 IP 주소, 나가는 로컬 인터페이스
- PBR (Policy-Based Routing) / Flush Routing / Source Routing
: 라우터에서 패킷의 출발지 주소를 이용해 라우팅하는 기능
: 별도의 라우팅 정책 설정 필요
: 관리가 어려워지고 문제 발생 시 해결이 어려움
: 도착지 IP와 포트 번호와 같은 다양한 조건을 합쳐 사용 가능
※ TTL (Time To Live)
: 네트워크 계층에서 패킷이 무한정 도는 라우팅 루프를 방지하기 위해 패킷에 부여한 수명 값
: 하나의 라우터 (홉)를 지날 때마다 TTL의 값이 1씩 줄어듦
라우터가 경로 정보를 얻는 방법
- 다이렉트 커넥티드
: IP주소와 서브넷 마스크를 통해 해당 IP 주소가 속한 네트워크 정보를 알아내
해당 네트워크에 대해 만든 라우팅 테이블의 경로 정보
: 인터페이스에 IP를 설정하면 자동 생성되기 때문에 삭제가 되지 않음
> 해당 네트워크 설정을 삭제하거나 해당 네트워크 인터페이스가 비활성 되야 삭제됨
- 스태틱 라우팅
: 관리자가 목적지 네트워크와 넥스트 홉을 지정하여 경로 정보를 입력하는 것
: 마찬가지로 연결된 인터페이스 정보가 삭제되거나 비활성화 되면 삭제 됨
> 논리 인터페이스의 경우 물리 인터페이스가 비활성화 되도
함께 비활성화 되지 않는 경우가 있어 삭제되지 않을 수 있음
- 다이나믹 라우팅
: 라우터 끼리 경로 정보와 링크 상태 정보를 교환하여 전체 네트워크 정보를 학습
: 라우터 끼리 상태가 변화하거나 주기적으로 경로 정보를 교환
: 장애 발생 시 대체 경로를 통해 포워딩 가능
: 라우터는 자신이 광고할 네트워크를 선언해야함
라우터의 역할
: 다양한 경로 정보를 체계적으로 데이터베이스화 하고 순위를 부여하여
최선의 경로 정보를 수집
: 패킷을 포워딩할 때 최적의 경로를 찾는 작업을 단순화 하기 위해 최적의 경로만 추려 별도 테이블에 저장
: 라우팅 테이블을 통해 다음 라우터 까지의 경로를 포워딩
- 토폴로지 테이블
: 라우터가 수집한 경로 정보 및 원시 데이터를 저장한 테이블
- 라우팅 테이블
: 토폴로지 테이블에서 최적의 경로만 저장한 테이블
스위칭
: 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩 하는 작업
: 패킷 경로를 지정해 보내는 작업
: 한 번 스위칭 작업을 수행한 정보는 캐시에 저장
> 목적지 IP만 캐시
> 출발지 IP / 목적지 IP / 포트번호까지 캐시
> 넥스트 홉 L2 정보까지 캐시 (Redis와 같은 메모리 캐시를 이용해 베이스 부하를 줄이는 기법과 유사)
- Longest Prefix Match (LPM) / Maximum Prefix Length Match
: 들어온 패킷의 도착지 IP와 완전히 매치되는 경로 정보가 없을 경우
라우터 자신이 가지고 있는 경로 정보 중 가장 가까운 경로를 선택하는 알고리즘
- Longest Prefix Matching (LPM) / Longest Match Rule
: 라우터 자신이 가지고 있는 경로 정보 중 가장 가까운 경로를 선택하는 작업
- LPM 테이블
: 라우터나 스위치에서 관리할 수 있는 라우팅 테이블
- 장비 데이터시트
: 도입해야할 장비가 관리할 수 있는 테이블의 양으로 성능을 확인 할 수 있는 테이블
- Exact Match
: 라우팅 테이블에서 패킷의 목적지 IP에 부합하는 정확한 정보를 매치하는 Search 작업
: 부정확한 정보 중 가장 비슷한 경로를 찾는 LPM 보다 리소스 소모가 적음
> LPM은 반복작업이 발생하기 때문
라우팅 및 스위칭의 우선순위
- 다이렉트 커넥티드
: 라우터에 바로 붙은 대역이기 때문에 경로 선정시 1순위
- 스태틱 라우팅
: 관리자가 직접 설정 했기 때문에 신뢰도가 높음
- 다이나믹 라우팅
: 라우팅 프로토콜로 부터 경로를 전달 받은 네트워크에 대한 라우팅
: 어떤 라우팅 프로토콜을 통해 정보를 얻었느냐에 따라 우선순위가 달라짐
- AD (Adminstrative Distance)
: 관리자가 라우팅 경로를 조정하기 위해 정하는 우선 순위
: 라우팅 별 가중치
1. 다이렉트 커넥티드 (Connected Interface)
2. 스태틱 라우팅 (Static Route)
20. Externeal BGP
110. OSFP
115 IS-OS
120. RIP
200. Internal BGP
255. Unknown
- ECMP (Exqual-Cost-Multi-Path)
: 경로 정보를 얻은 소스가 같아 가중치가 같은 경우 cost 값을 통해 우선순위를 결정
: cost 값까지 동일한 경우 ECMP를 통해 해당하는 경로 값 정보를 모두 활용하여 트래픽을 분산
> cost 값은 일종의 거리를 나타내는 값으로 라우팅 프로토콜 마다 기준이 다름
: 라우팅 프로토콜 별 cost 값
> RIP (홉 수)
> OSPF (대역폭)
> EIGRP (다양한 값)
- 라우팅 우선순위
1. LPM (스위칭)
2. AD (라우팅)
3. cost (라우팅)
4. ECMP (부하분산) (라우팅)
라우팅 설정 방법
- 다이렉트 커넥티드
: 라우팅 테이블을 확인하여 목적지가 다이렉트 커넥티드라면 라우터는 ARP 요청을 통해 직접 목적지에 도달
: 목적지가 외부 네트워크인 경우 다이렉트 커넥티드 라우팅 테이블 정보만 있으면 통신 불가
> 스태틱 라우팅이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 라우팅 정보 필요
: 다이렉트 커넥티드 정보가 잘못된 경우에도 외부 네트워크와 통신 불가
> 외부 네트워크로 나가기 위해서는 다이렉트 커넥티드가 필요하기 때문
> IP 주소를 잘못 설정하거나 서브넷 마스크의 범위를 잘못 설정하면 다이렉트 커넥티드 정보가 잘못 입력됨
스태틱 라우팅
: 네트워크 정보를 쉽게 추가하고 경로를 직접 제어할 수 있는 강력한 방법
: 라우팅 설정 문법
> ip route NETWORK NETMASK NEXTHOP [시스코 장비의 라우팅 설정]
> route add -net NETWORK /Prefix gw NEXTHOP [리눅스의 라우팅 설정]
=> 패킷을 NEXTHOP에 보내서 목적지로 전송 한다는 의미
※ 대용량 라우팅
: 인터넷에는 840000개의 이상의 라우팅 정보가 존재
: 많은 라우팅 정보를 처리하기 위해서는 대용량의 인터넷 전용 라우터가 필요
: 인터넷 정보를 모두 가질 수 있는 전용 라우터는 KT, SK Broadband, LGU+와 같은 인터넷 사업자가 운영
=> 일반적인 회사의 라우터는 스태틱 라우팅을 확장한 디폴트 라우팅을 활용하여
인터넷 라우팅 정보를 효율적으로 알 수 있음
- 디폴트 라우팅 (디폴트 게이트웨이)
: 목적지 주소의 서브넷 마스크가 모두 0인 스태틱 라우팅
: 서브넷 마스크를 2진수 연산하여 네트워크 주소를 뽑아내 스태틱 라우팅의 명령어 수를 줄임
: 인터넷으로 향하는 경로나 자신을 향한 경로 정보가 없는 경우에 마지막 대체 경로로 사용
: 디폴트 라우팅은 디폴트 게이트웨이와 같은 의미
> 서버에 디폴트 게이트웨이를 설정하면 서버의 라우팅 테이블에 디폴트 라우팅이 생성됨
※ 디폴트 라우팅
: 라우팅 능력이 있는 장비에서 사용 (패킷이 들어올 경우 특정 경로로 포워딩 하는 능력)
※ 디폴트 게이트웨이
: 라우팅 능력이 없는 장비에서 사용
다이나믹 라우팅
: 관리자의 직접적인 개입 없이 라우터끼리 정보를 교환하여 최신 정보를 유지하는 라우팅
: 일반적으로 네트워크 환경을 구축할 때는 SPoF (단일장애점)을 없에기 위해
두 개 이상의 라우팅 경로를 유지
> 이 경우 스태틱 라우팅만 설정하면 다음 홉 이상에서의 네트워크 변화에 빠른 대응이 불가
> 중간 경로에서 장애 발생 시 관리자가 수동으로 설정하여 해결 필요
> 스태틱 라우팅은 네트워크가 커지면 고려해야할 대체 경로가 많아 관리가 힘듦
- 라우팅 프로토콜
: RIP, OSPF, IS-IS, IGRP, EIGRP 등이 있음
: 최근에는 OSPF (Link State / 유니캐스트 라우팅)와 BGP (유니캐스트 라우팅) 프로토콜을 주로 사용
라우팅 프로토콜의 분류
- AS (Autonomous System)
: 인터넷 사업자가 운영하는 자율 시스템
: 통신사 간 통신에도 비용이 발생하기 때문에 연결 경로가 달라지면서
인터넷의 특정 서버로 통신이 빠르거나 느린 차이가 발생함
> 인터넷 사업자간 이해관계에 따라 라우팅 경로가 달라지면서 성능차 발생
- IGP (Interior Gateway Protocol)
: AS 내부에서 사용하는 라우팅 프로토콜
: 자체적인 규칙을 세워 운영
: 효율성 중시
- EGP (Exterior Gateway Protocol)
: AS 간 통신에 사용하는 라우팅 프로토콜
: 내부와 다른 방법으로 정보 전달
: 조직간 정책 중시
IGP 라우팅 프로토콜의 분류
- Distance Vector
: 인접한 라우터에서 경로 정보를 습득하는 라우팅 프로토콜
: 멀리 있는 라우터의 정보를 인접 라우터를 통해 간접적으로 받기 때문에
라우팅 정보 처리에 많은 리소스가 필요 없음
> 간단한 네트워크에 적합
: 모든 라우터의 정보를 동기화 하는데 시간이 오래 걸림
: RIP, BGP
- Link-State
: 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜
: 경로의 직접 적인 상태 정보를 받아 볼 수 있음
: 링크 상태를 교환해 토폴로지 데이터베이스를 만들고 이 정보를 다시
SPF(Shortest Path First) 알고리즘을 이용해 최단 경로 트리를 만듦
: 최단 경로 트리를 이용해 최적의 경로를 선정한 후 라우팅 테이블에 추가
: 전체 네트워크 상태 정보를 받아 각자 처리하므로 전체 네트워크 맵과
경로 변화를 파악하는데 유리
> 리소스 소모가 큼
: 네트워크 변화를 빠르게 감지하고 리소스를 최적화하기 위해
네트워크를 Area 단위로 분리하고 Area 내에서 링크 상태 정보를 교환
> Area 외부에서는 가공된 라우팅 테이블 형태로 정보를 전달
: OSPF
> Backbone area를 통해 모든 area를 연결하는 방식의 프로토콜
> area 간이나 외부 네트워크와의 연결을 위해 ABR이나 ASBR과 같은 특수 라우터가 필요
> ABR (Area Border Router)은 Backbone area와 다른 area를 연결시켜주는 경계 라우터
> ASBR (Autonomous System Border Router)은 외부 정보를 OSPF와 연결 시켜주는 외곽 라우터
- Advanced Distance Vector
: Distance Vector와 Link-State의 장점을 섞은 라우팅 프로토콜
: Distance Vector 보다 다양한 경로 선정을 위한 요소가 있으며
직접 연결된 장비를 지나간 장비까지 고려하여 경로를 선정
: IGRP, EIGRP
결론
: 대부분의 네트워크에서 IGP로 OSPF와 BFP를 많이 사용
: EGP로는 BGP를 많이 사용
- RIP
: 연산도 적고 유지보수가 간단하여 소형 네트워크에서 많이 사용했음
: 정보교환이 느리고 홉 수에 제한이 있으며 최적 경로 선택에 링크 속도를 제외 시키는 등
여러 제약이 존재
- EIGRP
: RIP의 단점을 보완한 라우팅 프로토콜
: OSPF 처럼 전체 네트워크 지도를 그리지 않고 인접한 라우터 다음 라우터 까지의 경로만 연산
: 리소스 사용이 적으면서 대체 경로를 찾는 시간이 짧음
: 유지보수도 쉽지만 시스코 장비에서만 사용 가능한 단점 존재
: 전체 맵을 그리는 라우팅 프로토콜이나 정책 기반 라우팅 프로토콜의 다양한 장점을 발휘 할 수 없다는 단점 존재
- BGP
: 다양한 프로토콜 정보를 한꺼번에 교환할 수 있는 라우팅 프로토콜
: AS 외부 뿐만 아니라 내부에서도 사용 가능하다는 장점 존재
: 정책 기반 라우팅 프로토콜이기 때문에 관리자의 의도대로 경로를 동적으로 변환할 수 있음
: 라우팅 테이블이 크거나 Ipv4와 Ipv6 네트워크가 혼재되어 있는 환경, 멀티테넌트 환경에서
다양한 정보 교환을 목적으로 사용
> 이때 사용하는 BGP를 MP-BGP라고함 (MultiProtocol BGP)
Reference
'Computer Science > Network' 카테고리의 다른 글
URL에 쓰이는 특수 문자들과 의미 (0) | 2022.08.01 |
---|---|
utf-8과 euc-kr의 차이 (0) | 2022.05.29 |
네트워크 인프라 3. 데이터링크 계층 장비 (0) | 2022.05.15 |
네트워크 인프라 2. 통신 (0) | 2022.05.11 |
네트워크 인프라 1. 네트워크 기초 (0) | 2022.05.10 |