Тема 7.

Метод на достъп до съобщителната среда в ETHERNET.


Страницата се нуждае от дописване/преглеждане.


Създаване на Етернет

При създаването си ARPAnet е голяма относно разстояние, но малка относно брой абонати мрежа. Затова за канали биват използвани наети линии - двуточкови линии, подобни на телефонните, свързащи компютрите (и терминалите) посредством модеми. С постепенното нарастване на мрежата започва да изглежда разумно въвеждането на многоточкови канали1.

Паралелно с ARPAnet, се развиват и други мрежи. Една от най-значимите измежду тях е ALOHAnet - мрежа, създадена в Хавайския университет, която свързва компютрите в кампуса, разположен на няколко острова.2. Важното при нея е, че за преносна среда се използва въздушният ефир, който представлява отворен канал с многоточков достъп. Това показва, че е възможно да се изгради добре работеща мрежа с многоточков канал и несложни протоколи, която да не използва механизми за сигурно доставяне на трафика (препредавания и потвърждения). Успехът на Алоха повлиява много изследователи. Един от тях е Робърт Меткалф, който работи заедно с екип (Robert Metcalfe, David Boggs, Chuck Thacker, Butler Lampson) под шапката на Xerox в изследователския център PARC. Тяхната цел е да създадат споделена високоскоростна мрежова среда в рамките на една сграда - нещо, което по-късно ще бъде наречено LAN.

Екипът на Меткалф преразглежда протокола на Алоха и между 1973 и 1975 г създава така наречения Ethernet, неговата логистика и необходимото за него оборудване. Етернет започва да се развива с бурни темпове, като се съревновава с други споделени канали (Token Ring, Token Bus) и се бори за стандартизиране. По това време много изследвания "доказват", че тези системи са ненадеждни и безперспективни. Етернет обаче ги оборва, след като, десетилетие по-късно, става основна (и почти единствена в сегашно време) технология за изграждане на мрежи.

Класически Етернет, характеристики

enetani.gif

В началото си Ethernet представлява кабелен отрязък, към който паралелно са включени станциите. Кабелът е дебел коаксиален, с дебелина ~1 cm3 (известен като Thicknet), със съпротивление 50 $\Omega$, завършващ в двата си края с две 50-омови съпротивления. Наричан е още 10BASE5, което указва няколко негови характеристики - скорост на предаване 10 Mbits/s, baseband-сигнал (няма мултиплексирани сигнали, единствена излъчваща станция), 500 m максимална дължина на сегмента. За да се постигне скорост, нужно е сигналът да изминава най-голямото възможно разстояние за определено, достатъчно малко, време, без да затихва. При 500 m и скорост на сигнала ~$\frac{1}{3}$ пъти скоростта на светлината, това време е приблизително 4.8 $\mu s$.

Ако жилото (сърцевината) на кабела е заземено, след като бива получен от всички станции, електрическият сигнал се отвежда и проблеми няма. Много често обаче това е неприложимо. Тогава, сигналът би се разпространявал в кабела, докато достигне краищата, където по законите на физиката се отразява с отместване половин дължина на вълната и образува стояща вълна. Поради отместването, тя интерферира с първоначалния сигнал и го заглушава. Затова в краищата се слагат подходящо калибрирани терминаторни съпротивления - 50 $\Omega \pm 1\%$.

Каналният адапртер предава в двете посоки по кабела немодулиран сигнал, кодиран в двоен Manchester код (синхронизиращ се, стойността се определя от първата производна). Така при предаване в канала тече слаб ток с ненулева постояннотокова съставка, който лесно се отчита от другите адаптери. Ако две предавания се извършват едновременно, големината на тока се увеличава, което позволява да се отчете колизия. В зависимост от положението на двата предавателя, времето, за което всички станции в сегмента ще отчетат колизията, е между 0 и 9.6 $\mu s$ от началото на предаването - 9.6 е най-лош случай: станциите са в двата края на кабела и колизията се случва близо до едната от тях - тогава усиленият сигнал трябва отново да се върне до първата станция, за да се отчете. След 9.6 $\mu s$, ако не се отчете колизия, спокойно се счита, че такава не се е случила (адаптерите ще виждат, че каналът е зает).

Дебелият коаксиален кабел постепенно се измества от тънък коаксиален (10BASE2, Thinnet). При него дължината на сегмента е най-много 180 m4, което намалява времето за разпространение на сигнала, съответно - възможността за колизиии. Свързването на станциите става малко по-трудно: При дебелия кабел не е необходимо да се реже кабелът - съединителят го пробива. При тънкия, е необходимо да се среже кабелът, за да се постави T-образен съединител. Рязането влошава електрическите свойства на кабела, което води до намаляване на разстоянието и броя станции, за които мрежовата комуникация се осъществява ефективно.

Поради неудобното включване на станциите, което забавя растежа на мрежата, и някои недостатъци на коаксиалния кабел (ако кабелът се повреди/среже, целият сегмент умира), се преминава към усукана двойка - основната технология в наши дни5. Максималното разстояние се скъсява до 100 m. С нововъведението настъпват и някои промени. Докато коаксиалният кабел се разглежда като пасивна шина - средата не участва активно в преноса, всяка станция, която спазва backoff-алгоритъма, може да изпраща - усуканата двойка позволява изграждането на активна комуникационна подмрежа - повторителите и хъбовете буферират и излъчват наново кадрите. Постепенно се преминава към дуплексна комуникация, спрямо полудуплексна при коаксиалните кабели (но колизии все още се случват в хъбовете).

Кабелите "усукана двойка" представляват набор от 4 двойки проводници, като проводниците от всяка двойка са усукани един около друг. Усукването се извършва, за да се намали/елиминира интерференция между проводниците (така нареченият crosstalk): идеята е, че интерференцията ще породи еднакви токове в двойката проводници (фаза и нула), които ще се неутрализират. По същата причина, всяка двойка има различен брой усуквания на метър. Двойките са оцветени в различен цвят. Стандартизирани са 2 цветови схеми: EIA/TIA T568A и T568B:
fig017.gif
Ако проводниците и в двата края на кабела са наредени в ред A или в ред B, кабелът е прав (straight-through). Ако в единия край имаме поредица A, а в другия - B, кабелът е кръстосан (crossover). Накратко: с прав кабел се свързва компютър към суич или хъб, с кръстосан - компютър към компютър, суич към суич, хъб към хъб. Надълго: тук. Все повече устройства се абстрахират от вида кабел.

По едно време, докато трите кабелни технологии едновременно са били широко разпространени, е имало адаптери с по няколко вида съединителя. Важното тук е, че, въпреки различните интерфейси и технологии, алгоритъмът (и видът на кадъра) са едни и същи.

Алгоритъм на достъп, CSMA/CD

Демонстрация на CSMA\CD

Схема на CSMA/CD - не стриктно по лекциите (В текущия прозорец)
Алгоритъм на CSMA/CD (В текущия прозорец)

1.    Данните се буферират.
2.    Сглобява се кадър, поставят се физическите (MAC) адресите.
3.    Преслушва се преносната среда (кабелът).
4.    Докато преносната среда е заета:
5.        {Изчаква се ~9.6 микросекунди, Преслушва се отново.}
6.    Започва предаването на кадъра.
7.    Преслушва се каналът за период от 9.6 микросекунди.
8.    Ако се открие колизия:
9.    {
10.        Изпраща се Jam-сигнал - силен ток.
11.        Увеличава се броят неуспешни опити с 1.
12.        Ако броят опити е твърде голям:
13.            {Прекратява се предаването - твърде много колизии.}
14.        Иначе - задейства се backoff-алгоритъмът:
15.         {
16.            Определя се време на изчакване: t = произволно число x брой опити.
17.            Изчаква се t секунди.
18.            Отиди на ред № 3.
19.        }
20.    }
21.    Иначе - няма колизия:
22.    Ако е завършило предаването:
23.        {Край - успешно.}
24.    Иначе:
25.        {Отиди на ред № 7.}

Backoff-алгоритъмът е вграден хардуерно в адаптера. С всеки неуспешен опит се увеличава времето на изчакване, за да се намали натоварването в канала. Обикновено за максимален брой опити се приема 15, при 16 се прекратява предаването.
Когато се случи колизия, е възможно тя да затихне, преди да се е разпространила из целия кабел, пък се иска всички станции да знаят, че е станала такава. Затова, когато една станция усети колизия, тя излъчва специален jam сигнал (jam sequence). Този сигнал е с по-силен ток от обикновения. Излъчването му гарантира, че получаващите станции или ще отчетат висок ток (колизия), или ще получат jam вместо FCS (трейлъра) и ще отхвърлят кадъра поради невалиден CRC. Тъй като колизия се случа в първите 64 B (9.6 $\mu s$), колизионният кадър може да стане малко по-голям от 64 B (в 10 Mbps мрежа).
За да не се заема твърде дълго каналът (и да не са твърде големи буферите), се определя максимална дължина на кадъра - 1540 B6 .

За да може излъчващият адаптер да открие колизия в началото на предаването, то трябва да трае поне 9.6 микросекунди. При скорост 10 Mbps, това означава минимален размер на кадъра (включително хедър и трейлър) 64 B:

Source MAC (6 B) Destination MAC (6 B) Type/Length (2 B) Data (> 46 B) FCS (4 B)

Тази големина се запазва дори и при следващите, по-бързи мрежи, което е малък недостатък7. Ако данните не са достатъчно, се добавя "пълнеж" (padding).

Алгоритъм на приемане

Алгоритъм на CSMA/CD (приемане на кадър) (В текущия прозорец)

1.    Започва приемането.
2.    Докато приемането не е приключило:
3.        {Приемат се данни и се буферират.}
4.    Ако кадърът е къс (по-малък от 64 B):
5.    {
6.        Проверява се краят на кадъра (трябва да има Jam вместо FCS).
7.        Изхвърля се кадърът и се зачиства буферът.
8.        Отиди на ред № 1.
9.    }
10.    Ако destination-адресът не е еднакъв с този на станцията:
11.    {
12.        Изхвърля се кадърът и се зачиства буферът.
13.        Отиди на ред № 1.
14.    }
15.    Ако кадърът е по-дълъг от 1540 B:
16.        {Грешка - oversized frame.}
17.    Ако CRC на кадъра не е равно на пресметнатото от адаптера:
18.        Ако битовете на CRC не са точен брой байтове:
19.            {Грешка - неизравнен CRC.}
20.        Иначе:
21.            {Грешка - CRC error.}
22.    Ако не е валидна дължината на кадъра (полето Length):
23.        {Грешка - невалидна дължина.}
24.    Иначе:
25.    {
26.        Кадърът се дизасемблира.
27.        Всичко е наред (OK).
28.    }

При пасивна преносна среда (канал), силата на сигнала е изчислена така, че всички да могат да "слушат", без нивото на сигнала да "клекне". Това налага ограничение на броя хостове в сегмента - поне 2.5 метра разстояние между съседните станции.

Детерминирани и състезателни методи на достъп до средата

Ethernet (и CSMA/CD) се появяват преди много години. По същото време и после, се появяват още много варианти, както и производни и подобрения на съществуващите методи. За многоточкови канали, постепенно се оформят два основни класа методи за достъп: състезателни и детерминирани. Дълго време се смятало, че детерминираните методи са по-перспективни и че те са бъдещето (но се случило обратното).

Пример за детерминиран метод: Token Ring

Първите такива методи са, малко или много, примитивни: една от станциите ("председател") ръководи трафика8. Обаче се появяват проблеми - например, ако председателят "умре". Такива ситуации налагат създаването на по-надеждни (тоест, по-разпределени, нецентрализирани) методи.

IBM успява да създаде сравнително успешна концепция, която нарича Token Ring (стандартизирана като IEEE 802.5). При нея стациите са наредени във физически пръстен и си предават управляващ маркер - token - специална поредица от битове. Когато една станция получи маркера, ако няма данни за предаване, го предава на следващата, а ако има, предава кадъра с данните в пръстена (който със сигурност е свободен по това време), след което предава маркера. Предаването е еднопосочно - станцията получава изпратените от самата нея данни от другия край на пръстена, при което им пресмята CRC и определя дали ще се наложи препращане.

Дълго време методът се счита за далновиден, но възникват проблеми. Два от тях са:

  • Управляващият маркер изчезва - да речем, спира токът на държащата го станция. За да се реши проблемът, може да се назначи една специална станция, която, след определен timeout, да регенерира маркера. Друг вариант е тази станция да се избира в движение след изчезването на маркера.
  • Поради неразбирателства (лоша комуникация, натоварени станции), чрез регенериране се появяват 2 или повече маркера.

Тези проблеми не са тривиални и решенията им изискват сравнително сложни и тежки алгоритми, които ограничават възможностите на мрежата. По времето, когато таванът на Token Ring е бил 4 Mbps, Ethernet е постигал 10; когато Ethernet е достигнал 100 Mbps, Token Ring е бил едва на 469. С евтиното масово производство10 на доста по-простите Ethernet адаптери, цената им пада драстично, което пък увеличава търсенето им. С широкото разпространение на Ethernet, започва и все по-масовото производство на (дотогава скъпото) активно оборудване (например switch), което пък прави Ethernet още по-ефективен и надежден, а следователно търсен и разпространен, и кръгът се затваря.

Допълнителни четива

http://www.media.mit.edu/physics/projects/IP/bldg/bi/csma.html
IEEE 802.3 - много подобно на Ethernet II, но не съвсем същото (голяма боза с всички тия стандарти, ей)
И малко за типовете мрежи според физическия носител, на български

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License