Това не може да се случи защото switch-овете работят на принципа STORE & FORWARD. Не може да настъпи застъпване по никакъв повод (това не са хъбове, там застъпване има и се нарича колизия). Може пакет да се дропне защото паметта на switch-а е свършила, понеже още не е изпратил пакетите, а пристига нов. Тогава новопристигащият би се дропнал. НО -
switch-овете, дори китайските, се проектират да имат буфер достатъчен да обслужи закъснение в транспортирането на пакети поне 0.3*броя на портовете*5 милисекунди. Така се запасяват от максималното изчакване на порт поради колизия, да могат да поемат пиков входящ трафик. Е не всичкия, но при вашите постановки такова претоварване не може да се получи. Затова забравете за тази идея със застъпванята. Ако има хъбове, да, може да се получи. А сега нека аз да ви обсясня най вероятната причина ако е в мрежата (защото аз продалжавам да залагам на сървъра по описание все пак):
Знаете че понеже при switch-овете има само point-to-point връзки (няма колизионни домейни), тогава е възможно два switch-а, или switch-PC да си комуникират на Full Duplex (няма от къде да се вземе трети и да омаже комуникацията), затова има протокол който се казва AutoNegotiation който договаря между switch-овете портовете дали да работят на FullDuplex режим или на Half. Понеже има два различни протокола за AutoNegotiation, е възможно два различни производителя на switch-ове, и дори два различни модела на един и същи производител, да не се разберат по между си.
И един да реши че порта му срещу другия е на Full, докато другия си мисли че е на Half Duplex.
Какво се получава тогава?
Този който е на Full докато получава пакет не се притеснява да изпраща други които са му в опашката (все пак имаме две двойки жички - за трансмит и рецеиве). Този който е на халф обаче ако тръгне да получава нещо докато изпраща си казва - а-а-а има колизия, и дропва това което получава (тоест не го брои за пакет). Ако такова нещо не се получи, няма да има загуби на пакети. А в едната посока всичко винаги ще си е наред (в посока Half->Full).
Така че залагам 40% алкохол че вашият проблем е такъв (60% водка за проблем в сървъра все пак).
Ако всичките ви switch-ове са управляеми най-добре е на всички портове между тях изрично да установите режим Full, а на всички портове към клиенти, изрично да се установи режим Half (така се избягват всички проблеми с AutoSensing и има пълна съвместимост). Но понеже знам че са китайски за по 5 лева, знам че не могат да се управляват (спецялно на репотешките AutoNegotiation-а просто не им работи). Затова нека хварля зар и кажа като един ШирокХълмс, понеже само тоя клиент се оплаква, то проблема не е в нещо което поделят всички клиенти (връзките между switch-овете) а в нещо на тоя клиент - неговата връзка към вашият switch. Затова ще ви кажа един номер да пробваме, дори и това да е проблема може да не сработи (може да е на друго място), ако мине ще ме черпите -
идете на PC-то на клиента (да се надяваме с някой хубав Windows), там на пропертиес на мрежовата му карта намерете Duplex режима и го нагласете да е примерно 10Half или 100Half (на линукс става с ifconfig), но задължително half. Reboot-вате (ако не е от 2000 нагоре иначе само вадите кабела от картата и след 5 сек го слагате). Ако проблема с пинговете и загубите на пакети спре - чакам си почерпката. А за обяснение защо е спряло, счупиха ми се пръстите да пиша, та затова четете отново отгоре
|