Payload — paket, frame, xabar yoki fayl formatida boshqaruv ma’lumotlaridan tashqari tashilayotgan asosiy mazmun. Har qatlam o‘z nuqtai nazaridan yuqori qatlam ma’lumotini payload sifatida ko‘radi.
Masalan, Ethernet frame uchun IP packet payload, IP packet uchun TCP segment payload, TCP segment uchun esa ilova ma’lumoti payload hisoblanadi.
Payload atamasi tarmoq, dasturlash, API, fayl formati va axborot xavfsizligida ishlatiladi.
Kapsulalashdagi o‘rni
HTTP so‘rovi tarmoqdan o‘tganda:
Ethernet header
IP header
TCP header
TLS ma’lumoti
HTTP ma’lumoti
qatlamlari hosil bo‘ladi.
Ethernet nuqtai nazaridan qolgan IP packet payload. IP nuqtai nazaridan TCP segment payload. TCP uchun TLS record payload. TLS uchun HTTP bytes payload.
Shu sababli “payload hajmi” qaysi qatlam nazarda tutilayotganiga bog‘liq.
Header va payload
Header protokolni boshqaradi.
Unda:
bo‘lishi mumkin.
Payload esa yuborilayotgan asosiy ma’lumot.
Ba’zi formatlarda trailer ham mavjud. Ethernet FCS frame oxirida keladi.
HTTP payload
HTTP request payload ko‘pincha body deb ataladi.
Misol:
POST /api/users HTTP/1.1
Content-Type: application/json
Content-Length: 42
{"name":"Farrukh","role":"developer"}
JSON qismi request payload hisoblanadi.
GET requestda body bo‘lmasligi mumkin.
HTTP response payload:
bo‘lishi mumkin.
API payload
API kontekstida payload request yoki response ichidagi biznes ma’lumotni bildiradi.
Misol:
{
"title": "UzbekDevs",
"is_active": true
}
API payload uchun quyidagilar belgilanadi:
- schema;
- required field;
- data type;
- encoding;
- maksimal hajm;
- validation;
- version.
Payloadni tekshirmasdan database yoki commandga uzatish xavfli.
TCP payload
TCP segment ichidagi ilova baytlari TCP payload hisoblanadi.
MSS bitta TCP segment qancha payload tashishini belgilaydi.
Ethernet MTU 1500, IPv4 va oddiy TCP header bo‘lsa:
1500 - 20 - 20 = 1460 bayt
TCP payload sig‘ishi mumkin.
TLS va HTTP headerlari shu 1460 bayt ichidagi ilova darajasida joylashadi.
UDP payload
Ethernet MTU 1500 va IPv4 header 20 bayt bo‘lsa, fragmentatsiyasiz UDP payload taxminan 1472 bayt.
Katta payload IP fragmentatsiyasiga sabab bo‘lishi mumkin.
Payload encoding
Payload har doim oddiy matn emas.
Formatlar:
- UTF‑8 matn;
- JSON;
- XML;
- Protobuf;
- MessagePack;
- rasm;
- audio;
- compressed data;
- encrypted data;
- executable bytes.
Receiver content type yoki protocol context orqali payloadni talqin qiladi.
Serialization
Dastur obyektini tarmoq orqali yuborishdan oldin byte formatga aylantirish serialization hisoblanadi.
Misol:
Python object → JSON bytes → HTTP payload
Qabul tomonda deserialization bajariladi.
Untrusted payloadni xavfsiz format bilan tekshirish kerak. Ayrim native object serialization formatlari kod bajarish xavfini tug‘dirishi mumkin.
Compression
Payload siqilsa, tarmoqda kamroq bayt uzatiladi.
Misollar:
- gzip;
- Brotli;
- zstd;
- media codec;
- ZIP.
Siqish:
- bandwidthni tejaydi;
- CPU sarfini oshiradi;
- kichik payloadda foyda bermasligi mumkin;
- maxfiy ma’lumot va attacker-controlled input birga bo‘lsa side-channel xavfi yaratishi mumkin.
Encryption
TLS payloadni shifrlangan recordlarga aylantiradi.
Tarmoq kuzatuvchisi:
ni ko‘rishi mumkin, lekin ilova payloadini o‘qiy olmaydi.
Shifrlash payload hajmiga nonce, tag va padding overhead qo‘shadi.
Payload va MTU
Tunnel va protokol headerlari ko‘paygan sari bir frame ichidagi foydali payload kamayadi.
Misol:
Underlay MTU o‘zgarmasa, ichki payload kichrayadi yoki fragmentatsiya yuz beradi.
Maximum payload
Protokol va ilovalar maksimal payload hajmini cheklaydi.
Sabablar:
- xotira himoyasi;
- DoSga qarshi;
- database field;
- queue limit;
- HTTP server limiti;
- UDP uzunligi;
- file upload policy.
Server Content-Lengthni tekshiradi, ammo chunked yoki compressed payloadning ochilgandan keyingi hajmi ham nazorat qilinadi.
Empty payload
Ba’zi protokollarda payload bo‘sh bo‘lishi mumkin.
Misollar:
Bo‘sh payload ham header orqali ma’lum ma’no tashishi mumkin.
Malicious payload
Axborot xavfsizligida payload hujumning amaliy kod yoki buyrug‘ini bildirishi mumkin.
Masalan:
- exploitdan keyin ishga tushadigan kod;
- SQL injection matni;
- command injection;
- XSS script;
- malware binary;
- phishing attachment.
Bu ma’no umumiy tarmoq payload tushunchasining xavfsizlik kontekstidagi ko‘rinishi.
Payload validation
API va message consumer quyidagilarni tekshiradi:
- schema;
- type;
- length;
- encoding;
- allowed value;
- nesting depth;
- field count;
- signature;
- content type;
- checksum.
Validation biznes qoidasi va xavfsizlikni ajratmaydi; ikkisi ham kerak.
Observability
Loglarda butun payloadni yozish xavfli bo‘lishi mumkin.
Payload ichida:
bo‘lishi mumkin.
Log tizimi masking, sampling va hajm limitidan foydalanadi.
Diagnostika
Payload noto‘g‘ri talqin qilinsa:
- encoding;
- content type;
- serialization version;
- compression;
- encryption;
- byte order;
- length;
- fragmentation;
- truncation;
- schema
tekshiriladi.
Packet yetib kelishi payload ilova tomonidan qabul qilinganini kafolatlamaydi.
Payload versiyalash
Taqsimlangan tizimda sender va receiver bir vaqtda yangilanmasligi mumkin. Payload schema versiyasi eski va yangi ilovalar o‘rtasidagi moslikni boshqaradi.
Yondashuvlar:
- yangi optional field qo‘shish;
- eski fieldni darhol olib tashlamaslik;
- version maydoni;
- content negotiation;
- schema registry;
- migration davri.
Receiver noma’lum fieldni e’tiborsiz qoldirishi yoki aniq xato qaytarishi protokol qoidasi bilan belgilanadi.
Bog‘liq tushunchalar
Header, Packet, Frame, Serialization, Encoding, Compression, Encryption, HTTP body, API, MTU, Validation