Network101

Oğuzhan Purtaş
Miuul AWS Community
16 min readMar 4, 2024

--

Merhaba, bulut ve network severler :) Network101 yazımıza hoş geldiniz. Bu seride, ağ teknolojilerinin karmaşık dünyasına adım adım yolculuk edeceğiz. Yolculuğumuz, temel ikili sistemler ve ASCII tablosu gibi temellerden başlayacak, ağ bağlantılarının nasıl kurulduğunu, protokollerin iletişimdeki rollerini ve TCP/IP’nin interneti nasıl şekillendirdiğini keşfedeceğiz. Ayrıca, hata denetimi ve ağ sorgulamaları için hayati öneme sahip olan ICMP protokolü, alan adlarını IP adreslerine çeviren DNS sistemi ve ağ güvenliğindeki kritik rol oynayan firewall’lar ile DHCP’nin ağlara nasıl kolayca bağlanmamızı sağladığını inceleyeceğiz. Hadi, bu bilgi dolu yolculuğa birlikte çıkalım!

Konularımız arasında;

  • Temel İkili Sistemler (Basic Binary)
  • ASCII Tablosu
  • Ağ ve Bağlantı Kurulumları (Link, Network/MAC-DHCP-DNS-IPv4)
  • Firewall’lar ve Güvenlik
  • Protokoller ve İletişimdeki Rolü (TCP-UDP-ICMP)
  • TCP/IP Modeli ve Ağ Paketleri
  • Paket Yönlendirme Süreci

Basic Binary

Basic binary, yani temel ikili sayı sistemi, yalnızca iki rakam (0 ve 1) kullanarak veri ifade etme yöntemidir. Bilgisayarlar ve elektronik cihazlar, tüm verileri ikili sayılar şeklinde işler ve saklar çünkü bu cihazların temel yapıtaşları olan transistörler sadece iki durum alabilir: açık (1) veya kapalı (0). Bu basit sistem, modern dijital teknolojinin temelidir.

Farklı Ortamlarda 0 ve 1'lerin Gösterimi

Bilgisayarlar, ikili sayı sistemi kullanır. Bu sistemde sadece 0 ve 1 olmak üzere iki sembol kullanılır. Farklı ortamlarda 0 ve 1'ler farklı şekillerde gösterilebilir:

Bakır Kablolar:

  • Voltaj var: 1
  • Voltaj yok: 0

CPU Anahtarları:

  • Açık: 1
  • Kapalı: 0

Manyetik Sabit Diskler (HDD):

  • S-N (South-North): 0
  • N-S (North-South): 1

Non-Volatile Memory Express (NVMe):

  • Her hücre 8 bit tutar: 00000000–11111111 (256 farklı değer)

Özet:

Farklı ortamlarda 0 ve 1'leri göstermenin farklı yolları vardır. Bu yollar, kullanılan teknolojinin ve ortamın özelliklerine bağlıdır.

Ek Bilgiler:

  • Dijital sinyaller: Voltaj seviyeleri veya manyetik alanlar kullanılarak 0 ve 1'ler gösterilir.
  • Analog sinyaller: Voltaj veya akımın sürekli değişimiyle 0 ve 1'ler gösterilir.
  • Optik sinyaller: Işık darbeleri kullanılarak 0 ve 1'ler gösterilir.

Aşağıdaki tablo, ikili sayı sisteminde (base-2) farklı sayıların nasıl temsil edildiğini gösteriyor ve her bir sıranın, o sıradaki bitin değerini (2'nin kuvvetlerini) temsil ettiğini, bu bitlerin kombinasyonunun ise onluk sistemdeki karşılıklarını nasıl oluşturduğunu örneklerle açıklıyor.

Bit Nedir?

Bit, bir bilgisayarın işleyebileceği en küçük veri birimidir. Her bit, ikili bir değer taşır: 0 veya 1. Bu temel ikili sistem, dijital teknolojinin omurgasını oluşturur.

Byte Nedir?

Byte, 8 bitlik bir veri birimidir. Örneğin, [10010110] bir byte’dır. 1960'larda ise altı bitlik byte’lar kullanılıyordu, örneğin [100100]. Her bir karakteri ifade etmek için genellikle bir byte, yani sekiz bit kullanılır. Bu da demek oluyor ki, bir harf ya da sembol bilgisayar belleğinde bir byte yer kaplar.

Neden 8 bitlik bir byte sistemi kullanıyoruz?

  • Modern bilgisayar sistemlerinde veri ifade etmek için gerekli çeşitliliği sağlar.
  • 256 farklı değeri (2**8) temsil edebilir.
  • İngilizce alfabenin büyük ve küçük harflerini, 10 rakamı, noktalama işaretlerini, matematiksel sembolleri ve diğer özel karakterleri kapsar.
  • Farklı dillerde kullanılan özel karakterleri de temsil edebilir.

Avantajları:

  • ASCII ve extended ASCII tabloları ile standart bir karakter seti sağlar.
  • Metin ve verileri işlemek için standart bir yöntem sunar.
  • 6 bitlik byte’lara kıyasla daha fazla dil ve simge çeşitliliği destekler.
  • Veri şifreleme ve işleme işlemleri için daha uygun bir yapı sunar.

ASCII Kodlaması ve Mors Alfabesinin Mirası

Bilgi çağının dili olan ASCII, yani Amerikan Standart Bilgi İnteraktif Kodu, bilgisayar ve elektronik cihazların metin verilerini sayısal değerlere çevirmesi için kullanılan evrensel bir sistemdir. 7 bitlik kodlarla, her bir karakter 0'dan 127'ye kadar bir sayıyla eşleştirilir, bu da temel yazı karakterleri için geniş bir yelpaze sunar.

Ancak ASCII’nin hikayesi, bilgisayar devriminden çok önce, mors alfabesi ile başlar. Mors, harfleri ve sayıları kısa ve uzun darbeler ile temsil eden bir sistemken, ASCII bu mantığı benimsemiş ve her karaktere özgü sayısal bir değer atayarak dijital dünya için uygun hale getirmiştir. Bu evrimsel adım, veri iletişiminin hızını ve farklı bilgisayar sistemleri arasındaki sorunsuz iletişimi mümkün kılmıştır.

Mors Code vs ASCII

Mors Alfabesi ve ASCII: Boşluğun Rolü Ve Protokollerin İcadı

Mors alfabesi, basit ama etkili bir iletişim yöntemi olarak nokta, çizgi ve önemli bir unsuru daha içerir: boşluk. Boşluk, Mors alfabesinde karakterler ve kelimeler arasındaki ayrımı belirler. ASCII’de ise, ‘boşluk’ da dahil olmak üzere her karakterin kendine ait bir sayısal değeri vardır ve bu da boşluğu bir karakter haline getirir. Ancak, ASCII’nin sınırlılıkları, verinin nerede başlayıp bittiğini tanımlayan açık bir işaretçi içermez. Bu eksiklik, bilgisayar ağlarında veri akışını düzenlemek için protokollerin geliştirilmesini zorunlu kılmıştır. Protokoller, veri paketlerinin sınırlarını belirler ve böylece bilgisayar sistemleri arasında anlaşılır ve düzenli veri alışverişini sağlar. ASCII ve protokollerin bu birlikteliği, dijital iletişimdeki akıcılığın ve düzenin temelini oluşturur.

Zamanla, ASCII’nin sınırlı karakter seti, dünyanın dilsel ve sembolik zenginliğini dijital ortamda temsil etmek için yetersiz kalmıştır. Bu eksikliği gidermek için Extended ASCII geliştirilmiştir. 8 bitlik bu genişletilmiş kodlama sistemi, orijinal ASCII’nin 128 temel karakterine ek olarak 128 yeni sembol daha sunarak, farklı dillerin harfleri, ticari işaretler ve grafik semboller gibi özel karakterleri kapsayacak şekilde genişletilmiştir. Bu genişleme, bilgisayarların çok daha geniş bir dil ve sembol setini desteklemesini sağlamış ve küresel iletişim ihtiyaçlarına daha iyi yanıt vermesine olanak tanımıştır.

Bu seride şimdiye kadar, temel ikili sistemlerden ASCII ve protokollerin doğuşuna kadar dijital iletişimin temellerini ve veri temsili konusundaki gelişmeleri keşfettik.

Link

Link, ağ cihazları arasındaki bağlantıyı tanımlar kablo da diyebiliriz ve başlıca iki ana türde gelir: fiber ve bakır. Fiber optik kablolar, ışık sinyalleri kullanarak yüksek hızda veri iletimi sağlar ve uzun mesafelerde sinyal kaybı olmaksızın iletişim kurabilir. Bakır kablolar ise elektrik sinyalleri aracılığıyla veri taşırlar ve genellikle kısa mesafeler için maliyet etkin bir çözümdür. Her iki link türü de modern ağ altyapılarının temelini oluşturur.

Fiber Cables

Bu harita, dünya genelinde deniz altı fiber optik kablo ağını göstermektedir. Bu kablolar, kıtalar arası veri iletişimini sağlayan yüksek hızlı internet bağlantılarının omurgasını oluşturur. Milyonlarca kilometre uzunluğundaki bu fiber optik ağ, global iletişimi destekleyen, düşük gecikme süreleri ve büyük veri taşıma kapasiteleri sunan, su altında uzanan kritik altyapıdır.

Fiber Map

Bu kabloların hasar görmesi, ciddi mali kayıplara neden olabilir: Bkz.

Bakır Kablo Yapıları ve Önemi

Bakır kablo yapıları da, bilgi teknolojisinin temel taşlarındandır. “U/UTP” gibi ekranlamasız kablolar en basit türler olup, genellikle günlük kullanımda tercih edilir. “F/UTP” ve “S/FTP” gibi ekranlamalı kablolar ise, dış etkenlere karşı ek koruma sağlayarak, veri iletimini güvenilir bir şekilde sürdürür.

Cat Cables

Kabloların Korunması ve Paket Kaybı

Kablo yapısının korunması, veri iletişiminde kritik bir rol oynar. Ekranlamalar, elektronik parazitleri bloke ederek ağın sağlıklı çalışmasını destekler. Yeterli koruma olmadığında ise “Paket Kaybı” meydana gelir. Bu, iletim sırasında veri paketlerinin kaybolması veya hasar görmesine sebep olur, ağ performansını düşürür ve iş süreçlerini aksatabilir.

Paket Kaybının Derinlemesine Analizi: Elektromanyetik Etkileşimler

Paket kaybını daha detaylı incelersek, elektrik ve manyetizma arasındaki temel ilişkiyi göz önünde bulundurmalıyız. Elektromanyetik dalgalar, metallerle etkileşime girdiğinde voltaj üretirler. Veri transferinde ise temelde, voltaj değişimlerini kullanarak bilgi paketleri göndeririz. Ancak, iletim sırasında kablonun uzunluğuna bağlı olarak direnç artar ve voltaj düşer.

Örneğin, 5V ile yola çıkan bir sinyal, kablonun direnci nedeniyle alıcıya daha düşük bir voltajla ulaşabilir. Eğer bu voltaj, alıcı tarafındaki minimum algılama eşiği olan 3.67V’un altındaysa, alıcı bu sinyali ‘0’ olarak yorumlayabilir. Veri iletimi sırasında karşılaşılan bir manyetik dalga, bu hassas voltaj dengesini bozarak ‘0’ olan bir biti ‘1’e dönüştürebilir. Bu da gösteriyor ki, bir tek bitin hatalı algılanması bile 1500 byte’lık bir MTU (Maximum Transmission Unit) boyutundaki tüm paketin hatalı veya bozuk olarak algılanmasına sebep olabilir.

Bu analizden, kablonun kalitesinin ve ekranlamasının, veri bütünlüğü açısından ne kadar kritik olduğunu anlayabiliriz. İyi tasarlanmış ve iyi ekranlanmış bir kablo, bu tür elektromanyetik parazitlerden kaynaklanan paket kaybını önemli ölçüde azaltır ve böylece daha güvenilir bir veri iletimi sağlar.

Network Tipleri

  • PAN (Personal Area Network): Bir kişinin kişisel cihazlarını — telefon, bilgisayar, tablet gibi — kablosuz veya kablolu bağlantılarla birbirine bağlayan çok küçük bir ağdır.
  • HAN (Home Area Network): Bir evdeki çeşitli elektronik cihazları ve sistemleri birbirine bağlayan ve internete erişim sağlayan yerel bir ağdır.
  • LAN (Local Area Network): Genellikle bir binanın içinde veya yakın çevresinde bulunan bilgisayar ve cihazları birbirine bağlayan, kısıtlı coğrafi alandaki bir ağdır.
  • MAN (Metropolitan Area Network): Şehir veya büyük bir kampüs gibi geniş bir coğrafi alanda iletişimi sağlayan, LAN’lardan daha büyük ölçekli bir ağdır.
  • WAN (Wide Area Network): Geniş coğrafi bölgeleri kapsayan, şehirler, ülkeler hatta kıtalar arası iletişimi mümkün kılan geniş ölçekli bir ağdır.

Özellikle LAN (Local Area Network) konseptini detaylıca inceleyerek başlayacağız; zira LAN’ı anlamak, ağ teknolojilerinin genel konseptini daha rahat kavramamızı sağlayacaktır.

LAN

Bu görsel, standart bir LAN(Local Area Network) düzenini ve unsurlarını göstermektedir.

MAC Adresi

  • MAC adresi, ağ donanımlarının tanımlanması için kullanılan, 48 bit uzunluğunda ve hexadecimal formatında benzersiz bir adrestir.
  • Bu adres formatı genellikle MM:MM:MM:DD:DD:DD şeklinde gösterilir, burada ilk 24 bit üreticiyi, son 24 bit ise cihazı tanımlar.
  • Her ağ portu, örneğin bir ethernet kartı veya kablosuz ağ adaptörü gibi, kendine özgü bir MAC adresine sahiptir ve bu adresler 2C:54:91:88:C9:E3 gibi farklı biçimlerde gösterilebilir.

Cloud ortamında MAC adresiyle doğrudan pek işimiz olmaz; genellikle bu tür ortamlarda IP adresleri daha önemlidir, örneğin bir ENI (Elastic Network Interface) MAC adresine sahip olabilir, ancak iletişim için IP adresi kullanılır.

Ancak on-premises ortamlarda, yani bulut dışındaki fiziksel ağ yapılarda, MAC adresleri ağ güvenliği, ağ yönetimi ve diğer birçok ağ işlevi için çok önemli hale gelir.

Dinamik Ana Bilgisayar Yapılandırma Protokolü (DHCP): Otel Resepsiyonu Analojisi

DHCP, Dynamic Host Configuration Protocol’ün kısaltmasıdır ve bir otel resepsiyonu işlevi görür; tıpkı resepsiyonun yeni gelen konuklara kimliklerine göre (MAC adresleri) oda anahtarları vermesi gibi, DHCP protokolü, ağa yeni bağlanan cihazlara dinamik olarak IP adresleri atar. Bu protokol, ağa bağlanan her cihaza benzersiz bir IP adresi tahsis etmek için cihazların MAC adreslerini tanımlar. Ancak, MAC adresine özel sabit bir IP adresi ataması yerine, DHCP genellikle kullanılabilir IP adreslerinden birini dinamik olarak atar ve bu atama belirli bir süre için geçerlidir (lease time).

Bir cihaz ağa bağlandığında ve IP adresi olmadığında, DHCP’ye bir broadcast paketi gönderir. DHCP sunucusu, bu isteği algılar ve cihazın MAC adresine uygun bir IP adresi seçerek bir paketle cihaza geri gönderir. Bu süreçte, DHCP’nin bir IP adresi havuzu bulunur ve bu havuzdan cihazlara IP ataması yapılır. İşletmeciler, “Bu MAC adresine şu IP’yi ata” gibi özel kurallar belirleyerek IP atamalarını özelleştirebilirler.

DHCP, verdiği IP adreslerini belirli bir süre için ‘kiralar’ ve bu süre dolduğunda, cihazın IP adresini yenilemek üzere tekrar DHCP ile iletişime geçmesi beklenir. Eğer ağ yapılandırması gerektiriyorsa, bu süre modem veya DHCP sunucusu tarafından ayarlanabilir. Tüm bu işlemler sırasında, DHCP, hangi saatte hangi MAC adresine hangi IP adresinin verildiğini bir log dosyasına kaydeder, bu da ağ yöneticilerine trafik ve cihazların ağdaki davranışları hakkında değerli bilgiler sunar. Bu loglar, ağ güvenliği, yönetim ve izleme faaliyetleri için oldukça önemlidir.

DNS

Görselde, Domain Name System (DNS) ile ilgili anahtar bilgiler bulunmaktadır. DNS, bir alan adını (domain) karşılık gelen IP adresine çeviren global bir servistir. Bu işlem UDP port 53 üzerinden gerçekleşir. DNS kayıtları loglanır ve bu loglar, ağ trafiği ve erişim desenleri hakkında önemli bilgiler sağlar. Reverse DNS ise bu işlemin tersini yapar; bir IP adresi gönderildiğinde ilgili alan adını (domain) bulur.

DNS’in işlevini, bir telefon numarasını aradığınızda sizi doğru kişiye bağlayan telefon rehberine benzetebiliriz; tıpkı rehberdeki isimlerin yanında yer alan numaralar gibi, DNS de insanların kolayca hatırlayabileceği alan adlarını makinelerin anlayabileceği IP adreslerine çevirir.

Internet Protocol Version 4

Internet Protocol Version 4 (IPv4), internet üzerindeki cihazların birbirleriyle iletişim kurmasını sağlayan temel bir protokoldür. IPv4 adresleri 32 bit uzunluğundadır, bu da teorik olarak yaklaşık 4.3 milyar (2³²) farklı IP adresinin oluşturulabileceği anlamına gelir. Yönetimi ve okunabilirliği kolaylaştırmak için, bu adresler dört ayrı sayı grubuna, yani oktete bölünür. Her oktet bir bayt (8 bit) değerini temsil eder ve 0 ile 255 arasında bir değer alabilir. Örneğin, “192.168.1.1” gibi bir IP adresinde her nokta arası grup, bir oktet olup, bu sayılar bir ağ üzerindeki cihazın benzersiz adresini gösterir. IPv4, internetin ilk günlerinden bu yana kullanılmaktadır ve günümüzde hala yaygındır, ancak kullanılabilir adres sayısının sınırlılığı nedeniyle yerini yavaş yavaş daha çok adres sağlayabilen IPv6'ya bırakmaktadır.

IPv4 için ayrılmış özel IP adresi aralıkları şunlardır:

Özel IP adresleri (private IP addresses), İnternet’te genel olarak kullanılmayan ve sadece yerel ağlar içinde iletişim için ayrılmış IP adresleri aralığıdır. Bu adresler, İnternet üzerinden erişilemez ve bu nedenle genel ağ trafiği içinde benzersiz olmaları gerekmez.

Firewall

Görselde “Network Bodyguard” olarak tanımlanan kavram, bir ağın güvenlik duvarı (firewall) ile temsil edilmiştir. Güvenlik duvarları, bir gece kulübünün kapısındaki güvenlik görevlisi gibi işlev görür; istenmeyen trafik yani ‘misafirleri’ engelleyerek ağın ‘giriş kapısını’ korurlar.

Bir firewall’un temel işlevleri şunlardır:

  • Paketleri izin verme veya engelleme: Firewall’lar, ağa giren ve ağdan çıkan veri paketlerini inceleyerek belirli kriterlere göre bunlara izin verir veya engeller.
  • IP adresleri konfigürasyonu: Hangi IP adreslerinin erişimine izin verileceğini veya hangilerinin engelleneceğini belirleyerek ağ trafiğini yönetir.
  • Kara Liste (Black IP List): Belirli IP adreslerini tamamen engelleyerek, bu adreslerden gelen tüm trafik ağa erişemediği için güvenlik sağlar.
  • Lisanslı: Genellikle lisanslı yazılım veya donanım olarak mevcut olur ve güncellemeleri ve destek hizmetleri için lisans anlaşmalarını gerektirebilir.
  • Bölgeler Oluşturma (Generate Zones): Ağ içinde farklı güvenlik seviyelerine sahip bölgeler oluşturarak, iç ağ segmentasyonu sağlar ve daha detaylı erişim kontrolü yapılmasına olanak tanır.

Protokol

Protokol nedir, neden ihtiyaç duyarız?

Protokol, ağ üzerinden veri iletimi sırasında bilgisayarlar ve diğer cihazlar arasındaki iletişimin nasıl gerçekleştirileceğini tanımlayan kurallar ve standartlar bütünüdür. İhtiyaç duyulmasının ana nedeni, veri alışverişinin düzenli ve anlaşılır bir biçimde gerçekleşmesini sağlamaktır.

Yazımızın ASCII ve Mors alfabesi kısmında da hatırlıyor olacaksınız ki protokoller aynı zamanda ‘boşluk karakteri’ gibi görünmeyen ancak önemli olan bilgileri de içerir ve bu boşluk ihtiyacından icat edilmişlerdir. Bu, veri paketlerinin nerede başlayıp nerede bittiğini belirler, bu sayede alıcı veriyi doğru bir şekilde yeniden oluşturabilir. Kısacası, protokoller veri iletişiminde bir nevi ‘kalıp’ işlevi görür ve bu sayede cihazlar arası veri akışı düzenli ve verimli bir şekilde gerçekleşir.

TCP, UDP ve ICMP, internet üzerindeki veri iletişimi için kullanılan ana protokollerdir.

TCP

Transmission Control Protocol (TCP), ağ üzerinde veri gönderiminden önce bir session oluşturarak güvenilir bir iletişim kurar. İletişimin başlaması için yapılan “üçlü el sıkışma” (three-way handshake) ile bu oturum başlatılır ve veri alışverişi güvenli bir şekilde yapıldıktan sonra “dörtlü el sıkışma” ile oturum sonlandırılır. TCP, veri paketlerinin doğru sırada ve eksiksiz olarak ulaşmasını garantilemek için paket kaybını algılar ve eksik olan verinin yeniden gönderilmesini talep eder. Her veri paketi, maksimum 1500 bayt olacak şekilde sınırlıdır ve bu paketlerin tamamı doğru bir şekilde ulaştığında, alıcı taraf onları birleştirir. Bugün en çok kullanılan protokoldür.

Ayrıca, her paketin yolda bozulup bozulmadığını kontrol eden bir kontrol mekanizması olan “checksum” vardır. TCP, 16 bit uzunluğundaki port numaralarıyla, toplamda 65536 farklı port üzerinden iletişim kurabilir. Bu portlar, farklı servislerin ve uygulamaların birbiriyle iletişim kurabilmesi için kullanılır. Herhangi bir güvenlik duvarı veya güvenlik grubu, bu el sıkışmaları izleyerek, oturum sona erdiğinde ilişkili bağlantıyı kapatarak daha fazla veri paketinin alınmamasını sağlar. Bu özellik, download sırasında bir miktar upload yapmamızın sebebi de denebilir, çünkü iletişim sırasında oturum yönetimi ve veri bütünlüğü için sürekli olarak geri bildirimde bulunulur.

UDP

User Datagram Protocol (UDP) farklı amaçlar için kullanılan bir ağ protokolüdür ve temel özellikleri aşağıdaki gibidir:

  • UDP, bağlantısız (connectionless) bir protokoldür, yani veri göndermeden önce bir oturum (session) oluşturmaz. Bu da onu, TCP’ye kıyasla daha hızlı hale getirir.
  • Veri bütünlüğü ve doğru teslimat garantisi yoktur; bu nedenle veri bozulursa veya kaybolursa, bununla başa çıkmak alıcıya düşer.
  • Checksum kullanımı opsiyoneldir ve veri bütünlüğünü sağlamak için kullanılabilir ancak her zaman zorunlu değildir.
  • DNS sorguları, yayın (broadcast) mesajları, canlı yayınlar, VNC (Virtual Network Computing) ve Torrent gibi hizmetlerde kullanılır çünkü bu tür uygulamalar genellikle yüksek hız gerektirir ve bazen paket kaybını tolere edebilir.
  • UDP, 16 bit port numarasına sahiptir, bu da 0'dan 65535'e kadar olan 65536 farklı port anlamına gelir. İşletim sistemi genellikle 30.000'den 50.000'e kadar olan port aralığını rastgele seçilen efemer (geçici) portlar için kullanır.

UDP’nin avantajlarından biri de, başlık bilgisi (header) TCP’ye göre daha az(yaklaşık yüzde 1 kadar) yer kapladığı için, aynı boyuttaki bir veri paketine daha fazla kullanıcı verisi ekleyebilmesidir. Bu, özellikle hızın önemli olduğu durumlarda ve veri bütünlüğünün yüksek maliyet gerektirdiği senaryolarda yararlıdır.

ICMP (Internet Control Message Protocol)

Ağ üzerindeki cihazların birbirleriyle iletişim kurup kuramadıklarını kontrol etmek, ağ hatalarını ve erişilebilirliği bildirmek için kullanılır. Genellikle ağ yöneticileri tarafından hata teşhis ve ağın durumu hakkında bilgi edinmek için kullanılır. Ancak, ICMP, sistemlerin IP adreslerini açığa çıkarabileceği ve güvenlik zafiyetlerine yol açabileceği için dikkatli kullanılmalıdır. Özellikle AWS gibi bulut hizmetlerinde ICMP trafiklerine izin vermek, potansiyel bir güvenlik riski oluşturabilir. Bir sistemin ‘pinglenebilir’ olması, dışarıdan erişilebilir olduğu ve ağ üzerinde görünür olduğu anlamına gelir ki bu bazı durumlarda istenmeyen bir durum olabilir. Bu nedenle, güvenlik önlemleri ve ihtiyaçlar doğrultusunda ICMP protokolünün kullanımı özenle değerlendirilmelidir.

TCP/IP Modeli

Katmanlar (Layers): Bilgisayar ağları, veri iletimini kolaylaştırmak için bir dizi katmandan oluşur. Her katman, belirli bir işlevi yerine getirir ve alttaki katmanla etkileşimde bulunur.

  1. Uygulama Katmanı: Bir uygulama, gönderilecek veriyi oluşturur ve bu veriye ilgili protokol bilgilerini (örneğin, HTTP başlıkları) ekler.
  2. Taşıma Katmanı: Bu veri daha sonra taşıma katmanına gider. Eğer TCP kullanılıyorsa, veri segmentlere bölünür ve her segmente TCP başlıkları eklenir. Bu başlıklar, verinin doğru şekilde yeniden birleştirilmesi ve hata kontrolü için gerekli olan bilgileri içerir. UDP kullanılıyorsa, süreç benzerdir, ancak başlık daha az bilgi içerir ve yeniden iletim veya sıralama gibi özellikler yoktur.
  3. Ağ Katmanı: TCP veya UDP segmentleri daha sonra ağ katmanına taşınır ve her birine bir IP başlığı eklenir. Bu başlık, kaynak ve hedef IP adreslerini içerir ve segmentin ağ üzerinden doğru hedefe yönlendirilmesini sağlar.
  4. Veri Bağlantı Katmanı: IP paketi, veri bağlantı katmanına gönderilir ve bir Ethernet çerçevesi içine kapsüllenir. Bu çerçeve, kaynak ve hedef MAC adreslerini içeren Ethernet başlıklarını ve çerçeve kontrol bilgilerini içerir.
  5. Fiziksel Katman: Son olarak, Ethernet çerçevesi fiziksel katman aracılığıyla ağ ortamına (örneğin, bir Ethernet kablosu veya Wi-Fi) gönderilir.

Veri paketleme sürecinde önce TCP segmentleri oluşturulur, bunlar IP paketleri içine yerleştirilir ve en sonunda Ethernet çerçeveleri içine kapsüllenir. Bu süreçte her katmana ait veri birimine eklenen özel bilgilere “header” (başlık) denir. Bu başlıklar, verinin ağ üzerinden doğru bir şekilde yönlendirilip, ulaştığı hedefte doğru bir şekilde işlenmesini sağlar. Gelin bu header’ların yapılarını inceleyelim.

TCP Header’ı

Tabloda görüldüğü üzere, TCP paketinde paketin sıra numarası (sequence number), hata denetimi için kullanılan toplam değer (checksum) ve kaynak port numarası bulunur. Bu paket, bilgisayardan hangi porttan çıktığını ve hedefteki hangi porta ulaşmak istediğini belirten bilgileri içerir. Port bilgileri, TCP paketinin başlığına etiket gibi eklenir. Paketin başlangıcındaki ilk 16 bit kaynak portunu, sonraki 16 bit ise hedef portunu gösterir.

IP Paketi

IP paketinin başlığı, paketin hangi IP adresinden(Source IP) geldiğini ve hangi IP adresine(Destination IP) gideceğini belirten bilgileri içerir. Bu bilgiler IP paketinin üst kısmında yer alır. TTL (Time To Live) alanı, paketin ağda kaç hop dolaşabileceğini belirleyen bir kısıtlama içerir ve paketin her yönlendirici (router) tarafından geçişi sırasında değeri bir azaltılır. Değeri 0'a ulasırsa bu paket discard edilir. Bu sayede, paketin sonsuza dek ağda dolaşmasının önüne geçilir. IP ve TCP paketleri, global ağda dolaşabilen paketlerdir.

Ethernet Paketi

Ethernet paketi, yerel ağımızda dolaşan ve dışarı çıkmayan, yalnızca iç ağımızda veya router içinde iletim için kullanılan bir pakettir. Ethernet çerçevesinin başında yer alan preamble, genellikle 7 bayt uzunluğunda ve her baytı 10101010 bit dizisinden oluşan bir dizidir. Bu dizinin amacı, alıcı cihazın veri akışının hızını senkronize etmesine ve alıcı cihazın çerçevenin başlangıcını tanımasına yardımcı olmaktır.

Özetle, TCP paketinde kaynak ve hedef port bilgileri bulunurken, IP paketinde kaynak ve hedef IP adresleri yer alır. Ethernet paketi ise bu bilgileri içeren IP paketini çevreleyen ve yerel ağda iletim için gerekli olan fiziksel adresleme bilgilerini taşır.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

Network bileşenlerini inceledikten sonra on-premises’te bu iletişim nasıl gerçekleşiyor baştan bi canlandıralım:

Modemimiz internete bağlı ve biz de o modeme bağlıyız. Modemin içindeki DHCP (Dynamic Host Configuration Protocol) servisi, özel bir IP havuzundan otomatik olarak IP adresleri tahsis eder. Diyelim ki, biz bu havuzdan 192.168.1.155 numaralı bir IP aldık. Modem aslında bir router’dır ve bir router, aynı anda iki farklı ağa bağlı cihazlardır. Bu router’ın dış bacağı internete, iç bacağı ise bizim yerel ağımıza bakar ve her iki ucunda da farklı IP adresleri vardır.

İnternet servis sağlayıcımız (örneğin, Türk Telekom) bize genelde dış dünya ile iletişim kurmamızı sağlayacak bir public IP tahsis eder. Yerel ağımızda ise özel (private) bir IP’miz vardır. Diyelim ki, Google’ın sunucularına bir paket göndermek istiyoruz ve HTTPS üzerinden bağlanmayı düşünüyoruz, bu da hedefin 443 numaralı portu olacağı anlamına gelir.

İşletim sistemi, hangi kaynak portundan (src) çıkacağımıza karar verir ve hedef port (dst), yani 443'ü, TCP paketinin etiket kısmına yazar. Daha sonra bu bilgileri IP paketine ekleyerek kaynak IP olarak kendi özel IP’mizi, hedef IP olarak da Google’ın IP’sini yazarız ve paketi modemimize (varsayılan ağ geçidimize) yollarız.

NAT özelliğine sahip modemimiz, bu paketi alır ve kaynak IP kısmını değiştirir; özel IP’mizi siler ve kendi public IP’sini yazar (Bulut ortamlarında ise bu işi Internet Gateway üstlenir). Çünkü dış dünyaya çıkmak için kamu IP’si gereklidir. Ardından modem, hangi iç bilgisayarın hangi IP ve port üzerinden veri gönderdiğini kaydeder, böylece dışarıdan gelen bir yanıt paketi geldiğinde ilgili kullanıcıya yönlendirebilir. Bu işlemle, iç ve dış IP’ler arasında bir eşleme (IP mapping) yapılır.

Paketimiz, çeşitli hoplar üzerinden Google’ın sunucusuna ulaşır. Google paketi aldıktan sonra bir yanıt hazırlar ve tersine benzer bir yol takip ederek bizim router’ımıza geri gönderir. Router bu kez loglarındaki eşleme bilgilerini kullanarak yanıtı doğru iç ağ IP’sine, yani bize ulaştırır. Bu şekilde internet üzerinden iletişim akışı sağlanmış olur. Bizim bilgisayarımız modemimizin dış bacak IP’sinden habersizdir, ancak bu gizli orkestrasyon sayesinde dünya ile iletişim kurabilir.

Kitap Önerileri:

Video Önerisi:

https://www.youtube.com/watch?v=ogJI2HX8xOQ

Sevgili okurlar, Network101 yazımızın sonuna ulaşmış bulunmaktayız. Artık belirli temellere hakim olduğumuzu düşünerek, sıradaki yazımızda, bir önceki VPC yazımızda detaylandırmadığımız CIDR ve VPC konularının derinliklerine ineceğiz.

Çalışmalarımı yakından takip etmek ve iletişime geçmek için:

https://www.linkedin.com/in/o%C4%9Fuzhan-purta%C5%9F-66850b183/

Bir sonraki yazımda görüşmek üzere…

Teşekkürler!

--

--