Data link layer

*
*
**Data link layer** буюу **Өгөгдөл холболтын түвшин** нь компьютерын сүлжээний OSI загварт тодорхойлогддог сүлжээний үйл ажиллагааны хийсвэрлэлтийн түвшин. Энэ нь TCP/IP-гийн **Link layer**-тай ерөнхийдөө харгалздаг.

Data link layer нь нэг дотоод LAN сүлжээ эсвэл WAN сүлжээнд шууд холбогдсон төхөөрөмжийн хооронд өгөгдөл дамжуулах үүрэгтэй. Data link layer-т хамаарах протоколууд нь сүлжээнд холбогдсон төхөөрөмжүүд хооронд мэдээлэл дамжуулахаас гадна доод талын физик түвшинд гарсан алдааг илрүүлж, засах механизмыг агуулж болно. Data link протоколуудын жишээ гэвэл LAN (multinode) сүлжээний хувьд Ethernet, point-to-point холболтын хувьд Point-to-Point Protocol (PPP), HDLC, ADCCP нар юм.

Нэг ижил сүлжээнд холбогдсон төхөөрөмжүүдийн хооронд мэдээллийг фрэйм болгож багцлан дамжуулдаг. Эдгээр фрэймүүд нь дотоод сүлжээнээс цааш өөр сүлжээ рүү дамждаггүй бөгөөд ингэхийн тулд илүү өндөр түвшний протоколуудыг ашиглана. Төхөөрөмжүүд нь өөр хоорондоо зэрэг дамжуулалт хийх гэж оролдоход мөргөлдөөнүүд үүсдэг. Data link түвшний протоколууд нь эдгээр мөргөлдөөнийг хэрхэн илрүүлэх, тэдгээрээс хэрхэн сэргийлж мөргөлдөөний тоог багасгах, мөргөлдөөн үүссэн тохиолдолд юу хийхийг зааж өгдөг.

TCP/IP-гийн Link layer болон OSI-гийн Data link layer нь хоорондоо бага зэргийн ялгаатай. Link layer нь техник хангамжийн асуудлыг шийддэг бөгөөд физик сүлжээнд холбогдсон төхөөрөмжүүдэд хаяг оноох, өгөгдлийн фрэймийг дамжуулах үүрэгтэй. Иймд Link layer нь илүү өргөн хүрээтэй бөгөөд OSI-гийн физик түвшний зарим үүргийг өөртөө агуулдаг. Нөгөө талаас TCP/IP-гийн link layer-т хамаардаг ARP протокол нь OSI-гийн сүлжээний түвшин, data link layer-н дунд оршино ч гэж тайлбарласан байдаг. Иймээс OSI, TCP/IP-гийн түвшнүүдийг шууд харгалзуулах нь буруу юм.

## Оршил 
Сүлжээний хоёрдугаар түвшинд ажилладаг төхөөрөмжүүд нь фрэймийг дамжуулахдаа физик хаягийг ашигладаг. Энэ нь сүлжээний түвшинд хэрэглэдэг IP хаягаас ялгаатай бөгөөд түүн шиг шатласан бүтэцтэй биш бөгөөд тус хаягийг ашиглан төхөөрөмж дамнан дамжуулалт хийх боломжгүй. Өөрөөр хэлбэл Data link layer нь халз холбогдсон төхөөрөмжүүд хооронд өгөгдөл дамжуулах чадвартай. Дамжуулалт нь найдвартай эсвэл найдваргүй байж болох ба data link түвшний хэд хэдэн протокол нь фрэйм амжилттай илгээсэн, давхардалгүй хүлээж авсан гэх мэт зүйлийн талаар мэдэгддэггүй бөгөөд зарим нь бүр мэдээллийн бүрэн бүтэн байдзлыг шалгагч checksum-ийг ч хэрэглэдэггүй. Доод түвшний протоколууд нь иймд алдаа шалгаж найдвартай дамжууллыг гүйцэтгэдэггүй тул эдгээр үүргийг дээд түвшний протоколууд гүйцэтгэнэ.

IEEE 802 стандартын дотоод сүлжээнд data link түвшнийг  media access control (MAC) болон logical link control (LLC) гэсэн дэд түвшнүүдэд хуваан тайлбарладаг. Ингэснээр IEEE 802.2 LLC протоколыг IEEE 802 MAC түвшингийн Ethernet, token ring, IEEE 802.11, түүнчлэн 802 стандартад хамаардаггүй FDDI гэх мэт протоколууд нь хэрэглэх боломжтой. HDLC гэх мэт зарим протокол нь LLC ба MAC түвшингүүдийн аль алиныг өөрөө хэрэгжүүлдэг байхад Cisco HDLC протокол нь HDLC-ийн MAC түвшнийг хэрэглэж өөр LLC түвшнийг хэрэгжүүлж ашигладаг.

Цахилгааны шугам, телефон утасны шугам, коаксиаль кабель гэх мэт шугамыг ашиглан 1 гигабит/секунд хүртэлх хурдаар дамжуулалт хийх чадвартай ITU-T G.hn стандартын data link түвшин нь гурван дэд түвшинд хуваагддаг: application protocol convergence, logical link control, medium access control.

## Дэд түвшнүүд 
Data link layer-ийг *logical link control* (LLC), *media access control* (MAC) гэсэн хоёр дэд түвшинд хуваан авч үздэг.

### Logical link control sublayer 
Дээд талын дэд түвшин болох LLC буюу логик холболтын удирдлагын дэд түвшин нь data link layer-н дээр ажиллах протоколуудыг (IP, IPX, Decnet, Appletalk гэх мэтийг зэрэг ажиллуулахад) мультиплекслэж, өгөгдлийг урсгалыг удирдан зохицуулах, амжилттай илгээснийг мэдэгдэх (acknowledgement), алдаатай илгээлтийг мэдэгдэх үүрэгтэй байж болно.

### Media access control sublayer 
MAC буюу медиа хандалтын удирдлагын дэд түвшин нь хаяглалт, өгөгдөл дамжуулах сувгийг удирдах үүрэгтэй. Иймээс төхөөрөмжийн сүлжээн дахь физик хаягийг MAC хаяг хэмээн нэрлэдэг. Үүнийг өгөгдлийн фрэймүүдийг хаяглахад хэрэглэнэ.

MAC түвшин нь өгөгдлийн фрэймийн эхлэх, дуусах заагийг мөн зааж өгдөг - үүнийг фрэймийн синхрончлол гэнэ. Ерөнхийдөө фрэйм эхлэж, дуусаж байгааг хэлж өгөх битүүдийг ердийн өгөгдлийн битээс хэрхэн ялгах аргыг хэлж өгнө гэсэн үг. Синхрончлол хийх дөрвөн арга бий:

* *Time based*: Фрэйм дамжуулах хооронд тогтсон хугацаа хүлээх. Хугацаа алдаж болох тул найдваргүй арга.
* *Character counting*: Фрэймийн толгой хэсэгт фрэйм дуусах хүртэл үлдсэн байтын хэмжээг тавьж өгнө. Мөн алдаант өртөмтгий арга.
* *Byte stuffing*: Фрэйм эхлэхийн өмнө (DLE STX), дууссаны дараа (DLE ETX) нь тусгай байтын дарааллыг тавьж өгдөг.
* *Bit stuffing*: Өмнөх аргатай төстэй, гэхдээ байт цувааг биш тусгай битийн цувааг ашиглана.

## Data link layer-н үүрэг 
* Network layer-ийн өгөгдлийн пакетуудыг фрэйм болгож багцлах
* Фрэймийн синхрончлол
* Logical link control (LLC) дэд түвшин:
** Алдааны удирдлага (automatic repeat request, ARQ) - LLC-гийн алдааг зохицуулах ажиллагааг утасгүй сүлжээ болон V.42 телефон утасны шугам сүлжээний модемүүд хэрэглэдэг ч жирийн LAN сүлжээний зайд битийн түвшний алдаа бага байдаг тул Ethernet хэрэглэдэггүй.
** Өгөгдлийн урсгалын удирдлага - LLC-гийн өгөгдлийн урсгалыг удирдаж зохицуулах ажиллагааг Ethernet хэрэглэхгүй ч модем болон утасгүй сүлжээнд хэрэглэдэг.

* Media access control (MAC) дэд түвшин:
** Multiple access protocol - олон хандалттай сүлжээнд хэрэглэх мөргөлдөөнөөс зайлсхийх протоколууд, үүнээс голлох аргууд нь:
*** утастай Ethernet bus, hub сүлжээнд мөргөлдөөнийг илрүүлж дахин дамжуулах CSMA/CD протокол
*** утасгүй сүлжээнд мөргөлдөөнөөс сэргийлэх CSMA/CA протокол
** Физик хаяглалт (MAC хаяг)
** LAN свитчинг (пакет свитчинг), үүнд MAC хаягаар шүүх, spanning tree protocol
** Өгөгдлийн пакетын дамжих дарааллыг хуваарилах
** Store-and-forward свитчинг эсвэл cut-through свитчинг 
** Quality of Service (QoS)
** Виртуаль LAN буюу VLAN

## Протоколууд 

* Address Resolution Protocol (ARP)
* ARCnet
* ATM
* Cisco Discovery Protocol (CDP)
* Controller Area Network (CAN)
* Econet
* Ethernet
* Ethernet Automatic Protection Switching (EAPS)
* Fiber Distributed Data Interface (FDDI)
* Frame Relay
* High-Level Data Link Control (HDLC)
* IEEE 802.2 (IEEE 802 MAC түвшнүүдэд LLC функцийг хэрэглэх боломжтой болгодог)
* IEEE 802.11 wireless LAN
* LattisNet
* Link Access Procedures, D channel (LAPD)
* LocalTalk
* Multiprotocol Label Switching (MPLS)
* Nortel Discovery Protocol (NDP)
* OpenFlow (SDN)
* Split multi-link trunking (SMLT)
* Point-to-Point Protocol (PPP)
* Serial Line Internet Protocol (SLIP) (хуучирсэн)
* Spanning Tree Protocol
* StarLan
* Token ring
* Unidirectional Link Detection (UDLD)
* бусад serial communication-н аргууд.

## Эшлэл 
* 

## Цахим хобоос 
* DataLink layer simulation, written in C#
* DataLink Layer, Part 2: Error Detection and Correction

Ангилал:Компьютерын сүлжээ