Hacker DirectoryHacker Directory
Öğrenmeye devam et
ENHTML kaydet ↓

WEB / WEB-02.01

Byte’tan local network’e

HTTP verisi tek bir paket değildir. Byte stream, TCP segment, IP packet ve Ethernet frame’i ilk komşuya gönderilen tek örnekle ayır.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mekanizma

Hareket olmadan bütün senaryoları oku

Cache biliniyor · IPv4

  1. Stream hazır; frame henüz yok

    AB + CDEF aynı ABCDEF bytes’ını verir. Remote IP 198.51.100.200; sahne tüm TCP segmentlerini çizmez.

    Host · eth-demo
    ABCDEF · IP hedef 198.51.100.200
    Local neighbor context
    192.0.2.1 → 02:00:00:00:00:01 · known
    First-hop komşu
    Veri frame’i henüz alınmadı
  2. Next-hop local lookup

    Seçilmiş route next-hop 192.0.2.1’i gösterir. Cache lookup local işlemdir; karşıya paket göndermez.

    Host · eth-demo
    Next hop 192.0.2.1 · mapping kullanılabilir
    Local neighbor context
    192.0.2.1 → 02:00:00:00:00:01 · known
    First-hop komşu
    Veri frame’i henüz alınmadı
  3. Ethernet header local hazırlanır

    Artifact’in 14-byte header özeti: destination MAC gateway; source MAC host; EtherType 0x0800. Remote IP değiştirilmez.

    Host · eth-demo
    MAC dst …:01 · src …:10 · IPv4 dst 198.51.100.200
    Local neighbor context
    Yeni ARP gerekmedi
    First-hop komşu
    Veri frame’i henüz alınmadı
  4. First-hop frame’i aldı

    Komşuya delivery tamamlandı. Bu yalnız ilk Ethernet hop’udur; remote HTTP response veya TLS identity kanıtı değildir.

    Host · eth-demo
    Gönderilmiş özet · remote IP korunur
    Local neighbor context
    Mapping kullanıldı
    First-hop komşu
    IPv4 frame alındı · IP dst 198.51.100.200

Unknown → ARP → known

  1. IPv4 komşu mapping’i yok

    Next-hop gateway seçildi ama onun MAC’i bilinmiyor. Remote server’ın MAC’i sorulmuyor.

    Host · eth-demo
    Next hop 192.0.2.1 · data bekliyor
    Local neighbor context
    192.0.2.1 · unknown
    First-hop komşu
    Henüz ARP veya data alınmadı
  2. ARP request first-hop’a ulaştı

    IPv4 ARP request gateway IP 192.0.2.1’i sorar. Local broadcast delivery’nin yalnız ilgili komşusu çizilir; gerçek broadcast bütün link scope’undadır.

    Host · eth-demo
    Data frame’i mapping bekliyor
    Local neighbor context
    192.0.2.1 · unknown
    First-hop komşu
    ARP request alındı · target IP 192.0.2.1
  3. ARP reply host’a ulaştı

    Reply’deki mapping artık host context’inde kullanılabilir. Bu seçilmiş normal reply identity doğrulaması olarak sunulmaz.

    Host · eth-demo
    Reply alındı · next-hop MAC …:01
    Local neighbor context
    192.0.2.1 → 02:00:00:00:00:01 · known
    First-hop komşu
    ARP request işlendi
  4. Data header local hazır

    Mapping ile IPv4 taşıyan Ethernet header hazırlanır. Local hazırlık ayrı bir ağ mesajı değildir.

    Host · eth-demo
    Frame dst MAC …:01 · IP dst 198.51.100.200
    Local neighbor context
    Mapping known · kullanıma hazır
    First-hop komşu
    ARP request işlendi
  5. Data frame’i komşuya ulaştı

    Address resolution’dan sonra first-hop data delivery tamamlandı. Remote endpoint’e bütün yol çizilmedi.

    Host · eth-demo
    IPv4 frame özeti gönderildi
    Local neighbor context
    Mapping kullanıldı
    First-hop komşu
    Data frame alındı · remote IP 198.51.100.200

Reply gözlenmedi

  1. Mapping unknown

    Bu fixture’da next-hop MAC bilinmez. Address resolution henüz sonuç vermedi.

    Host · eth-demo
    Data bekliyor · next hop 192.0.2.1
    Local neighbor context
    192.0.2.1 · unknown
    First-hop komşu
    Data alınmadı
  2. ARP sorusu ulaştı

    Normal request özeti link komşusuna ulaştı. Bir request’in varlığı reply’nin varlığı değildir.

    Host · eth-demo
    Data mapping bekliyor
    Local neighbor context
    192.0.2.1 · unknown
    First-hop komşu
    ARP request alındı · data alınmadı
  3. Resolution sonucu yok

    Seçilen gözlem penceresinde reply gözlenmedi. Gerçek retry sayısı ve error code modellenmez; bu gözlem tek başına nedenini belirlemez.

    Host · eth-demo
    Data delivery tamamlanmadı
    Local neighbor context
    Unknown · neden belirsiz
    First-hop komşu
    ARP request alındı · data alınmadı

IPv6 · ARP yerine ND

  1. IPv6 next-hop mapping’i unknown

    Remote destination 2001:db8:2::20; seçilmiş next hop 2001:db8:1::1. Route/prefix öğrenmenin tamamı gösterilmez.

    Host · eth-demo
    IPv6 dst 2001:db8:2::20 · data bekliyor
    Local neighbor context
    2001:db8:1::1 · unknown
    First-hop komşu
    NS veya data alınmadı
  2. Neighbor Solicitation ulaştı

    On-link address resolution için ICMPv6 NS kullanıldı. Multicast delivery’nin ilgili komşusu çizilir; bu IPv4 ARP değildir.

    Host · eth-demo
    Data ND sonucu bekliyor
    Local neighbor context
    2001:db8:1::1 · unknown
    First-hop komşu
    NS alındı · target 2001:db8:1::1
  3. Neighbor Advertisement ulaştı

    Örnekteki Neighbor Advertisement host’a mapping sağladı. Known burada yalnız öğretim etiketidir; OS’in bütün neighbor state machine’ini temsil etmez.

    Host · eth-demo
    NA alındı · next-hop MAC …:01
    Local neighbor context
    2001:db8:1::1 → 02:00:00:00:00:01 · known
    First-hop komşu
    NS işlendi
  4. IPv6 frame local hazırlanır

    Next-hop MAC kullanılır; IPv6 remote destination korunur. Header bytes bu branch’te verilmez.

    Host · eth-demo
    Dst MAC …:01 · IPv6 dst 2001:db8:2::20
    Local neighbor context
    Mapping kullanılabilir
    First-hop komşu
    NS işlendi
  5. IPv6 first-hop delivery tamam

    Komşu IPv6 taşıyan frame’i aldı; remote application’ın sonucu bu sahnenin dışında.

    Host · eth-demo
    IPv6 frame özeti gönderildi
    Local neighbor context
    Mapping kullanıldı
    First-hop komşu
    IPv6 frame alındı · dst 2001:db8:2::20

ROLLER · STATE · VERİ AKIŞI

Byte ile message sınırı aynı değil

Byte, bu protokollerde sekiz bitlik octet olarak ele alınır. ABCDEF text’inin UTF-8 bytes’ı altı octet’tir; başka Unicode karakterler birden fazla byte kullanabilir. Application’ın “bir message gönderdim” demesi transport’ın aynı sınırı koruduğunu göstermez. TCP ordered byte stream sunar; application write ve karşı taraf read çağrılarının parçalaması farklı olabilir.

Örnekte application AB ve CDEF şeklinde iki write yapmış olsun. Karşı taraf A, BCD ve EF olarak üç read alabilir; birleştirildiğinde aynı ABCDEF stream’i elde edilir. Bu parçalar sentetik olasılıklardır, ölçülmüş segmentler değil. HTTP kendi message framing’ini, TLS kendi record kurallarını kullanır. TCP read çağrısı bir HTTP response sınırı değildir; buffer’da eksik ya da birden çok message verisi bulunabilir.

Stream → segment → packet → frame

TCP stream’in parçaları TCP segments ile taşınır; bu segments IP datagrams içine yerleşir. Ethernet link’te IP packet bir frame’in payload’ı olur. Header’lar her katmana farklı bilgi ekler: TCP port/sequence, IP source/destination, Ethernet source/destination MAC. “Paket” sözcüğünü hepsi için kullanmak hangi sınırı incelediğini saklayabilir; teknik artifact’te katmanı adlandır.

Bu ders Ethernet üzerinde unicast IPv4 örneği seçer. TCP dışındaki transport’lar aynı stream modelini sunmak zorunda değildir; UDP datagram sınırlarını korur. Wi-Fi’nin gerçek link framing’i Ethernet ile aynı değildir. Interface’in Ethernet-benzeri görünmesi de her capture’ın fiziksel wire bytes’ını birebir verdiğini kanıtlamaz; capture noktasına ve OS işleme/offload davranışına dikkat gerekir.

Interface ve local delivery

Sentetik host 192.0.2.10 adresini eth-demo interface’inde kullanır. Bu interface’in MAC’i 02:00:00:00:00:10’dur. Remote web endpoint 198.51.100.200’e giden örnekte next hop gateway 192.0.2.1’dir. İlk Ethernet frame’in destination MAC’i remote server’ın değil gateway interface’inin MAC’i olur; IP destination ise remote endpoint’i göstermeye devam eder.

Ethernet MAC local link delivery için kullanılır; Internet üzerindeki kalıcı kullanıcı identity’si değildir. MAC bir interface’e aittir, cihazda birden fazla interface olabilir ve adres yazılımla değişebilir. Buradaki 02 ile başlayan MAC’ler locally administered unicast öğretim adresleridir. Loopback veya farklı link tipleri aynı Ethernet header modelini kullanmak zorunda değildir.

IPv4: ARP hangi adresi çözer?

Routing önce next-hop IP’yi ve interface’i belirler. Ethernet üzerinde IPv4 next-hop MAC bilinmiyorsa ARP bu local IP→MAC eşlemesini bulmaya yardım eder. Örnekte soru 198.51.100.200’ün MAC’i değil 192.0.2.1’in MAC’idir. Sender IP/MAC ve target IP alanları bu soruyu ayırt eder. Uygun reply’den sonra neighbor mapping kullanılabilir.

ARP cache’te kullanılabilir kayıt varsa her frame’den önce yeni ARP request gerekmez. Çözülemeyen komşu için veri frame’i “ulaştı” sayılmaz; OS kuyruklama/retry/hata davranışı uygular. Local ARP reply, remote HTTP server’ın veya TLS peer identity’sinin doğrulandığı anlamına gelmez. Cache state label’ları OS’e bağlıdır; fixture’daki known/unknown yalnız eğitim sonucudur.

IPv6: Neighbor Discovery’nin kapsamı

IPv6 Ethernet communication için ARP kullanmaz. ICMPv6 tabanlı Neighbor Discovery adres çözümleme, router/prefix öğrenme ve neighbor reachability gibi görevler içerir. Address resolution’da on-link komşu için Neighbor Solicitation/Advertisement ilişkisi kullanılır. Bir remote hedefte yine first-hop neighbor’ın link-layer adresi gerekir; bütün yolun MAC’lerini bulmak gerekmez.

2001:db8:1::10 ve 2001:db8:1::1 yalnız documentation örnekleridir. Neighbor Discovery summary artifact’i message isimleri ve mapping’i gösterir; gerçek ICMPv6 header/checksum veya multicast packet bytes’ı üretmez. ARP ile ND benzer bir ihtiyacı karşılayabilir ama protokol, message çeşidi ve güvenlik koşulları aynı değildir.

2. Red · Güven ve etki

Hareket olmadan bütün senaryoları oku

Write parçaları

  1. Byte akışı message değildir

    AB ve CDEF write parçaları ile A, BCD ve EF read parçaları birleştirildiğinde aynı ABCDEF byte akışı elde edilir. Bu grupların sınırları application message sınırı olmak zorunda değildir.

    Stream chunks
    Chunks: AB,CDEF
    Message parser
    Buffer boş
    Application sınırı
    Message tamamlanmadı
  2. İlk parça buffer’a alındı

    İlk AB parçası parser state’ine eklendi. Bu sentetik stream HTTP message grammar’ı içermez; bu parçayı tam bir HTTP request diye yorumlamak için veri yoktur.

    Stream chunks
    Chunks: AB,CDEF
    Message parser
    Buffer=AB
    Application sınırı
    Message tamamlanmadı
  3. Erken completion durduruldu

    Application message tamamlandı kararını read çağrısının dönmesinden üretmez. Kullanılan protocol framing’i ayrıca gereklidir; parçalanma kendi başına security incident değildir.

    Stream chunks
    Chunks: AB,CDEF
    Message parser
    Buffer=AB
    Application sınırı
    Message boundary bilinmiyor
  4. Sonraki chunks birleştirildi

    Parser kalan parçaları sırasıyla ekler: CDEF. Buffer byte sırasını korur; bu işlem local memory state’idir, yeni bir network packet gösterimi değildir.

    Stream chunks
    Chunks: AB,CDEF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Message boundary bilinmiyor
  5. Birleşim invariant’ı aynı kaldı

    expectedConcatenation=ABCDEF iki chunk düzeninde aynıdır. Bu karşılaştırma veri sırasını doğrular; application grammar veya tam HTTP framing doğruluğunu kanıtlamaz.

    Stream chunks
    Concat=ABCDEF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Message boundary bilinmiyor
  6. Layer sınırı korunarak sonuçlandı

    Buffer’ın aynı olması stream kapsamındaki normal kontrolü geçer. Message acceptance için ayrı grammar/framing kararı beklenir; byte eşitliğinden authorization veya TLS identity türetilmez.

    Stream chunks
    Concat=ABCDEF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Bytes aynı; message sınırı bilinmiyor

Read parçaları

  1. Byte akışı message değildir

    AB ve CDEF write parçaları ile A, BCD ve EF read parçaları birleştirildiğinde aynı ABCDEF byte akışı elde edilir. Bu grupların sınırları application message sınırı olmak zorunda değildir.

    Stream chunks
    Chunks: A,BCD,EF
    Message parser
    Buffer boş
    Application sınırı
    Message tamamlanmadı
  2. İlk parça buffer’a alındı

    İlk A parçası parser state’ine eklendi. Bu sentetik stream HTTP message grammar’ı içermez; bu parçayı tam bir HTTP request diye yorumlamak için veri yoktur.

    Stream chunks
    Chunks: A,BCD,EF
    Message parser
    Buffer=A
    Application sınırı
    Message tamamlanmadı
  3. Erken completion durduruldu

    Application message tamamlandı kararını read çağrısının dönmesinden üretmez. Kullanılan protocol framing’i ayrıca gereklidir; parçalanma kendi başına security incident değildir.

    Stream chunks
    Chunks: A,BCD,EF
    Message parser
    Buffer=A
    Application sınırı
    Message boundary bilinmiyor
  4. Sonraki chunks birleştirildi

    Parser kalan parçaları sırasıyla ekler: BCD, EF. Buffer byte sırasını korur; bu işlem local memory state’idir, yeni bir network packet gösterimi değildir.

    Stream chunks
    Chunks: A,BCD,EF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Message boundary bilinmiyor
  5. Birleşim invariant’ı aynı kaldı

    expectedConcatenation=ABCDEF iki chunk düzeninde aynıdır. Bu karşılaştırma veri sırasını doğrular; application grammar veya tam HTTP framing doğruluğunu kanıtlamaz.

    Stream chunks
    Concat=ABCDEF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Message boundary bilinmiyor
  6. Layer sınırı korunarak sonuçlandı

    Buffer’ın aynı olması stream kapsamındaki normal kontrolü geçer. Message acceptance için ayrı grammar/framing kararı beklenir; byte eşitliğinden authorization veya TLS identity türetilmez.

    Stream chunks
    Concat=ABCDEF
    Message parser
    Buffer=ABCDEF
    Application sınırı
    Bytes aynı; message sınırı bilinmiyor

VARSAYIM · SINIR · KONTROL

Stream sınırını yanlış yorumlamak

Normal application transport’tan gelen bytes’ı kendi message grammar’ıyla tamamlar. Bir read çağrısını “tam HTTP message” saymak gerekli veriyi eksik işleyebilir veya sonraki message’ın bytes’ını aynı işlem içine katabilir. Bu bir parser/state varsayımıdır; her fragmentation otomatik security incident değildir.

Kontrol, kullandığın protocol framing’ini ve buffer state’ini doğru uygulamaktır. Fixture’ın farklı read chunks’ı aynı stream’i vermesi benign bir baseline’dır. Güvenlik etkisi ancak yanlış parse’ın izin, veri bütünlüğü veya kaynak tüketimi gibi bir özelliği bozduğu koşulla değerlendirilir.

Local mapping’i identity kanıtı saymak

ARP/ND mapping next-hop delivery’ye yardım eder. Onun varlığını peer’ın application identity’si veya yetkisi sanmak trust katmanlarını birleştirir. Basic ARP kriptografik application identity doğrulaması sağlamaz; IPv6 ND’nin de ayrıca güvenlik koşulları vardır.

Gerekli sınır local-link erişimi ve mapping güvenidir. Link controls, uygun network isolation ve endpoint TLS doğrulaması farklı görevler taşır. Değişen MAC tek başına malicious sonuç değildir; interface replacement veya virtualization gibi benign nedenler olabilir.

Interface yanlış seçilirse kapsam değişir

Frame doğru formatta olsa bile yanlış interface veya yanlış next hop’a sunulursa beklenen hedefe erişim bozulabilir. Yanlış link varsayımı gizlilik veya availability riskini artırabilir; gerçek etki link topolojisi ve üst katman korumasına bağlıdır.

Engelleyici kontrol route/interface/mapping sahipliğinin tutarlı olmasıdır. Bu ders normal lookup ve teslim sınırını açıklar; network üzerinde spoofing veya müdahale adımları içermez.

3. Blue · Güvenli geliştirme ve savunma

Hareket olmadan bütün senaryoları oku

Next hop biliniyor

  1. Offset alanları doğru katmandadır

    Hex 0200000000010200000000100800 yalnız 14-byte Ethernet II header’dır. Offset 0/6/12 sırasıyla destination MAC, source MAC ve EtherType alanlarını gösterir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    Mapping okunmadı
    Layer incelemesi
    Sonuç yok
  2. Next-hop mapping ayrı okundu

    IPv4 neighbor 192.0.2.1 → 02:00:00:00:00:01, resolution=ARP olarak verilmiştir. teachingState=known bir OS state adı değildir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    192.0.2.1 → …01 / ARP
    Layer incelemesi
    Sonuç yok
  3. Remote IP, local MAC değildir

    payloadSummary destinationIp=198.51.100.200, nextHopIp=192.0.2.1 olarak verilmiştir. Ethernet destination next hop’a aittir; uzak application endpoint’inin kimlik kanıtı değildir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    192.0.2.1 → …01 / ARP
    Layer incelemesi
    IP=remote / MAC=local hop
  4. IPv6 farklı resolution kullanır

    Artifact’te 2001:db8:1::1 mapping’i ICMPv6 Neighbor Discovery olarak verilmiştir. Bu branch için ARP event beklemek yanlış protokolün eksikliğini alarm yapar.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    IPv6: ND / IPv4: ARP
    Layer incelemesi
    IP=remote / MAC=local hop
  5. Header kapsamı taşırılmadı

    Payload bytes, checksum/FCS ve padding bu header-only artifact’te yoktur. 0800 IPv4 payload türünü gösterir; HTTP method, TLS peer veya service delivery sonucu vermez.

    Header evidence
    Header only / delivery bilinmiyor
    Mapping evidence
    IPv6: ND / IPv4: ARP
    Layer incelemesi
    IP=remote / MAC=local hop
  6. Tutarlılık ile teslimi ayır

    destinationMac ile next-hop MAC uyumludur. Bu sınırlı header/mapping kontrolü gerçek NIC, route teslimi veya application acceptance kanıtı değildir.

    Header evidence
    Header only / delivery bilinmiyor
    Mapping evidence
    IPv6: ND / IPv4: ARP
    Layer incelemesi
    Header/mapping uyumlu; teslim bilinmiyor

Neighbor eksik

  1. Offset alanları doğru katmandadır

    Hex 0200000000010200000000100800 yalnız 14-byte Ethernet II header’dır. Offset 0/6/12 sırasıyla destination MAC, source MAC ve EtherType alanlarını gösterir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    Mapping okunmadı
    Layer incelemesi
    Sonuç yok
  2. Next-hop mapping ayrı okundu

    İnceleme kopyasında neighbor kaydı yoktur. Header’da MAC görülmesi mapping’in hangi yöntem veya zamanda üretildiğini göstermez.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    Neighbor observation eksik
    Layer incelemesi
    Sonuç yok
  3. Remote IP, local MAC değildir

    payloadSummary destinationIp=198.51.100.200, nextHopIp=192.0.2.1 olarak verilmiştir. Ethernet destination next hop’a aittir; uzak application endpoint’inin kimlik kanıtı değildir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    Neighbor observation eksik
    Layer incelemesi
    IP=remote / MAC=local hop
  4. IPv6 farklı resolution kullanır

    IPv6 aynı ihtiyaç için ARP yerine ICMPv6 Neighbor Discovery kullanır. Bu protokol ayrımı, inceleme kopyasında eksik olan neighbor kaydını tamamlamaz. OS’in aynı interface ve gözlem penceresine ait neighbor bilgisini ayrıca görmek gerekir.

    Header evidence
    dst MAC …01 / EtherType 0800
    Mapping evidence
    Neighbor kaydı eksik
    Layer incelemesi
    IP=remote / MAC=local hop
  5. Header kapsamı taşırılmadı

    Payload bytes, checksum/FCS ve padding bu header-only artifact’te yoktur. 0800 IPv4 payload türünü gösterir; HTTP method, TLS peer veya service delivery sonucu vermez.

    Header evidence
    Header only / delivery bilinmiyor
    Mapping evidence
    Neighbor kaydı eksik
    Layer incelemesi
    IP=remote / MAC=local hop
  6. Tutarlılık ile teslimi ayır

    Header alanları bilinir; neighbor resolution coverage eksiktir. Gerçek başarısız resolution veya yetki reddi iddia edilmez; aynı interface’e ait mapping gözlemi gerekir.

    Header evidence
    Header only / delivery bilinmiyor
    Mapping evidence
    Neighbor kaydı eksik
    Layer incelemesi
    UNKNOWN: resolution

UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA

Header’ı bulunduğu katmanda oku

Artifact’teki hex yalnız 14-byte Ethernet II header’dır: ilk altı destination MAC, sonraki altı source MAC, son iki EtherType’tır. 0800 IPv4 payload’ı belirtir. Payload summary’deki source/destination IP başka katmandadır. Header tek başına HTTP method, TLS identity veya application permission göstermez.

Gerçek capture incelendiğinde interface/link type, timestamp ve capture kapsamı bilinmelidir. Header-only artifact checksum, FCS, padding veya bütün frame uzunluğunu doğrulamaz. Bu sınırı saklayıp “valid wire packet” diye etiketleme.

Known, unknown ve farklı protokol

Normal IPv4 örneğinde gateway mapping’i vardır ve frame next hop’a yönelir. Unknown mapping örneğinde ARP çözümleme sonucu gerekir; HTTP response görülmemesi tek başına authorization denial değildir. IPv6 örneği ND mapping’i kullanır ve ARP event beklenmez.

Eksik neighbor event telemetry’si ile failed resolution aynı sonuç değildir. OS’in mapping, route ve interface gözlemlerini ilişkilendir. Cache refresh veya interface değişimi benign olabilir; tek MAC değişiminden security finding üretme.

Açıklanabilir tutarlılık kontrolü

Bu fixture için destination MAC=next-hop MAC ve IP destination=remote endpoint birlikte doğru olmalıdır. Header offset/length alanları toplam 14 byte eder. Application write/read chunk birleşimleri aynı stream’i verir. Bu kontroller gerçek NIC veya network teslimini kanıtlamaz.

Dayanıklı review link/transport/message sınırlarını ayrı tutar. Unknown neighbor sonrası çözümleme branch’i yalnız mapping oluşunca ilerler; unresolved branch’inde receiver data state’i değişmez. Normal IPv4 ve IPv6 yollarını birbirinin field şemasıyla değerlendirme.

Socket okumasını kullanan application, her read sonucunu yeni ve tamamlanmış mesaj sanmak yerine byte sırasını korumalıdır. Örnekte AB + CDEF yazıları A + BCD + EF okumalarıyla aynı ABCDEF stream’ini verir; read çağrılarının sınırı bir message delimiter değildir. Consumer, kullandığı üst katman protokolünün completion kuralına göre veriyi işlemeli; henüz tamamlanmamış byte’ları başarılı HTTP body veya application sonucu diye göstermemelidir. Normal chunk bölünmelerini farklı biçimlerde verip aynı stream çıktısını karşılaştırmak, bu ayrımı doğrulayan küçük ve açıklanabilir bir kontroldür.

ŞİMDİ VAKAYA UYGULA

Stream parçaları veya MAC bilgisi application güvenini kanıtlar mı?

eth-demo, uzak IP’ye gönderirken local gateway’in MAC adresini kullanır. Bir stream’in AB ve CDEF olarak yazılması, aynı gruplarla okunacağı anlamına gelmez. Komşu adresi ile byte sırası, application identity’sinden ayrı değerlendirilir.

Vakadaki response hangi network yolu üzerinden taşınır? Byte, IP route, socket ve firewall bilgisini application’ın doğru kitabı döndürdüğü sonucundan ayrı değerlendir.

Bağlı vaka dosyasını aç ↗

ÖRNEĞİ BİRLİKTE OKUYALIM

14-byte Ethernet header ve neighbor özeti

Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.

Ham kaydı ve alan açıklamalarını oku
{
  "interface": {
    "name": "eth-demo",
    "ipv4": "192.0.2.10",
    "mac": "02:00:00:00:00:10"
  },
  "frameHeader": {
    "hex": "0200000000010200000000100800",
    "lengthBytes": 14,
    "fields": [
      {
        "name": "destinationMac",
        "offset": 0,
        "length": 6,
        "value": "02:00:00:00:00:01"
      },
      {
        "name": "sourceMac",
        "offset": 6,
        "length": 6,
        "value": "02:00:00:00:00:10"
      },
      {
        "name": "etherType",
        "offset": 12,
        "length": 2,
        "value": "0x0800"
      }
    ]
  },
  "payloadSummary": {
    "sourceIp": "192.0.2.10",
    "destinationIp": "198.51.100.200",
    "nextHopIp": "192.0.2.1",
    "kind": "IPv4 summary; bytes omitted"
  },
  "neighbors": [
    {
      "family": "IPv4",
      "ip": "192.0.2.1",
      "mac": "02:00:00:00:00:01",
      "resolution": "ARP",
      "teachingState": "known"
    },
    {
      "family": "IPv6",
      "ip": "2001:db8:1::1",
      "mac": "02:00:00:00:00:01",
      "resolution": "ICMPv6 Neighbor Discovery",
      "teachingState": "known"
    }
  ],
  "arpSummary": {
    "opcode": 1,
    "senderProtocolAddress": "192.0.2.10",
    "senderHardwareAddress": "02:00:00:00:00:10",
    "targetProtocolAddress": "192.0.2.1",
    "targetHardwareAddress": "unspecified in this summary"
  },
  "stream": {
    "writes": [
      "AB",
      "CDEF"
    ],
    "possibleReads": [
      "A",
      "BCD",
      "EF"
    ],
    "expectedConcatenation": "ABCDEF"
  }
}
hex / offset / length
Header bytes ve sıfır tabanlı alan konumları; payload/FCS/padding yok.
destinationMac / nextHopIp
Local frame’in komşusu; remote IP destination’dan farklı olabilir.
arpSummary.targetProtocolAddress
Çözülecek local IPv4 next hop; raw ARP packet değil.
teachingState / resolution
Eğitim sonucu ve IPv4/IPv6 protokol ayrımı; OS state adı değil.
writes / possibleReads
Message sınırı korunmayan TCP stream için sentetik chunk örneği.

Sentetik header-only hex ve summary JSON. Full Ethernet/ARP/ND packet, checksum/FCS, capture veya network teslimi doğrulanmaz. Documentation IP ve local MAC kullanılır.

İki yanlış kanı

Bir TCP read çağrısı bir HTTP message’ı tamamıyla verir.

TCP byte stream’dir; application framing ve buffering ile message sınırını kurar.

Remote server’a giden ilk Ethernet frame remote server’ın MAC’ine gider.

Remote IPv4 hedefte ilk frame genellikle next-hop gateway MAC’ine gider; IP destination remote hedefi belirtir.

SIRA SENDE

Bu hikâyeyi sen çöz.

Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.

TCP write parçaları AB ve CDEF; read parçaları A, BCD ve EF. Veri bozulmuş mu?

  1. Hayır. Birleştirilen byte stream ABCDEF.
  2. Evet. Her read bir write ile aynı uzunlukta olmalı.
Gerekçeli cevabı oku

Hayır. Birleştirilen byte stream ABCDEF. — TCP stream yazma çağrılarının sınırlarını korumaz. Bu read parçaları aynı byte sırasını oluşturur.

Frame destination MAC neden uzak destination IP ile aynı actor’ı göstermiyor?

Dersten seçilen artifact alanları; öğretim örneği

frameHeader.fields[0].value
02:00:00:00:00:01
payloadSummary.destinationIp
198.51.100.200
payloadSummary.nextHopIp
192.0.2.1
  1. MAC local next hop’u; IP final destination’ı gösterir.
  2. MAC uzak server’ın global kimliğidir.
Gerekçeli cevabı oku

MAC local next hop’u; IP final destination’ı gösterir. — Bu Ethernet frame gateway MAC’ine gider. IPv4 destination ise 198.51.100.200 olarak kalır.

IPv4 gateway için ARP, IPv6 gateway için Neighbor Discovery kaydı var. Neden tek protocol adıyla anlatamayız?

Gerekçeli cevabı oku

IPv4 örneği ARP ile local protocol address ve hardware address ilişkisini bulur. IPv6 örneği ICMPv6 Neighbor Discovery kullanır. İkisi next-hop neighbor bilgisi sağlayabilir, fakat aynı wire format veya protocol değildir. Reply gözlenmemesi, neighbor’ın hiç bulunmadığını tek başına kanıtlamaz.

□ ARP’yi IPv4, ND’yi IPv6 bağlamında tuttum.

□ Gözlenmeyen reply’ı yokluk kanıtı saymadım.

Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç

Kaynaklar ve kapsam