자 이번시간에는 디스턴스 벡터 알고리즘의 문제점에 대한 고찰을 해볼까 합니다. 미리 말씀드리지만 디스턴스 벡터 알고리즘이 지금 말씀드리려는 문제점 만 있는 것은 아닙니다. 장점도 많지만 여기서는 문제점만을 집중적으로 알아보려는 것 입니다. 그리고 마지막에서 그 해결책에 대한 것들도 함께 알아보도록 하겠습니다.
디스턴스 벡터의 문제점이라면 가장먼저 떠오르는게 바로 ‘시간’ 아닐까 합니다. 즉 한번 배운 라우팅 테이블을 계속 전달 , 전달 하기 때문에 업데이트가 모든 네트워크에 전달되는 시간(이걸 보통 Convergence Time 이라고 합니다.)이 많이 걸린다는 것입니다. 따라서 이것 때문에 우리가 흔히 이야기하는 루핑이 발생할 수 있다는 것 입니다.
먼저 그림을 보시겠습니다. 라우터 A는 왼쪽 네트워크로부터 라우팅 테이블의 업데이트를 받았습니다. 즉 왼쪽에 연결된 네트워크의 링크에 변화가 감지된 것입니다. 그럼 이제부터 라우터A 는 자신의 라우팅 테이블을 변경하기위한 작업을 시작합니다. 새로운 링크가 생겼다면 그걸 넣고, 만약 어떤 네트워크가 끊어졌다면 그 네트워크를 라우팅 테이블에서 지울 것입니다.
이런 작업을 통해서 라우터 A는 새로운 라우팅 테이블을 만들게 됩니다. 그리고 라우팅 업데이트 시간이 왔습니다. RIP 에서는 30 초에 한번 라우팅 테이블을 업데이트 한다고 배운걸 기억하실 겁니다. 마찬가지로 Distance- Vector 알고리즘은 업데이트 주기를 가지고 있습니다. 예를들어 이 주기가 30 초라고 가정하면 라우터 A는 30 초후에 변경된 라우팅 테이블을 라우터 B에게 보내고 라우터 B는 다시 30 초 후에 라우터 C에게 이 정보를 보내주게 되는 것 입니다.
따라서 라우터 C는 라우터 A가 라우팅 테이블 변화를 인지한지 60 초 후에야 비로소 네트워크의 변화를 인지할 수 있게 되는 것 입니다.
만약 라우터 C 뒤에 또다른 라우터가 있다면 어떨까요?
그렇습니다. 라우터가 네트워크 변화를 인지하는 데 많은 시간이 걸린다는 것을 이제 여러분도 직접 느끼셨을 겁니다.
이게 바로 디스턴스 벡터의 제일 큰 약점이기도 합니다...유식한 말로 컨버젼스 타임(Convergence Time), 즉 라우팅테이블이 모든 라우터에 전달되는 시간이 오래 걸린다는 것입니다...
오늘은 칼럼 형식을 조금 달리해봤는데..어떠세요..?? 꼭 책읽는것 같죠..?? ^^ 뭔가 다른걸 시도하는 후니....^^
이상 아셈빌딩에서 후니가 말씀드렸습니다.. 안녕..^^
댓글을 달아 주세요