Segment — katta tuzilma yoki oqimning mantiqiy yoki fizik qismi. ITda atama xotira, executable fayl, database storage, tarmoq paketi va log arxitekturasida turlicha ma’no beradi; shu sabab uni kontekstsiz ishlatish noaniqlik tug‘diradi.
Xotira segmenti
Process virtual address space’i code/text, read-only data, initialized data, BSS, heap va stack kabi qismlarga ajratiladi. Executable loader segment metadata orqali qaysi byte’lar memory’ga qanday permission bilan map qilinishini biladi. Code segment odatda read/execute, data segment read/write bo‘ladi.
W^X siyosati bir page bir vaqtda yoziladigan va bajariladigan bo‘lmasligini maqsad qiladi. Buffer overflow data’dan code segmentga “o‘tish” kabi sodda model bilan cheklanmaydi, ammo segment permissionlari exploitni qiyinlashtiradi. ASLR mapping manzillarini tasodifiylashtiradi.
TCP segmenti
TCP application byte streamini network orqali uzatish uchun segmentlarga bo‘ladi. TCP segment headerida source/destination port, sequence number, acknowledgement, flag va window mavjud. U IP packet ichida tashiladi.
Maximum Segment Size TCP payloadning maksimal miqdorini bildiradi va odatda MTUdan IP hamda TCP headerlar ayirilganiga bog‘liq. Path MTU muammosi segment fragmentation yoki connection stallga olib kelishi mumkin. TSO/GSO sabab packet capture hostning turli nuqtalarida juda katta “segment” ko‘rsatishi mumkin; NIC keyin uni bo‘ladi.
Database segmenti
Oracle kabi database’larda segment table, index yoki undo obyektiga ajratilgan extentlar majmuasini anglatadi. Segment tablespace ichida o‘sadi. Table rowlari o‘chirilganda high water mark va ajratilgan extentlar darhol OSga qaytmasligi mumkin.
Boshqa tizimlarda “segment” WAL fayli, LSM-tree immutable fayli yoki columnar storage bo‘lagi sifatida ishlatiladi. Elasticsearch segmenti immutable Lucene index qismi bo‘lib, background merge bilan birlashadi. Bu ma’nolar bir-biriga ko‘chirilmaydi.
Network segment
Network segment bir Layer 2 broadcast domaini, fizik cable bo‘lagi yoki mantiqiy subnetga nisbatan ishlatilishi mumkin. Zamonaviy switched Ethernetda collision domain har port bilan ajraladi, VLAN esa broadcast domain yaratadi. “Bir segmentda” deganda aynan VLAN, subnet yoki fizik joy nazarda tutilgani aniqlanadi.
Segmentation security blast radiusini kamaytiradi. Firewall/ACL segmentlararo trafikni boshqaradi. Faqat subnet ajratish, agar routing va policy erkin bo‘lsa, xavfsizlik chegarasi bo‘lmasligi mumkin.
Log va storage segmentlari
Append-only log ma’lum hajmga yetganda yangi segment file ochadi. Eski segmentlar retention bo‘yicha o‘chiriladi yoki compact qilinadi. Kafka partition logi segmentlarga bo‘linadi; segment roll va index filelar recovery hamda retentionni soddalashtiradi.
Segment juda katta bo‘lsa recovery va deletion coarse-grained, juda kichik bo‘lsa file count va metadata overhead yuqori bo‘ladi. Hajm workload, storage va retentionga mos tanlanadi.
Terminologiyani aniqlash
Hujjatda segmentning egasi, chegarasi, IDsi va lifecycle’i yoziladi. “Segment to‘ldi” jumlasi memory limit, database extent, WAL disk yoki network capacitydan qaysi biri ekanini aytmaydi. Monitoring metric nomi ham unit va layerni ko‘rsatadi.
Troubleshootingda atamani avtomatik bir ma’noda qabul qilish o‘rniga source component hujjati tekshiriladi. Bir tizimdagi segment ID boshqa qatlamdagi segment bilan bog‘liq bo‘lmasligi mumkin.
Segment chegarasi protokol yoki formatning mantiqiy qoidasi bo‘lishi mumkin, shuning uchun uni tasodifiy bayt bo‘lagi bilan almashtirib bo‘lmaydi. Tahlilda qaysi qatlam segmentni belgilagani va identifikatorlar qanday bog‘langani aniq ko‘rsatiladi.
Bog‘liq tushunchalar
Memory segment, TCP segment, Network segment, Database extent, WAL segment, Log segment, Virtual memory, MTU