인터넷/네트워크

라우팅 21단원

피어나는 열정 2022. 7. 29. 11:27

유니캐스트 라우팅

라우팅

송신자 측에서 목적지까지의 경로를 정하고, 정해진 경로를 따라 패킷을 전달하는 일련의 과정이다.

네트워크 주소를 참조하여 가능한 한 최선의 경로를 결정하게 한다.

 

거리벡터 라우팅 Distance Vector Routing

인접한 라우터 정보를 통한 거리를 계산하여 경로를 결정하는 라우팅 프로토콜

  • 이웃 라우터의 주기적 갱신 정보로 라우팅 테이블 반영하여 경로 결정 프로토콜
  • 벨만 포트 알고리즘 이용
  • Hop 제약으로 규모가 작은 네트워크에 사용이 용이하여 주로 내부 라우팅 프로토콜에 사용

 

링크 상태 라우팅 Link State Routing

링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘임

 

경로 벡터 라우팅 Path Vector Routing

경로 벡터 라우팅에서 소스부터 모든 목적지까지의 경로는 스패닝 트리에 의해 결정된다. 하지만 스패닝 트리는 최소비용 트리가 아니다.

 
구분거리 벡터 라우팅링크 상태 라우팅
주요 매트릭 Hop Count Symbolic Length
경로 설정 라우터 간 거리를 더하여 계산 다른 라우터까지 Shortest Path 계산
경로 알고리즘 벨만-포드(Bellman-Ford) 알고리즘 다익스트라(Dijkstra) 알고리즘
업데이트 범위 인접 라우터 Area내 모든 라우터
업데이트 시점 일정주기 Link 변화 발생시
라우팅 테이블 이웃 라우팅 정보 네트워크 전체
대표 프로토콜 RIP, IGRP, EIGRP OSPF
컨버전스 타임 느림, 주기적인 정보 교환 빠름, 변경 발생시 정보 교환

 

맥주소(MAC address)

네트워크 상에서 서로를 구분하기 위하여 Device마다 할당된 물리적 주소를 말합니다. 인터넷이 가능한 장비(PC, 휴대폰 등)들이 가지고 있는 물리적인 주소라고 생각하면 어렵지 않습니다. MAC주소는 12자리 숫자로 구성되어 있으며 숫자중 앞의 6자리(24bit)는 벤더(제품제조사)에 할당되며 나머지 6자리(24bit)는 각 벤더에서 제품에 할당합니다.

 

컴퓨터에 장착되 랜(LAN)카드를 구별하기 위해 만들어진 식별 번호입니다.(소프트웨어 대신 하드웨어에 연결되어 있기 때문에 실제 주소라고도 합니다.) 통신을 위해서는 MAC주소를 알아야 합니다.

 

IP주소로 MAC주소를 알기 위해서는 IP주소를 MAC으로 바꾸는 ARP(Address Resolution Protocol)과정이 필요합니다.

ip는 인터넷상 때에 따라 바뀌는 가상의 주소

 

유니캐스트

유니캐스트

출발지와 목적지가 정확해야 하는 일대일 통신입니다.

MAC <=> MAC 받는입장에서 자신의 MAC과 비교하여 동일하지 않으면 해당 통신을 받지 않기 때문에 CPU 성능을 저하시키지 않습니다. 자신과 비교하여 동일하면 CPU로 해당프레임을 올려서 통신할 수 있습니다. 송신 노드 하나가 수신노드 하나에 데이터를 전송하는 일대일 방식

 

브로드캐스트

브로드캐스트

같은 네트워크에 있는 모든 장비들에게 보내는 통신입니다.

아파트 관리사무소 방송 같은 것으로 이해하면 쉬운데 듣고 싶은 방송만 듣는게 아니듯이, 해당 네트워크에 있는 PC들이 신호를 받고 싶던 말던 무조건 받게 됩니다. (자신의 MAC과 비교해서 동일하지 않으면 통신하지 않는 유니캐스트와 차이) 이렇게 무조건 받다보니 나에게 필요한정보인지 확인하는 과정에서 CPU를 사용하게 됩니다.

 

때문에 과도한 브로드캐스트는 네트워크 및 PC 성능을 떨어뜨릴 수 있습니다. 주로 상대 IP는 알지만 MAC을 모를경우에 사용하게 됩니다 ex) 방송으로 홍길동의 집이 어디야? 하면 홍길동이 "000야"하면서 주소를 전달(위에서 말한 ARP과정이 브로드캐스트를 통해 IP로 MAC을 알게 되는 것) 송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송

 

멀티캐스트

멀티캐스트

여러명에게 보내야 할 경우에 사용하는 방식으로 유니캐스트와 브로드캐스트를 합쳐놓은 듯한 개념입니다.

유니캐스트는 MAC을 모두 확인해서 같은걸 100번 보내야 하니 수량이 많을수록 네트워크 부하가 커지고, 브로드캐스트는 해당 네트워크 전체에 보내게 되니 관련없는 P C에서는 CPU사용률이 증가하게 되는 문제점이 있습니다. 멀티캐스트는 특정 그룹을 지정해서 해당 그룹원에게만 보내느 방식을 사용합니다. (스위치나 라우터가 멀티캐스트 방시글 지원해야한다.) 송신 노드 하나가 네트워크에 연결된 하나 이상의 수신노드에 데이터를 전송한다.

 

애니캐스트

가장 가까운 노드에 통신하는 방식입니다.

유니캐스트와 다른점은 송신노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다. 즉, 동일한 Anycast Address가 서로 다른 node들의 Interface에 할당되어 있을 때, 해당 Anycast Address로 IPv6 Packet을 전송하면 Routing Protocol의 알고리즘에 따라 가장 가까이에 있다고 판단되는 Node의 Interface로 전달이 됩니다.

 

애니캐스트의 목적 트래픽 분산 네트워크 이중화 DDos공격이 발생했을 때, 서버가 받는 피해 최소화 Client와 Server간의 물리적인 거리를 줄임으로써 Response Time의 최소화 송신 노드가 네트워크에 연결된 수신 가능한 노드 중에서 한 노드에만 데이터를 전송한다.

 

IPv4 = 유니캐스트, 멀티캐스트, 브로드캐스트

IPv6 = 유니캐스트, 멀티캐스트, 애니캐스트

 

라우터 보안

1.1 패스워드 설정

  • 패스워드 암호화를 활성화
Router#configure terminal
Router(config)# service password-encryption
  • 패스워드를 암호화해서 저장
Router#configure terminal
Router(config)# enable secret
  • 패스워드를 평문으로 저장
Router#configure terminal
Router(config)# enable password

1.2 no ip source-route

  • Source Routing
    • 일반적인 IP Packet은 목적지 IP주소만을 가지고 있으므로 경로설정은 라우터에 의존한다.
    • 하지만 source routing을 설정하면 라우터가 지정해 준 경로가 아니라 직접 설정한 경로로 이동할수 있다.
  • No Source Routing
    • IP 스푸핑 등을 통해 신뢰받는 호스트로 위장한 경우 허가되지 않는 망에 접근을 시도해 볼 수 있다.
    • 보안상 IP Packet 마음대로 경로를 정할 수 없도록 꺼 두는 것이 바람직하다.
    • 예시
(config) # no ip source-route

1.3 no ip unreachables

  • ICMP Unreachable 메시지
    • 송신할 수 없는 패킷이 나타난다면 라우터는 최초 출발지로 ICMP Unreachable 메시지를 보낸다.
    • 이를 이용하여 Unreachable 메시지를 고의로 다량 발생시켜 DoS공격을 할 수 있다.
    • 포트 스캐닝에서도 ICMP Unreachable 반환 유무에 따라 포트의 오픈 여부를 판단할 수 있다.
  • No IP Unreachable
    • 라우터에서 ICMP Unreachable 메시지를 보내지 않도록 설정한다.
    • 예시
(config-if) # no ip unreachables

2 패킷 필터링

2.1 종류

  • Ingress filtering
    • 라우터 외부에서 라우터 내부로 유입되는 패킷 필터링
    • 패킷의 소스 IP 나 목적지 포트 등을 체크하여 허용하거나 거부
    • 공통적으로 필터링 하여야할 소스 IP는 인터넷 상에서 사용되지 않는 IP 대역
    • (대부분의 공격이 실제 존재하지 않는 위조된 IP 주소를 소스로 함)**
    • Standard 또는 Extended Access-List를 활용한다.
  • Egress filtering
    • 라우터 내부에서 라우터 외부로 나가는 패킷을 필터링
    • 라우터를 통과하여 나가는 패킷의 소스 IP는 반드시 라우터와 같은 대역이여야 함
    • (라우터를 통해 나가는 패킷의 소스 ip 중 사용중인 ip 대역을 소스로 한 패킷은 허용하고 나머지는 거부 하도록 설정)
  • Blackhole filtering(Null routing 을 활용한 필터링)
    • 특정한 IP 대역에 대해서 Null 이라는 가상의 쓰레기 인터페이스로 보내도록 함으로써 패킷의 통신이 되지 않도록 함
  • Unicast RPF
    • 인터페이스를 통해 들어오는 패킷의 소스 ip 에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인
    • Access-List나 Blackhole 필터링을 이용한다.

2.2 ACL(Access List)

  • 기본 형태 : access-list [ACL번호] [동작] [프로토콜] [출발지] [목적지] [포트 옵션]
  • 예시
// 192.168.5.0 대역에서 SSH 허용
Router(config)# access-list 1 permit tcp 192.168.5.0 any eq 22

// 192.168.5.5로 나가는 UDP 100~150번 포트 허용
Router(config)# access-list 1 permit udp any 192.168.5.5 range 100 150

// 그 외 모든 패킷 거부
Router(config)# access-list deny ip any any