Network Switching & Routing


Switching & Routing

이 글은 Computer Networking의 Switching & Routing에 대해 설명합니다.
유튜브 채널 "Networking Class"의 "Switching & Routing"를 정리한 것입니다.

1. L2 Switch 개념 및 동작원리   [동영상] (17분)

  • 무엇을 하는 장비인가? End Device의 물리적인 연결, Frame In -> Forwarding(정보의 변경은 없음)
  • OSI 7 layer상의 L1/L2 layer에서 동작, Control Plane(MAC table, STP), Data Plane
  • MAC address table 기반으로 Flooding, Unicast/Multicase, 들어온 Frame의 Frame 헤더만 보고 판단
  • MAC address table -> MAC address와 Interface 매핑, 어떻게 만들어지고, 업데이트 되는지?
  • L4 Port 헤더 추가(Segment) -> L3 IP 헤더 추가(DNS 사용) (Packet) -> L2 MAC address 헤더 추가(Routing, ARP 사용) (Frame)
  • STP(Spanning Tree Protocol): Loop 장애 예방
  • Broadcast MAC address: FF-FF-FF-FF-FF-FF.

2. VLAN과 Trunking 구성   [동영상] (20분)

  • VLAN: 스위치 하나로 2개 이상의 network(LAN)을 지원하기 위해 스위치 포트 몇 개씩을 묶어서 가상 LAN을 구성하는 것.
    예) 16 포트일 경우 1~7번 포트를 VLAN10, 10~16번 포트를 VLAN20으로 구분한다.
  • Why? 물리적인 연결을 위한 interface의 효율적인 이용 -> Switch 가상화
  • 의미: interface를 구분(VLAN 넘버)하고, VLAN별로 독립적인 스위치 기능 수행 -> VLAN별 MAC address table 구분됨.
  • 스위치의 interface는 특정 VLAN 전용 interface이거나, Trunk(다수 VLAN) interface임.
  • 실무 권고: 해당 스위치가 서비스 해야하는 VLAN에 대해 가능한 정확히 명시하고 관리.
    Trunk interface는 802.1q시 native VLAN 명시, Allowed VLAN 명시, Mode on 명시 권고.
    • VLAN으로 구분된 스위치 2개를 연결하는데 1개 포트를 사용할 경우 VLAN을 구분하는 값(tag)을 추가하는데 이것을 Trunking 이라고 한다.
    • Native VLAN: "VLAN tag가 없으면 VLAN10으로 인식하겠다" 라고 정의(설정)하면 VLAN10을 Native VLAN이라고 한다.
    • Allowed VLAN: 통과할 수 있는 VLAN을 명시한다.
    • VLAN1은 default VLAN으로 삭제할 수 없다. VLAN 설정이 없으면 VLAN1을 사용하는 것이다.
  • Trunk 포트(Tagged 포트) 란?
  • Trunk 포트 구성

3. Looping & STP   [동영상] (16분)

  • STP(Spanning Tree Protocol): Loop 장애 예방
  • Why? 스위치 동작원리상의 flooding 특성상 다수의 스위치에 대해 가용성 고려한 구성 시 Looping 발생하는 구조임.
    L2 Frame은 TTL이 없다.
  • 의미: 스위치가 Looping 구조를 detection(발견)하고, 스위치간에 Looping 구조 파악 및 최적의 포트를 block하여 Lopp 구조를 제거
  • Looping은 스위치 네트워크에서 가장 큰 운영상의 장애를 발생시킬 수 있는 장애임.
    관련 스위치 및 스위치에 연결된 모든 device의 CPU impact (Broadcast Storm)
  • 실무 권고: VLAN별 스위치의 STP Topology에 대해 현황을 인지한 상태로 운영. L2 연결된 고객/타사 구간에서 loop이 발생하더라도 미치는 영향을 최소화 할 수 있도록 관련 설정 (VLAN1 관리, Storm Control 등)
    • 단순 L2 스위치뿐만 아니라 L2 역할을 수행하는 모든 device(L4, 서버 NIC 다중화, 서버 가상화 등) 확인
    • Ether Channel, rebooting 시 STP 서비스 올라오기전에 interface UP, 사호 다른 벤더간 연결 시 등.
  • 네트웍 쟁이가 써보는 네트웍 장애 유형
    • 1. 니가 보고 있는 터미널이 그 터미널이 맞냐? 1) config 복원 2) reload
    • 2. 라우팅 장애(BGP)
    • 3. 접근제어(ACL) 장애
    • 4. Looping 장애
  • 2021년 10월 25일 KT 인터넷 장애 사건
    2021년 10월 25일 11시 16분 - KT망 서비스 장애 최초 발생 시점
    과기부가 2차관 명의로 원인을 발표했다. 부산광역시 사상구에 있는 KT 전화국에서 라우터를 교체하고 설정을 새로 하던 도중 EXIT 명령어 단 하나를 빼먹었고 해당 설정이 부산 중앙 서버 → 서울 중앙 서버 → 전국의 모든 지역 순으로 전달되어 전국적으로 장애가 발생했다고 한다. 그리고 이런 사고를 방지하기 위해 네트워크가 설정되지 않은 환경에서 먼저 시험부터 했어야 하나, 시험도 하지 않고 바로 작업했으며, 하청업체 직원들에게만 작업을 시킨 채 현장에 있어야 할 KT의 관리자는 부재 중이었으며, 야간 작업 원칙 역시 무시한 사실이 드러났다.

4. L2 Switch와 이중화 Protocol(Link 이중화, G/W 이중화)   [동영상] (18분)

  • 스위치에 연결된 device들이 스위치나 케이블 장애에 대비하여 HA(High Availability)
  • 스위치에 연결되는 유형은 크게 두 가지: Frame을 받는지(PC, Router, 등), Frame을 전달하는지(L2 스위치 기능)
  • Link 이중화 방식: LACP(Ethernchannel), LAN 카드 이종화(윈도우-Teaming, 리눅스-Bonding)
    LACP(Etherchannel): 서버에 NIC 2개, 스위치에 포트 2개 사용하지만, 하나의 논리적 구조로 동작하게 구성.
    송신은 2개 NIC를 Active/Active로 구성하고, 수신은 Active/Standby로 구성한다.
  • Gateway 이중화: VRRP, HSRP 등 -> 누가 Frame을 받아야 할지는 스위치가 결정하지 않는다. 보내는 애가 결정(ARP table)
  • 정상 상태와 문제 상태에서의 Frame의 전달 경로(MAC address table, ARP table) 예상과 STP와의 연계성 파악 등이 필요
  • Linux Bonding 여러 개의 NIC를 논리적으로 묶어서 한 개의 NIC의 개수만큼 대역폭을 확장하는 기술
  • Etherchannel
    IEEE 802.3ad 표준: LACP(Link Aggregation Control Protocol)
    Cisco 전용 Protocol: PAgp(Port Aggregation Protocol)
  • VRRP(Virtual Redundancy Routing Protocol)
  • Cisco HSRP 의 이해와 구성
  • GARP(Gratuitous ARP)
    장비가 ARP 브로드캐스트를 통해 다른 장비에게 네트워크에 있는 자신의 존재를 알리는 목적으로 사용되는 패킷을 말한다. 즉, 자신의 정보를 네트워크상의 다른 장비들에게 알려 ARP 테이블을 갱신하도록 한다.

5. Router 동작원리와 L3 Switch   [동영상] (17분)

  • Router: 서로 다른 IP Network를 연결, Frame In -> Routing & Forwarding(Frame 헤더변경, IP헤더는 변경없음)
  • OSI 7 layer상의 L1/L2/L3 layer에서 동작, Routing table, ARP table -> Forwarding table
  • Control Plane (Routing table 관리-RIB) + Data Plane(FIB)
    IP Routing Table(RIB Routing Information Base): 목적지 네트워크에 대한 경로 정보가 다수 존재.
    IP Forwarding Table(FIB Forwarding Information Base): 목적지까지 최적의 한 경로만 추출해놓은 정보.
  • CEF(Cisco Express Forwarding)
    • CEF(Cisco Express Forwarding): Routing table + ARP table
    • Process switching : 모든 패킷은 CPU에 의해 확인되고 소프트웨어에 의해 전송경로가 결정됨.
    • Fast switching(Route caching) : Flow의 첫번쨰 패킷만 CPU에 의해 확인된 후, 전송경로를 하드웨어에 cache하여 나머지 패킷을 빠르게 처리함.
    • CEF(Cisco Express Forwarding) : 첫번째 패킷도 검사하지 않음. 라우팅 테이블을 기반으로 패킷이 들어오지 않더라도 하드웨어에 Cache를 생성.
    • 처리 속도가 빠른 순서: CEF -> Fast Switching -> Process Switching
    • CEF는 크게 두개의 테이블을 생성함: FIB(Forwarding Information Base) 와 Adjacency Table
    • FIB(Forwarding Information Base) : 라우팅 테이블의 복사본. 라인카드에 Cache 되어있으며, control plane의 라우팅테이블에 변경이 있을시 자동으로 업데이트함.
    • Adjacency Table : FIB을 위해 L2 next-hop address를 저장함.
    • # show ip protocols
    • # show ip route
    • # show ip cef
  • IP 라우터의 패킷 포워딩 과정 RIB/FIB
  • L3 스위치(ethernet 환경) = Router + L3 Switch, L3 인터페이스는 SVI(Switched Vlan Interface)와 연결

6. Routing Lookup & Forwarding   [동영상] (24분)

  • Routing table: Device가 packget의 IP 헤더의 dst-IP를 보고, 자신이 가지고 있는 어떤 interface의 누구에게 전달해야 할지를 판단하는 용도로 사용됨
    IP layer 기반 동작하는 제품들은 모두 가지고 있는 정보.
    형식: Network address with subnet mask, next hop address/Interface
  • Routing table lookup 원칙: Longest prefix match first -> Specific한 Route가 우선임.
  • Routing table 유형(생성방식)에 따른 우선순위: Connected, Static, Dynamic Routing Protocol (OSPF, BGP, ISIS, EIGRP)
  • Nexthop IP에 대한 Recursive Lookup 특성 이해
  • Forwarding 과정: 해당 interface에서 누구에게 보낼지를 결정해서 Frame 헤더를 만들어, 전기적인 신호로 전달

7. Static Routing   [동영상] (21분)

  • Control Plane: Routing table을 만드는 과정을 담당 -> CPU가 처리
    Data Plane: Data 전달을 담당 -> 전용 칩(ASIC) 사용
    * ASIC(에이식, application-specific integrated circuit, 특정 용도용 집적 회로, 주문형 반도체)
  • Routing 설계: Ent to End Data 통신을 위해 어떤 장비와 회선(Link)을 이용하여 가장 효율적으로 전달시킬 수 있는 경로를 구성하고, 경로상의 장애 발생에도 Data 전달에 문제가 없도록 하는것이 실무에서 필요(다수의 길에서 최적의 경로를 구성)
    End to End 통신상의 응용의 특성, 물리적인 위치, 전송 성능, 가용성, 확장석, 최적 비용(장비, 회선, 운영비) 고려.
  • Static Route: 가장 효율적인 라우팅 방식, 가장 우선 순위가 높음(AD 1)
    특징: next-hop IP에 대한 Recursive한 특성 - 해당 IP에 대해 Route Lookup
    AD(Administrative Distance): AD 값이 낮을수록 우선순위가 높다.
  • 활용: Simple topology, No Redundancy, Default Route 처리, Summary Route, Null 0. With Dynamic Routing
  • SDN(Software Defined Network), SD-WAN(Software-Defined Wide-Area Network)
    • SD-WAN은 WAN을 관리하기 위한 소프트웨어 정의(각 지점간 트래픽을 최적화하고 컨트롤) 방식입니다.   각 라우터가 하던 경로 관리를 중앙의 라우터가 작성해서 Routing table을 각 라우터에게 보낸다.
    • 클라우드, SaaS(Software-as-a-Service), IaaS(Infrastructure-as-a-Service) 시대에 맞추어 개발
    • 설명1: blog.globalhost
    • 설명2: juniper.net
    • 설명3: cisco.com
  • AD(Administrative Distance) Default Values
NoRoute SourceDefault Distance
1Connected interface 0
2Static route out an interface 0
3Static route to a next hop 1
4EIGRP summary route 5
5External BGP 20
6Internal EIGRP 90
7IGRP 100
8OSPF 110
9IS-IS 115
10RIP v1, v2 120
11EGP 140
12External EIGRP 170
13Internal BGP 200
14Unknown 255

8. Dynamic Routing   [동영상] (24분)

  • 개념 이해: 라우터들 간에 상호 Neighbor 관계를 맺고, 가지고 있거나 받은 Network 정보를 전달, 내부 계산하고, Routing table로 올림
  • 프로토콜별 상호 neighbor ship을 어떻게 맺고, 유지하는지 (Multicase, TCP 등)
  • Network 정보 전달은 무엇을 언제 하는지?
  • 최적 Path 선정을 위한 계산을 뭘로 하는지 (Metric/Cost)
  • 각 Routing Protocol DB의 Best Path가 선정되고 -> Routing table로 전달되어 (타 Routing 정보와 경합)
  • AS 간 Exterior Routing Protocols -> EGP(Exterior Gateway Protocol): BGP
  • AS 내 Interior Routing Protocols -> IGP(Interior Gateway Protocol): RIP, IGRP, EIGRP, OSPF
  • AS(Autonomous System, 자율 시스템) [인터넷정보센터]

9. BGP(Boader Gateway Protocol) Routing 동작원리   [동영상] (18분)

  • SP 망내, Cloud 사업자 연동, SaaS 서비스 확대 등으로 BGP 중요도 증대
  • BGP는 서로 다른 조직(AS)간 traffic 연동을 위해 탄생 -> 관리 정책 적용이 가능한 반자동 Dynamic Protocol
    (라우팅 정보를 교환한다 -> Traffic을 주고 받는다 -> 비용이 든다)
  • Peering: 명시적, TCP179, eBGP(connected default), iBGP(Full Mesh)
  • 정보전달: IGP상에 있는 정보, 사용하고 있는 정보, attributes, 다양한 필터링
  • Best Path Selection, iBGP(MPLS VPN, SD-WAN 진화)

10. Redistribution & Filtering -   [동영상] (19분)

  • 라우팅은 simple한 것이 Good, 최적 경로제공의 목적만 달성하면 됨. 그러나.. 환경은 지속적으로 변화한다.
  • Redistribution: 하나의 라우터에서 서로 다른 Routing protocol 간의 Network Prefix 정보 교환하여 전달
  • Routing table에 사용되는 Route만 Redistribution됨, 받는 Routing Protocol의 Metric으로 변화되어 들어감
  • 주의사항: Routing Loop 및 Sub-optimal Route 발생 가능성(Dual 구성, AD 차이 등)
  • Core/Edge 개념(Default/Summary), Filtering, AD 조정 등을 통해 안정화, 최적화 해야함.

11. Routing table Update time(Convergence time)   [동영상] (24분)

  • 이벤트 발생(Route/Link Fail) 시 해당 정보에 대한 업데이트가 얼마나 빠르게 전체 네트워크상에 이루어 지는지. End to End 서비스 가용성 측면에서 중요한 Factor (애플리케이션마다 버틸 수 있는 시간이 다름)
  • Convergence time = Failure Detection(무슨일?) + Event Propagation(알려줄께) + Routing Process(계산해) + FIB Update (EIGRP: ~ 35sec, OSPF: ~ 45sec, BGP: ~ 3min)
  • Failure Detection: interface Down이 아니더라도 neighbor(이웃)와 통신이 않될 수 있는 많은 이유 존재, Routing 별 holddown까지 소요 BFD 사용 권고(ms 수준 가능), timer-based/event-driven
  • 각 Protocol 별 관련 설정: BackupPath..Timer 값 조정 trade off, eigrp는 Query demain이 큰 경우는 잦은 update는 CPU 영향. BGP는 Scanning, Next hop tracking 등 기능

12. Routing 설계에 대한 권고 및 유의사항   [동영상] (17분)

  • 라우팅은 설계가 90%. 아키텍처 설계하고, 필요한 config, 검증(failover) - E2E 간 어떤 회선, 어떤 장비를 경유하게 할 것인가?
  • 설계는 목적을 명확 -> 심플한 라우팅 가능: 라우팅 처리 대상 분류, 상호 통신 방안 수립, Summary, Default 활용, 가용성 설계
  • 라우팅 protocol 결정: Static or Dynamic, Dynamic routing 종류
  • Dynamic 사용 시: neighborship(이웃)은 가능한 specific하게, 주고 받는 정보에 대해 명확히, 가능한 방어적으로(filtering, 우선순위 등)
  • 주요 이슈
    • eigrp: SIA, flat topology, update/Query를 적게 -> Summary Route, Stub 활용
    • OSPF: neighborship(config 정확히, area 설계는 정확히 알고 수행)
    • BGP: eBGP/ibgp, BGP best path selection, IGP와의 연관성

Email 답글이 올라오면 이메일로 알려드리겠습니다.