개발관련 도서/IT엔지니어를 위한 네트워크 입문

라우터/L3 스위치: 3계층 장비

prden 2022. 3. 7. 06:42

# IP 주소 : 논리 주소(cf. mac주소 - 물리 주소)

ip주소는 네트워크 주소와 호스트 주소로 나뉜다. 호스트들을 모은 네트워크를 지칭하는 주소를 네트워크 주소라고 하고 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소를 호스트 주소라고 한다. 

 

라우터는 3 계층에서 동작하는 네트워크 장비로 들어오는 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로정보를 이용해 패킷의 최적 경로로 포워딩한다. 라우터의 대표적인 기능은 네트워크와 네트워크를 연결하는 것이지만, NAT(Network Address Translation), 방화벽, VPN, QoS 등 다양한 부가기능을 함께 제공한다.

 

# IP 주소에서..

https://oktopbang.tistory.com/entry/ip%EC%A3%BC%EC%86%8C-%ED%91%9C%EC%8B%9C%ED%95%A0%EB%95%8C-%EB%92%A4%EC%97%90-%EC%93%B0%EB%8A%94-24-25-26

 

ip주소 표시할때 뒤에 쓰는 /24 /25 /26

192.168.10.1/24 192.168.10.1/25 서브넷 마스크를 보면 보통 255.255.255.0 이런식으로 표시된다. 255를 2진수로 변화시키면 11111111 이 된다. 그래서 255.255.255.255.0 를 2진수로 표시하면 11111111.11111111..

oktopbang.tistory.com

라우터 vs L3 

라우터는 소프트웨어 처리가 메인이어서 나중에 업그레이드로 기능이 확장되거나 강화될 수 있다. 반면 L3 스위치는 포트 수가 많고 하드웨어 기반이라 처리 속도는 라우터를 상회한다. 그러나 기능과 확장성 면에서는 제한이 되어 있다.

 

# 라우팅 프로토콜 : 라우터 간에 경로 정보(라우팅 테이블) 교환에 사용되는 프로토콜을 말한다. 

 라우팅 프로토콜은 크게 EGP, IGP 2가지로 나뉜다. 

 

1.  라우터의 동작 방식과 역할

라우터는 다양한 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장한 후 패킷이 라우터로 들어오면 도착지 ip 주소와 라우팅 테이블을 비교해 최선의 경로로 패킷을 보낸다.(경로지정) 스위치와 반대로 라우터는 들어온 패킷의 목적지 주소가 라우팅 테이블에 없으면 패킷을 버린다. (브로드 캐스트 컨트롤) 라우터는 패킷 포워딩 과정에서 기존 2 계층 헤더 정보를 제거한 후 새로운 2 계층 헤더를 만들어낸다. (프로토콜 변환)

라우터는 다른 기종 간의 네트워크를 연결하는 기능을 하기 때문에 여러 가지 프로토콜에서 전송되는 패킷을 받아들일 수 있어야 한다. 예를 들어 A라는 정보를 전달하고자 할 때 라우터는 일단 이 정보를 A-1, A-2, A-3으로 쪼갠다. 쪼개진

정보는 최적의 경로를 찾아 상대방 서버를 찾아가고 상대방에 붙은 라우터는 이 쪼개진 정보(A-1, A-2, A-3)들을 다시 A라는 원래의 모습으로 조합한다. 

※브로드캐스트 컨트롤 : 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전달하지 않는다. LAN에서 스위치가 동작하는 것 처럼 목적지가 없거나 명확하지 않은 패킷이 플러딩되면, 인터넷에 쓸모 없는 패킷이 가득차 통신 불능상태가될 수 있다.

 

2. 경로지정

라우터는 경로 정보를 얻는 역할(얻어서 정리)과 얻은 경로 정보를 확인하고 패킷을 포워딩하는 역할을 한다. 라우터는 자신이 얻은 경로 정보에 포함되는 패킷만 포워딩하므로 정확한 목적지 경로를 얻는 것이 매우 중요하다. 

현대 인터넷에서는 단말부터 목적지까지의 경로를 모두 책임지는 것이 아니라 인접한 라우터까지만 경로를 지정하면 인접 라우터에서 최적의 경로를 다시 파악한 후 라우터로 패킷을 포워딩한다. 네트워크를 한 단계씩 뛰어넘는다는 의미로 이 기법을 홉-바이-홉 라우팅이라 부르고 인접한 라우터를 넥스트 홉이라고 부른다. 

 

넥스트 홉을 지정할 때 일반적으로 3가지 방법을 사용한다. 

1) 다음 라우터의 IP를 지정하는 방법

2) 라우터의 나가는 인터페이스를 지정하는 방법

3) 라우터의 나가는 인터페이스와 다음 라우터의 IP를 동시에 지정하는 방법

라우팅 테이블에 저장하는 데이터에는  a. 목적지 주소, b. 넥스트 홉 IP주소, 나가는 로컬 인터페이스(선택 가능)

 

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

  1) 다이렉트 커넥티드 : 

    IP 주소를 입력할 때 사용된 IP 주소와 서브넷 마스크로 해당 IP 주소가 속한 네트워크 주소 정보를 알 수 있다.  라우터나 PC에서는 이 정보로 해당 네트워크에 대한 라우팅 테이블을 자동으로 만든다. 이 경로 정보를 다이렉트 커넥티드라고 한다. 외부 네트워크로 통신하려면 다이렉트 커넥티드 외에 스태틱 라우팅이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 적절한 라우팅 정보가 있어야 한다. 

 

  2) 스태틱 라우팅 : 

   관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정보를 입력하는 것을 스태틱 라우팅이라고 한다.  스태틱 라우팅은 관리자가 경로를 직접 지벙하므로 라우팅 정보를 매우 직관적으로 설정, 관리할 수 있다. 

 

  3) 다이나믹 라우팅 : -> 여러 가지로 세분화됨

   라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습한다. 최적의 경로만 추려 별도 테이블에 미리 보관한다. 라우터가 수집한 경로 정보, 원시데이터를 토폴로지 테이블이라고 하고 이 경로 정보 붕 최적의 경로를 저장하는 테이블을 라우팅 테이블이라고 한다. 

 

나. 스위칭(라우터가 경로를 지정하는 방법)

패킷이 들어와 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩하는 작업을 스위칭이라고 한다. 이 스위칭은 2계층의 스위치와 이름이 비슷하지만, 다른 용어이며 3계층장비인 라우터가 패킷 경로를 지정해 보내는 작업을 말한다. 

도착지 IP가 정확히 매치되는 경로 정보가 없을 경우 라우터는 도착지 IP와 가장 가깝게 매치되는 경로 정보를 찾는다. 이를 롱기스트 프리픽스 매치기법이라고 한다. 

 

다. 라우팅, 스위칭 우선순위

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

정보를 얻은 소스에 따라 가중치를 정하게 된다. 이 가중치 값은 라우팅 정보의 분류와 마찬가지로 크게 3가지로 나눌 수 있다 ( 우선순위가 가장 높은 것 먼저 나열)

 1) 내가 갖고 있는 네트워크(다이렉트 커넥티드)

 2) 내가 경로를 직접 지정한 네트워크(스태틱 라우팅)

 3) 경로를 전달받은 네트워크(다이나믹 라우팅)

 

3. 라우팅 프로토콜 ( 다이나믹 라우팅)

일반적으로 라우팅 프로토콜은 유니캐스트 라우팅 프로토콜을 의미한다. 인터넷에는 AS(Autonomous System)라는 자율 시스템이 존재한다. SKT, KT같은 인터넷 사업자가 한 개 이상의 AS를 운영한다. AS 내부에서 사용하는 라우팅 프로토콜을 IGP(Interior Gateway Protocol)라고 하고 AS간 통신에 사용하는 라우팅 프로토콜을 EGP(Exterior Gateway Protocol)라고 한다. 

 

가. 동작 원리에 따른 분류

IGP 라우팅 프로토콜은 동작 원리에 따라 크게 디스턴스 벡터와 링크 스테이트로 나뉜다. 

 1) 디스턴스 벡터 : 인접한 라우터에서 경로 정보를 습득하는 라우팅 프로토콜, 인접 라우터만 직접 경로 정보를 교환하여 멀리 떨어진 라우터의 경로 정보를 얻는 데 많은 라우터를 거쳐야 하므로 모든 라우터 정보가 동기화되는 데 많은 시간이 필요하다. 이런 동작 방식 때문에 네트워크에 변경이 발생하면 정확한 정보를 파악하는 데 많은 시간이 걸릴 수 있다. 

 

 2) 링크 스테이트 : 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜

링크 스테이트 라우팅 프로토콜은 이런 링크 상태를 교환해 토폴로지 데이터베이스를 만들고 이 정보를 다시 SPF(Shortest Path First) 알고리즘을 이용해 최단 경로 트리를 만든다. 

 

-> 정리 : 다이나믹 라우팅 프로토콜은 여러 가지가 있고 역할과 동작원리로 구분할 수 있다. AS 내부에서 라우팅 정보를 교환하느냐, 외부와 교환하는냐에 따라 역할을 구분하고 내부 동작 원리에 따라 디스턴스 벡터와 링크 스테이트로 구분한다. 대부분 IGP와 OSPF와 BGP가 많이 사용되며 EGP로는 BGP가 사용된다. OSPF는 링크 스테이트 라우팅 프로로콜이고 BGP는 디스턴스 벡터 라우팅 프로토콜이다.