리코딩 : 네트워크(Network)

네트워크(Network) - 라우터 - 공부 내용 정리

BreezeBm 2021. 11. 19. 15:33

Photo by  Robynne Hu  on  Unsplash

1. 라우터

 라우터는 경로를 지정해주는 장비이다. 라우터에 들어오는 패킷의 도착지 IP주소를 확인한 후 자신이 가진 경로의 정보를 이용해 패킷을  최적의 경로로 포워딩한다. 라우터는 원격지 네트워크와 연결을 할 때 필수이자 핵심 장비이다. 라우터는 다양한 경로 정보를 모으고 최적의 경로를 라우팅 테이블에 저장한다. 패킷이 라우터에 들어오면 도착지 주소와 라우팅 테이블을 확인해서 최적의 경로로 패킷을 보낸다. 하지만  라우터는 자신이 분명히 알고 있는 주소가 아닌 다른 도착지를 가진 패킷이 들어오면 버린다. 그렇기 때문에 패킷이 들어오기 전에 경로 정보를 충분히 수집을 하고 있어야 정상적으로 작동한다.

 

네트워크가 점점 확대 되면서 경로에 대한 정보가 엄청 많아졌다. 라우터가 많은 경로 정보를 얻을 수 있지만, 도착지와 정확하게 일치 하지 않는 경우가 더 많다. 그래서 라우터에 들어온 패킷의 도착지 주소와 라우터가 테이블에 가지고 있는 정확(exact)하게 일치 하지 않아도, 가장 근접한 정보를 찾아 포워딩을 한다.

 

현대 인터넷은 단말부터 도착지 까지의 경로를 다 책임지는 것이 아니다. 인접한 라우터만 경로를 지정하면 인접 라우터에서 최적의 경로를 파악한 후 라우터로 패킷을 포워딩한다. 네트워크를 한 단계씩 넘어간다는 의미로 홉바이홉(Hop-by-Hop)라우팅 이라고 부르고 인접한 라우터를 넥스트 홉이라고 한다

 

3계층에는 루프가 없다. 3계층 IP헤더에는 TTL이라는 필드가 있다. 이 필드는 패킷이 네트워크에서 살 수 있는 시간을 제한한다. TTL은 실제 초와 같은 시간이 아니라 하나의 홉을 지칭하고, 홉을 지날 때마다 1씩 감소한다. 

라우터의 동작 방식
1. 경로 지정
2. 브로드캐스트 컨트롤
3. 프로토콜 변환

1.1 경로지정

라우터가 경로 정보를 얻는 방법은 3가지가 있다.

1. 다이렉트 커넥티드
2. 스택틱 라우팅
3. 다이나믹 라우팅

1.1.1 다이렉트 커넥티드

 IP주소를 입력할 때, 사용된 IP주소와 서브넷 마스크로 해당 IP주소가 속한 네트워크 주소 정보를 알 수 있다. 라우터나 PC에는 이 정보로 해당 네트워크에 대한 라우팅 테이블을 자동으로 만든다.

1.1.2 스태틱 라우팅

 도착지 네트워크와 넥스트 홉(인접한 라우터)을 직접 지정해서 경로 정보를 입력하는 것을 말한다. 경로를 직접 지정하기 때문에 설정하고 관리를 할 수 있다. 하지만 네트워크가 점점 커지거나, 복잡해질 때 관리가 점점 힘들어지고, 라우터 넘어의 다른 라우터의 상태를 알 수가 없어서 회선이나 라우터에 문제가 발생하면 파악하지 못하고 대체 경로로 패킷을 보낼 수 없다.

1.1.3 다이나믹 라우팅

 스태틱 라우팅의 단범을 보완해서 나왔다. 라우터 끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습한다. 주기적으로 또는 상태 정보가 변경될 때, 라우터끼리 경로 정보가 교환되기 때문에 라우터의 회선이나 문제가 발생하면 상황을 파악하고 대체 경로로 패킷을 보낼 수 있다. 

1.2 브로드캐스트 컨트롤

 스위치의 경우에는 도착 주소를 모르면 장비들과 통신하기 위해 플러딩을 통해 패킷을 모든 포트에 전송을한다. 하지만 라우터의 경우에는 패킷을 원격지로 보내는 것을 목표로 개발되었다. 3계층에서 동작하고 도착지가 있어야지 통신을 한다. 그렇기 때문에 경로 습득이 되어있지 않다면 패킷을 포워딩할 수 없다. 라우터의 동작은 멀티캐스트로 습득하지 않고, 브로드캐스트 패킷을 전달하지 않는다. 이 기능을 활용해 브로드캐스트가 다른 네트워크로 전달되는 것을 막는 것으로 브로드캐스트 컨트롤이라고 한다.

1.3 프로토콜 변환

 라우터는 서로 다른 프로토콜로 구성된 네트워크를 연결한다. 이전에는 LAN에서 사용되던 프로토콜과 WAN에서 사용되던 프로토콜이 전혀 달랐다. LAN의 기술이 WAN으로 변환되어야 원격지 통신이 가능했고 이 역할을 라우터가 했다. 라우터에 패킷이 들어오면 2계층까지의 헤더 정보를 벗겨내고 3계층 주소를 확인한 뒤 2계층 헤더 정보를 새로 만들어서 보낸다


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

 라우터에서 라우팅의 역할은 경로 정보를 얻고 다양한 경로를 체계적으로 데이터베이스화 하고 순위를 부여해 최선의 경로 정보만 수집해 두는 것이다. 라우터가 수집한 원시데이터, 즉 수집 경로 데이터를 토폴로지 테이블이라고 한다. 이 경로 정보 중에서 최적의 경로를 저장한 테이블을 라우팅 테이블이라고 한다.

 

 패킷이 들어와 라우팅 테이블을 확인하고 최적의 경로를 찾아 포워딩하는 작업을 스위칭이라고 한다. 최선의 경로를 보내려고 하지만 간혹 들어온 패킷의 도착지가 테이블에 있는 정보와 완벽하게 일치하지 않을 때도 있다. 그럴 때는 도착지 IP와 가깝게 매치되는 경로 정보를 찾는다. 이 때 롱기스트 프리픽스 매치 알고리즘을 사용해 포워딩을 한다. 

 

 한번 스위칭 작업을 한 정보는 캐시에 저장되고 뒤에 들어오는 패킷은 라우팅 테이블을 확인하는 것이 아니라 캐시를 확인한다. 이 기술이 유용한 이유는 페킷 네트워크에서 데이터를 보내기 위해 동일한 출발지 IP, 동일한 목적지 IP, 포트번호로 여러개의 패킷이 연속적으로 보내지기 때문이다.