Bosh sahifa Wiki Packet

Packet

Packet — tarmoq orqali uzatiladigan, sarlavha va foydali ma’lumotdan tashkil topgan mantiqiy ma’lumot birligi. “Packet” atamasi ko‘pincha IP qatlamidagi ma’lumot birligini bildiradi.

Ilova ma’lumoti tarmoq stack’idan o‘tayotganda bir nechta sarlavha bilan kapsulalanadi. Qabul tomonda sarlavhalar teskari tartibda olib tashlanadi.

Kapsulalash

Masalan, HTTPS ma’lumoti quyidagicha joylashishi mumkin:

Ethernet frame
└── IP packet
    └── TCP segment
        └── TLS record
            └── HTTP data

Har qatlam o‘z vazifasi uchun header qo‘shadi.

IP packet

IPv4 packet:

IPv6 packet:

Payload TCP segment, UDP datagram, ICMP xabar yoki boshqa protokol bo‘lishi mumkin.

IPv4 header

Keng tarqalgan maydonlar:

Minimum IPv4 header 20 bayt.

IPv6 header

IPv6 asosiy headeri 40 bayt.

Maydonlar:

Fragmentatsiya va boshqa qo‘shimcha ma’lumot extension headerlarda saqlanadi.

Source va destination

Source manzil packetni yuborgan endpointni, destination manzil qabul qiluvchini bildiradi.

Router destination IP bo‘yicha forwarding qiladi.

NAT source yoki destination manzil va portni o‘zgartirishi mumkin.

Packet va frame

Packet Layer 3 tushuncha, frame esa Layer 2 ma’lumot birligi.

Bir IP packet yo‘l davomida turli framelarga joylanadi.

Masalan:

Router eski frame’ni olib tashlab, packetni yangi link uchun boshqa frame’ga joylaydi.

Packet va segment

TCP ma’lumot birligi ko‘pincha segment deb ataladi.

UDP ma’lumot birligi datagram.

IP ularni payload sifatida packet ichida tashiydi.

Amaliy suhbatda barcha tarmoq birliklari “packet” deb atalishi mumkin, lekin qatlamlarni ajratish diagnostikada muhim.

MTU

MTU link bitta packetni fragmentatsiyasiz tashiy oladigan eng katta hajmni cheklaydi.

Ethernet IP MTU ko‘pincha 1500 bayt.

Tunnel qo‘shimcha header qo‘shsa, inner packet uchun joy kamayadi.

Fragmentatsiya

IPv4 packet link MTUsidan katta bo‘lsa, router ayrim holatda uni fragmentlarga bo‘lishi mumkin.

Har fragment:

ega.

Qabul qiluvchi fragmentlarni qayta yig‘adi.

Bitta fragment yo‘qolsa, butun original packet yaroqsiz bo‘ladi.

IPv6 fragmentatsiya

IPv6 router packetni yo‘lda fragmentlamaydi.

Packet juda katta bo‘lsa, router ICMPv6 Packet Too Big yuboradi. Source packet hajmini kamaytiradi yoki Fragment extension header bilan o‘zi fragmentlaydi.

TTL va Hop Limit

IPv4 TTL va IPv6 Hop Limit har routerda kamayadi.

Qiymat nolga tushsa packet tashlanadi.

Bu routing loopdagi packetning cheksiz aylanishini oldini oladi.

Checksum

IPv4 header checksum faqat headerni tekshiradi.

Router TTLni o‘zgartirgani uchun checksumni yangilaydi.

IPv6 asosiy headerida header checksum yo‘q. Link va transport qatlamidagi checksumlar ishlatiladi.

TCP va UDP checksum pseudo-header orqali IP manzillarni ham hisobga oladi.

DSCP va ECN

DSCP packetning QoS sinfini bildiradi.

ECN congestionni packet tashlamasdan belgilashga yordam beradi.

Router va switch policy asosida bu maydonlarni saqlashi yoki qayta yozishi mumkin.

Packet forwarding

Router packetni qabul qilganda:

  1. Layer 2 frame tekshiriladi.
  2. IP header o‘qiladi.
  3. TTL yoki Hop Limit kamayadi.
  4. Routing jadvaldan next hop topiladi.
  5. Firewall va QoS policy qo‘llanadi.
  6. Packet yangi frame’ga joylanadi.
  7. Chiqish interfeysga yuboriladi.

Packet destinationga yetguncha bu jarayon takrorlanadi.

Packet loss

Packet quyidagi sabablar bilan yo‘qolishi mumkin:

TCP lossni aniqlab qayta uzatadi. UDP ilovasi o‘zi boshqaradi yoki lossni qabul qiladi.

Packet reordering

ECMP, parallel yo‘l yoki retransmission sabab packetlar tartibi o‘zgarishi mumkin.

TCP sequence number orqali tartibni tiklaydi.

Real vaqt UDP ilovasi jitter buffer yoki sequence number ishlatishi mumkin.

Packet duplication

Tarmoq xatosi yoki retransmission sabab bir packet bir necha marta ko‘rinishi mumkin.

TCP duplicate segmentni sequence number bilan aniqlaydi.

Ilova darajasida aynan bir marta bajarish uchun idempotency kerak bo‘lishi mumkin.

Packet capture

Packet capture tarmoqdagi xabarlarni tahlil qilish uchun ishlatiladi.

Ko‘riladigan ma’lumot:

Shifrlangan trafikda payload o‘qilmaydi, lekin metadata ko‘rinadi.

Capture joyi

Bir packet turli nuqtada turlicha ko‘rinishi mumkin.

  • clientda NATdan oldin;
  • routerda NATdan keyin;
  • tunnel ichida inner packet;
  • underlayda outer packet;
  • serverda firewall’dan keyin.

Muammoni aniqlash uchun capture joyi aniq belgilanadi.

NIC offload

Host capture’da juda katta TCP packet ko‘rinishi mumkin. NIC TSO orqali uni wire’ga chiqishda kichik packetlarga bo‘ladi.

Checksum ham “incorrect” ko‘rinishi mumkin, chunki NIC uni keyin hisoblaydi.

Offload holati tahlilda hisobga olinadi.

Packet filtering

Firewall packetni:

bo‘yicha ruxsat yoki rad qiladi.

Stateless filter har packetni alohida, stateful firewall connection holati bilan birga baholaydi.

Diagnostika

Packet tahlilida:

tekshiriladi.

Packet source’dan chiqishi destinationga yetganini anglatmaydi. Yo‘lning ikki tomonida capture foydali.

Bog‘liq tushunchalar

IP, Frame, Segment, Datagram, Header, Payload, MTU, Fragmentation, TTL, Packet capture, Routing