3계층에서 동작하는 여러 네트워크 장비 중 대표격, 경로를 지정해주는 장비
라우터에 들어오는 패킷의 목적지 IP 주소를 확인하고, 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 포워딩한다.
원격지 네트워크와 연결할 때, 필수 네트워크 장비이며 네트워크를 구성하는 핵심 장비
라우터처럼 3계층에서 동작하는 스위치를 L3 스위치라고도 하는데 최근 기술 발달로 라우터와 L3 스위치를 구분하기 어렵다.
요약
경로 지정
경로 정보를 모아, 라우팅 테이블을 만들고 패킷이 라우터로 들어오면 패킷의 목적지 IP 주소를 확인해, 경로를 지정하고 패킷을 포워딩한다.
IP주소의 네트워크/호스트로 나뉜 IP 계층 구조를 기반으로 로컬 네트워크와 원격지 네트워크를 구분하고 네트워크 주소를 기반으로 경로를 찾아 간다.
라우터는 경로를 지정해 패킷 포워딩하는 역할을 2가지로 구분해 수행
경로 정보를 얻는 역할
얻은 경로 정보를 확인하고, 패킷을 포워딩하는 역할
브로드캐스트 컨트롤 (Broadcast Control)
라우터는 패킷을 원격지로 보내는 것을 목표로 개발되어, 3계층에서 동작하고 분명한 도착지 정보가 있을 때만 통신을 허락
만약 LAN에서 스위치가 동작하는 것처럼 목적지가 없거나 명확하지 않은 패킷이 플러딩된다면 인터넷에 쓸모 없는 패킷이 가득 차 통신불능 상태가 될 수 잇음
라우터는 바로 연결되어 있는 네트워크 정보를 제외하고, 경로 습득 설정을 하지 않으면 패킷을 포워딩할 수 없음
라우터의 기본 동작은 멀티캐스트 정보를 습득하지 않고, 브로드캐스트 패킷을 전달하지 않음
라우터의 이 기능을 이용해 브로드캐스트가 다른 네트워크로 전파되는 것을 막을 수 있음
이 기능을 브로드캐스트 컨트롤/멀티캐스트 컨트롤 이라고 함
네트워크에 브로드캐스트가 많은 경우, 라우터로 네트워크를 분리하면 브로드캐스트 네트워크를 분할해 네트워크 성능을 높힐 수 있다.
프로토콜 변환
라우터의 또 다른 역할은 서로 다른 프로토콜 구성된 네트워크를 연결하는 것
과거에는 LAN에서 사용하는 프로토콜과 WAN에서 사용하는 프로토콜이 전혀 다른, 완전히 구분된 공간이었음
라우터에 패킷이 들어오면, 2계층까지의 헤더 정보를 벗겨내고 3계층 주소를 확인한 후, 2계층 헤더 정보를 새로 만들어 외부로 내보낸다.
그래서 라우터에 들어올 떄의 패킷 2계층 헤더 정보와 나갈 때의 패킷 2계층 헤더 정보가 다르다.
(이 기술로 전혀 다른 기술 간 변환이 가능하다.)
라우터는 자신이 분명히 알고 있는 주소가 아닌 목적지를 가진 패킷이 들어오면, 패킷을 폐기
패킷이 들어오기 전에 경로 정보를 충분히 수집하고 있어야 라우터가 정상적으로 동작한다.
현대의 네트워크는 클래스리스 네트워크로 전환되어, 같은 클래스에 있는 주소도 서브네팅된 상태로 분산되어 존재
라우터는 이런 복잡하고 많은 경로 정보를 얻어, 최적의 경로 정보인 라우팅 테이블을 적절히 유지해야 한다.
라우터는 서브넷 단위로, 라우팅 정보를 습득하고 라우팅 정보를 최적화하기 위해 요약 작업을 통해 여러 개의 서브넷 정보를 뭉쳐 전달한다.
라우터에 들어온 패킷의 목적지 주소와 라우터가 갖고 있는 라우팅 테이블 정보가 정확히 일치하지 않더라도(Exact Match가 아니더라도) 수많은 정보 중 목적지에 가장 근접한 정보를 찾아 패킷을 포워딩 해야 한다.
라우터는 패킷이 목적지로 가는 전체 경로를 파악하지 않고, 최적의 넥스트 홉을 선택해 보내준다.
네트워크를 하나 씩, 뛰어넘는다는 의미로 홉-바이-홉 이라고 한다.
넥스트 홉은 다음과 같이 지정할 수 있다.
라우터에서 넥스트 홉을 지정할 떄는 일반적으로 상대방 라우터의 인터페이스 IP 주소를 지정하는 방법을 사용한다.
라우터가 패킷을 어디로 포워딩할지, 경로를 선택할 때는 출발지를 고려하지 않는다.
목적지 주소와 라우팅 테이블을 비교해, 어느 경로로 포워딩할지 결정한다.
라우팅 테이블을 만들때는 목적지 정보만 수집하고, 패킷이 들어오면 목적지 주소를 확인해 패킷을 넥스트 홉으로 포워딩한다.
라우팅 테이블에는 목적지 주소 / 넥스트 홉 IP 주소 or 로컬 인터페이스 식으로 저장이 된다.
루프가 없는 3계층
3계층 IP 헤더에는 TTL 이라는 필드가 있다.
이 필드는 패킷이 네트워크에 살아 있을 수 있는 시간(홉)을 제한한다.
패킷이 영구적으로 사라지지 않는다면, 장비 간에 동일한 패킷이 핑퐁을 치거나 인터넷에 사라지지 않는 유령 패킷이 넘쳐날 것이므로 TTL 이라는 수명 값을 가지고 있고, 이 값이 0 이되면 네트워크 장비에서 버려진다.
하나의 홉을 지날 때마다 TTL 값이 1씩 줄어든다.
다이렉트 커넥티드
IP 주소를 입력할 때, 사용된 IP 주소와 서브넷 마스크로 해당 IP 주소가 속한 네트워크 주소 정보를 아는 것
인터넷에 IP를 설정하면, 자동 생성되는 정보이므로 정보를 강제로 지울 수 없고 해당 네트워크 설정을 삭제하거나 해당 네트워크 인터페이스가 비활성되어야만 자동으로 사라진다.
스태틱 라우팅
관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해, 경로 정보를 입력하는 것
네트워크 통신은 양방향이므로 되돌아오는 패킷을 고려해서 R1, R2 라우팅 테이블에 경로가 모두 입력되어야 정상 동작한다.
다이나믹 라우팅
스태틱 라우팅은 라우터 너머의 다른 라우터의 상태 정보를 파악할 수 없어, 라우터 사이의 회선이나 라우터에 장애가 발생하면 장애 상황을 파악하고, 대체 경로로 패킷을 보낼 수 없음
관리해야 할 네트워크 수가 많아지거나 연결이 복잡해지면 스태틱 라우팅에는 한계가 있음
이를 위해, 라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해, 전체 네트워크 정보를 학습한다.
주기적으로 또는 상태 정보가 변경될 때 라우터끼리 경로 정보가 교환되므로 라우터를 연결하는 회선이나 라우터 자체에 장애가 발생하면 이 상황을 인지해 대체 경로로 패킷을 포워딩 할 수 있다.
관리자의 개입 없이, 라우터끼리 정보교환만으로 장애를 인지하고, 트래픽을 우회할 수 있으므로 대부분 네트워크에서 다이나믹 라우팅이 사용됨
라우팅의 역할은 경로 정보를 얻는 것뿐만 아니라, 다양한 경로 정보를 체계적으로 데이터베이스화하고 순위를 적절히 부여해 최선의 경로 정보만 수집해두는 것
패킷을 포워딩할 때, 최적의 경로를 찾는 작업을 단순화하기 위해 라우팅 정보를 저장할 때, 최적의 경로만 추려 별도 테이블에 미리 보관한다.
라우터가 수집한 경로 정보, 원시 데이터를 토폴로지 테이블이라고 하고 이 경로 정보 중 최적의 경로를 저장하는 테이블을 라우팅 테이블이라고 한다.
패킷을 보낼 때는 전체 경로를 고려하는 것이 아니라, 다음 라우터까지만 패킷을 포워딩하는 홉-바이-홉 라우팅이라는 것을 잊지말자.
위의 3가지 경로 수집 방법 중 우선순위가 가장 높은 것은 라우터에 바로 연결된 네트워크이므로
다이렉트 커넥티드 > 스태틱 라우팅 > 다이나믹 라우팅
순으로 중첩되어 있다면, 라우팅이 결정된다.
물론 관리자가 우선순위를 조정할 수 있다.
참조한 책 및 사이트
IT 엔지니어를 위한 네트워크 입문
https://velog.io/@moonlt93/%EB%9D%BC%EC%9A%B0%ED%84%B0Router
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jeffms1&logNo=221459499899