Collision Domain ve Broadcast Domain nedir?

Collision yani çarpışma, aynı anda paket gönderimi ve alımı sırasında oluşan hatadır.  Özellikle Hub ve Repeater gibi half-duplex çalışan, yani aynı anda tek porttan paket alıp-gönderemeyen cihazlarda bu durum görülür. Collision Domain ise Çarpışma Alanı’dır. Yani çarpışma yaşanabilecek alandır. Hublar ve Repeaterlar aldıkları paketleri tüm portlarına gönderdikleri için, ortamda ne kadar hub ve huba bağlı cihaz olursa olsun, bir tane Collison Domain (Çarpışma Alanı) vardır. Router ve switchlerde ise port sayısı kadar Collision Domain vardır. Çünkü her bir portunda sadece bir paketin çarpışma ihtimali vardır. Kısaca; hub’ın olduğu yerde bir tane collision domain varken, switch ve routerların her bir port kadar collision domain vardır.

Hub ve repeaterlarda Collision Domain;

hub collision domain

Switch ve roueterlarda Collision Domain;

switch collision domain

Broadcast Domain (Genel Yayın alanı); aynı ağda bulunan cihazlar, ağda bulanan diğer cihazlarla haberleşebilmek için bulundukları alanda broadcast(genel yayın) yaparlar ve böylelikle birbirlerinden haberdar olurlar. Bu durumda her broadcast yapılan alanda bir tane Broadcast Domain vardır. Ki, ben bunu şöyle düşünüyorum; ortamda ne kadar network varsa o kadar da broadcast domain vardır.

İşin hesap kitap kısmına bakarsak; routerların her portu farklı networkleri oluştuğu için, routerların her portu bir broadcast domain oluşturur.

router broadcast domain

Varsayılan  olarak ortamda ne kadar switch ya da hub olursa olsun, eğer bir tane network varsa bir tane Broadcast Domain vardır.

switch broadcast domain

Aklınıza muhtemelen şu soru gelecektir: her networkte bir tane broadcast domain varsa, VLAN olduğunda ne olur?

Cevap sorunun içinde var. Nihayetinde her VLAN ayrı bir network oluşturacağı için sonuç olarak ortamdaki VLAN sayısı kadar da broadcast domain olacaktır.

vlan broadcast domain

Hesaplama kısmı için son bir özet geçeyim ve bir örnek yapalım;

Hub’un ne kadar portu dolu olursa olsun ortamda bir tane Collision Domian vardır.

Switch ve routerlarda port sayısı kadar Collision Domain vardır.

Routerların port sayısı kadar Broadcast Domain vardır.

VLAN sayısı kadar Broadcast Domain vardır.

Konuyu sonlandırırken tüm içeriği içeren bir örnek ile sonlandıralım. Aşağıdaki örneğe baktığımızda 3 ayrı network olmasından dolayı ortamda 3 tane broadcast domain var. Switch ve routerların her portunun birer collision domain oluşturduğunu hesaba kattığımız zaman 8 tane de Collision domain olduğunu görüyoruz.

collision domain - broadcast domain

Son olarak, bu konuyla ilgili sınavlarda sorular çıkabilmekte. Bu yüzden mantığını kavramak sınav açısından iyi olacaktır.

 

Router on a Stick (RoaS) Yapılandırması

Daha önceki yapılandırmalarda her network için routerın bir interfacesini kullanıyorduk. Tabii her network için bir interface kullanma şansımız olmayabilir. Özellikle oluşturacağı maliyetten dolayı tercih edilmeyebilir. Bu gibi durumlarda imdata routing on a stick yetişiyor. Bu yöntem sayesinde bir interface üzerinde sanal interfaceler oluşturarak birden fazla network için gateway oluşturabiliyoruz.

Küçük bir örnek ile VLAN’lar arası yönlendirmeyi tek bir interface üzerinden yapalım.

Routing on a Stick
Routing on a Stick

Yukarıdaki gibi bir yapımız olsun. Ben PC0 için 192.168.10.5, PC1 için 192.168.20.5 IP adresini kullanacağım. Switch yapılandırmasını hemen kısaca yapalım;

Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport access vlan 10
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport access vlan 20
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport mode trunk

Şimdi gelelim routerdaki yapılandırmaya. gigabitEthernet 0/0/0 interfacesi için sanal interfaceler oluşturacağız ve bu interfacelerin VLAN kapsülleme protokolünü belirttikten sonra IP adreslerini gireceğiz.

Interfaceyi oluşturmak için interface gigabitEthernet 0/0/0 yazdıktan sonra . (nokta) koyup sanal interface için ID belirtiyoruz. İstenilen ID verilebilir ama VLAN ile aynı ID’de olması konfigürasyon okuması yaparken işimizi kolaylaştırır.


Önce interfaceyi oluşturuyoruz.

Router(config)#interface gigabitEthernet 0/0/0.10

Ardından kapsülleme protokolünü seçiyoruz ve VLAN ID’yi yazıyoruz.

Router(config-subif)#encapsulation dot1Q 10

Sonra ip adresi tanımlıyoruz.

Router(config-subif)#ip address 192.168.10.1 255.255.255.0

Aynı işlemleri VLAN 20 için de yapıyoruz.

Router(config)#interface gigabitEthernet 0/0/0.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.20.1 255.255.255.0

Son olarak asıl interfacemizi açıyoruz.

Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#no shutdown

Komutu yazdıktan sonra  komut satırında asıl interfacenin ve sanal interfacelerin açıldığına dair bildiri gelecektir.

Artık routerdeki tek interface üzerinden VLAN yönlendirmelerini yapılacak ve network sorunsuz bir şekilde çalışacaktır.

Cisco DHCP (Dynamic Host Configuration Protocol) Yapılandırması

DHCP, ağa bağlanmak isteyen cihazlara dinamik olarak konfigürasyon sağlayan sistemdir. Büyük ağlarda cihazlara statik olarak konfigürasyon yapmak hem büyük zaman isteyen hem de yönetim ve takip açısından zorluk getiren bir şeydir. DHCP sayesinde, ağa bağlanan cihazlara otomatik olarak IP adresi, subnet adresi, default gateway adresi ve DNS adresi gibi bilgiler konfigüre edilir.

Peki bu süreç nasıl işler?

Ağa bağlanan cihazda, ağ ayarları otomatik durumundaysa; cihaz DHCP için broadcast yapar. DHCP, boşta olan adreslerden birini seçer ve ilgili cihaza broadcast yaparak teklifte bulunur (Böylece IP çakışmasının da önüne geçilmiş olunur). İlgili cihaz bunu kabul ettiğinde tekrar DHCP kabul mesajı gönderilir. DHCP bu ayarları onaylar ve süreç biter.

Tüm bu süreç DORA olarak kısaltılır.

DHCP DORA

Discovery – hostun DHCP isteğinde bulunması

Offer – DHCP tarafından hosta teklif sunulması (IP adresi vs ve bu konfigürasyonun ne kadar süre hostta kalacağı)

Request – Host tarafından DHCP’nin vermiş olduğu ayarların kabul edildiğinin belirtilmesi

Acknowledge – DHCP tarafından ayarların atanması

Router DHCP yapılandırması

DHCP işlemi için genelde server (sunucu) kullanılsa da, bu işlemi router (yönlendirici) üzerinden de yapabilmekte.(küçük ağlarda yapılabilir ama büyük ağlarda tercih edilmez). Router üzerinde birkaç komut ile kolay bir şekilde DHCP işlemi yapılabilmekte. Aşağıdaki gibi bir ağımız olsun ve yapılandırmamızı yapalım.

dhcp

Havuzdan IP’leri çıkartmak:

Bazı IP adreslerini statik olarak girmek isteyebiliriz. Bu yüzden bu IP adreslerinin havuzdan çıkartmak gerekir.

Bunun yapılması gereken komut şudur:

config terminaldeyken;

#ip dhcp excluded-address [IP başlangıç adresi] [IP bitiş adresi]

ip dhcp excluded-address 192.168.10.1 192.168.10.11 (192.168.10.1 ve 10.11 arasındaki IP adreslerini IP havuzunun dışarısına almış olduk)

dhcp excluded address

Router yapılandırması

Öncelikle IP havuzu oluşturmamız gerekecek. Bunun için

#ip dhcp pool [havuz için isim] komutunu kullanacağız.

Router1(config)#ip dhcp pool SLH   (SLH adında havuz oluşturdum.)

soru işaretine basarak kullanabileceğim komutları görebilirim.

router dhcp options

Router1(dhcp-config)#network 192.168.10.0 255.255.255.0 (networkü tanımladım)

Router1(dhcp-config)#default-router 192.168.10.1 (gatewayi tanımladık)

Router1(dhcp-config)#dns-server 8.8.8.8  (DNS adresini tanımladık)

Her ne kadar Packet Tracer’da görünmese de konfigürasyon ayarlarında bir de “lease” ayarı bulunmaktadır. Lease (kiralama) ayarı ise şuna yaramaktadır: Ayarların kiralama günü/saat kadar kalmasını sağlar. Daha sonra verdiği Ip’yi havuza geri çağırır. Tabii genelde verilen IP’ler kolay kolay havuza çağrılmaz.

Kullanımı ise şu şekilde;

#lease [gün] [saat]

örneğin ; #lease 5 (5 günü kapsar)  #lease 0 5 (5 saati kapsar)

Konfigürasyonlar tamamlandıktan sonra bilgisayarlara otomatik ayarlar gidecektir.

dhcp config
PC1’in DHCP’den otomatik aldığı ayarlar

İlk bilgisayar 192.168.10.12 adresinin almış. Zaten 10.1-10.11 arasıdnaki adresleri havuz dışına almıştık.

DHCP’nin dağıtmış olduğu IP’leri görmek için #show ip dhcp binding komutu kullanılır.

show ip dhcp binding
show ip dhcp binding

Oluşturulan havuzları görmek için #show ip dhcp pool komutu kullanılır.

show ip dhcp pool
show ip dhcp pool

IP çakışması var mı yok mu bakmak için #show ip dhcp conflict komutu kullanılır.

Farklı  Networkte bulunan DHCP sunucusundan yapılandırma alma

Bir önceki örneğimizde aynı networkte bulunan hostlarımıza router üzerinden yapılandırma almıştık. Şimdi ise farklı bir networkte bulunan DHCP sunucusundan yapılandırma alacağız.

Farklı networkte bulunan DHCP'den IP alma
Farklı networkte bulunan DHCP’den IP alma

Yukarıda örneğe göre yapılandırmamızı yapalım.

Sunucuda DHCP servisini açıp aşağıdaki gibi bir ayarlama yaptım. (Sunucu için statik olarak şu değerleri verdim; IP :192.168.10.25/24)

dhcp server config
192.168.10 ve 20 networkü için havuz tanımlaması

Bu yapılandırmaya göre 192.168.10.0 networkunde bulunan hostlar otomatik olarak sunucudan IP alacaktır. Fakat 192.168.20.0 networkunde bulunan hostlar alamayacaktır. Çünkü DHCP için hostlar broadcast yapacaktır ama router broadcastı geçirmeyeceği için bu istek geçersiz kalacak ve hostlar APIPA IP alacaktır.

apipa

Yapılması gereken tek şey routerda networkun bağlı olduğu intefacede yapılandırma yapmak.

Router(config)#interface gigabitEthernet 0/0/1

Router(config-if)#ip helper-address 192.168.10.25  (DHCP sunucunun IP adresini yazılacak)

Tek satır komut ile işlemleri tamamlamış olduk.  Artık 192.168.20.0 networkunde bulunan hostlarda DHCP sunucusundan yapılandırma alabilecekler.

DHCP'den Ip alma
192.168.20.0 networkunde bulunan hostun aldığı IP

NAT (Network Address Translation)

NAT (Network Address Translation – Ağ Adresi Çevirisi)

Ipv4’te kullanılabilir olan IP adresi 3 milyardan fazla. Yerelde ve geniş ağ bağlantılarını hesaba kattığımızda bu IP adreslerinin yetmeyeceği malum. Bundan dolayı yerel (LAN) ağlardaki cihazların dış ağlara çıkarken her cihazın kendi IP’sini kullanmak yerine bir ya da birkaç IP ile çıkması sağlanarak IP yetersizliğinin önüne geçilmiş olundu.

Kısaca NAT, networkte bulunan hostların kendi IP’leriyle değil belirlenen IP ile çıkmalarını sağlar. Bu IP’ler ISS’lerden (Intenet Servis Sağlayıcı) temin edilir.

Statik NAT yapılandırması

Bu yapılandırmada ağda bulunan hostlar için tek tek çıkış IP’si belirlenir. Tabii öncelikle routerda da hangi interfacenin giriş hangisini çıkış olduğu ayarlanmalıdır.

statik nat

Yukarıdaki basit örnek içim statik NAT oluşturalım. Tabii NAT işleminden önce host ve routerlarda gerekli yapılandırmaların yapılmış olması gerekiyor.

Router0 için routing yapılandırması;

Router0(config)#interface gigabitEthernet 0/0/0

Router0(config-if)#ip address 192.168.20.1 255.255.255.0

Router0(config-if)#no shutdown

Router0(config)#interface serial 0/1/0

Router0(config-if)#ip address 1.1.1.1 255.255.255.252

Router0(config-if)#no shutdown

Router0(config)#ip route 192.168.10.0 255.255.255.0 1.1.1.2

Router1 için routing yapılandırması;

Router1(config)#interface gigabitEthernet 0/0/0

Router1(config-if)#ip address 192.168.10.1 255.255.255.0

Router1(config-if)#no shutdown

Router1(config)#interface serial 0/1/0

Router1(config-if)#ip address 1.1.1.2 255.255.255.252

Router0(config-if)#no shutdown

Router1(config)#ip route 192.168.20.0 255.255.255.0 1.1.1.1

Router0 statik NAT yapılandırması;

Router0(config)#interface gigabitEthernet 0/0/0

Router0(config-if)#ip nat inside (gigabitEthernet 0/0/0 interfacesini giriş tarafı olarak seçmiş olduk)

Router0(config)#interface serial 0/1/0

Router0(config-if)#ip nat outside (serial 0/1/0 interfacesini çıkış tarafı olarak seçmiş olduk)

Router0(config)#ip nat inside source static 192.168.20.10 1.1.1.1 (192.168.20.10 IP adresinin ağ dışına çıktığında 1.1.1.1 IP adresiyle görünmesini sağladık)

PC0’dan Server0’a ping atalım ve ardından NAT tablosuna bakalım.

show ip nat translations  komutuyla Router0’da gerçekleşen NAT işlemlerine bakalım.

show ip nat translations

Tabloya baktığımızda lokaldeki 192.168.20.10 adresinin, 1.1.1.1 adresiyle 192.168.10.10 adresine ulaştığını görüyoruz.

Dinamik NAT 

dinamik nat

Dinamik NAT’ta, statik NAT gibi tek tek IP adresi girmek yerine kullanılabilecek IP adresleri için havuz oluşturuluyor. Böylece, router havuzdan otomatik olarak kullanılacak IP’yi seçiyor. Ayrıca hangi networkteki hangi IP adreslerinin çıkışına da izin verileceğini belirtmek için access-list oluşturulması gerekiyor.

Router0(config)#access-list 1 permit 192.168.20.0 0.0.0.255  (1 numarasını verdiğim ACL oluşturdum ve 192.168.20.0 networkundeki tüm IP’lerin geçmesine izin verdim)

Router0(config)#ip nat pool NAT 1.1.1.3 1.1.1.7 netmask 255.255.255.0 (Ağ dışına çıkışta kullanılabilecek IP aralığı için 1.1.1.3-1.1.1.7 arasında havuz oluşturdum.)

Router0(config)#ip nat inside source list 1 pool NAT (oluşturmuş olduğum ACL ve IP havuzunu  router giriş yönünde uygulanması için ekledim)

Her iki bilgisayardan da ping atalım ve daha sonra show ip nat translations  komutuyla Router0’da gerçekleşen NAT işlemlerine bakalım.

show ip nat translations

Tabloya baktığımızda 192.168.20.10 IP adresli PC’nin  hedef PC’ye 1.1.1.3 IP adresiyle, 192.168.20.11 IP adresli PC’nin hedef PC’ye 1.1.1.7 IP adresiyle ulaştığını görüyoruz.

clear ip nat translation *  komutuyla da translation tablosunu silebiliriz.

clear ip nat translation