단말의 수가 많은 세그먼트에서 실제 네트워크 구성시, 이더넷 허브를 데이지 체인(daisy chain) 형태로 연결하여 사용하는 경우가 있다. 즉, 허브에 허브를 연결하여 연결 가능한 포트수를 늘리는 것으로, 허브의 포트수가 부족한 경우에 많은 포트수를 가지는 새로운 장비를 구입할 필요없이 기존의 허브를 활용하여 문제를 해결할 수 있으므로, 상당히 유용한 방법이며 종종 사용된다.
이러한 구성이 OPNET에서도 가능할까? 아쉽게도 이렇게 허브를 연속적으로 연결하는 구성은 OPNET에서 지원되지 않는다. 즉, OPNET의 이더넷 허브 모델은 자신이 다른 허브와 직접 연결되지 않는다고 가정하고 만들어졌기 때문에, 허브에 허브를 연결하고 시뮬레이션을 수행하면 다음과 같은 에러 메시지를 보여주고 시뮬레이션이 중단된다.
이러한 에러메시지가 출력되는 직접적인 이유는 이덧넷 허브 노드 모델에 사용되는 etherent_hub_v2 프로세스 모델의 init 스테이트에서 연결된 주변 노드들을 검사하고 만약 허브와 연결되어 있으면 시뮬레이션을 중단시키기 때문이다.
init 스테이트의 Exit 블럭을 살펴보면 168라인에 다음과 같은 코드가 있다. 이웃 노드에 등록된 프로세스들을 살펴보고 "protocol" 속성값으로 "eth_hub"를 가진 프로세스가 있으면, 에러 메시지를 출력하고 시뮬레이션을 종료(ethernet_hub_concat_log_wirte() 함수)시키는 것이다.
물론, 단순히 이 부분의 코드를 삭제한다고 해서 데이지 체인으로 연결된 허브가 성공적으로 시뮬레이션 되지는 않는다. 이 부분에서 시뮬레이션을 종료시키는 이유는 데이지 체인 형태의 연결에 의한 문제인 경우, 이후의 코드에서 다른 원인에 의해서 발생하는 에러메시지와 구분되지 않아서 혼란을 주는 것을 예방하기 위해서이기 때문이다.
이러한 문제를 해결하는 방안은 충분한 포트수를 가지는 이더넷 허브 모델을 사용(256 포트를 가지는 모델을 기본으로 제공한다)하거나, 허브와 허브 사이에 브릿지나 스위치를 연결해주는 것이다.
시뮬레이션 관점에서 본다면, 한개의 허브에 수백개의 단말을 개별적으로 연결해야하는 경우는 극히 드물다. 왜냐하면 많은 수의 단말에 의한 전체적인 영향을 살펴보기 위해서라면, 한개의 LANs 노드 모델로 충분히 모델링이 가능하며 훨씬 간편하기 때문이다.
'Riverbed Modeler(OPNET) > HowTo' 카테고리의 다른 글
OPNET, 윈도우즈 2000에 대한 지원 중단 (0) | 2010.11.01 |
---|---|
Visual Studio 2008을 위한 환경 변수 설정 (0) | 2010.10.02 |
결과 그래프 모습의 차이 - Values per statistic (0) | 2010.08.08 |
Proto-C란? (0) | 2010.06.07 |
노드의 위치정보 획득시 주의사항 (0) | 2010.01.17 |