SEN2008 · 1. hafta · Course Outline

Ağlar ve güvenlik: büyük resim

İnternet nedir, paket anahtarlama ile devre anahtarlama farkı ve dört gecikme türü (transmission, propagation, queuing, processing). Dersin geri kalanındaki her hesap bu formüllere dayanır.

Internethost / end systempacket switchingcircuit switchingstore-and-forwardtransmission delaypropagation delayqueuing delayprocessing delaytraffic intensitythroughputbottleneck linkTDMFDMbandwidth-delay product

Bu ders iki parçalı bir yolculuk. İlk yarıda İnternet’in nasıl çalıştığını öğreneceksin: katmanlar, linkler, router’lar, TCP. İkinci yarıda bu yapının nerelerden saldırıya açık olduğunu ve yazılımı nasıl güvenli yazacağını göreceksin. Ağı bilmeden güvenliği anlayamazsın. Bir saldırgan IP başlığını sahteler (spoofing), TCP el sıkışmasını suistimal eder (SYN flood) ya da kuyrukları doldurur (DoS). Hepsi bu ilk haftaların konusu.

Bu sayfa iki şey öğretir: İnternet’in genel resmi ve gecikme hesabı. Sınavda neredeyse kesin bir “how long does it take?” sorusu gelir. Şu kurallar yeter:

  1. Transmission delay L/RL/R, propagation delay d/sd/s. Birbirine karıştırma.
  2. Birimleri çevir. Byte’ı bite (×8), km’yi metreye, Mbps’i 10610^6 bit/s’ye.
  3. Store-and-forward: router paketin tamamını almadan iletmez. Her link kendi L/RL/R‘sini ekler.
  4. Throughput darboğaz linktir: yol üstündeki en yavaş link.
  5. La/R>1La/R > 1 ise kuyruk sonsuza büyür.

İnternet nedir?

İki açıdan bakılır.

Donanım (nuts and bolts) açısı. İnternet, milyarlarca uç sistemin (end system, host) birbirine bağlandığı bir ağlar ağıdır (network of networks). Laptop, telefon, sunucu birer host. Hostlar iletişim linkleri (fiber, bakır, kablosuz) ve paket anahtarları (packet switch: router ve link-layer switch) üzerinden bağlanır. Hostlar İnternet’e bir ISP (Internet Service Provider) üzerinden girer; ISP’ler de hiyerarşik olarak birbirine bağlanır (erişim ISP’si, bölgesel ISP, tier-1 ISP, IXP noktaları).

Servis açısı. İnternet, dağıtık uygulamalara (web, e-posta, video) haberleşme hizmeti veren bir altyapıdır. Uygulama programcısı “bu veriyi şu adrese güvenilir gönder” der, gerisini ağ halleder. Bu hizmet bir soket arayüzü (socket interface) üzerinden sunulur.

Protokol (protocol), iki ya da daha fazla taraf arasında değişen mesajların biçimini, sırasını ve bir mesaj alındığında yapılacak işi tanımlayan kurallar bütünüdür. TCP, IP, HTTP, Ethernet birer protokoldür. Standartlar IETF’nin RFC belgelerinde yazılıdır.

Ağın kenarı ve çekirdeği

BölgeNe var?Örnek
Ağın kenarı (network edge)Hostlar, uygulamalarLaptop, web sunucusu
Erişim ağı (access network)Hostu ilk router’a bağlayan linkDSL, kablo, FTTH, Wi-Fi, 4G/5G
Ağın çekirdeği (network core)Router’lardan oluşan örgüISP omurgası

Paket anahtarlama ve devre anahtarlama

Çekirdekte veri iki temel yolla taşınabilir.

Devre anahtarlama (circuit switching). Haberleşme başlamadan önce kaynaktan hedefe bir yol kurulur ve her linkte bu bağlantı için kaynak ayrılır (rezerve edilir). Klasik telefon ağı böyledir. Link kapasitesi ya frekansa göre (FDM, frequency-division multiplexing) ya da zamana göre (TDM, time-division multiplexing) paylaştırılır. TDM’de zaman çerçevelere, çerçeveler slotlara bölünür; her devre her çerçevede bir slot alır.

  • Artısı: garantili hız, kuyruk yok, öngörülebilir gecikme.
  • Eksisi: kurulum süresi; kullanıcı sustuğunda ayrılan slot boş gider.

Paket anahtarlama (packet switching). Mesaj paketlere bölünür. Her paket, yolu bilen router’lar tarafından tek tek iletilir. Kaynak ayrılmaz; link o an kimin paketi varsa onundur. Bu yüzden paketler kuyrukta bekleyebilir, buffer dolarsa kaybolabilir (packet loss).

  • Artısı: patlamalı (bursty) trafikte çok daha verimli, kurulum yok, basit.
  • Eksisi: gecikme ve kayıp değişkendir.

Çözümlü örnek: devre anahtarlamada dosya süresi

1,200,000 bitlik bir dosya, 2.4 Mbps’lik ve 30 slotlu TDM kullanan bir devre üzerinden gidiyor. Kurulum 250 ms.

Devre başına hız   = 2.4 Mbps / 30 = 80,000 bps
Aktarım süresi     = 1,200,000 / 80,000 = 15 s
Toplam             = 15 + 0.25 = 15.25 s

TUZAK · tüm link senin değil. TDM’de sana düşen hız R/slot sayısıR/\text{slot sayısı}. Dosyayı 2.4 Mbps’le böler, 0.5 s bulursan soruyu kaçırırsın.

İstatistiksel çoğullama

1 Mbps link, her kullanıcı aktifken 100 kbps istiyor ve zamanın sadece %10’unda aktif. Devre anahtarlama en fazla 10 kullanıcı alır. Paket anahtarlamada 35 kullanıcı koyarsan, aynı anda 10’dan fazlasının aktif olma olasılığı binom dağılımından:

P(X≥11)=∑k=1135(35k)(0.1)k(0.9)35−k≈4.24×10−4P(X \ge 11) = \sum_{k=11}^{35}\binom{35}{k}(0.1)^k(0.9)^{35-k} \approx 4.24\times10^{-4}

Sorun çok nadir. Paket anahtarlama aynı link ile 3.5 kat kullanıcı taşır. İnternet’in paket anahtarlamalı olmasının sebebi budur.

Dört gecikme türü

Bir paket bir router’dan bir sonrakine geçerken dört gecikme toplanır:

dnodal=dproc+dqueue+dtrans+dpropd_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{prop}

GecikmeNe?FormülTipik büyüklük
Processing dprocd_{proc}Başlığı okuma, bit hatası kontrolü, çıkış linkini seçme(verilir)mikrosaniye
Queuing dqueued_{queue}Çıkış kuyruğunda sıra beklemetrafiğe bağlı0 ile ms arası
Transmission dtransd_{trans}Paketin tüm bitlerini linke basmaL/RL/RMbps’te ms
Propagation dpropd_{prop}Bir bitin linkin öbür ucuna gitmesid/sd/skm başına ~5 µs

Benzetme: otoyolda konvoy. 10 araçlık konvoyun gişeden geçmesi transmission delay (konvoy boyu / gişe hızı). Bir aracın iki gişe arasındaki yolu katetmesi propagation delay (mesafe / araç hızı). İkisi tamamen farklı şeylere bağlı.

L=1500L = 1500 byte, R=10R = 10 Mbps, link 2000 km, s=2×108s = 2\times10^8 m/s.

L = 1500 x 8 = 12,000 bit
dtrans = 12,000 / 10^7      = 0.0012 s = 1.2 ms
dprop  = 2 x 10^6 / 2 x 10^8 = 0.01 s  = 10 ms
dproc = 0.02 ms, dqueue = 2.4 ms verilmişse:
dnodal = 0.02 + 2.4 + 1.2 + 10 = 13.62 ms

Uzun linkte propagation baskın; yavaş linkte transmission baskın olur.

İPUCU · dprop=dtransd_{prop} = d_{trans} ne zaman? d=s⋅L/Rd = s \cdot L/R olduğunda. L=12000L = 12000 bit, R=1R = 1 Mbps ise d=2×108×0.012=2400d = 2\times10^8 \times 0.012 = 2400 km. Bundan kısa linkte ilk bit karşıya varır, son bit daha göndericiden çıkmamıştır.

Router bir paketi iletmeye başlamadan önce paketin tamamını almak zorundadır. NN link ve tek paket için (propagation hariç):

dend-to-end=N⋅LRd_{end\text{-}to\text{-}end} = N \cdot \frac{L}{R}

PP paket arka arkaya gönderilirse ilk paket NL/RN L/R sürede varır, sonraki her paket bir L/RL/R arkadan gelir:

d=(N+P−1)LRd = (N + P - 1)\frac{L}{R}

L = 12,000 bit, R = 10 Mbps -> L/R = 1.2 ms
N = 3 link, P = 1 paket : 3 x 1.2 = 3.6 ms
N = 3 link, P = 4 paket : (3 + 4 - 1) x 1.2 = 6 x 1.2 = 7.2 ms

Propagation varsa her linkin dpropd_{prop}‘u da eklenir: N(L/R+dprop)N(L/R + d_{prop}) tek paket için.

Kuyruk gecikmesi ve trafik yoğunluğu

Paketler saniyede ortalama aa adet, her biri LL bit gelsin. Trafik yoğunluğu (traffic intensity):

I=LaRI = \frac{La}{R}

  • I≈0I \approx 0: kuyruk neredeyse boş, gecikme küçük.
  • I→1I \to 1: gecikme hızla artar (doğrusal değil, patlar).
  • I>1I > 1: bitler gönderilebilenden hızlı geliyor. Kuyruk sınırsız büyür, gerçekte buffer taşar ve paket kaybı başlar.

Örnek: a=100a = 100 paket/s, L=12000L = 12000 bit, R=2R = 2 Mbps ise I=1.2×106/2×106=0.6I = 1.2\times10^6 / 2\times10^6 = 0.6.

Belirli bir paketin kuyruk gecikmesini soruyorsa önündeki işi say: önünde 4 paket bekliyor ve iletilen paketin yarısı kaldıysa 4.5×L/R4.5 \times L/R. L/R=1.2L/R = 1.2 ms ise 5.45.4 ms.

TUZAK · paket kaybı da güvenlik konusu. Bir saldırgan kuyruğu kasıtlı doldurursa (I≫1I \gg 1) meşru paketler düşer. Bu, ileride göreceğin DoS saldırısının ağ katmanındaki karşılığı.

Throughput ve darboğaz

Throughput, alıcıya saniyede ulaşan bit miktarıdır. Seri bağlı linklerde uçtan uca throughput en yavaş linkin hızıdır:

throughput=min⁡(R1,R2,…,RN)\text{throughput} = \min(R_1, R_2, \ldots, R_N)

Bir link nn akış arasında eşit paylaşılıyorsa o link her akışa R/nR/n verir; min’e bu girer. Örnek: 5, 20 ve 10 akışa paylaşılan 100 Mbps’lik linkten geçen 40 Mbit dosya: min⁡(5,20,10)=5\min(5, 20, 10) = 5 Mbps, süre 8 s.

Bandwidth-delay product

R⋅dpropR \cdot d_{prop}, linkin içinde aynı anda bulunabilecek bit sayısıdır. 10 Mbps ve 10 ms için 107×0.01=100,00010^7 \times 0.01 = 100{,}000 bit. Bu sayı 3. haftadaki kayan pencere verimliliğinde ve 8. haftadaki TCP penceresinde tekrar karşına çıkacak.

Güvenliğe ilk bakış

İnternet başlangıçta “karşılıklı güvenen kullanıcılar” için tasarlandı. Güvenlik sonradan eklendi. Bu yüzden birçok protokol varsayılan olarak kimlik doğrulama yapmaz. Dersin ikinci yarısının temel çerçevesi CIA üçlüsü:

ÖzellikAnlamıAğdaki tehdit örneği
Confidentiality (gizlilik)Veriyi sadece yetkili okurPaket koklama (sniffing)
Integrity (bütünlük)Veri fark edilmeden değişmezAraya girme (man-in-the-middle)
Availability (erişilebilirlik)Servis ihtiyaç anında çalışırDoS / DDoS

Her katmanı öğrenirken şunu sor: “Bu katmandaki başlığı kim sahteleyebilir, kim okuyabilir, kim değiştirebilir?” Bu soru dersin iki yarısını birleştirir.

Sık yapılan hatalar

Yanlış düşünceDoğrusu
Uzun link transmission delay’i artırırHayır, L/RL/R mesafeden bağımsız. Uzunluk sadece dpropd_{prop}‘u artırır.
Hızlı link propagation’ı azaltırHayır, d/sd/s link hızından bağımsız.
1500 byte’ı doğrudan RR‘ye bölmekÖnce ×8: 12,000 bit.
1 Mbps = 2202^{20} bit/sAğda 10610^6 bit/s.
Çok linkte süre L/RL/RStore-and-forward: N⋅L/RN \cdot L/R; PP paket için (N+P−1)L/R(N+P-1)L/R.
TDM’de dosya tüm link hızıyla giderSana düşen hız RR/slot.
La/R=1La/R = 1 güvenli sınır1’e yaklaşınca gecikme patlar; 1’in üstü sınırsız kuyruk.
Throughput hızlı linklerin ortalamasıEn yavaş link (min). Paylaşılan link R/nR/n verir.

Kendini test et

Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.

Soru 1kolay

A router must send a 1000-byte packet onto an 8 Mbps link. What is the transmission delay?

Cevabı göster
1 ms

Transmission delay dtrans=L/Rd_{trans} = L/R. Önce byte'ı bite çevir: L=1000×8=8000L = 1000 \times 8 = 8000 bit.dtrans=8000/(8×106)=10−3d_{trans} = 8000 / (8 \times 10^6) = 10^{-3} s = 1 ms. Mesafe bu hesaba hiç girmez.

Soru 2kolay

A link is 3000 km long and the signal propagates at 2.5×1082.5 \times 10^8 m/s. What is the propagation delay?

Cevabı göster
12 ms

dprop=d/s=(3000×103)/(2.5×108)=0.012d_{prop} = d/s = (3000 \times 10^3) / (2.5 \times 10^8) = 0.012 s = 12 ms.
Kilometreyi metreye çevirmeyi unutma. Paket boyutu ve link hızı bu hesaba girmez.

Soru 3kolay

Which statement about transmission delay and propagation delay is correct?

  1. Both depend on the length of the link
  2. Transmission delay depends on packet length and link rate; propagation delay depends on distance and signal speed
  3. Propagation delay decreases when the link rate increases
  4. Transmission delay depends only on the distance between routers
Cevabı göster
B) Transmission delay depends on packet length and link rate; propagation delay depends on distance and signal speed

dtrans=L/Rd_{trans} = L/R: paketi kabloya "itme" süresi, mesafeden bağımsız.dprop=d/sd_{prop} = d/s: bir bitin karşıya varma süresi, paket boyutundan ve RR'den bağımsız.
Link hızını artırmak sadece transmission delay'i küçültür.

Soru 4orta

Host A sends one 4000-bit packet to host B through one router (two links, store-and-forward). Each link has rate 2 Mbps and propagation delay 5 ms. Ignore processing and queuing. What is the end-to-end delay?

Cevabı göster
14 ms

İki link var ve router paketi tamamen aldıktan sonra iletir (store-and-forward).
Her link için: dtrans=4000/(2×106)=2d_{trans} = 4000 / (2 \times 10^6) = 2 ms, dprop=5d_{prop} = 5 ms.
Toplam: 2×(2+5)=142 \times (2 + 5) = 14 ms.

Soru 5orta

A 960,000-bit file is sent over a circuit-switched network. The link rate is 1.92 Mbps and uses TDM with 24 slots. Setting up the circuit takes 0.5 s. How long does it take to send the file?

Cevabı göster
12.5 s

TDM'de her devre bir slot alır: 1.92×106/24=80,0001.92 \times 10^6 / 24 = 80{,}000 bps.
Aktarım: 960,000/80,000=12960{,}000 / 80{,}000 = 12 s. Kurulum eklenir: 12+0.5=12.512 + 0.5 = 12.5 s.
Tuzak: tüm link hızını (1.92 Mbps) kullanırsan 0.5 s bulursun, yanlış.

Soru 6orta

Packets of 8000 bits arrive at a router queue at an average rate of 150 packets/s. The outgoing link rate is 1 Mbps. What is the traffic intensity, and what happens to the queuing delay?

  1. 0.12; queuing delay is negligible
  2. 0.8; queuing delay is moderate
  3. 1.2; the queue grows without bound and delay goes to infinity
  4. 1.2; queuing delay is exactly 1.2 ms
Cevabı göster
C) 1.2; the queue grows without bound and delay goes to infinity

Traffic intensity =La/R=8000×150/106=1.2= La/R = 8000 \times 150 / 10^6 = 1.2.
1'den büyükse bitler linkin gönderebileceğinden hızlı geliyor. Kuyruk sürekli büyür, ortalama gecikme sonsuza gider (pratikte buffer dolar, paket kaybı olur).
Kural: La/RLa/R asla 1'i geçmemeli; 1'e yaklaştıkça gecikme hızla artar.

Soru 7orta

A server sends a 40 Mbit file to a client over three links in series with rates 5 Mbps, 20 Mbps and 100 Mbps. The 100 Mbps link is shared equally by 10 such flows. How long does the transfer take (ignore delays other than throughput)?

Cevabı göster
8 s

Ortak link her akışa 100/10=10100/10 = 10 Mbps verir. Uçtan uca throughput darboğaz linktir:min⁡(5,20,10)=5\min(5, 20, 10) = 5 Mbps. Süre: 40/5=840 / 5 = 8 s.

Soru 8zor

Ten packets, each 1500 bytes, are sent back to back over a path of 4 store-and-forward links, each 1.5 Mbps. Ignoring propagation, processing and queuing, when has the last packet fully arrived at the destination?

Cevabı göster
104 ms

Bir paketin bir linkte transmission süresi: L/R=12000/(1.5×106)=8L/R = 12000 / (1.5 \times 10^6) = 8 ms.PP paket, NN link için formül (N+P−1) L/R(N + P - 1)\,L/R.(4+10−1)×8=13×8=104(4 + 10 - 1) \times 8 = 13 \times 8 = 104 ms.
Mantık: ilk paket N⋅L/RN \cdot L/R sürede varır, sonraki her paket bir L/RL/R arkadan gelir.

Soru 9orta

A 100 Mbps link is 4000 km long with propagation speed 2×1082 \times 10^8 m/s. How many bits are 'in flight' on the link at any time when it is fully used (the bandwidth-delay product)?

Cevabı göster
2,000,000 bits

dprop=4×106/(2×108)=0.02d_{prop} = 4 \times 10^6 / (2 \times 10^8) = 0.02 s = 20 ms.
Bandwidth-delay product =R⋅dprop=108×0.02=2×106= R \cdot d_{prop} = 10^8 \times 0.02 = 2 \times 10^6 bit.
Bu sayı, kablonun içine aynı anda sığan bit sayısıdır.

Soru 10zor

A packet is L=12,000L = 12{,}000 bits and the link rate is 1 Mbps; the signal speed is 2×1082 \times 10^8 m/s. For what link length (in km) is the propagation delay equal to the transmission delay?

Cevabı göster
2400 km

dtrans=12000/106=12d_{trans} = 12000 / 10^6 = 12 ms.dprop=d/s=12d_{prop} = d/s = 12 ms olmalı: d=0.012×2×108=2.4×106d = 0.012 \times 2 \times 10^8 = 2.4 \times 10^6 m = 2400 km.
Daha kısa linkte paketin ilk biti karşıya, son bit çıkmadan varır.

Soru 11zor

A 1 Mbps link is shared by users who each need 100 kbps while active and are active 10% of the time independently. With packet switching and 35 users, what is the probability (to 3 significant figures) that more than 10 users are active at the same time?

Cevabı göster
4.24 × 10^-4

Devre anahtarlama en fazla 1000/100=101000/100 = 10 kullanıcıyı destekler. Paket anahtarlamada sorun sadece aynı anda 10'dan fazla kullanıcı aktifse çıkar.
Aktif sayısı X∼Binomial(35,0.1)X \sim \text{Binomial}(35, 0.1).P(X≥11)=∑k=1135(35k)0.1k 0.935−k≈4.24×10−4P(X \ge 11) = \sum_{k=11}^{35} \binom{35}{k} 0.1^k \, 0.9^{35-k} \approx 4.24 \times 10^{-4}.
Yani paket anahtarlama aynı linkle 3.5 kat kullanıcıya hizmet eder, sorun olasılığı on binde 4 civarı. İstatistiksel çoğullamanın (statistical multiplexing) gücü budur.

Soru 12zor

A packet arrives at a router whose output link is 100 Mbps. Three 1500-byte packets are waiting in the queue, and a fourth 1500-byte packet is currently being transmitted, 40% done. What is the queuing delay of the arriving packet?

Cevabı göster
0.432 ms

Bir paketin transmission süresi: 12000/108=0.1212000 / 10^8 = 0.12 ms.
Beklenecek iş: iletimdeki paketin kalan %60'ı + 3 tam paket =3.6= 3.6 paket.
Queuing delay =3.6×0.12=0.432= 3.6 \times 0.12 = 0.432 ms.

Doğrulama: Tüm sayısal cevaplar node ile hesaplandı (verify/SEN2008/01.mjs): gecikme formülleri, (N+P-1)L/R, devre anahtarlama süresi, binom kuyruk olasılığı, trafik yoğunluğu, darboğaz throughput.

Deftere not kartı

dtrans = L / R (bit / bps; byte ise x8) mesafeden BAĞIMSIZ dprop = d / s (m / (m/s), s ≈ 2-3 x 10^8) paket boyundan BAĞIMSIZ dnodal = dproc + dqueue + dtrans + dprop N link, 1 paket: N L/R N link, P paket: (N+P-1) L/R (store-and-forward) traffic intensity = L a / R ~0 küçük gecikme, ->1 büyük, >1 sonsuz (kayıp) queuing delay = (önündeki paket sayısı + iletimdekinin kalanı) x L/R throughput = min(R1, R2, ..., paylaşılan link R/n) darboğaz (bottleneck) bandwidth-delay product = R x dprop (kabloda aynı anda duran bit) Devre (circuit): kaynak ayrılır, garanti hız, kurulum gecikmesi; TDM slot hızı = R/slot Paket (packet): paylaşım, kuyruk ve kayıp olabilir, patlamalı trafikte çok daha verimli Mbps = 10^6 bit/s (2^20 değil) 1 byte = 8 bit Güvenlik: CIA = Confidentiality, Integrity, Availability