[Network] Study 정리 ch05 라우터/L3 스위치

Cookie·2024년 7월 28일

[Network] Network 이론

목록 보기
6/7
post-thumbnail

들어가기 앞서

라우터란?

3계층에서 동작하는 여러 네트워크 장비의 대표격으로 경로를 지정해주는 장비
원격지 네트워크와 연결할 때 필수적이고 핵심적인 네트워크 장비

  • 패킷의 목적지 IP주소를 확인하고 자신이 가진 경로 정보를 이용하여 패킷의 최적의 경로를 포워딩 함




5.1 라우터의 동작 방식, 역할

다양한 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장하고 패킷이 들어오면 도착지IP 주소와 라우팅 테이블을 비교해 최척의 경로로 패킷을 보냄

  • 스위치와는 다르게 목적지 주소가 테이블에 없으면 패킷을 폐기함
  • 패킷 포워딩 과정에서 기존 2계층 헤더 정보를 제거한 후 새로운 2계층 헤더를 만듦

1.1 경로 지정

경로 정보를 모아 라우팅 테이블을 만들고 패킷의 도착지 IP 주소를 확인해 경로를 지정하고 패킷을 포워딩함

주된 역할
1. 경로정보 습득
2. 패킷 포워딩

  • 경로학습 및 경로정보로 패킷 포워딩

1.2 브로드캐스트 컨트롤

라우터가 LAN에서의 스위치가 동작하는 것처럼 명확하지 않은 패킷이 플러딩된다면 통신불능 상태가 될 수 있음

라우터는 패킷을 원격지로 보내는것을 목표로 개발되어 분명한 도착지 정보가 있을 때만 통신을 허락하고 쓸모없는 통신이 네트워크를 차지하는 것을 최대한 막으려 노력함

라우터의 기본 동작은 "멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전달하지 않음"

이러한 동작을 브로드캐스트 컨트롤 / 멀티캐스트 컨트롤 이라함

  • 네트워크에 브로드캐스트가 많이 발생하는 경우, 라우터로 네트워크를 분리하여 성능을 높일 수 있음

1.3 프로토콜 변환

서로다른 프로토콜로 구성된 네트워크를 연결하는 라우터의 또 다른 역할

  • 과거에는 LAN기술이 WAN기술로 변환되어야만 원격지 네트워크 통신이 가능했음 (라우터 담당 역할)

아웃바운드 2계층 헤더정보가 다른이유

  • 라우터에 패킷이 들어오면 2계층까지 헤더 정보를 벗겨내고 3계층 주소를 확인
  • 이후 2계층 헤더 정보를 새로 만들어 외부로 내보냄

LAN과 WAN기술을 변환해주는 라우터




5.2 경로 지정 - 라우팅/스위칭

라우터는 자신이 알고있는 주소를 기반으로 패킷을처리하기 때문에 패킷이 들어오기전에 경로 정보를 충분히 수집하고있어야함

라우터가 얻은 경로 정보가 원하는 목적지와 정확히 일치하지 않는 경우가 더 많음

주요 역할
- 경로 정보 정리
- 경로 정보를 기반으로 패킷 포워딩

라우터는 서브넷 단위로 라우팅 정보를 습득하고 라우팅 정보를 최적화 하기 위해 서머리(Summary) 작업을 통해 여러 개의 서브넷 정보를 뭉쳐서 전달함

  • 라우터는 테이블 정보가 정확하지 않더라도 수많은 정보 중 목적지에 가장 근접한 정보를 찾아 패킷을 포워딩 해야함

2.1 라우팅 동작과 테이블

현대에는 인접한 라우터까지만 경로를 지정하면 인접 라우터에서 최적의 경로를 다시 파악한 후 라우터로 패킷을 포워딩하는 홉-바이-홉 기법을 사용함
Next Hop : 인접한 라우터

  • 라우터는 전체 경로를 파악하지 않고 최적의 넥트스 홉을 선택해서 보내줌


2.1.1 넥스트 홉을 지정하는 방법

일반적인 3가지 방법

  1. 넥스트 홉 IP 주소를 지정하는 방법
  2. 라우터 출력 인터페이스를 지정하는 방법
  3. 라우터 출력 인터페이스와 넥스트 홉 IP 주소를 동시에 지정하는 방법
  • 일반적인 경우
    : 넥스트 홉 IP 주소를 지정하는 방법을 사용함

  • 특수한 경우
    : 라우터 출력 인터페이스를 지정하는 방법
     상대 넥스트 홉 라우터의 IP를 모르더라도 MAC주소를 알아낼 수 있는 경우
    EX) WAN구간 전용선에서 PPP나 HLDC와 같은 프로토콜을 사용하는 경우

인터페이스를 설정할 때는 라우터의 나가는 물리 인터페이스를 지정하는 것이 일반적이지만 IP주소와 인터페이스를 동시에 사용할 때는 VLAN 인터페이스와 같은 논리적인 인터페이스를 사용할 수 있음


2.1.2 경로선택시 고려사항

라우터는 패킷을 포워딩할 경로를 선택할 때 출발지와 상관없이 목적지 주소와 라우팅 테이블을 비교하여 결정함

  • 라우팅 테이블을 만들때는 목적지정보만 수집함

라우팅 테이블 저장 데이터

  • 목적지 주소
  • 넥스트 홉 IP주소, 출력 로컬 인터페이스 ( 선택 가능 )

PBR(Poliy Based Routing): 패킷의 출발지 주소를 이용해 라우팅하는 기능
- 별도의 라우터 정책과 관련된 설정 필요
- 관리가 어렵고, 문제 해결이 어려우므로 특별한 경우 사용



2.1.3 TTL [Time To Live]

패킷이 네트워크에 살아있을 수 있는 시간(홉)으로 3계층 IP헤더에 존재하는 필드

쓸모없는 패킷이 돌아다녀 대역폭 낭비를 막기 위한 필드

  • 라우팅 루프
    ex) 실제 운영되던 사이트가 사라져 대안 경로를 찾다가 순간적으로 마주보는 두 대의 라우터의 넥스트 홉이 각 상대방으로 구성되어 두 라우터 사이에서 계속 오가는 경우


    TTL은 하나의 홉을 지날때 마다 1씩 줄어들고 0이되면 네트워크 장비에서 버려짐

2.2 라우팅

라우터가 경로 정보를 얻는 방법

대표적인 3가지

  1. Direct Connected 다이렉트 커넥티드
  2. Static Routing 스태틱 라우팅
  3. Dynamic Routing 다이나믹 라우팅

라우팅은 경로 정보를 얻는 것 뿐만 아니라 다양한 경로 정보를 체계적으로 데이터베이스화 하고 순위를 적절히 부여해 최선의 경로를 수집해두어야 함

용어설명
원시 데이터 (Raw Data)트래픽 및 패킷 정보와 같은 처리되지 않은 정보
토폴로지 테이블 (Topology Table)라우터가 수집한 경로정보
라우팅 테이블 (Routing Table)경로 정보 중 최적의 경로를 저장하는 테이블

2.2.1 Direct Connected

라우터나 PC에서 IP주소와 서브넷 마스크로 해당 네트워크에 대한 라우팅 테이블을 자동으로 만드는 방법

다이렉트 커넥트 - 라우터에서 connected로 표현 라우팅

이 정보는 인터페이스에 IP를 설정하면 자동으로 생성되므로 강제로 지울 수 없음

--> 해당 네트워크 설정을 삭제하거나, 네트워크 인터페이스가 비활성화 되어야만 자동으로 삭제됨


2.2.2 Static Routing

관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정로를 입력하는 방법

스태틱 라우팅

장점

  • 매우 직관적으로 설정, 관리할 수 있음
  • 변화가 적은 네트워크에서 손쉽게 관리할 수 있음
  • 소규모 네트워크에 적합함

단점

  • 큰 네트워크에서는 :
    • 직접 관리해야하는 라우팅개수가 기하급수적으로 늘어나, 직접 추가, 삭제하는데 한계가 있음
    • 라우터 너머의 다른 라우터의 상태 정보를 파악할 수 없음
      -> 따라서라우터에 장애 상황을 파악하고 대체 경로로 패킷을 보낼 수 없음

다이렉트 커넥팅 처럼 해당 네트워크 설정을 삭제하거나, 네트워크 인터페이스가 비활성화 되어야만 자동으로 삭제됨

물리 인터페이스가 아닌 논리 인터페이스는 물리 인터페이스가 비활성화 되더라도 함께 비활성화 되지 않는 경우도 존재함


2.2.3 Dynamic Routing

대규모 네트워크에서 생기는 스태틱 라우팅의 단점을 보완해주는 방법

  • 라우터끼리 자신이 알고있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습함

정보학습은 주기적이거나 상태 정보가 변경될 때 마다 경로정보를 학습함

이렇게 라우터끼리 상태정보를 학습하게되면 장애 발생시 상황을 인지하여 대체 경로로 패킷을 포워딩 할 수 있음

관리자의 직접적인 개입없이 관리 가능!

다이나믹 라우팅

  • 자신이 광고할 네트워크를 선언해 줘야함

다이나믹 라우팅은 한가지가 아닌 세부적인 여러 종류가 있음



2.3 스위칭(라우터의 경로지정 방법)

2.3.1 스위칭이란?

패킷이 들어와 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩하는 작업

2계층의 스위치와는 다른 3계층 장비인 라우터의 패킷 경로 지정 방법

  • 패킷의 목적지가 라우팅 테이블과 비슷하게 일치하거나, 일치하지 않는 경우도 생길 수 있기 때문에 여러가지를 고려해야함

2.3.2 롱기스트 프리픽스 매치

Longest Prefix Match는 라우터가 IP 패킷을 전달할 때 가장 길게 일치하는 주소 범위를 가진 경로를 선택하는 과정임
여러 경로가 일치할 경우, 주소 범위가 가장 구체적인 경로를 우선시해서 패킷을 가장 적합한 길로 보내는 것

  • 이로써 네트워크의 효율성과 정확성을 높일 수 있음

예를 들어, 패킷이 192.168.1.50이라는 IP 주소를 가진 경우:

  • 경로 A: 192.168.1.0/24 (범위: 192.168.1.0~192.168.1.255)
  • 경로 B: 192.168.1.0/25 (범위: 192.168.1.0~192.168.1.127)
  • 경로 C: 192.168.0.0/16 (범위: 192.168.0.0~192.168.255.255)
  • 3개의 경로 전부 주소범위에 포함되지만 가장 좁은 범위인 경로 B (192.168.1.0/25) 를 선택함

2.3.3 이그젝트 매치

Exact Math는 라우터가 IP 패킷을 전달할 때, IP 주소가 라우팅 테이블에서 정확히 일치하는 경로를 선택하는 방식임
이 방식은 가장 구체적이고 정확한 경로를 우선시하여 패킷을 전달함

  • 이를 통해 네트워크의 정확성을 높일 수 있음.

예를 들어, 패킷이 192.168.1.50이라는 IP 주소를 가진 경우:

  • 경로 A: 192.168.1.0/24
  • 경로 B: 192.168.1.50/32
  • 경로 C: 192.168.0.0/16

이 주소와 정확히 일치하는 경로는 경로 B (192.168.1.50/32)


Exact Match에서 정확히 일치하는 경로가 없으면:
1. 라우터는 정확히 일치하는 경로가 없으므로, 롱기스트 프리픽스 매치 적용
2. 가장 적합한 경로를 선택해 패킷을 전달하거나, 만약 적합한 경로가 없다면 패킷을 폐기하거나, 기본 게이트웨이(디폴트 라우트)로 전달함

-> 정확히 일치하는 경로가 없으면 가능한 최선의 경로를 선택하여 패킷을 전달하거나, 적절한 처리를 수행함


2.3.4 라우팅 과정의 리소스 과소모

롱기스트 프리픽스와 이그젝트 매치의 경우 라우팅 과정에서 많은 리소스르 소모하게 됨

  • 성능을 향상시키기 위해 반복작업을 줄여주는 캐시기법을 사용함
    • 한번 스위칭 작업을 수행한 정보 캐시에 저장하고 뒤에 들어오는 패킷은 캐시를 먼저 확인함
  1. 라우팅 캐시
    : 패킷의 목적지 주소에 따라 선택된 경로를 저장하여 같은 목적지로의 패킷을 다시 처리할 때 검색 시간을 단축시킴
    이 캐시는 패킷의 라우팅을 빠르게 하여 성능을 개선함

  2. 주소 변환 캐시 (NAT 캐시)
    : 네트워크 주소 변환(NAT)에서 변환된 IP 주소와 포트 정보를 저장하여, 같은 변환 요청이 있을 때 빠르게 처리할 수 있도록 함

  3. ARP 캐시
    : IP 주소와 MAC 주소 간의 매핑 정보를 저장하여, ARP 요청을 줄이고 장비 간의 통신을 더 빠르게 함

  4. 기타 캐시
    : TCP 연결 캐시, DNS 캐시 등 다른 네트워크 프로토콜과 관련된 캐시도 사용하여 전반적인 네트워크 성능을 높임

캐시는 자주 사용되는 데이터를 신속하게 접근할 수 있도록 도와주지만, 캐시된 데이터가 오래된 경우에는 정확성이 떨어질 수 있기 때문에 주기적인 캐시 갱신과 정리가 필요함



2.4 라우팅, 스위칭 우선순위

일반적인 경로 정보를 모아놓은 토폴로지 테이블에서 좋은 경로 정보의 우선순위는 경로 정보를 받은 방법과 거리를 기준으로 정함

  • 패킷을 스위칭할때는 롱기스트 프리픽스 매치 기법으로 우선순위를 정함
  • AD (Administrative Distance, 관리거리) = 우선순위


2.4.1 우선순위 가중치

목적지 네트워크 정보가 동인 서브넷을 사용하는 경우 가중치를 정하게 됨
가중치는 라우팅 정보와 마찬가지로 대표적으로 3가지로 나뉨

  • 1순위 : 다이렉트 커넥티드
    • 라우터에 직접적으로 붙어있는 대역이기 때문
  • 2순위 : 스태틱 라우팅
    • 관리자가 직접 입력하면 신뢰도가 높기 때문
  • 3순위 : 다이나믹 라우팅
    • 다른 라우터를 통해 경로를 전달 받았기 때문
    • 어떤 라우팅 프로토콜을 통해 정보를 얻었는가에 따라 또 달라짐

라우팅별 가중치 값(시스코 장비 기준)
  • 코스트

    가중치가 동일한 경우코스트(cost)값으로 우선순위를 정함

    코스트는 일종의 거리를 나타내는 값으로 프로토콜마다 기준이 다름
    RIP는 홉수, OSFP는 대역폭, EIGRP는 다양한 값을 연산해 코스트 값을 지정함

    • 코스트 값까지 동일한 경우 ECMP(Equal-Cost Multi-Path)기능으로 동일한 코스트 값을 가진 경로 값 정보를 모두 활용해 트래픽을 분산함




5.3 라우팅 설정 방법

3.1 다이렉트 커넥티드

라우터나 PC에 IP주소, 서브넷 마스크를 입력하면 다이렉트 커넥티드 라우팅 테이블이 생성됨

  • 다이렉트 커넥티드 라우팅 정보만 있으면 외부와 통신이 불가능함
    • 스태틱이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 적절한 라우팅 정보가 있어야 함
  • 외부 네트워크 라우팅정보가 있더라도 다이렉트 커넥디트를 잘못 입력하면 외부 네트워크와 통신할 수 없음
    • IP주소나 서브넷마스크를를 잘못 설정하면 외부 네트워크와 단절된 독립된 네트워크가 되거나 특정 네트워크와 통신할 수 없는 상태가 됨

외부 네트워크로 나가는 첫번째 길목이 다이렉트 커넥디트이기 때문!


3.2 스태틱 라우팅

원격지 네트워크와 통신하기 위해 직접 연결되지 않은 네트워크 정보를 입력함

  • 정보를 쉽게 추가
  • 경로를 직접 제어

스태틱 라우팅을 입력한 후 라우팅 테이블


  • 소규모의 네트워크는 문제가 없지만 규모가 커지거나 인터넷에 연결할 때는 라우팅을 처리하는 데 어려움이 있음

인터넷 사업자 라우터 쪽으로 패킷을 보내면 인터넷 통신이 가능함


3.2.1 디폴트 라우팅

스태틱 라우팅을 사용할때 네트워크 규모가 커질수록 모든 인터넷 경로 정보를 받아 처리하는건 비효율적이고 부적절함

  • 디폴트 라우트는 경로를 모르는 패킷을 어디로 보낼지 정하는 기본 경로로, 네트워크가 크거나 복잡할 때 설정을 간단하게 유지하고 관리 효율성을 높임

디폴트 라우트는 일반적으로 0.0.0.0/0로 설정되어 있음

  • 비유 하자면

    • 네트워크 : 도서관
    • 라우터 : 사서
    • 사서가 서가의 위치를 다 외우는 것은 불가능에 가까움
      이때 자주 찾는 책은 목록으로 관리하고, 그 외의 책은 "도서관 지침서"를 참고함

      여기서 "도서관 지침서"가 디폴트 라우트
      - 모르는 책의 위치를 찾을 때, "도서관 지침서"를 보고 위치를 알 수 있음

네트워크 장비에서 디폴트 라우팅과 디폴트 게이트웨이를 구분하기도 함

  • 디폴트 수신한 패킷을 특정경로로 포워딩하는 라우팅능력이 있는 장비에서 사용
  • 디폴트 게이트웨이는 이런 능력이 없는 장비에서 사용

네트워크 주소와 목적지 IP 주소가 다를 때
라우터는 서브넷 마스크와의 AND 연산을 통해 경로를 결정함
일치하는 경로가 없을 경우, 디폴트 라우트를 사용하여 패킷을 지정된 기본 경로로 전송

  • 예시 설정

    라우팅 테이블의 엔트리:

    • 네트워크 주소: 172.16.0.0
    • 서브넷 마스크: 255.255.0.0
    • 다음 홉 주소: 172.16.0.1

    • 목적지 IP 주소: 192.168.10.25

    1. 2진수 변환
    • 네트워크 주소: 172.16.0.0

      • 172: 10101100
      • 16: 00010000
      • 0: 00000000
      • 0: 00000000
      • 결과: 10101100.00010000.00000000.00000000
    • 서브넷 마스크: 255.255.0.0

      • 255: 11111111
      • 255: 11111111
      • 0: 00000000
      • 0: 00000000
      • 결과: 11111111.11111111.00000000.00000000
    • 목적지 IP 주소: 192.168.10.25

      • 192: 11000000
      • 168: 10101000
      • 10: 00001010
      • 25: 00011001
      • 결과: 11000000.10101000.00001010.00011001

    1. AND 연산
    • 네트워크 주소와 서브넷 마스크를 AND 연산:
      • 네트워크 주소: 10101100.00010000.00000000.00000000
      • 서브넷 마스크: 11111111.11111111.00000000.00000000
      • AND 결과: 10101100.00010000.00000000.00000000

    • 목적지 IP 주소와 서브넷 마스크를 AND 연산:
      • 목적지 IP 주소: 11000000.10101000.00001010.00011001
      • 서브넷 마스크: 11111111.11111111.00000000.00000000
      • AND 결과: 11000000.10101000.00000000.00000000

    1. 결과 비교
    • 두 AND 연산 결과를 비교:

      • 네트워크 주소 AND 서브넷 마스크: 10101100.00010000.00000000.00000000
      • 목적지 IP 주소 AND 서브넷 마스크: 11000000.10101000.00000000.00000000

      목적지 IP 주소 192.168.10.25는 네트워크 172.16.0.0/16에 속하지 않음

  • 디폴트 라우트 예시:

    • 네트워크 주소: 0.0.0.0
    • 서브넷 마스크: 0.0.0.0
    • 다음 홉 주소: ISP_IP_ADDRESS

  • 모든 IP 주소와 일치하도록 설정된 디폴트 라우트는 다음과 같은 AND 연산 결과를 가짐:

    • 목적지 IP 주소: 192.168.10.25

      • 192: 11000000
      • 168: 10101000
      • 10: 00001010
      • 25: 00011001
    • 서브넷 마스크: 0.0.0.0

      • 0: 00000000
      • 0: 00000000
      • 0: 00000000
      • 0: 00000000
    • AND 결과: 00000000.00000000.00000000.00000000

    결과적으로 0.0.0.0과 일치하며, 이는 모든 IP 주소를 포함암
    따라서 디폴트 라우트를 사용하여 패킷을 ISP IP주소로 전송하게 됨

단점

스태틱 라우팅은 중간 경로에 네트워크 회선이 끊기거나 라우터에 장애가 발생하면 관리자가 이를 파악해 경로 정보를 수동으로 수정해줘야하는 문제가 있음

  • 최적의 경로만 입력하는 것이 아닌 대체 경로까지 고려해 추가로 설정해야함
    • 따라서 네트워크가 커지면 관리자의 직접적인 관리에 어려움이 생김



3.3 다이나믹 라우팅

스태틱 라우팅의 단점을 보완해주는 라우팅 방법으로 라우터끼리 정보를 교환해 경로 정보를 최신으로 유지하는 라우팅 방법

라우팅 프로토콜

  • RIP, OSPF, IS-IS, IGRP, EIGRP, BGP와 같은 다양한 프로토콜이 존재함
    최근에는 OSPF와 BGP프로토콜이 주로 사용됨

3.3.1 역할에 따른 분류

  • IGP ( Interior Gateway Protocol )
    : AS 내부에서 사용하는 라우팅 프로토콜

  • EGP ( Exterior Gateway Protocol )
    : AS 외부에서 사용하는 라우팅 프로토콜

AS(Autoomous System) 자율 시스템

  • 하나의 AS는 하나의 조직이므로 AS 내부에서는 자체적으로 규칙을 세워 운영할 수 있음
    • 내부의 연결은 효율성이 중요함
  • 다른 AS와 연결하기 위해서는 내부와는 다른 방법이 쓰임
    • 효율성 보단 조직 간의 정책이 더 중요함

  • 인터넷 사용자 간에도 비용을 지불해야하므로 AS를 건너 연결하는 것은 제한됨

3.3.1 동작 원리에 따른 분류

IGP 라우팅 프로토콜은 동작 원리에 따라 Distance Vactor, Link State로 나뉨

  • 두 동작 원리의 장.단점을 배합해 기능을 향상 시킨 Advanced Distance Vector가 있지만 특정 회사가 만든 라우팅 프로토콜로 많이 사용되고 있지는 않음
  • Distance Vactor
    : 인접한 라우터에서 경로 정보를 습득하는 라우팅 프로토콜 (RIP, BGP...)
    • 인접한 라우터를 통해 간접적으로 한단계 건너 받음
    • 라우팅 정보 처리에 많은 리소스가 필요하지 않음
    • 모든 라우터 정보가 동기화 되는데 많은 시간이 필요
      • 따라서 네트워크에 변경이 발생하면 정확한 정보를 파악하는데 오랜시간이 걸림
  • Link State
    : 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜
    • 직접적인 상태정보를 교환해 토폴로지 데이터베이스를 만들고 다시 SPF 알고리즘을 통해 최단 경로 트리를 만듦
    • 전체 네트워크 맵을 그리고 경로 변화를 파악하는데 유리함
    • 네트워크 규모가 커질수록 경로파악에 CPU와 메모리 자원을 많이 소모함
      • 따라서 네트워크 변화를 더 빨리 감지하고 리소스를 최적화 하기 위해 네트워크 AREA 단위로 분리하고 그 내에서 링크 상태 정보를 교환함
profile
지식을 쌓기 위한 기록 저장소

0개의 댓글