Transport layer

**Transport layer** буюу **Тээвэрлэлтийн түвшин** (дугаараар нь **layer 4** ч гэдэг) нь процесс хоорондын end-to-end дамжууллыг тодорхойлж өгдөг, компьютерын сүлжээний хийсвэрлэлтийн түвшин юм. Өгөгдлийн урсгалыг байнгын холболттойгоор бий болгох, найдвартай дамжуулал, өгөгдлийн урсгалын хурд хэмжээг удирдах, мультиплекс гэх мэт үйлчилгээнүүдийг тодорхойлно.

Transport layer нь одоогийн сүлжээнүүдэд ашиглагддаг TCP/IP загвар (RFC 1122), болон сүлжээний түвшингүүдийг онолын хувьд тодорхойлж өгдөг OSI загварын аль алинд тусгагдсан байдаг. OSI дахь transport layer-ийн тодорхойлолт нь бага зэргийн ялгаатай бөгөөд эдгээрээс хамгийн том нь мультиплекс үйлчилгээ буюу портыг OSI-д session layer-д хамаарна гэдэг.

Transmission Control Protocol (TCP) нь TCP/IP загварийн гол хоёр протоколын нэг болдогоороо өнөөгийн Интернэт сүлжээний үндсэн transport layer-ийн протокол болж өгдөг. TCP нь холболт үүсгэсний дараа (connection oriented) дамжуулалт хийдгээрээ холболтгүй шууд дамжуулдаг (connectionless) User Datagram Protocol (UDP)-гээс ялгарна. TCP нь илүү нарийн ажиллагаатай протокол бөгөөд холболтын төлөвийг хадгалж, найвартай дамжууллыг хангаж өгдөг. UDP нь харин энгийн зурвас дамжуулахад ихэвчлэн хэрэглэгддэг.

TCP, UDP-гээс гадна Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP) гэсэн протоколууд transport layer-т хамаарана.

## Үйлчилгээ
Дараах үйлчилгээнүүдийг transport layer-т тусгаж өгсөн байдаг ба бодитоор хэрэгжүүлсэн протоколууд нь эдгээрийн заримыг хангаж өгсөн байна.

**Холболт үүсгэсний дараа дамжуулах*: Сүлжээгээр мэдээлэл дамжуулах програм нь өгөгдлийг урсгал хэлбэрээр хүлээж авч, дамжуулах нь хялбар байдаг. UDP, IP-д өгөгдөл нь датаграм хэлбэрээр дамжуулагддаг.
**Дарааллыг хадгалж хүргэх*: Сүлжээний түвшинд өгөгдлийн пакетүүд нь илгээсэн дарааллаас өөр дараалалтайгаар хүлээн авагчид очиж болно. Transport layer-т сегментүүдийг дугаарласнаар програмд зөв дараалалтайгаар хүргэгдэх боломжтой (гэхдээ бөглөрөл үүсэх магадлал бий).
**Найвартай байдал*: Сүлжээний бөглөрөл, холболтонд учирсан алдаанаас үүдэн пакетууд нь дамжууллын явцад алдагдаж болно. Checksum гэх мэтийн алдаа шалгагч код ашиглаж алдааг шалгах, ACK эсвэл NACK зурвасыг ашиглан пакет алдаагүй эсвэл алдаатай ирсэнийг (ирээгүйг) мэдэгдэж болно. Мөн Automatic repeat request механизмаар дахин дамжуулна.
**Урсгалыг удирдаж зохицуулах*: Илгээх хурд хэт ихдэж хүлээн авагчийн буффер дүүрэхээс хамгаалах ёстой. Түүнчлэн буффер дахь өгөгдлийн хэмжээ хэт багадахаас хамгаалж сүлжээний ашиглалтыг нэмэгдүүлнэ.
**Бөглөрөлөөс хамгаалах*: Congestion control-г хэрэгжүүлснээр сүлжээний хэт ачааллаас хамгаална. Жишээлбэл automatic repeat request-г байнга хэрэглэхэд сүлжээ байнга бөглөрсөн байдалтай байж болох тул slow-start аргыг хэрэглэнэ (энэ нь дамжууллын эхэнд, эсвэл пакетийг дахин дамжууллын дараа сүлжээний ачааллыг бага хэмжээтэй байлгадаг).
**Мультиплекс*: Порт ашиглан сүлжээнд холбогдсон нэг төхөөрөмж нь олон холболтыг дэмжиж, олон програм сүлжээг ашиглах боломжтой болгоно. Энэ нь TCP/IP-д transport layer-т хамаарах ч OSI загварт session layer-д хамаарана.

## Transport layer протоколуудын жишээ
## Эшлэл 
Ангилал:Компьютерын сүлжээ
Ангилал:Сүлжээний протокол
Ангилал:Сүлжээний архитектур
Ангилал:Загварчлал болон симуляц