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

В началото си 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:
Ако проводниците и в двата края на кабела са наредени в ред A или в ред B, кабелът е прав (straight-through). Ако в единия край имаме поредица A, а в другия - B, кабелът е кръстосан (crossover). Накратко: с прав кабел се свързва компютър към суич или хъб, с кръстосан - компютър към компютър, суич към суич, хъб към хъб. Надълго: тук. Все повече устройства се абстрахират от вида кабел.
По едно време, докато трите кабелни технологии едновременно са били широко разпространени, е имало адаптери с по няколко вида съединителя. Важното тук е, че, въпреки различните интерфейси и технологии, алгоритъмът (и видът на кадъра) са едни и същи.
Алгоритъм на достъп, 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, но не съвсем същото (голяма боза с всички тия стандарти, ей)
И малко за типовете мрежи според физическия носител, на български