paint-brush
Sistem Tasarımı Hile Sayfası: Ağlarile@gavr
10,005 okumalar
10,005 okumalar

Sistem Tasarımı Hile Sayfası: Ağlar

ile Aleksandr Gavrilenko10m2023/09/29
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Topolojilerin karmaşıklığından temel protokollerin inceliklerine kadar ağ oluşturmanın temellerini kavramak yalnızca akademik bir alıştırma değildir; sağlam ve verimli sistemler oluşturmak için çok önemlidir. Ağ ilkelerinin sağlam bir şekilde temellenmesi, sistemlerin sorunsuz bir şekilde iletişim kurmasını, esnek bir şekilde uyum sağlamasını ve verimli bir şekilde ölçeklenmesini sağlar.

People Mentioned

Mention Thumbnail
featured image - Sistem Tasarımı Hile Sayfası: Ağlar
Aleksandr Gavrilenko HackerNoon profile picture

Bu, sistem mimarisi tasarımındaki belirli bir konunun ana noktalarını kısaca ele aldığım bir dizi makalenin devamı niteliğindedir. İlk makaleyi buradan okuyabilirsiniz.


Herhangi bir karmaşık sistem, her birinin kendine özgü işlevi olan çok sayıda bileşenden oluşan bir mozaiktir. Bu bileşenler tek başına çalışmaz; sürekli olarak bir ağ üzerinden etkileşimde bulunurlar, veri ve komut alışverişinde bulunurlar. Bu etkileşimlerin temellerini anlamak çok önemlidir.


Sistemin genel performansını ve dayanıklılığını gerçekten anlamak için bileşenlerin ağ üzerinden nasıl iletişim kurduğunu anlamak gerekir.

Türler

Ağlar boyut, mimari, aralık ve işleve göre dört türe ayrılabilir:


  • Kişisel Alan Ağı (PAN) : Genellikle bir kişinin menzili dahilinde, kişisel kullanım için tasarlanmıştır. Bilgisayar, akıllı telefon ve akıllı saat gibi cihazları (çoğunlukla Bluetooth) bağlayabilir.


  • Yerel Alan Ağı (LAN ): Ev, ofis veya okul gibi sınırlı bir alandaki cihazları birbirine bağlar. Genellikle sınırlı bir coğrafi alan içinde bilgisayarları bağlamak ve yazıcılar veya internet bağlantıları gibi kaynakları paylaşmak için kullanılır.


  • Metropolitan Alan Ağı (MAN): LAN'dan daha geniş bir alanı kapsar ancak WAN'dan daha küçüktür ve genellikle bir şehri veya büyük bir kampüsü kapsar. Yerel hizmet sağlayıcılar genellikle bunu bir kasabadaki işletmelere ve evlere bağlantı sunmak için kullanır.


  • Geniş Alan Ağı (WAN) : Genellikle birden fazla LAN'ı birbirine bağlayan daha geniş bir coğrafi alanı kapsar. İnternet, dünya çapındaki bilgisayarları ve ağları birbirine bağlayan WAN'ın en belirgin örneğidir.

Bileşenler


Özel donanım aygıtları olmadan ağ oluşturmak ve sürdürmek imkansızdır:


  • Kablolu ve Kablosuz Erişim Noktası : Fiziksel kablolar (Ethernet gibi) cihazlar arasında kablolu bağlantı sağlarken, kablosuz erişim noktaları cihazların Wi-Fi veya diğer kablosuz teknolojileri kullanarak fiziksel kablolar olmadan ağa bağlanmasına olanak tanır.


  • Ağ Arayüz Kartı (NIC) : Bunlar, genellikle bilgisayarlara veya diğer cihazlara takılan ve onların bir ağa bağlanmasını sağlayan kartlar olan donanım bileşenleridir.


  • Tekrarlayıcı : Bir sinyali güçlendiren veya yeniden üreten, sinyalin bozulmadan daha uzun mesafelere gitmesini sağlayan bir ağ cihazı. Öncelikle kablolu ve kablosuz ağlarda iletişim aralığını genişletmek ve uzak mesafelerde veri bütünlüğünü sağlamak için kullanılır.


  • Köprü: Veri bağlantı katmanında bir köprü çalışır. Köprü, kaynağın ve hedefin MAC adreslerini okuyarak içeriği filtreleme işlevini ekleyen bir tekrarlayıcıdır. Aynı protokol üzerinde çalışan iki LAN'ı birbirine bağlamak için de kullanılır.


  • Hub : Bu temel ağ aygıtları, tek bir ağ bölümü gibi davranarak birden fazla aygıtı bir LAN'a bağlar. Hub verileri filtreleyemediğinden veri paketleri bağlı tüm cihazlara gönderilir.


  • Anahtarlar : Bir ağdaki diğer cihazları bağlayan cihazlar. Aynı verileri tüm cihazlara yayınlayan hub'ların aksine, anahtarlar daha akıllıdır ve verileri yalnızca ihtiyacı olan cihaza yönlendirir.


  • Yönlendiriciler : Bilgisayar ağları arasında veri paketlerini ileten cihazlar. Veri aktarımı için en iyi yolu belirlerler. Yönlendiriciler genellikle LAN'ları ve WAN'ları birbirine bağlar ve veri paketlerinin yönlendirilmesiyle ilgili kararlar aldıkları dinamik olarak güncellenen bir yönlendirme tablosuna sahiptirler.

Topolojiler

Ağ topolojisi, farklı ağ cihazlarının ve bileşenlerinin nasıl bağlandığını ve verilerin nasıl iletildiğini belirleyen yapısal bir düzendir. Topoloji seçimi ağın performansını, ölçeklenebilirliğini ve hata toleransını önemli ölçüde etkiler. İki ana türe ayrılır:


  • Fiziksel : Cihazların, kabloların ve diğer ağ bileşenlerinin fiziksel düzenini açıklar. Ağ cihazlarının fiziksel olarak nasıl bağlandığını temsil eder.


  • Mantıksal : Fiziksel tasarımından bağımsız olarak ağ içindeki veri akışını açıklar. Verilerin ağ cihazları arasında nasıl iletildiğini temsil eder.


Aşağıdaki topoloji türleri ayırt edilir:


Noktadan Noktaya

İki düğüm veya uç nokta arasında doğrudan bağlantı. Bu, ağ topolojisinin en basit şeklidir.



Avantajları :

  • Doğrudan ve özel bağlantı, yüksek hızlı veri aktarımı sağlar.

  • Basit konfigürasyon ve kurulum.

  • Yalnızca iki düğümün dahil olması nedeniyle güvenilir iletişim.


Dezavantajları :

  • Her cihaz çifti için ayrı bir hat gerektireceğinden daha büyük ağlar için ölçeklenebilir değildir.
  • Bireysel bağlantılara duyulan ihtiyaç nedeniyle birden fazla bağlantının gerekli olduğu senaryolarda daha pahalı olabilir.


Otobüs

Tüm cihazlar tek bir iletişim hattını paylaşır. Bir cihaz tarafından gönderilen veriler diğer tüm cihazlar tarafından kullanılabilir, ancak yalnızca amaçlanan alıcı bu verileri kabul eder ve işler.





Avantajları :

  • Küçük ağlar için uygulanması kolaydır.

  • Minimum kablolama nedeniyle uygun maliyetli.


Dezavantajları :

  • Daha fazla cihaz eklendikçe veya ağ trafiği arttıkça performans düşer.
  • Tek bir kablo arızası tüm ağı çökertebilir.


Yüzük


Her cihaz diğer iki cihaza bağlanarak bir halka oluşturur. Veriler bir veya bazen iki yönde hareket eder.






Avantajları :

  • Veri yolu topolojisine göre daha büyük veri yüklerini işleyebilir.


Dezavantajları :

  • Bir kablo veya cihazdaki arıza tüm ağı çökertebilir.
  • Kurulumu ve yeniden yapılandırılması daha zordur.


Yıldız



Tüm cihazlar merkezi bir cihaza (örneğin bir anahtar veya hub) bağlıdır.







Avantajları :

  • Kurulumu ve yönetimi kolaydır.
  • Bir kablodaki arıza diğer cihazları etkilemez.


Dezavantajları :

  • Merkezi cihazın arızalanması durumunda tüm ağ çalışmaz hale gelir.
  • Veri yolu topolojisinden daha fazla kablo gerektirir.

Ağaç



Yıldız ve veri yolu topolojilerinin özelliklerini birleştiren hibrit topoloji. Yıldız konfigürasyonlu ağ grupları doğrusal bir veri yolu omurgasına bağlanır.






Avantajları :

  • Hiyerarşik ve ölçeklenebilir.

  • Cihazların gruplandırılması yönetimi kolaylaştırır.


Dezavantajları :

  • Omurgadaki arıza ağda bölünmeye neden olur.
  • Diğer topolojilere göre daha fazla kablolama gerekir.


Cihazlar birbirine bağlıdır. Her cihaz diğer cihazlara bağlıdır.







Avantajları :

  • Yüksek yedeklilik ve güvenilirlik sağlar.

  • Veriler aynı anda birden fazla cihazdan aktarılabilir.


Dezavantajları :

  • Daha fazla kablolama gerektirir, bu da pahalı hale gelir.
  • Kurulumu ve yapılandırması karmaşık.

Hibrit



İki veya daha fazla topolojinin birleşimi.








Avantajları :

  • Bileşen topolojilerinin avantajlarını devraldığı için esnek ve güvenilirdir.

  • Ölçeklenebilir.


Dezavantajları :

  • Karmaşık tasarım.
  • Çoklu konfigürasyonlar nedeniyle daha pahalı olabilir.

Protokoller

Ağ protokolleri, verilerin bir ağ üzerinden nasıl iletildiğini ve alındığını tanımlayan kurallar veya standartlardır. Bu protokoller, bir ağdaki (veya birden fazla ağdaki) cihazların birbirleriyle standart bir şekilde iletişim kurabilmesini sağlar.

Ortak Protokoller

  • TCP/IP : İnternete güç veren temel protokol paketi. TCP verinin doğru gönderilmesini sağlar, IP ise verinin doğru yere gönderilmesini sağlar.
  • UDP : TCP'den farklı olarak veri göndermeden önce bağlantı kurmayan ve veri paketlerinin sırasını garanti etmeyen bağlantısız bir protokol.
  • HTTP, HTTPS: İnternetteki web sayfalarını aktarmak için kullanılan protokoller. HTTPS, verileri şifrelemek için güvenlik önlemleri içerir.
  • FTP : Dosyaları bir ağ üzerinden aktarmak için tasarlanmış bir protokol.
  • SMTP : E-posta iletimi için kullanılır.
  • IMAP : Bir posta sunucusundan e-postaları almak ve depolamak için kullanılır.
  • POP3 : Bir posta sunucusundan e-posta almak için kullanılır.
  • ICMP : IP işlemeyle ilgili hata raporlama ve teşhis için kullanılır.
  • DNS : Alan adlarını IP adreslerine çevirerek kullanıcıların, insanlar tarafından okunabilen adlar kullanarak web sitelerine erişmesine olanak tanır.
  • DHCP : IP adreslerini ağdaki cihazlara dinamik olarak atar.
  • SSL/TLS : Şifreleme protokolleri, bir bilgisayar ağı üzerinden güvenli iletişim sağlamak için tasarlanmıştır.
  • PPP : Noktadan Noktaya Protokol (PPP), temel olarak çeşitli bağlantılar veya çerçeveleme olmadan bağlantılar için asimetrik bir protokol paketidir.
  • Ethernet : Yerel alan ağındaki (LAN) cihazların nasıl iletişim kurduğunu tanımlar. OSI modelinin hem fiziksel katmanında hem de veri bağlantısı katmanında çalışır.

OSI ve TCP/IP Modelleri

OSI ve TCP/IP, bir ağ üzerinden veri iletişiminde yer alan süreçleri tanımlayan yol gösterici çerçeveler olarak hizmet veren iki temel modeldir.


OSI Modeli

Protokol

Veri formatı

TCP/IP Modeli

7

Başvuru

HTTP, DNS, SMTP, FTP

Veri

Başvuru

6

Sunum

TLS, SSL

Veri

Başvuru

5

Oturum

Soketler

Veri

Başvuru

4

Ulaşım

TCP, UDP

Segment, Paket

Ulaşım

3

IP, ICMP, IPsec

IP Datagramı

internet

2

Veri bağlantısı

PPP, Ethernet

Çerçeve

Ağ Arayüzü

1

Fiziksel

Fiber, Kablosuz

Biraz

Ağ Arayüzü


OSI (Açık Sistemler Bağlantısı) modeli, yedi katmandaki ağ etkileşimlerini anlamaya yönelik kavramsal bir çerçevedir. Her katman belirli bir işleve hizmet eder:


  1. Fiziksel : Cihazlar arasındaki fiziksel bağlantıyla ilgilenir. Kablolar, anahtarlar ve NIC'ler gibi donanım öğelerini tanımlar.


  2. Veri Bağlantısı : Doğrudan bağlı iki düğüm arasında güvenilir bir bağlantı oluşturmaktan, hataları işlemekten ve veri akışını düzenlemekten sorumludur.


  3. : Verileri ağ üzerinden kaynaktan hedefe aktarmanın en iyi yolunu belirler.


  4. Taşıma : Uçtan uca iletişim, veri akışı kontrolü ve hata düzeltmeyi sağlar.


  5. Oturum : Her iki uçta da uygulama bağlantılarını kurar, sürdürür ve sonlandırır.


  6. Sunum : Verileri uygulama ve aktarım katmanları arasında çevirerek verilerin okunabilir olmasını sağlar.


  7. Uygulama : Son kullanıcı uygulamalarıyla doğrudan etkileşime girerek yazılım ile OSI modelinin alt katmanları arasında etkin iletişim sağlar.


TCP/IP, ağırlıklı olarak modern internette kullanılan ve OSI katmanlarını dört kategoriye basitleştiren daha kısa bir modeldir:


  1. Ağ Arayüzü : OSI'nin Fiziksel ve Veri Bağlantısı katmanlarının işlevlerini birleştirerek verilerin bir ağ ortamında nasıl gönderildiğine/alındığına odaklanır.


  2. İnternet : OSI'deki Ağ katmanına karşılık gelir; veri yönlendirmeyi, IP adreslemeyi ve paket iletmeyi yönetir.


  3. Aktarım : OSI'nin Aktarım katmanına benzer şekilde, verilerin doğru uygulamaya ulaşmasını ve güvenilir (TCP) veya hızlı (UDP) iletilmesini sağlar.


  4. Uygulama : Son kullanıcı uygulama süreçleriyle ilgilenen OSI'nin Oturum, Sunum ve Uygulama katmanlarının işlevlerini birleştirir.

Güvenlik

Sistem tasarımında, güçlü ağ güvenliğinin sağlanması, hassas verilerin korunması ve kullanıcıların ve paydaşların güveninin sürdürülmesi, iş sürekliliğinin sağlanması ve yasal gerekliliklerin karşılanması açısından son derece önemlidir.

Yaygın Tehditler ve Güvenlik Açıkları

  1. DDoS Saldırıları : Kötü niyetli, hedeflenen bir sunucunun, hizmetin veya ağın normal trafiğini, internet trafiği seli ile bunaltarak bozmaya yönelik girişimlerdir.


  2. Kötü Amaçlı Yazılım: Bir bilgisayar sistemini bozmak, ona zarar vermek veya yetkisiz erişim sağlamak için tasarlanmış yazılımdır. Buna virüsler, solucanlar, casus yazılımlar ve fidye yazılımları dahildir.


  3. Ortadaki Adam Saldırıları : Saldırganlar iki taraf arasındaki iletişimi gizlice keser ve iletir. Taraflardan birini dinleyebilir veya taklit ederek diğerini aldatabilirler.


  4. İçeriden Gelen Tehditler : Çalışanlar, eski çalışanlar veya güvenlik uygulamalarıyla ilgili içeriden bilgi sahibi olan ortaklar gibi kuruluş içinden kaynaklanan tehditler.


  5. Yazılım Kusurları : Yazılımdaki hatalar veya zayıflıklar, yetkisiz erişim elde etmek veya hizmetleri aksatmak için kullanılabilir. Örnekler arabellek taşmalarını ve işlenmeyen özel durumları içerir.


  6. Donanım Zayıflıkları : Fiziksel bileşenler, kurcalanabilecek ürün yazılımı veya üreticiler tarafından yüklenen arka kapılar gibi güvenlik açıklarına sahip olabilir.


  7. Yanlış Yapılandırılmış Ağ Cihazları : Doğru şekilde yapılandırılmamış yönlendiriciler, anahtarlar veya güvenlik duvarları gibi cihazlar, ağı çeşitli tehditlere maruz bırakabilir.


  8. Zayıf Kimlik Doğrulama ve Yetkilendirme : Yetersiz şifre politikaları, çok faktörlü kimlik doğrulamanın olmaması veya gevşek erişim kontrolleri, yetkisiz erişime izin verebilir.


  9. Şifrelenmemiş Veri : Şifrelenmemiş veriler, ağ üzerinde dolaşırken kolayca ele geçirilebilir ve okunabilir.


  10. Eski Sistemler : Artık desteklenmeyen veya güncellenmeyen sistemler, kolayca yararlanılabilen bilinen güvenlik açıklarına sahip olabilir.


  11. Fiziksel Güvenlik Açıkları : Bu, bir saldırganın ağa bağlanabileceği veya sunuculara doğrudan erişebileceği fiziksel erişim noktalarını ifade eder.

Ağ Güvenliğini Sağlamaya Yönelik En İyi Uygulamalar

  1. Güvenlik Duvarları : Güvenlik politikalarına göre gelen ve giden ağ trafiğini izlemek ve kontrol etmek için donanım ve yazılım güvenlik duvarlarını dağıtın.


  2. Şifreleme : Hem aktarım sırasında (web trafiği için SSL/TLS gibi) hem de bekleme sırasında (veritabanı şifrelemesi gibi) özellikle hassas veriler için şifreleme protokollerini kullanın.


  3. Düzenli Güncellemeler : Güvenlik açıklarını düzeltmek için tüm sistemleri, yazılımları ve uygulamaları güncel tutun.


  4. Çok Faktörlü Kimlik Doğrulama (MFA) : Bir güvenlik katmanı eklemek için MFA'yı uygulayarak kullanıcıların erişim kazanmak için iki veya daha fazla doğrulama faktörü sağlamasını sağlayın.


  5. Ağ İzleme : Ağı olağandışı etkinliklere veya yetkisiz erişime karşı sürekli olarak izlemek için ağ izleme araçlarını kullanın.


  6. Güvenlik Farkındalığı Eğitimi : Çalışanları ve kullanıcıları güvenliğin önemi ve potansiyel tehditlerin nasıl tanınacağı konusunda eğitin.


  7. Ağ Segmentasyonu : Tehditlerin ağ içindeki yayılmasını sınırlandırır ve veri erişimi üzerinde daha iyi kontrol sağlar.


  8. Yedekleme ve Felaket Kurtarma : İhlal veya arıza durumunda veri kullanılabilirliğini ve iş sürekliliğini sağlar.


  9. Fiziksel Güvenlik : Ağ cihazlarına fiziksel erişim, ihlallere yol açabilir.

Çözüm

Topolojilerin karmaşıklığından temel protokollerin inceliklerine kadar ağ oluşturmanın temellerini kavramak yalnızca akademik bir alıştırma değildir; sağlam ve verimli sistemler oluşturmak için çok önemlidir.


Ağ ilkelerinin sağlam bir şekilde temellenmesi, sistemlerin sorunsuz bir şekilde iletişim kurmasını, esnek bir şekilde uyum sağlamasını ve verimli bir şekilde ölçeklenmesini sağlar.