일기

라우팅

Realuda72 2024. 12. 16. 22:11

 오늘은 라우팅에 대해 알아보자

 

0. 라우팅이 뭘까

 라우팅은 하나 이상의 네트워크에서 경로를 선택하는 작업이다. 라우팅은 데이터 패킷을 한 노드에서 다른 노드로 보내는 작업을 한다. 여기서 노드는 라우터라고 하는 네트워크 장치를 말한다. 라우팅은 데이터 패킷을 안정적이고 효율적으로 전달하기 위해서 다양한 라우팅 결정과 메트릭을 사용하여 최단 경로를 찾아낸다.

  • 송신자는 데이터 패킷 헤더에 IP를 포함시켜 네트워크로 전송한다.
  • 가장 가까운 라우터는 데이터 패킷을 수신하고, 몇 가지 측정 항목을 기반으로 해당 데이터 패킷을 다른 라우터로 라우팅한다.
  • 목적지에 도달할 때까지 위의 작업을 반복한다.

1. 라우팅의 유형

 라우팅에는 일반적으로 3가지 유형이 있으며, 목적에 따라 다른 기능을 제공한다.

정적 라우팅(Static Routing)

 정적 라우팅은 비적응적 라우팅이라고도 한다. 이 경우 네트워크 관리자가 수동으로 라우팅을 구성한다.

  • 네트워크 관리자는 네트워크를 완전히 제어하고, 데이터 패킷을 목적지로 라우팅한다.
  • 라우터는 네트워크 관리자가 수동으로 구성한 목적지로 패킷을 라우팅한다.
  • 이 유형의 라우팅은 경로를 세세하게 제어할 수 있지만 대규모 네트워크에는 적합하지 않을 수 있다.

동적 라우팅(Dynamic Routing)

 동적 라우팅은 인간의 개입 없이 자율적으로 진행되는 라우팅 유형이다. 패킷은 다양한 최단 경로 알고리즘과 미리 결정된 메트릭스를 사용하여 전송된다. 이 유형의 라우팅은 더 많은 유연성과 다양한 기능을 제공하기 때문에 현대 네트워크에서 선호된다.

  • 네트워크 토폴로지에 발생한 변경 사항을 라우팅 테이블에 반영해 경로를 추가한다.
  • 이런 자동적인 과정은 네트워크에 변화가 있을 때 루트를 추가하거나 삭제하는 작업을 자동화하는데 도움이 된다.

기본 라우팅(Default Routing)

 기본 라우팅은 특정 경로를 찾지 못했을 경우, 라우터가 패킷을 기본 게이트웨이나 next-hop 장치와 같은 기본경로로 전송하도록 구성된 라우팅 기술이다. 네트워크에 탈출구가 하나 있을 때 일반적으로 사용된다. 

 

2. 라우팅의 작동 원리

 라우팅은 네트워크를 통해 출발 노드에서 목적 노드까지 가장 짧은 경로를 찾는데, 단계별 작동 방식은 아래와 같다.

 

1단계: 커뮤니케이션 시작

 일반적으로 첫 번째 단계는 한 노드에서 HTTP 프로토콜을 사용하여 네트워크 통신을 시작하는 것이다.

 

2단계: 데이터 패킷

 출발 장치는 안정적이고 효율적인 전송을 위해 커다란 정보 덩어리를 작은 데이터 패킷으로 쪼갠다. 이 과정을 페이로드 분해 및 캡슐화라고 한다. 그리고 각 패킷에 목적 노드의 IP 주소가 각인된다.

 

3단계: 라우팅 테이블

 라우팅 테이블은 가장 가까운 라우터에 대한 IP주소와 관련된 정보를 저장하는 논리적 데이터 구조이다. 출발 노드는 패킷을 전송할 수 있는 모든 노드들의 IP 주소를 조회하고, 최단 경로 알고리즘을 사용하여 최단 경로를 선택한 다음에 그 에 따라 라우팅한다.

 

4단계: 호핑

 데이터 패킷은 목적지에 도달할 때 까지 많은 노드를 거친다. 홉 카운트는 최종 목적지에 도달할 때 까지 거쳐가야 하는 노드들의 숫자다.

 모든 데이터 패킷에는 특정한 기준이 정해져 있으며, 패킷이 가질 수 있는 홉 카운트에 제한이 있다. 패킷의 홉 카운트가 해당 수를 넘으면 패킷은 손실되고 재전송된다.

 

5단계: 목적 노드 도달

 모든 데이터 패킷이 목적 노드에 도달하면 다시 조립하여 완전한 정보로 변환된다. 수신자는 다양한 오류 검사 메커니즘을 통해 데이터 패킷의 진위성을 확인한다.

 전반적으로 데이터 패킷은 패킷 손실을 방지하기 위해 트래픽이 가장 적은 경로 뿐만 아니라 홉 카운트가 가장 적은 경로를 통해 전송된다.

 위 그림에서 가장 짧은 경로는 빨간색으로 강조 표시되어 있으며, 홉 수가 가장 적은 경로이다.

 

3. 주요 라우팅 프로토콜

  • RIP(Routing Information Protocol): 홉 수를 지표로 사용하는 거리 벡터 프로토콜
  • OSPF(Open Shortest Path First): 다익스트라 알고리즘을 사용하여 최단 경로를 찾는 링크 상태 프로토콜
  • EIGRP(Enhanced Interior Gateway Routing Protocol): 거리 벡터와 링크 상태의 기능을 결합한 하이브리드 프로토콜
  • BGP(Border Gateway Protocol): 인터넷상의 서로 다른 자율 시스템 간 라우팅에 사용되는 경로 벡터 프로토콜
  • IS-IS(Intermediate System to Intermediate System): ISP와 같은 대규모 네트워크에서주로 사용되는 링크 상태 프로토콜

4. 다양한 라우팅 지표

 라우팅 프로토콜의 목적은 데이터 패킷을 라우팅하는 데 사용할 수 있는 모든 경로에 대해 알아보고, 라우팅 테이블을 구축하고, 제정된 메트릭스에 따라 라우팅 결정을 내리는 것이다. 라우팅 프로토콜에는 두 가지 주요 유형이 있으며, 나머지는 이 두가지에서만 파생된다.

 

거리 벡터 라우팅

 거리 벡터 라우팅 프로토콜에서 네트워크의 모든 노드는 인접한 노드에게 정기적으로 자신을 광고한다. 각 라우터가 정기적으로 업데이트되므로 모든 노드가 정확한 네트워크 뷰를 갖는 데 시간이 걸릴 수 있다.

  • 고정 길이의 서브넷을 사용하므로 확장에 적합하지 않다.
  • 벨만 포드 알고리즘을 사용한다.

https://www.geeksforgeeks.org/bellman-ford-algorithm-dp-23/

 

Bellman–Ford Algorithm - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

링크 상태 라우팅

 링크 상태 라우팅은 새로운 업데이트가 추가될 때만 경로가 업데이트된 라우팅 테이블을 광고하는 유형의 동적 라우팅 프로토콜이다. 이는 대역폭을 효과적으로 사용하게 한다. 모든 라우터는 비용 및 홉 수와 같은 다양한 연결 정보를 동적으로 교환하며 최적의 경로를 찾는다.

  • 확장 가능하고 주소 지정을 보다 효과적으로 사용하는 가변 길이 서브넷 마스크를 사용한다.
  • 다익스트라 알고리즘을 사용한다.

https://www.geeksforgeeks.org/introduction-to-dijkstras-shortest-path-algorithm/

 

What is Dijkstra’s Algorithm? | Introduction to Dijkstra's Shortest Path Algorithm - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

연결 생태 지표들은 아래와 같다.

  • 홉 카운트: 데이터 패킷이 목적지에 도달하기 위해 통과해야 하는 노드 수
  • 대역폭 소비: 대역폭은 네트워크가 데이터를 전송할 수 있는 능력으로, 라우팅은 효율적인 대역폭 소비를 보장하는 방식으로 이루어진다.
  • 지연: 데이터 패킷이 출발 노드에서 목적 노드까지 전송되는데 걸리는 시간
  • 부하: 특정 경로의 네트워크 트래픽
  • 신뢰성: 신뢰성은 데이터 패킷이 의도한 목적지에 확실히 전달되는 것을 말한다.

5. 라우팅의 장점

  • 라우팅은 다양한 방법으로 이루어질 수 있다. 요구사항을 파악하고 필요에 맞는 라우팅을 사용하는 것이 중요하다. 일반적으로 패킷 라우팅이 알고리즘에 의해 자동으로 수행되는 동적 라우팅이 선호되지만 수동으로 구성되는 라우팅으로 네트워크를 세밀하게 제어할 수 있다.
  • 라우팅은 데이터 전송에 있어서 확장성이 매우 뛰어난 작업이므로, 대규머 기업 네트워크에서는 조직에 대한 민감하고 기밀 정보를 공유하는 모든 노드와 관련된 정보를 관리하는 것이 중요하다.
  • 부하 분산은 데이터 패킷 라우팅이 처리하는 중요한 측면 중 하나이다. 혼잡한 경로를 통해 데이터 패킷을 보내는 것은 손실의 위험이 있기 때문이다.

6. 라우팅의 단점

  • 정적 라우팅은 네트워크 관리자가 네트워크를 정확히 파악하고 토폴로지에 대한 충분한 지식을 갖고 있는 소규모 네트워크에만 적합하다. 보안 문제와 복잡한 구성 문제가 발생할 수 있다.
  • 동적 라우팅은 모든 것이 라고리즘에 의해 자동으로 수행되므로 어떤 네트워크에서는 네트워크 컨트롤이 부족할 수 있다. 또 컴퓨팅 비용이 많이 들고 더 많은 대역폭을 사용한다.
  • 기본 라우팅은 명확하게 정의하지 않으면 복잡한 절차가 될 수 있다.

7. 요약

 라우팅은 네트워크 상에서 패킷이 최적의 경로를 따라 전송될 수 있도록 경로를 계산하고 전송하는 작업이다. 라우팅은 여러 유형이 있으며, 다양한 척도와 알고리즘으로 최적의 경로를 계산할 수 있다.

 

https://www.geeksforgeeks.org/what-is-routing/?ref=header_outind

 

What is Routing? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

'일기' 카테고리의 다른 글

IOCP  (0) 2024.12.24
Socket.io를 활용한 통신 프로젝트  (0) 2024.12.20
Classless Inter Domain Routing(CIDR)  (0) 2024.12.15
Classful IP Addressing  (0) 2024.12.14
IP주소  (0) 2024.12.14