Протоколът за контрол на преноса (TCP) и протоколът User Datagram Protocol (UDP) са два стандартни слоя транспорт, които се използват с интернет протокол (IP) .
Както TDP, така и UDP използват заглавки като част от данните за съобщенията за опаковки, за да се прехвърлят през мрежови връзки. TCP заглавките и UDP заглавията съдържат набор от параметри, наречени полета, дефинирани от протоколните технически спецификации.
TCP Header Format
Всеки TCP хедър има десет задължителни полета с общ размер от 20 байта (160 бита ). Те могат също по избор да включват допълнителна секция с данни с размер до 40 байта.
Това е оформлението на TCP заглавията:
- Източник на TCP порта (2 байта)
- Destination TCP номер на порт (2 байта)
- Номер на последователността (4 байта)
- Номер за потвърждение (4 байта)
- Отместване на TCP данни (4 бита)
- Запазени данни (3 бита)
- Контролни флагове (до 9 бита)
- Размер на прозореца (2 байта)
- TCP контролна сума (2 байта)
- Спешно указание (2 байта)
- TCP незадължителни данни (0-40 байта)
TCP вмъква полетата на заглавката в потока на съобщенията в реда, посочен по-горе.
- Източниците и дестинациите номера на TCP портовете са крайните точки за комуникация за изпращащите и приемащите устройства.
- Изпращачите на съобщения използват номера на поредици, за да маркират поръчването на група съобщения. Както изпращачите, така и приемниците използват полето за потвърждаващи номера, за да съобщят номерата на поредиците от съобщения, които са получени или се очаква да бъдат изпратени наскоро.
- Полето за отместване на данни съхранява общия размер на TCP заглавката в кратни от четири байта. Генераторът, който не използва опционалното TCP поле, има отместване на данните от 5 (представляващо 20 байта), докато заглавката, използваща максимум по избор поле, има отместване на данните от 15 (представляващо 60 байта).
- Запазените данни в TCP заглавията винаги имат стойност нула. Това поле служи за изравняване на общия размер на заглавката като множество от четири байта (важно за ефективността на обработката на компютърни данни).
- TCP използва набор от шест стандартни и три разширени контролни флагове (всеки отделен бит представлява или изключва ), за да управлява потока данни в определени ситуации. Флагът с един бит, например, инициира логиката за рестартиране на TCP връзката. Подробното функциониране на тези полета надхвърля обхвата на тази статия.
- TCP изпращачите използват число, наречено прозорец, за да регулират колко данни изпращат на получателя, преди да изискват потвърждение в замяна. Ако размерът на прозореца стане прекалено малък, трансферът на мрежови данни ще бъде ненужно бавен, докато ако размерът на прозореца стане твърде голям, мрежовата връзка може да стане наситена (не може да се използва за други приложения) или приемникът може да не може бързо да обработва входящите данни достатъчно (което също води до бавна работа). Алгоритмите за прозореца, вградени в протокола, динамично изчисляват стойностите на размера и използват това поле на TCP заглавките за координиране на промените между изпращачите и приемниците.
- Стойността на контролната сума в TCP заглавката се генерира от изпращача на протокола като математическа техника, която помага на приемника да открива съобщения, които са повредени или подправени.
- Полето за неотложно указание често се нулира и се игнорира, но във връзка с един от контролните флагове може да се използва като отместване на данни, за да се маркира подмножество от съобщение като изискващо приоритетна обработка.
- Употребата на незадължителни TCP данни надхвърля обхвата на тази статия, но включва поддръжка за специални алгоритми за потвърждаване и скалиране на прозорци.
Формат на заглавната част на UDP
Тъй като UDP има значително по-ограничен капацитет от TCP, неговите заглавия са много по-малки. Гнездото на UDP съдържа 8 байта, разделени на следните четири задължителни полета:
- Номер на изходния порт (2 байта)
- Номер на порта на целта (2 байта)
- Дължина на данните (2 байта)
- Контролна сума на UDP (2 байта)
UDP вмъква полетата на заглавката в потока си от съобщения в реда, посочен по-горе.
- Номерата на UDP порта на източника и дестинацията са крайните точки за комуникация за изпращащите и приемащите устройства.
- Полето за дължина в UDP представлява общия размер на всяка дейтаграма, включваща заглавка и данни. Това поле варира в стойност от минимум 8 байта (необходимия размер на заглавката) до размери над 65 000 байта.
- Подобно на TCP, контролната сума на UDP позволява на приемниците да проверяват входящите данни за всички повредени битове на съобщението.