경로 제어(Routing)
패킷을 교환할 때는 모든 메시지를 일정한 크기의 패킷으로 나누어 전송하므로 데이터를 균등하게 분배하여야 한다. 이를 통해 서비스의 속도를 높일 수 있고 현재 거의 모든 공중 데이터 교환망에서 사용된다. 이 같은 패킷 전송을 위한 주요 기능 중 하나인 라우팅은 데이터를 송신하고 수신하는 측 사이의 경로 중에서 최적의 패킷 교환 경로를 결정하는 기능이다. 여기서 말하는 최적의 패킷 교환 경로란 어느 한 경로에 데이터가 집중적으로 모이는 것을 피하고, 최소의 비용으로 최단 시간에 보내고자 하는 모든 데이터를 송신할 수 있는 경로를 의미한다. 일반적으로 최적의 패킷 경로는 가장 빠른 통신이 가능하게끔 하는 경로이므로 비록 최단경로가 아니라 돌아가는 경로이더라도 고속의 전송경로를 통해 전달하는 경로가 될 수도 있다. 경로 설정은 라우팅 테이블이라 불리는 경로제어 표(Routing Table)의 목적지 주소, 비용 등을 참고로 하여 라우터(Router)에 의해 수행된다. 라우터는 컴퓨터 네트워크 간 데이터 패킷을 전송하는 장치이다. 쉽게 말해 라우터는 서로 다른 네트워크 간에 중계 역할을 해준다. 네트워크에서 의미하는 거리의 기준은 다양하지만 라우팅에서 가장 보편적으로 사용되는 기준은 전송 경로의 중간에 존재하는 라우터의 개수인 홉(Hop)의 개수로 판단하는 것이다.
경로 제어 프로토콜(Routing Protocol)의 종류
간단한 프로토콜의 종류의 하나인 최단 경로 라우팅에서는 패킷이 목적지까지 도달할 때 라우터의 수가 최소화될 수 있도록 경로를 설정한다. 이 방법은 간단하게 적용할 수 있는 방식으로, 목적지까지 가는 경로 중 가장 짧은 것을 선택한다. 전송 지연시간이나 통신 비용 등 홉 수 이외에 거리의 기준이 될 수 있는 것들을 적절한 비율로 함께 적용하여 경로를 설정할 수 있다. 플러딩(Flooding)은 패킷이 라우터에 입력되면 해당 패킷을 출력 가능한 모든 경로로 연결하는 방식이다. 이렇게 하면 원본 패킷과 동일한 패킷이 무한히 생기는데 이를 막기 위해서 각 패킷의 홉수를 라우터에서 제한하여 처리할 수 있게 해야 한다. 플러딩 방식의 라우팅은 많이 사용되지 않고 중요한 데이터를 모든 호스트에 동시에 전달하고자 할 때 제한적으로 사용된다. 거리 벡터 프로토콜의 하나인 RIP(Routing Information Protocol)는 거리 벡터 방식을 사용하는 내부 라우팅 프로토콜 중에서 가장 간단히 구현된 것으로 소규모의 네트워크 환경에 적합하며, 현재 가장 많이 사용되는 라우팅 프로토콜 중 하나이다. RIP가 제대로 작동하려면 라우터가 제공하는 거리 벡터의 정보가 짧은 시간에 모두 도착해야 한다. 거리 벡터란 전체 네트워크에 대한 거리 정보를 의미하는데 이는 현실적으로 구현하기가 쉽지 않다. 따라서 RIP에서는 순차적으로 거리 벡터의 정보가 라우팅 테이블에 적용되도록 한다. 우선 입력되는 거리 벡터의 정보가 새로운 것이면 테이블에 적용하고, 목적지 네트워크까지 도착하는데 걸리는 시간이 더 짧으면 기존의 경로를 대체한다. 즉, 홉 수와 관계없이 지연되는 시간이 적으면 새로운 경로를 채택한다. 이와 같이 거리 벡터 방식을 사용하는 RIP는 내부 라우팅 프로토콜 용으로 개발되었다. 이 외에 외부 라우팅 프로토콜도 존재하는데 여기서 사용하는 경로 벡터의 값은 경로에 관한 거리 정보의 값이 필요 없다. 단순하게 해당 라우터에서 연결 가능한 네트워크가 어떤 것인지에 대한 정보만을 제공한다. 거리에 대한 처리 과정이 이루어지지 않고, 관리하는 라우팅의 정보에는 목적지에 도착하기 위한 시스템에 관한 내용만 포함한다는 점에서 경로 벡터 방식은 거리 벡터 방식과는 차이가 있다. BGP(Border Gateway Protocol)는 외부 라우팅 프로토콜의 하나로 인터넷에서 많이 사용된다. 서로 다른 종류의 시스템에서 동작하는 라우터가 서로 라우팅 정보를 교환할수록 도와주는 것이 BGP의 역할이다. 이처럼 다른 환경에서 동작하는 라우터를 게이트웨이(Gateway)라고 한다.
'소프트웨어 공학' 카테고리의 다른 글
보안 운영체제(Secure OS)의 개념과 기능 및 미래 (0) | 2021.12.04 |
---|---|
애플리케이션 테스트(Application Test)의 정의와 분류 (0) | 2021.12.03 |
하드웨어(Hardware, HW)관련 신기술의 개요와 특징 (0) | 2021.12.01 |
통합 테스트(Integration Test)와 점진적 모듈 통합 방법의 종류 (0) | 2021.11.30 |
보안솔루션의 개념과 종류 (0) | 2021.11.29 |
댓글