Ethernet

**Ethernet** ir uz kadriem bāzētu datortīklu tehnoloģiju kopa, uz kurām balstās lielākā daļa lokālo tīklu. Šiem standartiem ir kopīgs (līdzīgs un savstarpēji atpakaļsavietojams) kanāla slāņa protokols un vēsturiski dažādi fiziskā slāņa savienojumu standarti (daži no tiem ir daļēji savstarpēji savietojami, piemēram 100 Mbit ierīces spēj darboties ar 10 Mbit standartu). Sākotnējā Ethernet versija darbojās ar ātrumu 10 Mbit/s un tika standartizēta kā IEEE 802.3, tā lietoja koaksiālos kabeļus maģistrāles topoloģijā. Vēlāk izstrādāja standartu, kurš izmantoja vītā pāra kabeļus — šiem tīkliem lietoja zvaigznes topoloģiju. Lietojot šādus pašus kabeļus (tālākajiem standartiem palielinājās prasības pret kabeļa kvalitāti) izstrādāja 100 Mbit *Fast Ethernet* un 1000 Mbit *Gigabit Ethernet* standartus. Eksistē arī standarti, kur lieto optiskos kabeļus, tur arī tīkla topoloģija ir vai nu zvaigzne, vai divpunktu savienojums.

## Fizikālais slānis
Sākotnējajai versijai, kas darbojās ar ātrumu 3Mbit/s un nekur nebija standartizēta, kā arī pirmajai standartizētajai Ethernet versijai (standarts IEEE 802.3(8)) lietoja resnu koaksiālo kabeli. Tālākās standartizētās versijas, kas lieto vītā pāra kabeļus parasti ir atpakaļsavietojamas, tas nozīmē, ka savienojot datoru ar 10 Mbit tīklakarti un datoru ar 100 Mbit tīkla karti, tīkls darbosies, bet ar ātrumu 10 Mbit/s.

### 10BASE2
Šeit lietoja tievāku 50 omu koaksiālo kabeli un datorus tam pieslēdza ar BNC konnektoriem. Lai arī šī tehnoloģija ir novecojusi, to dažreiz vēl lieto. Nosaukumā 10 nozīmē, to, ka tīkls darbojas ar 10 Mbit/s, base — to, ka lieto *baseband* signālus (neapstrādātu digitālo signālu, atšķirībā no *broadband*) un 2 ir aptuvenais maksimālais tīkla kabeļa garums simtmetros (precīzi ir 185m, taču to noapaļo). Standarts IEEE 802.3(10). Visiem koaksiālo kabeļu Ethernet standartiem parasti lieto maģistrāles topoloģiju.

### 10BASE5
Koaksiālais kabelis 1 cm diametrā ir uz pusi resnāks un cietāks par 10BASE2 kabelu. Ir iespējams pāraidīt pa 50 omu un 500 m garumā ar ātrumu 10 Mbit/s. Parasti nodrošina minimālu kabeļa garumu, kā rezultātā lēta instalācija. Visiem koaksiālo kabeļu Ethernet standartiem parasti lieto maģistrāles topoloģiju. Lai arī šī tehnoloģija ir novecojusi, to dažreiz vēl lieto video novērošanā un reti sastopama tīklos. Koaksiālie savienojumi BNC, BNC-T, BNC-Barrel un BNC-terminator.

### 10BASE-T
Šeit lieto vītā pāra kabeļus, ko nosaukumā norāda sufikss T. Sākotnējais standarts bija 1BASE5 (darbojās ar ātrumu 1 Mbit/s), bet tas nebija izplatīts. Šis ir otrs izplatītākais 10 Mbit Ethernet standarts. Te lieto vai nu zvaigznes topoloģiju (ja jāsavieno vairāki datori, parasti ar koncentratoru centrā), vai arī divpunktu savienojumu, ja jāsavieno tikai 2 datori. Maksimālais kabeļa garums šajā standartā ir 100 m.

### 100BASE-T
Šī ir 100 Mbit Ethernet standartu kopa, kuru mēdz dēvēt arī par *Fast Ethernet*. Tajā lieto vītā pāra kabeļus ar maksimālo garumu 100 m. No visplašāk izplatītais standarts ir 100BASE-TX. Tas lieto Cat5 (5. kategorijas) kabeļus un izmanto 2 vadu pārus. Sākumā bija izstrādāti arī citi standarti, taču tie neguva popularitātri. 100BASE-T4 lietoja Cat3 kabeļus un izmantoja 4 vadu pārus. 100BASE-T2 lietoja Cat3 kabeļus un izmantoja 2 vadu pārus, taču tas lietoja sarežģītu signāla formātu un tīkla kartēm vajadzēja dārgus signālu procesorus.

### 1000BASE-T
Šis ir izplatītākais 1000 Mbit Ethernet standarts, kuru mēdz dēvēt arī par *Gigabit Ethernet*. Eksistē arī standarti, kur lieto optiskās šķiedras kabeļus. 1000BASE-T lieto Cat5 kabeli un izmanto visus 4 vadu pārus. Pastāv, taču popularitāti neguva 1000BASE-TX standarts, kurš izmanto tikai 2 vadu pārus. Tas izmanto Cat6 kabeļus, kas ir dārgāki par Cat5, taču šo standartu varēja realizēt ar vienkāršāku aparatūru. 1000BASE-T maksimālais kabeļa garums ir 100 m.

### Komutators (''switch'') un koncentrators (''hub'')
Lai vienā tīklā varētu savienot vairāk nekā divus datorus, lietojot vītā pāra kabeļus, nākas lietot kādu atsevišķu ierīci, kurā pieslēdz vadus no visiem datoriem. Šī ierīce ir vai nu komutators vai arī koncentrators (jeb centrmezgls).

Koncentratorā ir iespējamas tikai pusdupleksa (angļu: *half duplex*) komunikācijas, tāpat kā caur koaksiālo tīklu. Koncentratori darbojas tikai kā elektriski pastiprinātāji, tie neskatās adreses. Visas koncentratorā ienākošās paketes tiek nosūtītas ārā pa visiem portiem. Sākotnēji koncentratori bija lētāki, jo tie ir vienkāršāki.

Komutatori skatās ienākošo pakešu adreses un nosūta tās tikai uz to portu, pie kura ir pieslēgts saņēmējs. Sākumā, tikko ieslēzot, slēdži nezina adreses, tās noskaidro no tā, no kurienes nāk ienākošie kadri. Kadri, par kuriem nav zināms pie kura porta atrodas saņēmējs, un *broadcast* kadrus sūta uz visiem portiem, tāpat kā koncentratori. Ar komutatoru ir iespējama pilndupleksa (angļu: *full duplex*) komunikācija, jo tiem ir atmiņa un tas ļauj apstrādāt vairākas paketes, no atšķirīgiem portiem, vienlaicīgi. Slēdži ilgu laiku bija dārgāki, un, pašā sākumā, arī lēnāki (jo tos būvēja uz datoru bāzes) par koncentratoriem.

## Kanāla slānis
Ethernet lieto 72 līdz 1526 baitu garus kadrus. Minimālo kadra garumu nosaka signāla izplatīšanās ātrums tīkla segmentā (lai varētu identificēt sadursmes). Maksimālo kadra garumu vēsturiski noteica tīkla kartē iebūvētās atmiņas daudzums (tolaik, 20. gs 80. gadu sākumā) tā bija visai dārga. Tas nodrošina dažādu ātrumu Ethernet tīklu savienojamību. Gigabita tīklos lieto arī kadrus ar izmēru līdz ~9 KB, jeb *[[:en:Jumbo_frame|jumbo frames]]*, taču tie nav savietojami ar 10 un 100 Mbit tīkliem. Šo izmēru galvenokārt nosaka tas, ka kontrolsummas aprēķināšanas metode zaudē efektivitāti pie ~12 KB (vairs nespēj atrast kļūdas).

Ethernet tīkli, kas lieto koaksiālo kabeli vai vīto pāri ar koncentratoru lieto pusdupleksus (angļu: *half duplex*) sakarus — tīkla kartes var vai nu raidīt vai uztvert, bet ne raidīt un uztvert vienlaicīgi. Šādos tīklos ir iespējamas sadursmes (angļu: *collision*), kas notiek, ja vienlaicīgi sāk raidīt divas tīkla kartes. Sadursmes gadījumā abi raidītie kadri tiek iznīcināti un tos ir jānosūta vēlreiz. Šī procedūra saucas CSMA/CD (*carrier sense multiple access / collision detection*), tajā kadra nosūtīšana notiek pēc apmēram šāda algoritma:
# Kadrs ir gatavs nosūtīšanai
# Vai neviens cits neraida? Ja nē, gaida kamēr beigs raidīt + starpkadru periods (*interframe gap period*) (10 Mbit tīkliem 9,6 µs)
# Sāk raidīt
# Vai ir notikusi sadursme? Ja jā, tad pāriet uz sadursmes apstrādes procedūru.
# Nonullē *retransmission* skaitītājus un uzskata, ka kadrs ir nosūtīts veiksmīgi
# Sadursmes apstrādes procedūra: Turpina raidīt tik ilgi, kamēr sasniedz minimālo kadra garumu, lai panāktu, ka visi uztvērēji pamana sadursmi.
# Inkrementē *retransmission* skaitītāju
# Vai sasniegts maksimālais raidīšanas mēģinājumu skaits? Ja jā, uzskata, ka raidīšana ir izgāzusies un ar to beidz.
# Aprēķina un gaida nejauši izvēlētu laika periodu, kas atkarīgs no sadursmju skaita (jo lielāks, jo ilgāk)
# Atsāk galveno procedūru no 1. stadijas.

Pilndupleksa tīklos, tur kur vai nu lieto vienu vītā pāra kabeli starp diviem datoriem, vai arī komutatoru, ir iespējams raidīt un uztvert vienlaicīgi un šī (CSMA/CD) procedūra nav nepieciešama.

Pārslēgšanās starp pilndupleksa un pusdupleksa savienojumu tīkla kartēs parasti notiek automātiski, tomēr dažreiz ir iespējama situācija, kad viena tīkla karte ir pilndupleksa režīmā, bet otra — pusdupleksa. Tas var izraisīt tīkla caurlaidības samazināšanos virzienā no tīkla kartes pusdupleksa režīmā.

### Kadra struktūra
Ethernet kadri sastāv no iesākuma (*header*), vērtuma (*payload*) un kontrolsummas (*FCS — Frame Check Sequence*). Ethernet tīkla aparatūru sāka ražot vēl pirms bija pabeigts standarts tāpēc dažas iesākuma lauku definīcijas var atšķirties. Lielākie ražotāji bija DEC, Intel un Xerox, pēc tiem definē DIX kadru. IEEE 802.3 Ethernet standartā var atšķirties viena lauka nozīme. Šeit ir aprakstīts DIX kadrs, jo tādi ir izplatītāki:

* **Preambula** (*preamble*) — šis lauks identificē paketes sākumu un sastāv no atkārtotas bitu virknes 10101010. Šo lauku, kopā ar SFD, noņem tīkla karte, tādēļ to nevar novērot pakešu analizētājos.
***Kadra sākuma norobežotājs** (*start frame delimiter*) — norāda ievaddaļas beigas un sastāv no bitu virknes 10101011.
* **Saņēmēja adrese** (*destination address*) — adrese, uz kuru šo kadru ir jāpiegādā. Var būt *multicast* adrese, tad šo kadru pieņems visi kam to piegādās.
* **Avota adrese** (*source address*) — adrese, no kuras šis kadrs nāk. Šo lauku var izmainīt, lai tas rādītu kādu citu adresi.
* ***type*** (*ether type*) — DIX standartā tas apzīmē lietoto tīkla slāņa protokola veidu, 802.3 standartā te bija paredzēts lietot datu lauka garumu. Beigās abus standartus apvienoja, un ja šis lauks ir 1536 vai vairāk, to uzskata par *type* lauku, ja ir īsāks — par garuma lauku. 
* **Vērtums** (*payload*) — pārsūtāmie dati (parasti tīkla slāņa protokola pakete).
* **Kontrolsumma** (*frame check sequence*) — kadra kontrolsumma, ja tā neatbilst, var uzskatīt ka kadrs ir bojāts. Šo lauku nevar pārtvert ar pakešu analizētājiem, jo to noņem jau tīkla karte.

## Ārējās saites