|
News,
Internal,
Projects,
Home Software, Support, Documentation |
On Thu, Nov 10, 2005 at 10:20:14AM +0900, Jongwoo Han wrote: > > > > > 예를 들어, 패킷 하나에 3바이트의 실제 데이터가 있다면, > > > > 전송량은 3바이트가 되나요? 아니면 1500바이트가 되나요? > > > > 자잘한 데이터가 많이 오고 가는데, 네트워크가 포화되는 것 같습니다. > > > > 한 패킷에 담겨지는 데이터는 많아봐야 30바이트밖에 안되거든요. > > 패킷의 크기가 작은 경우에는 (payload가 작은 경우에는 IP및 이더넷 헤더를 > 포함한 전체 패킷 크기도 작아짐) 같은 대역폭에 훨씬 많은 패킷이 들어갈 수 > 있는데 그럴때 문제는 보통 라우터나 PC쪽에서 발생하지 네트워크 자체에서 > 발생하지는 않습니다. 소형 라우터와 PC들이 단위시간당 처리할 수 있는 > 인터럽트 숫자는 제한되어 있기 때문이죠. 예를들어 전체 크기 64바이트 패킷을 > 1Ghz 펜티엄3 프로세서에서 처리해 봤더니 약 30Mbps정도 이상이 넘어버리면 그 > 이상의 패킷은 처리 못합니다. > 보통 이정도 상황에서는 interrupt가 초당 1만개 이상씩 발생하고 시스템은 interrupt를 처리하느라 아무것도 하지 못합니다. polling(4)을 사용하면 어느정도 개선은 되지만 그래도 제약은 있습니다. 프레임크기 64바이트를 100Mbps정도에서 제대로 처리하려면(별도의 하드웨어 (NP)를 사용하지 않는다면) GigE을 사용하면 좋은 결과를 얻을 수 있습니다. 실제로 4.x에서 em(4) + fastforwarding의 경우 wire-speed를 얻을 수 있었습니다. 인텔의 8254x가 여러가지 제약과 문제점을 가지고 있지만 가격대 성능비로는 좋은것 같습니다. -- Regards, Pyun YongHyeon _______________________________________________ 한국 FreeBSD 사용자 그룹(KFUG) questions 메일링 리스트 questions at kr.FreeBSD.org http://www.kr.FreeBSD.org/mailman/listinfo/questions
|
Copyright © 1998-2005 Korea FreeBSD Users Group. All rights reserved. webmaster at kr.FreeBSD.org $Date: 2005/11/10 12:05:00 $ |
|