
어떤 조교가 처음 셋팅해놨는지 몰라도 노드별로 NetFPGA MAC하고 IP 할당 자동화 한 것은 훌륭했다. 슬라이드랑 맞도록 자동화 하지 않았으면 삽질 시간이 길어질 수 있었을텐데. /etc/rc.d/rc.local 수정하는 스크립트는 여러 번 실행하면 여러 번 붙어서 좀 문제의 소지가 있었지만 꼬인걸 미리 발견해서 다행이었음 (..) 선도 많이 필요할 것 같았는데 의외로 15개만으로 충분해서 추가로 케이블 찍을 필요는 없었다. 왼편의 1, 2는 인텔 포트고 오른편의 0, 1, 2, 3은 NetFPGA 포트다. 포트 옆에 쓰인 것은 IP 뒷 2자리이고, 연결선에 쓰인 숫자는 아래에 보이듯이 랜선마다 태깅된 번호를 의미한다.

아래는 몇 초 흐른 후 완결된 라우팅 테이블이다. (노드 1번)

토폴로지를 놓고 살펴보면 적당히 Ring을 반 갈라서 경로가 만들어진 것을 확인할 수 있다. 이제 4번 링크를 단절시키면 아래와 같이 라우팅 테이블이 전부 MAC3을 거쳐서 돌아가도록 변경된다.

이 과정을 진행하면서 mplayer로 노드 3에 위치한 아파치 웹 서버를 통하여 동영상을 제대로 받아오는지 확인한다.

원래대로 다시 4번을 물려놓고 Advanced Router GUI를 실행한 후, iperf로 TCP 트래픽을 걸어놓고 큐 길이에 따른 성능 테스트를 진행한다. 라우터 퀵스타트 화면을 보면 모듈 구조가 아래 그림과 같이 되어있고, MAC1 TX에 Rate Limit을 걸고 Output Queue 설정을 조정하면서 큐 상태를 그래프로 확인할 수 있다.

위 화면에서 Rate Limit을 클릭하면 아래와 같은 창에서 TX 속도를 제한할 수 있다. 1.953Mbps로 줄여놨다.

그러면 Output Queues를 클릭했을 때 아래와 같이 큐 상태를 확인할 수 있다.

위의 설정에서 패킷 단위로 출력 큐 길이(Output queue size in packets)를 조정할 수 있다. 초반에 큐 길이를 패킷 16개로 제한했는데, 이 때문에 Queue Occupancy 그래프는 저조하고 Packet Drop이 계속 발생하는 것을 볼 수 있다. 그러다가 512로 올리자마자 TCP 혼잡제어 로직에 따라 조금씩 큐를 더 차지하다가 300 지점에서 Rate 한계에 걸려서 오르락 내리락 하는 모습을 볼 수 있다. 아래의 이벤트 캡처 모듈 그래프도 동일한 양상으로 움직인다.

여기까지 진행했는데 안타깝게도 아직도 라이센스 문제 해결을 못 해서 Xilinx ISE로 합성을 할 수가 없었고, 기존에 준비된 Bit 파일로 실험을 수행했다. 아무래도 석신이가 와서 손 좀 봐줘야겠다 (..)
나름 5대 이상 모양새 좀 갖춰서 해보려면 돈 수백 들어가는데 공짜로 해보니까 좋구나~
태그 : netfpga




덧글
토깽 2010/05/22 23:30 # 답글
크랙킹!
xeraph 2010/05/24 01:04 #
토깽도 글 좀 써봐~~
토깽 2010/05/24 12:03 # 답글
응? 여기다? (...)글 쓰기 귀찮아. 난 덧글 전문이잖아.
xeraph.com에서 덧글을 맡고 있는 토깽이에요!
..랄까
xeraph 2010/05/24 12:11 #
아니 님 블로그 얼어있자너 (..)
토깽 2010/05/25 03:36 #
내 블로그를 내버려둬!!!
토깽 2010/05/24 12:07 # 답글
랍사장. 근데 가끔은 내가 알아볼 수 있는 글도 써줘요즘 심심할라 그래..
글이랑 상관없는 댓글은 방명록에 쓰라 그러고..ㅠㅠ