Uploaded by soktay

TEMEL NETWORK + DHCP

advertisement
TEMEL NETWORK + DHCP
Bir network ve sistemcinin bilmesi gereken DHCP’nin çalışma mantığı dokümanın en altında yer
almaktadır. DNS’in nasıl çalıştığını da bilmek gerekir ama bununla ilgili çok fazla makale olduğu için
burada bahsedilmemiştir.
Cisco packet tracer programını ücretsiz indirme kurma anlatımı:
https://www.youtube.com/watch?v=9tAwgy4l9Hg
CCNA hazırlanma dokümanları:
https://docplayer.biz.tr/431309-Turkce-ccna-egitim-notlari.html
https://docplayer.biz.tr/8261505-7-uygulama-6-sunum-5-oturum-tasima-4-ara-katman-yazilim-vedonanim-arasi-3-ag-veri-iletim-2-ag-grubu-donanim-1-fiziksel-uygulama-grubu-yazilim.html
https://docplayer.biz.tr/3107685-Ccna-dokumantasyon-calismasi-hayrullah-kolukisaoglu-sayfa-1271.html
https://acikders.ankara.edu.tr/pluginfile.php/63511/mod_resource/content/1/OSI%20Katmanlar%C
4%B1.pdf
OSI KATMANLARI
OSI katmanları; Gönderen(sending) ve alan (receiving) bilgisayarlar arasındaki iletişimin nasıl
olduğunu ve bu iletişimin belli standartlara(protokollere) göre nasıl yapıldığını anlamamızı sağlar.
Bu standartlar; Gönderen bilgisayardan paketin gönderilmeden önce başlıklar eklenerek nasıl
hazırlanacağını, Alıcı bilgisayarda da gelen paketin başlıklar okunarak nasıl işlem göreceğini belirler.
Encapsulation; Gönderen bilgisayarın Layer-7 den Layer-1 e doğru pakete başlıklar ekleyerek en son
paketi kabloya sinyal olarak vermesi,
De-encapsulation ; Alıcı bilgisayarın kablodan gelen sinyalleri bite çevirip , Layer-1 den Layer-7 ye
doğru başlıklarını çıkararak alması işlemidir.
Application Layer-7: İnternet Explorer ya da herhangi bir uygulamanın bize sunduğu ara yüzleri örnek
verebiliriz. Bizler bu ara yüzler sayesinde veriyi alırız, bakarız, veri girişi yaparız veya değiştiririz,
göndeririz.
Presentation Layer-6: Bizim için anlamlı olan uygulama verisinin, tüm bilgisayarların anlayabileceği bir
dile (formata) dönüştürülmesi gerekiyor ki, veriyi alan bilgisayar okuyup anlamlandırabilsin. Farklı
üretici uygulamalarının verisini, Bilgisayarların Ortak kullandığı bir dile dönüştürülmesi gibi
düşünebiliriz. Text dosyaları ASCII ya da EBCDIC, görseller JPEG, GIF, TIFF, videolar MPEG, MIDI,
Quick time gibi formatlara dönüştürülür. Şifreleme ve sıkıştırma işlemleri de bu katmanda yapılır.
Session Layer-5: iki bilgisayar arasında ya da bilgisayar-sunucu arasında veri aktarımı yapılırken bazı
kopmalar yaşanabiliyor. Bu sebepten kaynak ve hedef arasında session (connection) başlatılarak bu
kopma noktalarında checkpoint koyarak iletişimin kaldığı yerden devam etmesi sağlanıyor.
https://www.geeksforgeeks.org/session-layer-in-osi-model/
Transport Layer-4: Bu katmandan itibaren artık veri Bilgisayar için kapalı bir paket olarak görülür ve
İletilebilmesi için veri segmentlere bölünür, her biri sırayla gönderilir. Bu gönderim sırasında
kaybolan, gönderilemeyen ya da bozuk gönderilen segmentlerin tekrar gönderilmesini (TCP) sağlayan
bir mekanizma vardır. Ama UDP de bu yoktur, kaynak segmentleri gönderir ama karşı tarafın alıp
almadığını kontrol etmez. Ses paketleri bu şekilde gönderilir, eksik paketler ses kesintisi olarak
hissedilir.
Karşıya gönderilen segmentler yine bu katmanda birleştirilerek bir üst katman olan Session layer a
teslim edilir.
TCP de, Paket teslim kontrolü SYN=x göndererek ve bunun alındığının karşı taraftan ACK=x+1 (tamam
x i aldım) gönderilmesiyle kontrol edilir.
ACK= acknowledgement
FIN paketi ile paket transferinin bittiği karşıya söylenir.
Bir de bu katmanda pakete port bilgisi eklenir, örneğin FTP ile bir dosya transferi yapılıyorsa paketin
destination port bilgisine 21 yazılır, paket bir http paketi ise 80 portu yazılır. Böylece karşı taraf üst
katmana bu porttan paketi teslim eder. Karşı tarafta Üst katmanda 80 portunu dinleyen sunucu
üzerindeki (IIS,Apache vb..) uygulama bu porttan gelen paketi alır ve paket içinde GET komutu varsa
istenen web sayfasını gönderir .
örnek : gelen paket içinde GET komutu varsa, bu komut ile istenen sayfa cevap olarak gönderilir.
GET /test.html HTTP/1.1
https://mbilgil0.medium.com/get-vs-post-deb3000ff4d7
https://www.w3schools.com/tags/ref_httpmethods.asp
https://www.freecodecamp.org/news/http-request-methods-explained/
Ek bilgi: Bir web sayfasını ziyaret ettiğinizde adres çubuğuna http olarak yazarsanız;
http://www.tdx.com yazdığınızda http nin portu 80 dir, destination portuna 80 yazılır.
başına https yazdığınızda ; https://www.tdx.com yazdığınızda https in portu 443 tür , paketin
destination portuna 443 yazılır.
Transport layer da, gönderilen Paketin Source portu için aralıktan Registered ports (1024-49151)
rastgele bir port seçilir. (https://en.wikipedia.org/wiki/Registered_port )
Bu katmanla ilgili Detay:
https://www.section.io/engineering-education/understanding-tcp-ip-transport-layer-protocols/
http://www.highteck.net/EN/Transport/OSI_Transport_Layer.html
http://www.th-owl.de/fb5/cds/downloads/cds/SS08/CDS_08_3_4.pdf
https://www.siberportal.org/yellow-team/constructing-network-environment/tcp-three-wayhandshake/
Network Layer-3: Bu katmanda paketlere source IP ve destination IP bilgisi eklenir.
Yukardaki şekilde görüldüğü gibi Giden pakette source IP address (192.168.0.5) , dönen cevap
paketinde destination IP address (192.168.0.5) alanına yazılır. Böylece Server dan istenen bilgi(paket)
kim istediyse ona gönderilmiş olur.
Bu katmala ilgili bilmemiz gerekenler (tek tek detaylı anlatımlar ilerleyen konularda.)
1- Encapsulation
2- Public IP, Private IP, subnetmask kavramları
3-İp Routing table yönlendirmesi nasıl yapılıyor
4- Routerlarda yazılan ACL ler neden ve nasıl yazılır
5- NAT, PAT nasıl yapılır
Data link Layer-2: Bu katmanla ilgili olarak en basit bilmemiz gereken, source MAC ve destination
MAC adresleri pakete bu katmanda eklenir. Gönderilen Pakette yol üzerindeki cihazlarda (switch,
router vb..) ilk bu adrese bakılır, adres bilgileri olmadan paket doğru kişiye teslim edilemez.
Bu katmanda pakete Frame adı verilir. Başlığına da Frame header denir.
Bu katmanla ilgili başka bilgilerde var ; collision detection , error detection vb..gibi, aşağıdaki linkte
var. (CCNA e hazırlanan kişilerin bakması gerekebilir.)
Detay:
https://www.inet.tuberlin.de/fileadmin/fg234_teaching/WS1112/NPA_WS1112_lecture/npa11_06_link.pdf
https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/07/veri-ba%C4%9Flant%C4%B1-(data-link)katman%C4%B1
NOT: Burada sadece ön bilgilendirme amaçlı VLAN lar dan bahsediliyor, biraz karışık gelebilir
anlamayabilirsiniz, konu detaylı olarak ilerleyen konularda anlatıldı, aradaki konuları atlamadan
ilerlerseniz çalışma mantığını anlayabilirsiniz.
VLAN TAG (802.1Q) (içinde VLAN ID var=VID) bilgisi de pakete bu katmanda eklenir. Böylece Aynı
VLAN da olan PC lerin haberleşmesi Layer-2 katmanında kalır.
Bir binada farklı katlarda ya da farklı binalarda olsalar bile aynı VLAN da olan PC lerin haberleşmesi
VLAN TAG sayesinde Layer-2 seviyesinde olur. (Trunk linklerden paketler VLAN Tag ile diğer switch
lere iletilir.)
Her bir Switchler üzerinde, her bir VLAN için ayrı ayrı MAC address tabloları tutulur. Bu tablolarda;
VLAN a üye yapılmış portlarla ilgili Switchin hangi portunda hangi MAC address i var tutulur.
VLAN 10 nun tablosu ayrı, VLAN 20 nin tablosu ayrıdır. (Bu konu detaylı TABLOLAR konusunda
anlatılacak)
Aşağıdaki şekilde VLAN tag i eklenmiş bir data frame i görülüyor.
https://www.ciscopress.com/articles/article.asp?p=2208697&seqNum=4
WAN (Wide Area Network) lerde de iletim Layer-2 seviyesinde yapılabilir. Bunun için geliştirilmiş
protokoller vardır.
Frame Relay/ATM, PPP,ADSL, MPLS (metro Ethernet) …vb
Bu gibi teknolojilerde; pakete Layer-2 seviyesinde bir başlık eklenerek (ör:Frame Relay, MPLS header)
paketin aradaki WAN yönlendirici cihazlar üzerinde Layer-2 seviyesinde iletilmesi sağlanır (Yani IP sine
bakılmadan iletilir). Bazıları bu protokollere Layer2-Layer3 arası protokol (Layer 2.5) deseler de Frame
Relay e WAN layer-2 protokolü diyebiliriz.
https://cdn.ttgtmedia.com/searchNetworkingChannel/downloads/Castelli_Ch15.pdf
Physical Layer-1: Bu katmanda Veri, kabloda iletilebilecek 0, 1 digital signal a çevrilerek kabloya
aktarılır,
DETAYLI ANLATIMLAR
1-Encapsulation
Sending computer den gönderilen veri(data) her katmanda başlık alarak aşağıya doğru iner.
Bu olaya encapsulation denir.
En son Physical layer da kabloda iletilebilecek 0, 1 digital signal a çevrilerek kabloya aktarılır.
Karşı tarafta Receiving computer layer1 de, aldığı sinyalleri 0,1 formatında bit lere dönüştürerek üst
katmana (Layer-2) teslim eder. Yukarı doğru çıkarken her katmanda başlık bilgisi okunur ve atılır.
(Örnek Layer-3’e çıkarılan paketin içinde Layer-2 başlığı olmaz.) (De-encapsulation)
En son application layer da tüm başlıklar çıkarılmış olarak data (veri) uygulamaya teslim edilir.
Başlıklar çıkarılır ama izi tutulur, kim hangi porta göndermiş, hangi interface e paket gelmiş bu bilgi
tablolarda tutulur (Routing table, Mac address table, ARP table, NAT table vb.) (Bu konu detaylı
TABLOLAR konusunda anlatılacak)
Bu pakete bir cevap dönülecekse kimin gönderdiği (IP, MAC) hangi port, hangi interface vb.. bilgiler
önemlidir. Bu bilgiler paketin içinde payload kısmında yer alır, cevap paketi hazırlanırken
(encapsulation) ilgili başlığa yazılır. Pakete başlığına eklenen bu bilgiler paket iletilirken aradaki
cihazlar tarafından okunur ve bu sayede paket kime cevap olarak dönüyorsa ona teslim edilir. (detaylı
ve örnekli anlatımlar ilerleyen konularda)
2- Public IP, Private IP, subnetmask kavramları
İnternet ortamında Public IP(IPv4) yetersizliğinden dolayı, Local area network lerde (iç network)
(Kurum içinde) Private IP adresleri kullanılır. (IPv6 ile bu sorun çözülüyor)
Public IP ler ISP dediğimiz internet sağlayıcılarından temin edilir ve ücret karşılığı satın alınır.
Dış dünyada Private IP adresi ile dolaşılamayacağı için (çünkü herkes iç networklerinde aynı IP leri
kullanıyorlar, dış dünyada çakışma olur),
Local area network (Kurum) kullanıcısı dışarıya çıkarken firewall da (o yoksa router da) Private IP si
Public IP ye NAT lanarak çıkar. (Ilerleyen konularda detaylı anlatılıyor “5- NAT, PAT nasıl yapılır”)
Private IP address range: (iç networklerde kullanılan IP ler)
•
•
•
Class A: 10.0.0.0 — 10.255.255.255
Class B: 172.16.0.0 — 172.31.255.255
Class C: 192.168.0.0 — 192.168.255.255
Bunlara ek olarak Araştırma için kullanılan IP ler hariç kalan IP ler Public IP olarak kullanılır ve ISP
(Telekom,Turkcell vb.) ler tarafından bize parayla satılır. Onlarda aşağıdaki organizasyonlardan satın
alırlar. (Türkiye’deki ISP ler (Avrupa kıtası) RIPE dan alırlar)
Biz bu satın aldığımız Public IP ile dış dünyada dolaşabiliriz. (internet ortamı)
Avrupa kıtası https://www.ripe.net/
Amerika kıtası https://www.arin.net/
Diğerleri;
https://en.wikipedia.org/wiki/Regional_Internet_registry
Five regional registries[edit]
•
•
•
•
•
The African Network Information Center (AFRINIC) serves Africa.[2]
The American Registry for Internet Numbers (ARIN) serves Antarctica, Canada, parts of
the Caribbean, and the United States.[3]
The Asia-Pacific Network Information Centre (APNIC) serves East Asia, Oceania, South Asia,
and Southeast Asia.[4]
The Latin America and Caribbean Network Information Centre (LACNIC) serves most of
the Caribbean and all of Latin America.[5]
The Réseaux IP Européens Network Coordination Centre (RIPE NCC) serves Europe, Central
Asia, Russia, and West Asia.[6]
SUBNETTİNG
https://docplayer.biz.tr/431309-Turkce-ccna-egitim-notlari.html
Huaewi routers Data Communications Basics - IP Subnetting:
https://youtu.be/0wuvlGeY30g
https://docplayer.biz.tr/431309-Turkce-ccna-egitim-notlari.html
https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html
https://ipcisco.com/lesson/subnetting-examples/
https://www.softwaretestinghelp.com/subnet-mask-and-network-classes/
network, subnetwork (subnet), VLAN kavramları ;
port gelende switch için ,interface router için kullanılır
link=cihazlar arasındaki bağlantı. Tanımı cihazların karşılıklı interface leri altında yapılır.
VLAN=subnet=broadcast domain
BUM trafik = broadcast, bilinmeyen unicast, ARP request ve multicast paketlere denir.
BUM paketler Network ü neden subnetlere (broadcast domainlere) ayırdığımızın sebebidir aslında.
Swicth kendisine gelen BUM paketleri tüm port larına gönderme davranışı olan bir cihazdır.
Bu hem switch port trafiği hem başka switch lerde aradaki link trafiğini ciddi anlamda dolduran, hem
de paketleri alan tüm cihazların (switch ,PC,server vb.) CPU gibi kaynaklarını ciddi olarak tüketen bir
yoğunluk yaratır. Bu yoğunluğu azaltmak için networkü daha küçük alt networklere yani subnetlere
böleriz.
Yukarıdaki şekilde kullanıcılar için 172.24.0.0 network ü , DMZ için 192.168.5.0 network ü, Server lar
için 10.8.0.0 network ünü kullanmaya karar verelim.
Kullanıcı networkünü 172.24.0.0/16 olsun.
EK BİLGİ:
https://www.youtube.com/watch?v=PZpGF25oES4
https://www.youtube.com/watch?v=uE5gdwr1mE0
https://www.youtube.com/watch?v=fTTfbxrYRE4
https://www.youtube.com/watch?v=140IIdZlL44
https://www.youtube.com/watch?v=fCzjUV_ofMM
EK BİLGİ;
Herhangi bir sayıyı binary olarak göstermek istediğimizde, aşağıdaki gibi 2’nin katlarını temsil eden 8
biti kullanarak gösteririz.
27 26252423222120
Aşağıdaki şekildeki gibi 188 sayısı için: 10111100
128= 27 32=25 16=24 8=23 4=22 temsil eden bitlerin değerini 1 yaptığımızda yani
10111100 olarak yaptığımızda bu bitleri kullanmış ve toplamında da 188 sayısını elde etmiş oluruz.
128+32+16+8+4 =188
Network adres ve Mask 4 octet den oluşur ve her bir octet 8 bit ten oluşur.
Her bir octet deki 8 bitin her biri yukardaki gösterildiği gibi 2 nin katlarını temsil eder.
Örnek:
172.24.0.0 /16
binary gösterimi aşağıdaki gibidir
(1.octet=172 , 2.octet=24 , 3.octet=0 , 4.octet=0)
Binary : 10101100.00011000.00000000.00000000
MASK= /16 = 255.255.0.0
gösterimi
1.octet=255 , 2.octet=255 , 3.octet=0 , 4.octet=0
Mask : /16 demek baştan 16 tane bitin bir olması demek: 11111111.11111111.00000000.00000000
27 26252423222120 .27 26252423222120.2726252423222120.27 26252423222120
Hepsinin 1(bir) olduğu durumda;
27 + 26+ 25+ 24+ 23+ 22+ 21+ 20= 255
128 + 64 + 32 + 16 + 8+ 4+ 2+ 1=255
Mask ı bir bilgisayarın IP adresinin network kısmını (hangi network te olduğunu) bulmak için
kullanırız. IP adresini MASK ile AND leme yaparak , IP adresinin network adres kısmını buluruz.
AND leme işlemi
1 and 1 =1
0 and 1= 0
0 and 0 = 0
ÖRNEK;
IP adresi :192.168.50.112/24
MASK: /24 (MASK ı /24 demek toplam ilk 3 octet 1(bir) olacak demek)
11111111.11111111.11111111.00000000 =255.255.255.0
Bu MASK ı kullanarak AND leme işlemi yaparız, böylece 192.168.50.112 IP adresinin networkünü
bulmuş oluruz.
Aşağıdaki örnekten anlaşılacağı gibi bu işlemin sonucunda 192.168.50.112/24 bilgisayarın MASK ını
kullanarak yaptığımız AND leme işlemi sonucunda network adresinin 192.168.50.0 olduğunu
görüyoruz.
Şimdi bu networkü subnetlere bölelim
Aşağıdaki örnekte de normalde /24=255.255.255.0 olan maskın bit sayısını iki adet arttırarak /26
yapıyoruz, buna networkü subnet lere bölme denir.
Yani MASK ı /26=255.255.255.192 yapıyoruz.
Böylece IP adreslerinin network adres kısmını temsil eden bit sayısı /26 ya çıkarılmış oldu.
Geri kalan bitler host kısmı olarak adlandırılır
Örnek ;
Bir PC nin IP adresi 192.168.22.36 /26 olsun, (Class C nin default maskı /24 dür , iki bit arttırılmış)
/26 bunun binary olarak gösterimi:
MASK /26=255.255.255.192
Bu IP nin ilk 26 biti Network ünü temsil eder, son 6 biti Host ID si olarak adlandırılır.
11000000.10101000.00010110.00 100100 (sarı network ID, yeşil kısım Host ID)
Böylece 192.168.22.0/24 networkünü /26 yaparak 4 adet subnetwork e bölmüş oluyoruz.
Bu subnetleri Layer3 switch üzerinde ayrı ayrı VLAN larda kullanabiliriz, ya da bir Routerın
interfacelerinde ya da subinterfacelerinde kullanabiliriz.
1st subnet: 192.168.22.0/26 (26 bit network için kalan 6 bit host(pc) lar için kullanılır)
2nd subnet: 192.168.22.64/26 (26 bit network için kalan 6 bit host(pc) lar için kullanılır)
3rd subnet: 192.168.22.128/26 (26 bit network için kalan 6 bit host(pc) lar için kullanılır)
4th subnet: 192.168.22.192/26 (26 bit network için kalan 6 bit host(pc) lar için kullanılır)
1.octet in açılımı: (192) binary gösterimi 11000000
128
1
64
1
32
0
16
0
8
0
4
0
2
0
1
0
8
1
4
0
2
0
1
0
8
0
4
1
2
1
1
0
2. octet in açılımı: (168) binary gösterimi 10101000
128
1
64
0
32
1
16
0
3.octet in açılımı: (22) binary gösterimi 00010110
128
0
64
0
32
0
16
1
4. octet in açılımı: (4. Octet dört farklı şekilde olabilir:0,64,128,192. Her biri farklı subnetwork için
kullanılır.)
192.168.22.0/26 = 00000000
192.168.22.64/26= 01000000
192.168.22.128/26= 10000000
192.168.22.192/26= 11000000
128
0
0
1
1
64
0
1
0
1
32
0
0
0
0
16
0
0
0
0
8
0
0
0
0
4
0
0
0
0
2
0
0
0
0
1
0
0
0
0
Bu subnetlerden birini seçip bir subnetteki PC lere vermek istediğimizde örneğin;
192.168.22.128/26 subnetini seçelim, bu subnetteki PC lere verebileceğimiz IP ler aşağıdaki gibi olur.
6 tane host biti ile 64(26 )tane IP elde edilir, ama bunlarda 2 tanesi kullanılamaz (network adres ve
broacast adres) dolayısı ile usable host IP:62 tanedir.
Yeşil renk olan 6 bit ile elde edilen IP ler o VLAN daki ya da subinterface deki PC lere verilebilir.
11000000.10101000.00010110.10 000000 (192.168.22.128 bu network adresi olduğu için PC de
kullanılamaz, verilemez)
11000000.10101000.00010110.10 000001 (PC IP si : 192.168.22.129)
11000000.10101000.00010110.10 000010(PC IP si : 192.168.22.130)
11000000.10101000.00010110.10 000011(PC IP si : 192.168.22.131)
11000000.10101000.00010110.10 000100(PC IP si : 192.168.22.132)
11000000.10101000.00010110.10 000101(PC IP si : 192.168.22.133)
11000000.10101000.00010110.10 000110 (PC IP si : 192.168.22.134)
11000000.10101000.00010110.10 000111 (PC IP si : 192.168.22.135)
11000000.10101000.00010110.10 001000(PC IP si : 192.168.22.136)
11000000.10101000.00010110.10 001001(PC IP si : 192.168.22.137)
…
…arada elde edilenler dahil 192.168.22.138…192.168.22.189
11000000.10101000.00010110.10 111110 (192.168.22.190)
11000000.10101000.00010110.10 111111 (192.168.22.191 broadcast adres olduğu için PC ye
verilemez. 192.168.22.128/26 subneti için broadcast adrestir.)
Aşağıdaki örnekte subnet maskı birer birer artırarak kaç tane subnet ve her biri için kaç tane host
adres elde edebileceğimizi gösteriyor. Bunların içinde bizim çalıştığımız networkün ihtiyacına göre
uygun maskı seçerek networkümüzü subnet lere bölebiliriz.
Örnek : Bir şirkette bir subnetteki bilgisayar sayımız yaklaşık 100 adet olacaksa; /25 i seçmemiz en
uygunu olur (alttaki ikinci tabloda Number of usable IP : PC lere verebileceğimiz host Ip sayısını
gösteriyor)
çünkü bu şekilde usable 126 tane bilgisayar IP si(host ID kısmı) elde ederiz.
/26 yı kullansaydık usable 62 host IP adresimiz olacağından, bizim PC sayımız 100 olduğu için
ihtiyacımızı karşılamayacaktır.
https://jodies.de/ipcalc?host=172.24.0.0&mask1=16&mask2=24
yukardaki şekilden /24 ü seçseydik
Kullanıcı networkünü 172.24.0.0/16 mask ını değiştirerek subnetlere bölelim.
Örnek kurumunuzda 172.24.0.0/16 networkü olsun. (DİKKAT Class B IP : default mask /16 dır)
Farklı Bölümleri (department, daire vb..) izole etmek istiyoruz.
Bunun için maskımızı /16 yerine; network bitlerini 8 bit sağa kaydırarak sayısını arttırıyoruz /24
yapıyoruz.
Bunun yerine /17, /18 istediğimizi seçebilirdik bu durumda subnet sayımız ve usable host sayımız
farklı olurdu. Aşağıdaki tabloda farklı MASK lar için elde edilen kullanılabilir IP(host) ve subnet sayıları
gösteriliyor. Kaç tane subnete ve host sayısı ihtiyacımıza göre bize uygun MASK ı seçiyoruz.
Aşağıdaki listeden /24 için seçersek 8 bit sağa kaydırmış oluruz.
8 tane bit ile elde edilebilecek subnet sayısı:256 (28 ) dır. (sıfır subneti dahil)
172.24.0.0, 172.24.1.0,172.24.2.0,172.24.3.0……aradakiler dahil…….172.24.253.0,172.24.254.0,
172.24.255.0
Host ID kısmına da 8 bit kalmış oldu, bu sebepten
her bir subnette 8 tane host biti ile 256(28 )tane IP elde edilir .Network ve broadcast adresleri
çıkarınca usable host IP =254 olur.
maskı /24 için subnet maskımız aşağıdaki gibi olacak
/16 (eski maskımız)
Address:
Netmask:
172.24.0.0
255.255.0.0 = 16
10101100.00011000 .00000000.00000000
11111111.11111111 .00000000.00000000
/24 yaparsak (yenisi) (8 bit kaydırdık)
Netmask:
255.255.255.0 = 24
11111111.11111111.11111111 .00000000
172.24.0.0./16 maskımız /24 için elde edeceğimiz subnet sayısı 256 dır.
Elde edilen subnetlerimiz şunlardır;
172.24.0.0, 172.24.1.0,172.24.2.0,172.24.3.0……aradakiler dahil…….172.24.253.0,172.24.254.0,
172.24.255.0
NOT ÖNEMLİ
172.24.0.0 subnetworkünü ve 172.24.255.0 subnetworkünü de kullanabiliriz. ANCAK!!!;
172.24.0.0 subneti için;
172.24.0.0 network address ve 172.24.0.255 broadcast address dir ,
172.24.255.0 subneti için;
172.24.255.0(network address dir) ve 172.24.255.255 (broadcast address dir).
Bu adresleri Host IP olarak kullanamayız. Yani PC lere veremeyiz.
Aşağıda da görüldüğü gibi her bir subnet için geçerlidir bu: kullanılabilir usable Host IP sayısı 254.
(network ve broadcast addresslerini çıkarıyoruz.)
İlk subnet
Network: 172.24.0.0/24
10101100.00011000.00000000 .00000000 (network adress)
Broadcast: 172.24.0.255
10101100.00011000.00000000 .11111111 (broadcast adress)
HostMin: 172.24.0.1
10101100.00011000.00000000 .00000001 (PC(host) a verilebilecek ilk IP)
HostMax: 172.24.0.254
10101100.00011000.00000000 .11111110 (PC(host) a verilebilecek son
IP)
Hosts/Net: 254 (usable)
(KULLANILABİLİR HOST(IP) SAYISI, network ve broadcast
adresleri host lara verilemez.)
İkinci subnet
Network:
Broadcast:
HostMin:
HostMax:
Hosts/Net:
172.24.1.0/24
172.24.1.255
172.24.1.1
172.24.1.254
254
10101100.00011000.00000001 .00000000
10101100.00011000.00000001 .11111111
10101100.00011000.00000001 .00000001
10101100.00011000.00000001 .11111110
(KULLANILABİLİR HOST(IP) SAYISI)
Üçüncü subnet
Network:
Broadcast:
HostMin:
HostMax:
Hosts/Net:
172.24.2.0/24
172.24.2.255
172.24.2.1
172.24.2.254
254
10101100.00011000.00000010 .00000000
10101100.00011000.00000010 .11111111
10101100.00011000.00000010 .00000001
10101100.00011000.00000010 .11111110
(KULLANILABİLİR HOST(IP) SAYISI)
Dördüncü subnet
Network:
Broadcast:
HostMin:
HostMax:
Hosts/Net:
172.24.3.0/24
172.24.3.255
172.24.3.1
172.24.3.254
254
10101100.00011000.00000011 .00000000
10101100.00011000.00000011 .11111111
10101100.00011000.00000011 .00000001
10101100.00011000.00000011 .11111110
(KULLANILABİLİR HOST(IP) SAYISI)
tam 256 tane subnet yaratmış oluruz.
Son subnet
Network:
Broadcast:
HostMin:
HostMax:
Hosts/Net:
172.24.255.0/24
172.24.255.255
172.24.255.1
172.24.255.254
254
10101100.00011000.11111111 .00000000
10101100.00011000.11111111 .11111111
10101100.00011000.11111111 .00000001
10101100.00011000.11111111 .11111110
(KULLANILABİLİR HOST(IP) SAYISI)
Peki bu subnetler ne işe yarar,
Aşağıdaki örnekte farklı department larda çalışanları ayırmak istiyoruz, (IK ve ADM), bunun için SW1
üzerinde VLAN tanımlamaları yapıyoruz. Ama peki bu iki VLAN birbiri ile haberleşmek isterse ya da dış
dünya ile haberleşmek isterlerse bunu nasıl yapacaklar?
Bunun için; PC lerin bir IP ye ve dış dünyaya erişebilmeleri için bir default-gateway e ihtiyaçları vardır.
Bu örnekte VLAN10 ve VLAN20 Router1 de sonlandırılmış ama Router yerine Layer-3
switch(multilayer, backbone) veya firewall üzerinde de VLAN sonlandırabilirsiniz. (VLAN lar arası
trafiği güvenlik nedeniyle izlenmek ve kısıtlanmak isteniyorsa VLAN ı Firewall da sonlandırın)
SW1(config)#vlan 10
SW1(config-vlan)#name IK
SW1(config)#vlan 20
SW1(config-vlan)#name ADM
**Önce VLAN ları tanıttık, şimdi tanıttığımız VLAN ları ilgili port a atamak (ya da portu o VLAN a üye
yapmak) için ilgili interface(port) un altına gidip VLAN numarasını girmek gerek;
SW1(config)# interface fa0/1
SW1(config-if)# switchport mode Access (bu komut ile switch e; bu porta takılı PC den gelen
paketlerin UNTAGGED olarak geleceğini ve bu interface giden-çıkan yani PC ye teslim edilecek
paketlerin de TAG ı çıkarılarak teslim edileceği söyleniyor.)
SW1(config-if)# switchport access vlan 10 (switch bu portuna takılı PC den gelen UNTAGGED paketleri
VLAN 10 ile TAG layarak yönledirecek )
SW1(config)# interface fa0/2
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 20 (bu portuna takılı PC den gelen paketleri de VLAN 20 ile
TAG layacak.)
**SW1 in , R1 e bağlı olduğu interface ini trunk olarak tanıtıyoruz ki , buradan bütün VLAN lar R1 e
geçebilsin.
SW1(config)#interface fa0/3
SW1(config-if)#switchport trunk encapsulation dot1q (802.1q standardına göre encapsulation
yapılacak)
SW1(config-if)#switchport mode trunk (bu interface te paketler TAG li taşınacak(gönder-al) demek)
SW1(config-if)#switchport trunk allowed vlan 10,20 (bunu yazmamıza gerek yok, yazarsak sadece bu
VLAN lar geçebilir, yazmazsak hepsi geçer)
Sıra geldi Router1 üzerinde VLAN na IP vermeye (o VLAN daki PC ler için default-gateway).
Bunun için Router 1 in SW1 e bağlı bacağını(interface fa0/0)
subinterfacelere (sanal interfaceler,tüneller) e böleriz: fa0/0.10 ve fa0/0.20
her birine gerçek intercafe miş gibi birer IP veririz.
VLAN 10 için R1 de fa0/0.10 için ip address=192.168.10.254,
VLAN 20 için R1 de fa0/0.20 için ip address=192.168.20.254
R1(config)#interface fa0/0.10
R1(config-subif)#encapsulation dot1Q 10 (burada Router a; paketlerin (switchten router a gelen)
dot1q protokolüne göre TAG li geleceğini, TAG i VLAN ID=10 olan paketlerin bu subinterface te işlem
göreceğini söylüyoruz.
Aynı şekilde bu interface gitmek isteyen paketleri de VLAN ID=10 ile TAG leyerek bu subinterface e
göndermesini söylüyoruz. Yani 192.18.10.0 networküne gitmek isteyen paketi router VLAN ID=10 ile
TAG leyerek bu subinterface inden switch doğru gönderecek)
R1(config-subif)#ip address 192.168.10.254 255.255.255.0 (Burada da fa0/0.10 subinterface ine IP
sini veriyoruz)
R1(config)#interface fa0/0.20
R1(config-subif)#encapsulation dot1Q 20 (TAG i VLAN ID=20 olan paketlerin bu subinterface te işlem
göreceğini söylüyoruz.)
R1(config-subif)#ip address 192.168.20.254 255.255.255.0
Şimdi artık PC lere IP verip birbirleri ile haberleştirebiliriz: (yukardaki şekle göre)
PC1(H1) ethernet kartında IP ayarlarına
IP address: 192.168.10.1
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.10.254 (Router fa0/0.10 subinterface inin IP adresi, yani VLAN 10 daki PC
lerin default gateway i oluyor)
PC2(H2) ethernet kartında IP ayarlarına
IP address: 192.168.20.1
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.20.254 (Router fa0/0.20 subinterface inin IP adresi, yani VLAN 20 daki PC
lerin default gateway i)
Bu iki VLAN arasında paketlerin nasıl iletildiği aşağıdaki konularda anlatılmaktadır.
Bu ve değişik örneklerden anlamamız gereken network leri neden subnetlere böleriz (BUM trafik,
güvenlik vb)
Böldüğümüz bu subnetleri nerede kullanırız (VLAN)
VLAN tanımladıktan sonra bu VLAN ı bir IP ile nasıl sonlandırırız (layer-3 cihaz üzerinde)
VLAN a verdiğimiz bu IP, PC için ne ifade eder (default-gateway) (aşağıda detaylı anlatılıyor)
PC ler default-gateway i niçin ve nasıl kullanır (aşağıda anlatılıyor.)
Başka örnekler:
https://www.practicalnetworking.net/stand-alone/configuring-vlans/
LAN = Broadcast Domain = Subnet
https://www.networkacademy.io/ccna/ethernet/vlan-concept
BUM trafik broadcast, bilinmeyen unicast, ARP request ve multicast paketlere denir.
Network ü neden subnetlere (broadcast domainlere) ayırdığımızın sebebidir aslında.
Swicth kendisine gelen BUM paketleri tüm port larına gönderme davranışı olan bir cihazdır.
Bu hem switch port trafiği hem başka switch lerde aradaki link trafiğini ciddi anlamda dolduran, hem
de paketleri alan cihazların (switch ,PC,server vb.) CPU gibi kaynaklarını ciddi olarak tüketen bir
yoğunluk yaratır. Bu yoğunluğu azaltmak için networkü daha küçük alt networklere yani subnetlere
böleriz. (Bunun nasıl yapıldığı subnet mask hesaplama konularında görülebilir.)
VLAN
Switch kendisine bir BUM paketi geldiğinde (paketin geldiği port hariç) tüm portlarına bu paketi iletir
(flood eder). Aşağıdaki şekilde kullanıcı ve server domainleri (network) ayrı ayrı iki switch kullanılarak
ayrılmaya, izole edilmeye çalışılmış (aşağıdaki figure-1);
Pc1 den çıkan paketi SW1, hem pc2 ve hem pc3 e gönderir,
Server1 den çıkan paketi SW2, server 2,3 ve 4 e gönderir.
Tabi bu maliyetli bir çözüm
Bu şekilde her subnet (ya da network) için ayrı switch kullanmanın maliyetini azaltmak için switch ler
üzerinde yazılımla sanal LAN lar oluşturma özelliği geliştirilmiş. Tek bir swicth üzerinde sanki birden
fazla switch varmış gibi VLAN (virtual LAN) tanıtarak subnetleri (broadcast domainleri) ayırmak
mümkün olmuş. Aşağıdaki şekilde (figure-2) VLAN 10 dan çıkan BUM paketi tek switch üzerinde
sadece VLAN 10 a üye yapılmış portlara iletilir, VLAN 20 den gelen BUM paketi de sadece VLAN 20 ye
üye yapılmış portlara iletilir.
Böylece BUM trafiğinden kaynaklı kaynak tüketimi (link yoğunluğu, cihazlar üzerinde harcanan CPU
vb) kaynaklar Tek bir switch üzerinde izolasyon yapılarak azaltılmış olur.
Bu örnekte;
VLAN 10 için 192.168.1.0/24 networkü
VLAN20 için 10.1.0.0/24 networkü kullanılmış
Sonuç olarak ister farklı network, ister farklı subnet kullanılsın VLAN 10 ve VLAN 20 iki ayrı broadcast
domain dir.
https://www.networkacademy.io/ccna/ethernet/vlan-trunking
trunk port ve trunk port protokolü 802.1q nasıl ortaya çıkmıştır,
Aşağıdaki şekilde (aşağıdaki figure-2) görüldüğü gibi SW1 de VLAN 10 dan çıkan BUM paketler hem
SW1 deki hem de arada bağlantı varsa SW2 üzerindeki VLAN 10 a dahil edilmiş tüm PC lere (SW2
portlarına) gider.
Aynı şekilde VLAN 20 den çıkan BUM paketleri de hem SW1 hem de SW2 deki VLAN 20 üyelerine
gider. BU, Bir işletmede her bir VLAN nın trafiğini taşımak için iki switch arasına(SW1-SW2) , her bir
VLAN için ayrı ayrı link bağlamak demektir (maliyetli). Onun yerine bu iki VLAN nın trafiklerini
birbirinden ayırarak ve karıştırmadan tek bir link(bağlantı,kablo) üzerinde taşıyacak bir protokole
ihtiyaç doğmuştur.
Bunun için; aradaki tek link (trunk link) üzerinde her bir VLAN a tag ekleyen, karşı tarafa paketleri tag
li teslim eden 802.1q protokolü geliştirilmiştir. Aşağıdaki şekilde (aşağıdaki figure-5) SW2 tag li aldığı
paketleri inceler. Gelen paket eğer VLAN ID=10 ile tag lenmiş ise VLAN 10 a dahil portlarına, VLAN
ID=20 ile tag lenmiş ise VLAN 20 ye dahil edilmiş portlarına teslim eder. Teslim ederken çıkış portunda
(PC takılı olduğu=Access mode) tag leri çıkararak teslim eder.
https://www.networkacademy.io/ccna/ethernet/trunk-native-vlan
NATİVE VLAN
Peki untagged paketler trunk port (link) ta nasıl taşınır.
aşağıdaki örnekte görüldüğü gibi, untagged gelen paketlerin trunk porttan taşınması untagged native
VLAN ile olur ve tag sız taşıma olur. Default olarak VLAN 1 native Vlandır.
Aşağıdaki şekilde konfigürasyonla native VLAN 20 olarak belirlenmiş;
SW1(config-if)#switchport trunk native vlan 20
SW2(config-if)#switchport trunk native vlan 20 (karşılıklı iki switchte de aynı VLAN
yapılmalı )
Şekilde görüldüğü gibi, (çizilmemiş ama PC7,switch1,switch2 hub ile bağlı olabilir) PC7 den gelen
untagged paketler trunk port üzerinde untagged olarak taşınırlar ve bu örnekte native vlan 20 olarak
belirlendiği için paketler sadece vlan20 e üye PC lere teslim edilir.
Yine aşağıdaki şekilde VLAN 20 ye üye PC lerden birinden çıkan paketlerde trunk port üzerinde
untagged olarak taşınır ve karşı switch te sadece VLAN 20 ye üye olan PC (port) lere teslim edilir.
Yani Native VLAN nın görevi Birincisi; switch in trunk portuna untagged bir paket geldiğinde bu paketi
hangi VLAN a teslim edeceğini söylüyoruz, (VLAN 20)
İkincisi Native VLAN olarak belirlenen VLAN 20 den (ona üye portlardan) gelen paketleride trunk
portta untagged olarak geçireceğini söylüyoruz. (karşıda da tabi yine VLAN 20 olan portlara teslim
edecek.)
Bir switch tüm portları VLAN 1 e dahil edilmiş olarak gelir. Default VLAN = VLAN 1 dir .
Native VLAN eğer tanımlama yapılmadı ise VLAN 1 dir. Dolayısı ile default ta VLAN 1 trafiği tag sız
taşınır.
AMA Native VLAN ı 999 atarsak VLAN 999 TAG sız(untagged) olarak taşınır. Bu durumda VLAN 1 tag li
taşınır.
VLAN 1 in önemi aslında, silinmiş olsa bile ya da native VLAN olmasa bile trunk porttan VLAN 1
taşınmaya devam eder. Bunun sebebi de Control and management protokollerinin (örneğin CDP,
VTP, and PAgP) trafiklerinin switchlerde VLAN 1 ile taşınmasıdır.
Yani bir switch default tüm port ları VLAN 1 e üye olarak gelir. Siz switch in tüm portlarını başka bir
VLAN a atasanız bile VLAN 1 var olmaya devam eder, çünkü asıl görevi protokol paketlerini taşımaktır.
DETAY:
https://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/24330185.html#pre6
CDP, VTP, and PAgP updates are always forwarded on trunks with a VLAN 1 tag. This is the case
even if VLAN 1 has been cleared from the trunks and is not the native VLAN. If you clear VLAN 1
for user data, the action has no impact on control plane traffic that is still sent with the use of VLAN
İki ayrı VLAN arası (VLAN 10 dan VLAN 20 ye) haberleşme sağlanması için artık paketlerin layer-3
seviyesinde incelenip routing yapılması gerekir. Bunun için router yada layer-3 switch (multilayer
switch, backbone switch, omurga anahtar) a ihtiyaç vardır. Bu konu detaylı olarak FARKLI VLAN LAR
ARASI PAKET İLETİMİ konusunda anlatılmaktadır, ama o konuya geçmeden önce bir switch in bir
router ın paketi nasıl ilettiğini detaylı görmek gerekir, aşağıdaki konuları okuduktan sonra bu konuya
geçmeniz tavsiye edilir.
LAYER-2 YÖNLENDİRME (switching, MAC adresine göre yönlendirme)
http://cisco.num.edu.mn/CCNA_R&S1/course/module5/5.3.1.2/5.3.1.2.html
aşağıdaki şekilde; PC1 , PC2 ile haberleşmek istediğinde önce ona gidecek pakete yazmak için PC2 nin
MAC adresini biliyor olması gerekir. Bunu bilmediği için önce ARP request paketi göndererek PC2 nin
MAC address ini öğrenmeye çalışır. ARP request paketi;
Layer-3 başlığında;
source IP: PC1, destination IP: PC2
Layer-2 başlığında;
source MAC: PC1, destination MAC: broadcast (FF:FF:FF:FF:FF:FF),
yazan bir ARP request paketi gönderir.
SWITCH bu paketi alınca, kendi MAC address table na “PC1 MAC” adresinin PORT-1 de olduğunu
yazar.
PC2 nin hangi interface inde olduğunu bilmediği için, paketi değiştirmeden tüm port larına (PORT-2
ve PORT-3) gönderir(flood). (paketin geldiği port hariç)
PORT-2 deki PC (şekilde çizilmemiş), paketi alır ve destination MAC addressinde broadcast olduğu için
alır ve layer-3 seviyesine çıkarır. Layer-3 seviyesinde incelediğinde destination IP sinde PC2 yazdığını
görür ve paket kendisine gelmediği için drop eder.
PORT-3 deki PC2 de destination MAC broadcast olduğu için alır ve layer-3 seviyesinde paketi
açtığında destination IP sinde : PC2 yazdığını görür, paketin kendisine geldiğini anlar.
Aynı zamanda destination MAC broadcast olduğu için bunun bir ARP request paketi olduğunu bilir ve
kendisine geldiği için cevap olarak (ARP reply) gönderir;
Source MAC: PC2, destination MAC: PC1
Source IP: PC2, destination IP: PC1, yazıp gönderir.
SWITCH, gelen paketten “PC2 nin MAC” addresini öğrenir ve MAC address table na,
PC2 MAC PORT-3 de olarak kaydeder.
Artık PC1 ve PC2 unicast yani source MAC i ve destination MAC i belli olan paketlerle haberleşmeye
başlayabilirler. Yani bundan sonra PC1 den PC2 ye gönderilmek istenen paketler;
Layer-3 başlığında;
source IP: PC1 destination IP: PC2
Layer-2 başlığında;
source MAC: PC1 destination MAC: PC2
SWITCH kendisine gelen paketi Layer-2 başlığında destination MAC: PC2 olduğunu görür, tablosunda
PC2 nin PORT3 de olduğu bilgisi vardır artık, paketi sadece PORT3 e gönderir. (Hatırlayalım ARP
request paketini ise , paketin geldiği port hariç tüm portlarına göndermişti)
LAYER 3 YÖNLENDİRME (Forwarding) - MAC ADDRESS DEĞİŞİMİ
Haberleşmek isteyen PC ler, farklı subnette iseler paket artık switching yani Layer-2 ye göre değil,
Layer-3 e göre yapılır(forwarding).
Paket; aradaki yönlendirme yapan (hop) Layer3 cihazlar üzerinden geçerken, source IP ve destination
IP değiştirilmez, ama her Hop ta source MAC ve destination MAC değiştirilerek paket iletilir.
https://www.youtube.com/watch?v=rYodcvhh7b8
https://www.ciscopress.com/articles/article.asp?p=2756479&seqNum=5
Aşağıdaki örnekte paket PC1 den PC2 ye gitmek istiyor
source IP: 192.168.1.10 destination IP: 192.168.4.10
PC1, destination IP: 192.168.4.10 için kendi maskını (/24, 255.255.255.0) kullanarak AND leme yapar
192.168.4.10
AND
255.255.255.0
------------192.168.4.0
bulunur. PC2 nin network ünün (subnet) kendi networkünden (192.168.1.0) farklı
olduğunu görür.
Bu durumda paketi default-gateway(R1, Fa0/0) e göndermesi gerektiğini bilir. Default-gateway bu iş
için kullanılır, paket farklı bir network e gideceği için bir üst katmanda(layer-3) yönlendirme yapılması
gerekecek o yüzden default-gateway e gönderir, gerekli yönlendirmenin yapılması için(forwarding)
Önce ; default-gateway(R1, Fa0/0) inin MAC adresini bilmiyorsa öğrenmek için oraya bir Arp request
gönderir;
ARP request;
Source MAC: 0A-10, Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 192.168.1.10 Destination IP: 192.168.1.1(R1, Fa0/0)
R1 , kendisine gelen ARP request paketine cevap döner, böylece PC1 default-gateway(R1, Fa0/0) in
MAC adresini öğrenmiş olur.
ARP reply;
Source MAC: 00-10, Destination MAC: 0A-10
Source IP: 192.168.1.1 Destination IP: 192.168.1.10
PC1; Default-gateway inin MAC adresini öğrendiğine göre, PC2 ye göndereceği paketi artık
hazırlayabilir.
Destination MAC te default-gateway(R1, Fa0/0) Mac adresi olacak çünkü PC2 farklı bir network te ve
orada(default-gateway de) pakete yönlendirme (forwarding) yapılarak gidecek. Daha önce
bahsettiğimiz gibi PC1 in başka networklerdeki PC lerin MAC adreslerini bilmesine gerek yok zaten
imkân da çünkü PC lerin ARP tablolarının belli bir kapasitesi var.
Giden paket;
Source MAC: 0A-10, Destination MAC: 00-10
Source IP: 192.168.1.10 Destination IP: 192.168.4.10 (PC2 nin IP si)
R1 kendisine gelen paketi alır; Destination MAC: 00-10 kendi interface(Fa0/0) inin Mac adresi olduğu
için paketi kabul eder ve de-encapsulate ederek bir üst katmana çıkarır.
Layer-3 katmanında paketin Destination IP: 192.168.4.10 olduğunu görür. Bu network kendisine direk
bağlı bir network olmadığı için Routing table a bakar. Bu network e gitmek için bir Route bulmaya
çalışır. (bu örnekte yok ama; bulamazsa üzerinde tanımlı default-route a gönderir(0.0.0.0 0.0.0.0
next-hop).Bu örnekte 192.168.4.0/24 networkünün R1 in Fa0/1 interface inin arkasında olduğu bilgisi
vardır. Next-hop yani karşı tarasın IP side 192.168.2.2 dir. (Paketi next-hop MAC adresine
gönderecek, dest. MAC)
Paketin source IP ve Destination IP si yolculuk sırasında değişmez demiştik, ama MAC adresi paketin
geçtiği her hop (router yada layer-3 switch te forwarding yapılırken değişir.)
Paket çıkarken
source MAC:çıkış yaptığı interface(R1,Fa0/1) inin Mac adresi,
Destination MAC: R2, Fa0/0 (next-hop MAC) (eğer bilmiyorsa Arp request le öğrenir)
Giden paket;
Source MAC: 00-20, Destination MAC: 0B-31
Source IP: 192.168.1.10 Destination IP: 192.168.4.10
R2 üzerinde de yine forwarding işlemi yapılacağı için, Routing table dan paketin hangi interface ten
gönderileceği bulunur, ama burada S0/0/0 interface i artık Ethernet portu olmadığı için, bu interface
de tanımlı protokol ne ise ona göre encapsulation yapılarak gönderilir. Yani artık pakete Layer-2
seviyesinde MAC adresi yazılmaz, onun yerine örnek: S0/0/0 interface tanımlarında Frame Relay
tanımlı ise ve DLCI numarası 105 verildi ise, Paket te Frame Relay headerına DLCI:105 yazılarak
gönderilir.
Configuration example
https://websistent.com/how-to-configure-cisco-router-as-frame-relay-switch/
https://learningnetwork.cisco.com/s/article/fundamentals-of-frame-relay-part-1-how-it-works-x
https://web.itu.edu.tr/akingok/diger/FRAME-RELAY-LAB1.pdf
https://www.learncisco.net/courses/icnd-2/wan-technologies/frame-relay-configuration.html
R2(config)#interface Serial0/0/0
R2(config-if)#encapsulation frame-relay
R2(config-if)#frame-relay lmi-type ansi
R2(config-if)#ip address 192.168.3.1 255.255.255.0
R2(config-if)#frame-relay interface-dlci 105
R2(config-if)#no shutdown
**Tanımlama Karşı tarafta da yapılır
R3(config)#interface Serial0/0/0
R3(config-if)#encapsulation frame-relay
R3(config-if)#frame-relay lmi-type ansi
R3(config-if)#ip address 192.168.3.2 255.255.255.0
R3(config-if)#frame-relay interface-dlci 105
R3(config-if)#no shutdown
Bizim örnekte aradaki bağlantı noktadan noktaya (point-to-point, PPP) olduğu için paketin PPP
başlığında address kısmı önemli değildir, sadece tek bir kişi ya da kuruma ait hat olduğu için adres
alanı broadcast yazılarak gönderilir.
hostname R2
!
interface Serial 0/0/0
ip address 192.168.3.1 255.255.255.0
encapsulation ppp
Karşılıklı aynı tanımlama yapılır
hostname R3
!
interface Serial 0/0/0
ip address 192.168.3.2 255.255.255.0
encapsulation ppp
R2 paketi PPP protokolüne uygun header ekleyerek gönderir. Header ın address alanında 0X8F yani
broadcast adres yazılıdır.
R3, gelen paketi alır ve layer-2 seviyesinde PPP başlığını çıkarır, Layer-3 seviyesinde paketin
Destination IP: 192.168.4.10 gitmek istediğini görür. Aşağıda Routing table da görüldüğü gibi
192.168.4.0 network ü R3 e direk bağlı bir network tür. Dolayısı ile pakete direk PC2 nin MAC adresini
yazarak iletebilir (bilmiyorsa ARP request le öğrenir). Paketin source MAC ine de kendi çıkış interface
inin MAC ini yazar.
Giden paket;
Source MAC: 0C-22, Destination MAC: 0B-20
Source IP: 192.168.1.10 Destination IP: 192.168.4.10
Böylece paket teslim edilmiş olur. PC2 den PC1 e Dönüş(cevap) paketi de aynı mantıkla IP ler
değişmeden, her hop ta MAC adresleri değiştirilerek iletilir.
Örnek PC2 den çıkan paket;
Source MAC: 0B-20, Destination MAC: 0C-22 (R3 Fa0/0)
Source IP: 192.168.4.10 Destination IP: 192.168.1.10
R3-R2 arası PPP (burayı atlıyorum MAC adresi yok, MAC adres değişimi yok)
R2 den çıkan paket;
Source MAC: 0B-31, Destination MAC: 00-20 (R1,Fa0/1)
Source IP: 192.168.4.10 Destination IP: 192.168.1.10
R1 den çıkan paket;
Source MAC: 00-10, Destination MAC: 0A-10 (PC1)
Source IP: 192.168.4.10 Destination IP: 192.168.1.10
FARKLI VLAN LAR ARASI PAKET İLETİMİ
Farklı VLAN lar arası iletişim üç şekilde olur
1-Legacy inter-VLAN routing
2-Router-on-a-stick
3-InterVLAN routing using Layer 3 switch using Switched Virtual Interface (SVI)
Legacy inter-VLAN routing
https://www.networkacademy.io/ccna/ethernet/forwarding-data-between-vlans
(Aşağıdaki şekilde) bu yapıda switch Router a her VLAN için ayrı ayrı kablo ile bağlanır. Router da her
bir VLAN için fiziksel interface tanımı yapılır. Aşağıdaki paket iletimi sırasında MAC address değişimi
yukarda anlatıldığı gibi geleneksel yani Router ın bir interface den başka bir interface ine geçerken
MAC address leri değiştirilerek paket forward edilir.
Buradaki örneğe göre VLAN 10 PC2 den→ dan VLAN 20 PC3 e giden paketin
Source MAC: PC2 MAC (VLAN10), Destination MAC: Router 1 gi0/0 MAC (VLAN10 default gateway)
Source IP: PC2 IP (VLAN10), Destination IP: PC3 (VLAN20)
**Router1 den yönlendirme kararı yapıldıktan ve çıkış yapacağı interface (gi0/1) belirlendikten sonra
Source MAC: Router 1 gi0/1 MAC (VLAN20 default gateway) , Destination MAC: PC3 MAC (VLAN 20)
Source IP: PC2 IP (VLAN10), Destination IP: PC3 IP(VLAN20)
Router(config)#interface gi0/0
Router(config-if)#no shutdown
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#description USERS
Router(config-if)#exit
Router(config)# interface gi0/1
Router(config-if)#no shutdown
Router(config-if)#ip address 10.1.0.1 255.255.255.0
Router(config-if)#description SERVERS
Router(config-if)#end
Router-on-a-stick
https://www.networkacademy.io/ccna/ethernet/router-on-a-stick
Ancak VLAN sayınız artığında switch ten her VLAN için Router a bir interface bağlamak oldukça
maliyetli olacaktır demiştik. Bunun için çözümümüz switch ten Router a Trunk port tanımı ile VLAN
ların TAG ler ile birbirlerinden ayrılarak gönderilmesi demiştik. Peki bu VLAN lar Router üzerinde tek
bir interface te nasıl sonlandırılır(tanımlanır) ve bunlar arasında paket yönlendirmesi nasıl olur.
Router üzerinde her bir VLAN için sanal interface (subinterface) ler oluşturup, encapsulation dot1q
protokolünü seçerek Router ın; switchten gelen paketleri birbirinden TAG lerine göre ayırabilmesini
sağlarız.
(Switch üzerinde bu interface in tanımını trunk yaptığımız için paketleri TAG layarak gönderir.)
SW1(config)#interface fa0/3
SW1(config-if)#switchport trunk encapsulation dot1q (802.1q standardına göre encapsulation yapılacak)
SW1(config-if)#switchport mode trunk (bu interface te paketler TAG li taşınacak demek)
Router kendisine gelen paketlerin TAG ına bakar, VLAN ID =10 ise 0/0.10 subinterface inden kabul
eder, layer3 incelemesini-yönlendirmesini bu interface de yapar. VLAN ID=20 ise trafiği 0/0.20
subinteface inden kabul eder, layer3 incelemesini-yönlendimesini bu interface in tanımlarına göre
yapar. (Sanal interface ler=subinterface) (Aslında hepsi fiziksel olarak tek bir interface, 0/0 interface i
sanal olarak alt interface lere bölünüyor)
Router1(config)#interface GigabitEthernet 0/0.10
Router1(config-subif)#encapsulation dot1Q 10
Router1(config-subif)#ip address 192.168.1.1 255.255.255.0
Router1(config)#interface GigabitEthernet 0/0.20
Router1(config-subif)#encapsulation dot1Q 20
Router1(config-subif)# ip address 10.1.0.1 255.255.255.0
Peki bu iki VLAN 10 (GigabitEthernet 0/0.10) ve VLAN 20 (GigabitEthernet 0/0.20)
arasında paket yönlendirmesi nasıl olur(forwarding);
GigabitEthernet 0/0.10 gelen paketin forwarding kararı verildikten sonra paketin TAG i: VLAN
10 yerine VLAN 20 yapılıp GigabitEthernet 0/0.20 e yönlendirilir. Gelen ve giden paket için
fiziksel-gerçek interface ortak (GigabitEthernet 0/0) olduğu için paketleri birbirinden ayıran
özellik VLAN TAG idir.
Burada Fiziksel interface tek olduğu için (GigabitEthernet 0/0) MAC addressi de tek dir.
Fiziksel interface tek olduğuna göre, GigabitEthernet 0/0.10 ve GigabitEthernet
0/0.20 sanal sub interfacelerin MAC adresleri de Fiziksel interface in Mac adresiyle aynıdır ve tektir.
Paketlerin source ve destination MAC addresleri bu durumda nasıl olur. (bu konu hiçbir yerde detay
girilerek anlatılmamış, ben bulamadım, ancak bazı sitelerde GigabitEthernet 0/0.10 ve
GigabitEthernet 0/0.20 MAC addresslerinin aynı olduğu ama istenirse konfigürasyon yapılarak
her birine farklı MAC address i tanımlanabileceği yazıyor.
Bu örnekte orijinal çalışma şekli anlatılır (hepsinin MAC i aynıdır);
Router 1 gi0/0(fiziksel int.) MAC = Router 1 gi0/0.10(sanal int.) MAC = Router 1 gi0/0.20(sanal int.)
MAC = hepsi aynıdır
Paketin MAC address değişimi
VLAN 10 PC1 den→ dan VLAN 20 PC4 e giden paketin
Source MAC: PC1 MAC(VLAN10), Destination MAC: Router 1 gi0/0.10 MAC (VLAN10 default gateway:
192.168.1.1)
Source IP: PC1 IP (VLAN10) , Destination IP: PC4 (VLAN20) (Aynı kalır)
**Router1 den yönlendirme kararı yapıldıktan ve çıkış yapacağı interface (gi0/0.20) belirlendikten
sonra Tag i 20 yapılır ve Mac adresleri aşağıdaki gibi değiştirilir:
SourceMAC: Router1 gi0/0.20 MAC (VLAN20 default gateway) ,Destination MAC: PC4 MAC (VLAN 20)
Source IP: PC1 IP (VLAN10) , Destination IP: PC4 IP(VLAN20) (Aynı kalır)
InterVLAN routing using Layer 3 switch using Switched Virtual Interface
(SVI)
https://www.networkacademy.io/ccna/ethernet/intervlan-routing
Peki VLAN larımızı Router üzerinde değilde, trafiğin Backbone switch te dönmesini
istiyorsak, Bunun için özel üretilmiş Multilayer-Layer2 switch aldıysak nasıl olucak.
VLAN larımızı Router yerine bu Layer3 switch üzerinde sonlandıracağız (VLAN a IP addresi
verilmesi)
Bu switch ler özel olarak üretildiği için üzerinde Routing engine ile gelir yani paketi Layer3
inceler ve paketin gitmek istediği IP ye göre, Routing tablosuna bakarak (tıpkı router gibi)
forwarding kararı verebilir.
Bu durumda paketin VLAN lar arası iletimi de tıpkı yukardaki gibi (Router on a stick (ROAS)
olur. Tek fark paket bir trunk port tan geçmez, switch in kendi içinde VLAN10 dan VLAN 20
ye geçerken TAG i değiştirilir. Yani PC1(VLAN10) dan PC2 (VLAN 20) ye gitmek isteyen
paket
PC1 den çıkan paket:
Source MAC: PC1 MAC(VLAN10), Destination MAC: SW MAC address (VLAN 10 -192.168.1.1 in MAC
addresi-Vlan10 default gateway)
Source IP: PC1 (VLAN10), Destination IP: PC2 (VLAN20) (AYNI kalır)
**Switch de gitmek istediği PC2 nin VLAN20 de olduğu tablodan bulunur, gideceği VLAN için TAG
değiştirilir. VLAN ID=20 yapılır.
Switch tarafında değiştirilen paket:
Source MAC: SW MAC address (VLAN 20 -10.1.0.1 in MAC addresi), Destination MAC: PC2 (VLAN20)
Source IP: PC1 IP (VLAN10) , Destination IP: PC2 IP(VLAN20) (burası Layer3 header AYNI kalır)
NOT: Switch te VLAN10-192.168.1.1(DefaultGateway) in MAC addresi ile VLAN2010.1.0.1(DefaultGateway) in MAC addresi aynıdır. Switch in tek bir MAC adresi vardır. (Aşağıdaki
şekilde de görüldüğü gibi)
AMA gerekli olduğu durumlarda aşağıdaki anlatıldığı gibi switchin MAC addressi her VLAN için
(manual-configuration) ayrı ayrı tanımlanabilir.
https://www.cisco.com/c/en/us/support/docs/switches/catalyst-6000-series-switches/41263catmac-41263.html
By default, Catalyst switches come with the same MAC address configured on all interfaces
Yukarda anlatılan Layer3 switch üzerinde yapılan VLAN config ;
**Önce VLAN lar tanımlanır
L3Switch(config)#vlan 10
L3Switch(config-vlan)#name CLIENTS
L3Switch(config-vlan)#exit
!
L3Switch(config)#vlan 20
L3Switch(config-vlan)#name SERVERS
L3Switch(config-vlan)#exit
**sonra VLAN lar istenilen portlara atanır
L3Switch(config)#int range fastEthernet 0/1 – 4 (1 den 4 e kadar olan
portlar demek)
L3Switch(config-if-range)#switchport access vlan 10
L3Switch(config-if-range)#exit
L3Switch(config)#int range fastEthernet 0/15 - 18
L3Switch(config-if-range)#switchport access vlan 20
L3Switch(config-if-range)#end
**en son yine Layer3 switch üzerinde VLAN na IP verilerek sonlandırılır;
L3Swtich(config)#interface Vlan10
L3Swtich(config-if)#description CLIENTS
L3Swtich(config-if)#ip address 192.168.1.1 255.255.255.0
L3Swtich(config-if)#exit
L3Swtich(config)#interface Vlan20
L3Swtich(config-if)#description SERVERS
L3Swtich(config-if)#ip address 10.1.0.1 255.255.255.0
L3Swtich(config-if)#end
EK KAYNAKLAR:
https://www.comparitech.com/net-admin/inter-vlan-routing-configuration/
https://ccna-200-301.online/inter-vlan-routing-operation/
https://www.ciscopress.com/articles/article.asp?p=2208697&seqNum=4
VLAN
https://www.ciscopress.com/articles/article.asp?p=3089357&seqNum=4
https://www.ciscopress.com/articles/article.asp?p=3089357&seqNum=6
https://www.section.io/engineering-education/inter-vlan-routing/
https://youtu.be/NmkFzDrZsXM
VLAN tanımlama örnekleri
https://www.firatboyan.com/vlan-trunk-nasil-yapilandirilir.aspx
https://www.firatboyan.com/vlan-yapilandirilmis-lokasyonlarin-noktadan-noktayarouting-yonlendirme-islemi.aspx
https://www.firatboyan.com/inter-vlan-routing-router-on-a-stick-yapilandirma.aspx
TABLOLAR
LAYER 2 TABLOLARI
Bir network ün neden subnet lere bölündüğünü gördük. Broadcast (BUM) paketlerini kesmek için,
zaten bu subnet lere aynı zamanda broadcast domain de denir.
Aradaki cihazların tablolarının belli bir kapasitesi olduğu için her cihazın dünyadaki tüm PC veya
server ların IP sini ve MAC adresini bilmesine imkân yok gerek de yok. Herkes kendine yakın olanların
bilgisini tutar.
PC ler ; sadece kendi VLAN nındaki PC lerin MAC adresini (hatta sadece öğrendiklerini) tutar (ARP
table).
Aşağıda ipconfig komutu ile; PC nin IP adresi: 172.22.15.28, bu PC nin default gatewayi: 172.22.15.1
(bunları PC, Ethernet kart ayarlarından alır (biz elle girdiğimiz için) ya da ortamda DHCP varsa oradan
otomatik kendisine bir IP kiralar.)
PC route tablosunda da görebiliriz (route print | more)
0.0.0.0 0.0.0.0 172.22.15.1 (PC için default route=default gateway)
1.senaryo
Source IP: 172.22.15.28 Destination IP:172.22.15.39 (Aynı networkteler yani Aynı VLAN dalar)
ARP adres tablosunu cmd yi açıp “arp -a” yazarak görebiliriz.
Kendi VLAN ındaki PC lerle bu tabloyu kullanarak haberleşir. Tablosunda Destination PC ile ilgili bilgi
yoksa ARP request göndererek MAC adresini öğrenir ve tablosuna yazar. Sonrada onunla iletişime
geçer.
Bunun için;
Paket önce source PC nin bağlı olduğu Layer2 switch e gönderilir,
Layer2 Switch; MAC address table ına bakar.
Layer2 Switch; sadece kendi üzerinde tanımlı VLAN lardaki PC lerin MAC address lerini tutar.
Aşağıdaki örnekte VLAN20 nin MAC address tablosu görülmektedir; (Bizim örnekte VLAN2)
Tabloda; PC lerin MAC i ve bağlı oldukları port bilgisi yazar,
Layer2 switch; eğer destination PC=172.22.15.39 MAC bilgisi kendi üzerinde ise yani port bilgisi kendi
portu ise, paketi o portuna teslim eder.
Kendi üzerinde değilse “Mac address Port” bilgisinde Backbone switch e bağlı trunk interface i olarak
görür. Paket buradan Backbone switch e(üst) gönderilir.
Backbone switch(Layer3) ; Paketin VLAN ID sine bakar ve Bu VLAN a ait MAC address table nı açar.
Bu tabloda Destination MAC=172.22.15.39 nın MAC adresi vardır. Bu MAC adresi için port bilgisinde
aynı VLAN a üye diğer alt Layer2-switch e giden trunk interface yazar. Backbone switch bu trunk
interface ten paketi bir alt Layer2 switch e teslim eder.
Aşağıdaki şekle göre; Layer2 switchler (VLAN2 tanımlı olan) üzerinde ve Layer3 switch üzerinde
VLAN2 MAC address Tablosu vardır. Aynı VLAN daki Paketler, sadece bu tablolara bakılarak
yönlendirilir.
2. senaryo
Source IP=172.22.15.28 Destination IP:172.22.70.7
Destination PC Başka VLAN da ise, farklı VLAN lar arası yönlendirme Layer3 seviyesinde olacağı için
Source PC paketi layer2 seviyesinde kendi VLAN default-gateway in (172.22.15.1) MAC ine
göndermesi gerekir.
Örnek: 172.22.70.7 gönderilmek istenen bir paketin;
Source MAC=172.22.15.28 MAC, Destination MAC= 172.22.15.1 MAC (Default Gateway in MAC
adresi)
Sourece IP=172.22.15.28 Destination IP:172.22.70.7 yazar (layer 3 seviyesinde gitmek istediği yerin
IP si yazılır)
Paket önce Layer2-switch e geldiğinde Switch, Paketin Destination MAC: 172.22.15.1 MAC adresinin
nerde olduğunu bulmak için yine VLAN2 MAC address table na bakar.
Tabloda 172.22.15.1 IP sinin MAC adresi Backbone switch e ait olduğu için port bilgisi olarak trunk
interface yazılıdır.
Layer2 switch Paketi trunk interface ten Backbone switch e gönderir.
Backbone switch Paketin içinde Destination MAC: 172.22.15.1 MAC adresini görür, bu kendi üzerinde
tanımlı VLAN2 nin sonlandırma IP sinin MAC adresidir. (switch in kendi MAC adresi)
Dolayısı ile bu paket bana gelmiş diyerek üst Layer da paketi açar. Layer 3 seviyesinde açtığında
destination IP:172.22.70.7 sini görür ve Paketin başka bir yere gitmek istediğini anlar.
Mask ile AND leme yaparak bu paketin hangi subnetwork e gitmeye çalıştığını öğrenir. Paketin gitmek
istediği yerin nerde olduğunu bulmak için Routing table na bakar.
Cat3550#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2,
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, * - candidate default, U - per-user static route,
o - ODR, P - periodic downloaded static route
Gateway of last resort is 200.1.1.2 to network 0.0.0.0
200.1.1.0/30 is subnetted, 1 subnets
200.1.1.0 is directly connected, FastEthernet0/48
10.0.0.0/24 is subnetted, 3 subnets
C
172.22.70.0 is directly connected, Vlan4
C
10.1.3.0 is directly connected, Vlan3
C
10.1.2.0 is directly connected, Vlan2
S* 0.0.0.0/0 [1/0] via 200.1.1.2
C
Paketin VLAN4 e gitmek istediğini öğrendikten sonra VLAN 4 ün MAC address tablosuna bakar.
Tabloda 172.22.70.7 MAC adresinin port bilgisi olarak; bir alt Layer2 switch e giden trunk interface i
görür. Paketin VLAN ID sini değiştirir ve VLAN ID=4 yaparak trunk interface ten bir alt Layer2 switch e
teslim eder. Aşağıdaki şekildeki görüldüğü gibi VLAN 4 ün tanımlı olduğu switch e gönderir.
(Paket ilerlerken VLAN ID ve MAC adres değişikliğinin nasıl yapıldığı üst konularda anlatılmıştı)
https://www.cisco.com/c/en/us/support/docs/lan-switching/inter-vlan-routing/41860-howto-L3intervlanrouting.html
Eğer paket Backbone switch in bilmediği bir yere gitmek istiyorsa; paket en son Router a gönderilir.
Router paketi hazırlarken MAC addreslerini Arp tablosundan öğrenir.
“Show ip arp” komutu ile Router ın ARP tablosunu görebiliriz.
Eğer aynı kurum içinde başka bir Router a gitmek istiyorsa bu tablodan gitmek istediği yerin MAC
adresini öğrenir, paketi hazırlar ve gönderir.
https://study-ccna.com/the-arp-table-on-a-cisco-router/
R1#show ip arp
Protocol
Address
Internet
10.0.0.1
Internet
Age (min)
Hardware Addr
Type
Interface
-
0060.5C32.7E01
ARPA
GigabitEthernet0/0
10.0.0.10
6
000C.85CA.AD73
ARPA
GigabitEthernet0/0
Internet
172.16.0.1
-
0060.5C32.7E02
ARPA
GigabitEthernet0/1
Internet
172.16.0.2
10
0001.63DB.1802
ARPA
GigabitEthernet0/1
Eğer internete çıkmak isteyen bir paketse ISP ye bağlı interface iniz de hangi protokol çalışıyorsa
(Frame Relay, ADSL, MPLS..vb) paket ona göre başlık eklenerek hazırlanır ve gönderilir.
LAYER 3 TABLOLARI
Routing Table
Backbone switch veya Router larda , Layer3 yönlendirme yaparken kullanılan tabloya denir ve “ Show
ip route” komutu ile görülür.
Bu komutun çıktısında Router(Layer3)Switch üzerinde static girilen route bilgileri veya varsa bir
protokol ile komşularından öğrendiği route bilgileri yer alır. Bu bilgiler içinde paketin gitmek istediği
network le ilgili bir bilgi yoksa , Router veya (Layer3)switch paketi, üzerinde elle girilmiş olan default
route a gönderir.
Aşağıdaki örnekte default route:
0.0.0.0/0 is directly connected, serial0/0/1
Yani paketin gitmek istediği yer ile ilgili Routing table ında hiç bilgi yoksa paketi buraya gönder
demektir, PC lerdeki “default-gateway” gibi.
Aşağıdaki örnekte default-route olarak R1 in R3 e bağlı olan bacağı s0/0/1 girilmiş
İki farklı yöntemle tanımlama yapılabilir;
R1(config)# ip route 0.0.0.0 0.0.0.0 S0/0/1
**YA DA R3 ün (karşı tarafın) interface IP si ile tanımlama yapılır(next-hop)
R1(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.2
Yukardaki örnekte R1 in göremediği R3 ün arkasında olan networkler static route olarak R1 e girilmiş.
R1(config)# ip route 198.133.219.0 255.255.255.0 S0/0/1 (ya da next-hop yazılır:10.1.1.2)
R1(config)# ip route 209.165.200.224 255.255.255.224 S0/0/1 (ya da next-hop yazılır:10.1.1.2)
NOT: Eğer bu iki router RIP ya da OSPF konuşuyor olsaydı, route bilgilerini static(elle) girmemize
gerek kalmazdı, birbirlerine üzerlerindeki network bilgilerini söylerlerdi. (Aşağıda anlatılacak)
https://sites.radford.edu/~hlee3/classes/backup/itec451_spring2017/Cisco/CCNA2_RSE_spring2017/
Lab%20Source%20Files_solutions/2.2.2.5%20Lab%20%20Configuring%20IPv4%20Static%20and%20Default%20Routes%20-%20solution.pdf
Show ip route komutu ile Routing tablosundaki bilgiler görülebilir.
3-İp Routing table yönlendirmesi
Kısaca forwarding(Layer3 yönlendirm) işlemi, Routing Table a bakılarak gidilmek istenen network le
ilgili route bilgisinin bulunması ve tablodan öğrendiği bilgiye göre ilgili interface ten (outgoing
interface) paketi göndermesi işlemidir.
Routing table da ; route bilgilerini nasıl öğrenildiği bilgisi ve route ile ilgili değerler yer alır.
https://ipcisco.com/lesson/routing-table/
En sondaki interface; bu networke gitmek için kullanılacak Router’ın kendi interface idir (outgoing
interface)
Router kendisine bağlı network lerle ilgili bilgiyi Routing Table ına otomatik olarak işler ve C harfi ile
gösterir (directly connected). Router a, networklerle ilgili static route bilgisi girebiliyoruz demiştik. Bu
şekilde öğrenilen (Bizim öğrettiğimiz) route bilgileri de S harfi ile gösterilir.
Networkümüz büyüdükçe her route bilgisini her cihaza elle(static) tek tek girmek ve gerektiğinde
güncellemek zor olacağından, büyük networklerde Router ların kendi aralarında konuşup,
üzerlerindeki networkleri ya da öğrendikleri networkleri birbirlerine söylemelerini sağlayan
protokoller geliştirilmiştir.
Star şeklinde bağlı bir topology niz varsa, static route ile yönetebilirsiniz, ancak mesh bir topolgy niz
varsa bir Routing protokol çalıştırmanız gerekir.
Routerlar kendi aralarında;
İç networklerde (Interior Gateway Protocols (IGPs)): RIP, IGRP, OSPF, IS-IS, EIGRP
Dış dünya ile (Exterior Gateway Protocols (EGPs)): BGP(IBGP-EBGP) protokollerini kullanarak
konuşurlar. (Komşuluk kurarlar)
“Show ip route” komutu ile Router üzerindeki Routing table ı görebiliriz. Routing table da aşağıdaki
gibi öğrenilen network (route) bilgileri bulunmakta. Route bilgilerinin nasıl öğrenildiği ve AD/metric
değerleri de yer almaktadır.
Kullanılan harfler route bilgisinin nasıl öğrenildiğini gösterir bize;
I-IGRP ,R-RIP,O-OSPF, C-connected, S-static , E-EGP derived, B-BGP derived, i-IS-IS derived
Router# show ip route
Codes: I - IGRP derived, R - RIP derived, O - OSPF derived
C - connected, S - static, E - EGP derived, B - BGP derived
* - candidate default route, IA - OSPF inter area route
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
Gateway of last resort is 131.119.254.240 to network 129.140.0.0
O E2 150.150.0.0 [160/5] via 131.119.254.6, 0:01:00, Ethernet2
E
192.67.131.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
O E2 192.68.132.0 [160/5] via 131.119.254.6, 0:00:59, Ethernet2
O E2 130.130.0.0 [160/5] via 131.119.254.6, 0:00:59, Ethernet2
E
128.128.0.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
E
129.129.0.0 [200/129] via 131.119.254.240, 0:02:22, Ethernet2
E
192.65.129.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
E
131.131.0.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
E
192.75.139.0 [200/129] via 131.119.254.240, 0:02:23, Ethernet2
E
192.16.208.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
E
192.84.148.0 [200/129] via 131.119.254.240, 0:02:23, Ethernet2
E
192.31.223.0 [200/128] via 131.119.254.244, 0:02:22, Ethernet2
E
192.44.236.0 [200/129] via 131.119.254.240, 0:02:23, Ethernet2
E
140.141.0.0 [200/129] via 131.119.254.240, 0:02:22, Ethernet2
E
141.140.0.0 [200/129] via 131.119.254.240, 0:02:23, Ethernet2
https://blog.router-switch.com/2013/12/show-ip-route/
https://www.networkstraining.com/cisco-show-ip-route-command/
Administrative distance (preference); Bir networkle(destination) ile ilgili öğrendiği bilgiye route bilgisi
demiştik. Bu route bilgisinin nasıl öğrenildiğine göre administrative distance değeri değişir. Router;
Bir networkle ilgili birden fazla kaynaktan birden fazla route bilgisi öğrenebilir, bunlardan
“administrative distance” değeri KÜÇÜK olanı tercih eder.
Eğer aynı network için öğrendiği route ların hepsi aynı “administrative distance” değerine sahipse bu
sefer aralarında seçim yapmak için “Metric (Cost)” değerine bakar. En düşük Metric(Lowest Cost) li
olan Route bilgisini seçer ve O networke (destination) gitmek isteyen paketleri bu yola(path e)
gönderir.
Metric; Destination Network e gitmenin maliyetini hesaplama yöntemidir. Bunun için değişik
parametreler kullanılır ve her Routing Protocol farklı parametre kullanabilir. Bunlar genel olarak;
Hop count (kaç hop atlandığı), bandwidth (hattın kapasitesi) değeri, Load (hat yoğunluğu), Delay
(gecikme değeri), Reliability (hattın güvenilirliği), Communication cost (hat maliyeti) olabilir.
https://study-ccna.com/administrative-distance-metric/
RIP sadece hop count sayısına göre path kararı verdiği için en basit seviye protokoldür.
Destination network e giden iki path(route) arasında metric değerlerini eşitliyerek Load Balancing
yapılmasını sağlayabiliriz. Ya da birinin Metric değerini fazla yapıp, daha ucuz ya da daha az yoğun
olan diğer linki(hattı) tercih edilmesini sağlayabiliriz.
https://www.ciscopress.com/articles/article.asp?p=2273507
https://www.youtube.com/watch?v=NRt06ms2ZPg
https://www.ciscopress.com/articles/article.asp?p=27573&seqNum=9
https://www.acpsd.net/site/handlers/filedownload.ashx?moduleinstanceid=53975&dataid=56119&F
ileName=Module-10.pdf
Perefix length: eğer bir networkle ilgili öğrendiği subnet maskları farklı birkaç route bilgisi varsa,
içlerinden öncelikle subnet mask ı en uzun olanı tercih eder. (longest prefix)
Aşağıdaki örnekte 192.168.32.0/26 route bilgisini tercih eder ve yıldız işareti koyar.
router# show ip route
....
D
192.168.32.0/26 [90/25789217] via 10.1.1.1
R
192.168.32.0/24 [120/4] via 10.1.1.2
O
192.168.32.0/19 [110/229840] via 10.1.1.3
Routing protokollerinin çalışması ve konfigürasyonu çok geniş bir konu, küçük network lerde (star
topology) genellikle static route kullanıldığı için temel seviyede bilmek yeterli.
Ancak büyük networkler(mesh) de RIP, OSPF gibi protokolleri kullanmak gerekebilir, bunları daha
detaylı öğrenmek için en iyi Türkçe kaynak;
https://docplayer.biz.tr/431309-Turkce-ccna-egitim-notlari.html
BGP (IBGP, EBGP) eğer ISP (Telekom, Turkcell vb..) ile aranızda iki hattınız varsa kullanmak mantıklı.
Hem yük dağılımı sağlarsınız hem de bir hat kesildiğinde tüm trafiğin diğer hat üzerinden otomatik
kesilmeden geçmesini sağlarsınız. Ya da bir hattın (pahalı olan) yedek olmasını, sadece ana hat
gittiğinde kullanılmasını sağlayabilirsiniz (metric değerleriyle oynayarak).
https://www.networkcomputing.com/data-centers/bgp-basics-internal-and-external-bgp
https://support.huawei.com/enterprise/en/doc/EDOC1100086956
https://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocoleigrp/8651-21.html
https://www.flackbox.com/cisco-ospf-cost-metric
http://sariyildiz.net/networking/routing/routing-protokolleri/
https://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway-routing-protocoleigrp/8651-21.html
4- Router larda yazılan ACL ler
https://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html
https://www.ciscopress.com/articles/article.asp?p=3089353&seqNum=7
Kurumlarda genelde farklı dairelerin birbirinden izole olması istenir. Yani bir Dairede çalışan birisinin
başka bir Dairede çalışan kişilerin (yetkisi varsa) bilgisayarlarına ya da dosya paylaşımlarına izinsiz
erişmesi istenmeyebilir, ya da güvenlik amaçlı bir kişiye bulaşmış bir virüs ün sadece o subnette kalıp
başka yerlere yayılması engellenmek istenebilir, ya da bazı kaynakları (yazıcı gibi) başkaları tarafından
kullanılması istenmeyebilir vb sebepler. Bu gibi durumlarda farklı subnetlerin birbiriyle erişmesini
engelleyen ya da sadece bazı portlardan erişmesine izin veren kurallar yazabiliriz.
Bu kurallara Access List denir (ACL). En önemli üç ACL çeşidi vardır
1-Standart Access List (number range: 1-99)
2- Extended Access List (number range: 100-199)
3-Named Access List
Standart Access List;
Sadece kaynak IP sine göre kural yazılabilir. Standart ACL leri, hedefe(destination) en yakın yere
uygulamak gerekir.
Aşağıdaki şekilde görüldüğü gibi 192.168.2.2 makinasından 192.168.1.2 makinasına erişimi (ping
atayı) kesmek istiyorsak, ACL timizi Hedefe en yakın yer olan Router 1 in 192.168.1.10 lu interface ine
uygulamamız gerekiyor.
2- Extended Access List;
Kaynağa, Hedefe (Destination) ve port a göre kural yazılabilir. Extended ACL leri, kaynağa en yakın
yere yazmak gerekir.
Komutarımız aşağıdaki gibidir, öncelikle ACL imizi yazarız
“Deny” ile engellemek yapmak istediğimizi “host” ile tek bir pc yi engellemek istediğimizi,
“192.168.2.2.” IP side engellemek istediğimizi PC nin IP sini gireriz.
Bu komutu yazdığımız anda default “Access-list 1” için en altta görünmeyen bir
“Access-list 1 deny any any” kuralı gelir. Yani biz sadece bir host(pc) yi engellemek istedik ama en
altta bu kural olduğu için bu ACL ti interface e uyguladığımız an herşeyi keseriz. O yüzden mutlaka izin
vermek istediğimiz Hostları ya da networkleri “Permit” kuralı ekleyerek belirtmek zorundayız. Yoksa
tüm trafik kesilir.
Sıra geldi bu ACL di Router 1 de Hedefe en yakın yere uygulamaya, Router 1 in interface ine
uygulamak istediğimiz için komut satırında-CLI (command line interface) interface in altına gidiyoruz
Bu interface in altında tanımlamış olduğumuz Access-list in numarasını vererek uygulanmasını
sağlarız. Ancak dikkat edilmesi gereken bu “Access-list 1” in 192.168.1.10 interface in de “in”
yönünde mi “out” yönünde mi uygulanacağı. Aşağıda paketin izleyeceği yola bakarsak, “Access-list 1”
i 192.168.1.10 interface ine uyguladığımız için orda paket çıkarken yani “out” yönünde (Router1 den
çıktığı için) “Access-list 1” i uygulamalıyız.
Ama bu örnekte “Access-list 1” i Router 1 de “50.50.50.2” IP li interface e uygulamış olsaydık
“Access-list 1” i bu sefer “in” yönünde (Router1 e girdiği için) uygulamamız gerekirdi.
Biz bu örnekte “192.168.1.10” interface i ne uyguladığımız için paket çıkarken “Access-list 1”
uygulanmalı o yüzden komutta da bunu belirtmeliyiz.
Uyguladığımız ACL i görmek için
Ama bu Standart Access list in dezavantajı, 192.168.2.2’den 192.168.1.2 ye gitmek isteyen tüm trafiği
engellemesi. Yani ben sadece ping paketi engellemek istesek AMA diğer DNS, http gibi portların
çalışmasını istesek bunu Standart Access list ile yapamayız. O yüzden bunun için Extended Access List
geliştirilmiştir.
Extended Access List;
Extended Access List ile hem kaynak hem hedef hem protokol hem port belirterek kural yazabiliriz
demiştik. Aşağıdaki örneğimizde 192.168.1.1 sunucusu hem DNS server hem de Web server olarak
hizmet vermekte ve üzerinde www.yahoo.com (sahte) sayfasını tutmakta
192.168.2.2’den 192.168.1.1’e doğru giden paketlerde sadece DNS ve Web hizmetine erişilebilmesini,
geri kalan trafiğin kesilmesini istiyoruz.
Bunun için kuralı yazıp bu sefer Kaynağa en yakın yere yani “Router 0” ın 192.168.2.10 bacağına
uygulacağız.
“Eq 80” portunu girerek ile Web trafiğine “eq 53” portunu girerek te DNS trafiğine izin vermiş
oluyoruz.
Şimdi sıra geldi ACL i interface e uygulamaya
ACL Paketler bu interface e geliş yönünde uygulanmalıdır, çünkü paketler buraya geliyor.
Eğer “Router 0” ın 50.50.50.1 bacağına uygulamış olsaydık paketler buradan çıkıyor olduğu için ACL i
“out” yönünde uygulamalıydık.
Yapılan testlerde 192.168.2.2(PC0) üzerinde web browser açıp www.yahoo.com (test sayfası)
yazdığımızda sayfanın açıldığını görürüz, bu da bize hem DNS (53) portunun hem de WEB
portunu(http-80) açık olduğunu gösterir. Onun dışındaki trafikler ping, telnet...vb paketleri engellenir.
Hatta sadece 192.168.2.2 ye izin verdiğimiz için ve en altta default “deny any any” kuralı olduğu için
192.168.2.1’den gelen tüm trafikte engellenmiş olur. O yüzden kuralları çok dikkatli uygulamalıyız.
Çalışmasını istediğimiz networkleri tek tek permit ile eklememiz lazım. Bunun içinde wildcard
kullanırız.
Ya da bunu yapamıyorsak en azından en alta bir permit kuralı eklemeliyiz
router(config)#access-list 100 permit ip any any
Network belirtirken wildcard kullanıyoruz demiştik. Wildcard görüntü olarak networkün mask ının
tam tersi olarak düşünebiliriz, yani
Mask ta 1(bir) olan bitlerin hepsi wildcard ta 0(sıfır)
Mask ta 0(sıfır)olan bitlerin hepsi wildcard ta 1(bir) olarak gösterilir
Bunun anlamı Kural uygulanırken wildcard a 0(sıfır) olan bitleri dikkate al, 1(bir) olan yerleri dikkate
alma demektir.
Örnek;
6.6.6.6 (source) hostundan 10.10.10.0 networküne gitmek isteyen tüm DNS trafiğine izin vermek için
router(config-ext-nacl)#permit udp host 6.6.6.6 10.10.10.0 0.0.0.255 eq 53
yani bu kurala göre 6.6.6.6 makinasından örnek 10.10.10.75 olan makinaya 53 portundan gitmek
isteyen bir pakete izin verilecektir.
Named Access List;
Numara yerine isim verilerek yazılabilen kurallara denir. Sadece kaynak(standart) yada
kaynak,hedef,port(extended) belirterek yazabiliriz.
Örnek “test” adında bir extended Named ACL list yazalım
router(config)#ip access-list extended test
router(config-ext-nacl)#permit ip host 2.2.2.2 host 3.3.3.3
router(config-ext-nacl)#permit tcp host 1.1.1.1 host 5.5.5.5 eq www
router(config-ext-nacl)#permit icmp any any
bu kuralların içinden birini silmek yada değiştirmek istediğimizde hepsini bir notepad e kopyalayalım.
İlgili değişikliği yaptıktan sonra hepsini tekrar Named ACl altında yapıştırırsak ACL i silmeden kural
değişikliği yapmış oluruz.
router(config)#ip access-list extended test
Extended ACL ve Standart ACL de bunu yapmak içinse öncelikle ACL içinde satırlara veilen numaraları
görmemiz gerekir, bunun için “Show Access-list” komutu ile önce bir ACL in çıktısını aşırız.
Router#show access-list
Extended IP access list 101
10 permit tcp any any
20 permit udp any any
30 permit icmp any any
Sonra en başa bir satır eklemek istiyorsak bu sayıların sırasını bozmayacak uygun bir sayı seçeriz. Biz
en üste gelmesini istediğimiz için 10’dan küçük bir sayı seçiyoruz, örneğin=5
Ve kuralı ACL in altına gidip, 5 sayısı ile başlayarak yazıyoruz
Bunun için dikkat edilmesi gereken “Access-list 101” değil “ip Access-list extended 101” yazmalıyız.
Yoksa satır giremeyiz
Router(config)#ip access-list extended 101
Router(config-ext-nacl)#5 deny tcp any any eq telnet
Sonuç;
Router#show access-list
Extended IP access list 101
5 deny tcp any any eq telnet
10 permit tcp any any
20 permit udp any any
30 permit icmp any any
NOT: ACL listlerle ilgili değişiklik yapılacağı zaman mutlaka kurallar notepad e kopyalanmalıdır.
Genelde Tüm ACL list silinip yenisi eklenir ama bu tür işlemler sakıncalı olabilir çünkü belki ACL içinde
sizin Router a bağlanmanızı sağlayan bir satır vardır ve sildiğiniz anda o da gider ve bağlantınız kopar.
O yüzden tüm ACL i silip yenisini yapıştırmak yerine araya satırlar girmek
Ya da “no” komutu ile silmek istediğiniz satırı silip hemen aynı numaralı yeni kuralı girmek en sağlıklı
olandır.
Extended listin içine girilip
Router(config)#ip access-list extended 101
Router(config-ext-nacl#no 5 deny tcp any any eq telnet
YADA içine girmeden (config) modda;
router(config)#no access-list 101 deny tcp any any eq telnet
https://doganboz.wordpress.com/2010/05/21/access-control-listler-2/
5- NAT, PAT nasıl yapılır
Bir Kurumdaki herkes tek bir Public IP ile internette dolaşabilir. (Örnek: 212.175.74.132 )
Local area network kullanıcısı dışarıya çıkarken firewall da (yoksa router) Private IP si Public IP ye NAT
lanarak çıkar.
Örnek:
source IP:172.22.12.5 li bir bilgisayar dışarı çıkarken source IP:212.175.74.132 Public IP yapılarak
çıkar.
Bir kurumda https://whatismyipaddress.com/tr/ip-im adresinde Public IP nizin ne olduğuna bakmak
istediğinizde Kurumda ki herkes aynı IP yi görür.
Çünkü bütün Kurumdaki kişiler internete çıkarken tek bir IP ye NAT-PAT lanarak çıkarlar. Her bir
kişinin connection ı birbirlerinden, Firewall üzerinde NAT la beraber PAT yapılarak ayrıştırılır.
Yani her bir kişinin connection ı için bir port atanır. Network Address Translation tablosunda her bir
kişinin connection na atanan port bilgisi tutulur.
Aşağıdaki resimdeki gibi 3 ayrı bilgisayardan gelen connection lar 155.4.12.1 ortak IP sini kullanarak
dış dünyada gezinir, ama hepsinin connectionlarını birbirinden ayıran şey onların paketlerine atanan
port numaralarıdır. Cevap olarak dış dünyadan dönen paketlerdeki port bilgisinden o paketin kime
geldiği anlaşılır. 155.4.12.1:1055 portuna cevap olarak dönen paket, sadece 10.0.0.100 makinasına,
155.4.12.1:1056 portuna dönen cevaplar da sadece 10.0.0.101 makinasına teslim edilir.
Aşağıdaki çıktıda portlar şekildekinden farklı olmuş ama önemli değil aşağıda anlatılan sırada IP port
değişimi yapılıyor, önemli olan değişimin nasıl yapıldığını anlamak.
Bu örnekte özetle;
10.0.0.102:1025’den çıkıp 155.4.12.5:80’e gitmek isteyen paket arada NAT-PAT lama ile
source adresi: 155.4.12.1:1026 yapılıyor.
Paket giderken→
source adresi: 10.0.0.102: 1025 (inside local) , destination IP : 155.4.12.5:80 (outside local)
NAT lanarak ve PAT lanarak
155.4.12.1:1026 yapılıyor (inside global)
Destination adres değiştirilmiyor 155.4.12.5:80 (outside global)
Paket dönerken→ bu sefer cevap veren S1 sunucusu o yüzden source adreste onun IP si var.
source IP: 155.4.12.5:80 (outside global) destination IP: 155.4.12.1:1026 (inside global)
Tekrar NAT lanarak destination adres: 10.0.0.102: 1025 (inside local) yapılacak ve böylece cevap
paketi doğru kişiye teslim edilecek.
Source address: 155.4.12.5:80 (outside local) aynı kalacak
Detay: https://study-ccna.com/port-address-translation-pat-configuration/
Yalnız bu linkteki örnek konfigürasyonda, NAT lama yapacağı adres olarak Gi0/1 in IP sini kullan
demiş,
R1(config)#ip nat inside source list 1 interface Gi0/1 overload
Normalde aşağıdaki linkteki gibi bir “ip nat pool” belirleyip buradaki IP lerden birine NAT lama
yapılması istenir.
detay: https://www.ciscozine.com/nat-and-pat-a-complete-explanation/
Ciscozine(config)#interface fa0/0
Ciscozine(config-if)#ip nat inside
Ciscozine(config)#interface fa0/1
Ciscozine(config-if)#ip nat outside
Ciscozine(config)#ip nat pool havuz 10.0.16.1 10.0.16.6 prefix-length 29
Ciscozine(config)#ip access-list standard deneme
Ciscozine(config-std-nacl)#permit 172.16.0.0 0.0.0.15
Ciscozine(config)#ip nat inside source list deneme pool havuz
NAT tablosunda görüldüğü gibi
Source IP: 172.16.0.2:35694(inside local) destination IP: 10.0.0.100:80(outside local) giden paket NAT lanarak
Source IP: 10.0.16.2: 35694(inside global) destination IP: 10.0.0.100:80(outside global) yapılıyor.
Ciscozine#sh ip nat translations
Pro Inside global
Inside local
Outside local
Outside global
icmp 10.0.16.1:2
172.16.0.1:2
10.0.0.100:2
10.0.0.100:2
tcp 10.0.16.2:35694
172.16.0.2:35694
10.0.0.100:80
10.0.0.100:80
tcp 10.0.16.1:56185
172.16.0.1:56185
10.0.0.100:80
10.0.0.100:80
--- 10.0.16.1
172.16.0.1
---
---
--- 10.0.16.2
172.16.0.2
---
---
Örnek: https://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/8605-13.html
Ek bilgiler:
STP
https://www.cemaltaner.com.tr/2019/12/08/spanning-tree-protokolu-nedir-nasilyapilandirilir/
VTP
https://www.youtube.com/watch?v=59LIOPaaQVA
DHCP
https://documentation.meraki.com/General_Administration/Tools_and_Troubleshooting/Using_Pac
ket_Capture_to_Troubleshoot_Client-side_DHCP_Issues
https://www.cisco.com/c/en/us/support/docs/ip/dynamic-address-allocation-resolution/27470100.html#anc52
https://www.cisco.com/c/en/us/support/docs/ip/dynamic-address-allocation-resolution/27470100.html
https://docs.microsoft.com/en-us/windows-server/troubleshoot/dynamic-host-configurationprotocol-basics
Normalde internete çıkabilmek için PC üzerinde elle IP, subnet mask, Default gateway, DNS server
bilgilerini gireriz. Ama büyük networklerde her PC ye elle IP girmek, hangi IP nin boş olduğunu bulmak
(kullanılan bir IP girdiğinizde IP çakışması olur) ve işten ayrılanların IP sinin başkasına verilmesi gibi
konuların yönetilmesi giderek zorlaşacağından bu durumu yönetmesi için DHCP server kullanılmaya
başlanmıştır.
PC’lerin IP’yi DHCP serverdan alması için , üzerinde ethernet ayarlarında; aşağıdaki gibi IP adresini
otomatik al ayarlı olması gerekir, zaten default ta da PC böyle gelir.
Network and Sharing Center>Ethernet>Properties>Networking>Internet Protocol Version4
>Properties
Şekil-1’deki iletişim 4 adımda paket alışverişi ile gerçekleşir; (DORA process)
1234-
DHCP discover= Client PC tarafından DHCP server aramasının başlatılması
DHCP offer = DHCP server tarafından client PC ye bir IP (1.1.1.10) teklif edilmesi
DHCP request= Client PC tarafından, DHCP server’ın önerdiği IP (1.1.1.10) nin kabul edilmesi
DHCP Ack= DHCP server tarafından, client PC ye IP (1.1.1.10) yi kullanabilirsin mesajı
verilmesi. (DHCP server; Lease time(kiralama) süresi boyunca bu IP (1.1.1.10) yi bir başkasına
vermez.)
https://www.cisco.com/c/en/us/support/docs/ip/dynamic-address-allocation-resolution/27470100.html#anc52
Şekil-1
Understanding the Basic Operations of DHCP | NETMANIAS
Aşağıdaki şekilde kullanılan bilgiler;
PC nin MAC adresi=m1 olarak
DHCP Server’ın MAC adresi=m2
FF:FF:FF:FF:FF:FF= Broadcast MAC adres
255.255.255.255= Broadcast IP adres
1-DHCP Discover (Message type value=1)
Client PC bilgisayarının Ethernet ayarlarından DHCP den otomatik IP al seçildikten sonra, PC ye kablo
takıldığında (switch portunun da (no shutdown) açılması gerekli) PC networke bir DHCP discover
paketi gönderir. Ama DHCP server ın IP ve MAC adresini bilmediği için paketin bu kısımlarına
broadcast adresi yazar. Kendi source IP sine de henüz bir IP si olmadığı için 0.0.0.0 yazar.
Source MAC: m1,
Destination MAC: FF:FF:FF:FF:FF:FF (DHCP server MAC ini bilmediği için broadcast MAC)
Source IP: 0.0.0.0,
Destination IP: 255.255.255.255 (DHCP server IP ini bilmediği için broadcast IP)
Payload da Client PC MAC:m1 (Bunu DHCP server aldığında tablosuna kaydeder, hangi PC ye hangi IP
yi verdiğini PC’nin MAC adresi sayesinde karıştırmaz)
2-DHCP Offer (Message type value=2)
DHCP server, kendisine gelen bu talep paketine cevap olarak aşağıdaki paketi gönderir;
Source MAC: m2
Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 1.1.1.254 (DHCP server ın IP si)
Destination IP: 255.255.255.255 (Client PC ye henüz bir IP atanmadığı için broadcast gönderir)
DHCP server, IP havuzundan boş bir (Your IP=1.1.1.10) yi paketin payloadun içine gömerek PC ye
teklif olarak sunar.
Ayrıca payload içinde bundan başka Client PC MAC:m1, Router (default gateway) bilgisi, Subnet mask
bilgisi, DNS server bilgisi, Leased Time (IP yi kiralama süresi) ve DHCP server Identifier(1.1.1.254) si de
vardır.
Bu bilgileri DHCP server da scope oluştururken giriyoruz.
Detaylı Scope yapılandırması örneği: https://www.ismailaltinok.com/dhcp-server-scopeyapilandirmasi/
(en aşağıda nasıl scope tanıtılır var)
EK BİLGİ: Bu paket broadcast gönderildiği için subnetteki tüm PC lere gider, ama sadece payload
içinde Client PC MAC:m1 yazdığı için , paketi m1 kabul eder diğer PC’ler drop eder.
3-DHCP Request (Message type value=3)
Source MAC: m1
Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
Client PC bu teklifi yani IP (1.1.1.10) yi kabul eder. Cevap paketini DHCP server a yine broadcast
olarak gönderir, yani destination MAC ve IP sine broadcast adres yazılır. Source IP’ye de daha teklif
edilen IP’yi kullanmaya başlayamadığı için 0.0.0.0 yazar.
4-DHCP Ack (Message type value=5)
Source MAC: m2
Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 1.1.1.254
Destination IP: 255.255.255.255
DHCP server, client PC ye artık bu IP yi kullanabilirsin der ama yine cevap paketini Destination IP:
255.255.255.255 yazar çünkü client PC henüz 1.1.1.10 IP sini kullanmaya başlamamıştır.
Payload içinde yine your IP: 1.1.1.10 , client MAC: m1, Subnet mask bilgisi, Router(default gateway)
bilgisi, DNS bilgisi , Leased Time (IP yi kiralama süresi) ve DHCP server IP si de vardır.
Client artık en son olarak serverın gönderdiği DHCP Ack paketini alınca artık kendisine önerilen IP yi
kullanmaya başlayabilir.
Aşağıdaki şekilde paketlerin detay bilgileri ve payload değerleri verilmektedir.
Şekil-2
DHCP RELAY AGENT kullanımı
Yukardaki senaryoda client PC ve DHCP server aynı subnette idi. Gerçek ortamlarda networkte birden
fazla subnet olduğundan her subnet e ayrı ayrı DHCP server kurmak masraflı olacaktır.
Bu yüzden subnetleri yöneten Router cihazı üzerinde DHCP Relay Agent özelliği ayarlanır ve DHCP
server üzerinde de her bir subnet için ayrı ayrı scope tanımı yapılır(en aşağıda scope tanımı var)
Böylece herhangi bir PC hangi subnetten geliyorsa, o subnet için Server üzerinde tanımlanmış ilgili
scope tan boş bir IP verilir. Aşağıdaki şekil farklı bir örnektir farklı IP ler var ama subnetler için ayrı ayrı
oluşturulan scope ları gösterdiği için güzel bir örnektir.
Şekilde görüldüğü gibi her bir subnet için ayrı ayrı scope tanımlanmış ; 192.168.8.0, 192.168.100.0,
192.168.102.0, 192.168.104.0
192.168.104.0 scope altında “Address Leases” kısmında bu scope için DHCP server ın bu subnetteki
PC lere kiraladığı IP ler görülüyor. (sağda, Client IP address)
Detaylı Scope yapılandırması örneği: https://www.ismailaltinok.com/dhcp-server-scopeyapilandirmasi/
https://www.serverlab.ca/tutorials/windows/network-services-windows/step-step-creatingwindows-server-dhcp-scope/
Böylece büyük bir networkta tek tek PC lere IP ver, IP yi boşa çıkar, çakışma olmasın, hangi IP kimin,
kim hangi subnette gibi sorunlarla uğraşmamıza gerek kalmaz.
Yukarıdaki konuda, DHCP paketlerinin broadcast olarak Router olmayan bir ortamda gönderildiğini
gördük. Şimdi arada (DHCP server ve PC farklı subnetlerde) Router (ya da Layer3 cihaz) olduğunda
paketin nasıl iletildiğine bakalım.
Router kendisine gelen DHCP broadcast paketlerini normalde drop eder ve başka bir subnete (başka
bir bacağına=başka bir vlan a=başka bir broadcast domain e) geçmesine izin vermez. Çünkü adı
üstünde broadcast paketidir ve Layer3 cihazlar broadcast paketlerini subnetin dışına çıkarmazlar.
Aşağıdaki komut girildikten sonra, komutun girildiği interface ten kendisine gelen DHCP broadcast
paketini alarak, ip helper-address komutu ile belirttiğimiz DHCP server a gidecek şekilde bir unicast
pakete dönüştürür ve gönderir. Bunu nasıl yaptığı Şekil-3 ve Şekil-4’te anlatılmaktadır.
Şekil-3
https://www.netmanias.com/en/?m=view&id=techdocs&no=6000
Router’ın 1.1.1.0/24 subnetinin olduğu bacağının(interface) in tanımı aşağıdaki gibi yapılır;
Router> enable
Router# configure terminal
Router(config)# interface FastEthernet0/0
Router(config-if)# ip address 1.1.1.254 255.255.255.0 (interface e IP veriyoruz)
Router(config-if)# ip helper-address 100.1.1.1 (DHCP serverın Ip adresini belirtiyoruz)
Router(config-if)#no shutdown
Router(config-if)#exit
ÖNEMLİ: Aşağıdaki şekilde PC nin bulunduğu subnetin (1.1.1.0/24) default gateway’i=
1.1.1.254 (Router ın interface inin IP si) dolayısı ile PC’ninde gateway’i.
EK BİLGİ:Router da DHCP Relay Agent özelliğini aktif etmek için, aşağıdaki komutları girmek yeterlidir,
optional başka komutlarda vardır ama genelde kullanılmaz, bkz:
https://www.cisco.com/en/US/docs/ios/12_4t/ip_addr/configuration/guide/htdhcpre.html
DHCP server üzerinde;
1.1.1.0 subneti için 1.1.1.0 scope u oluşturulur ve Scope un başlangıç ve bitiş IP sini Maskını
belirtiriz.
Scope tanımı;
Start IP: 1.1.1.10 (istersek 1.1.1.1 den de başlatabiliriz ama genelde server lar için IP ihtiyacı
olabilir diye birkaç IP nin DHCP tarafından dağıtılması istenmez)
End IP: 1.1.1.254
Length: /24
Subnet mask: 255.255.255.0
Scope un Router(Default gateway) bilgisine 1.1.1.254 (Router ın interface IP si) adresi yazılır.
Şekil-4
1a DHCP Discover (Broadcast):
source MAC: m1
Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
PC, DHCP serverın MAC adresini bilmediği için PC den çıkan paketin Destination Mac adresi
broadcasttir: FF:FF:FF:FF:FF:FF
Yine PC DHCP serverın IP adresini bilmediği için ondan çıkan paketin Destination IP adresi
broadcasttir, Destination IP: 255.255.255.255
PC nin henüz IP adresi olmadığı için , Source IP:0.0.0.0
1b DHCP Discover (unicast):
source MAC: m3
Destination MAC: m5
Source IP: 100.1.1.254
Destination IP: 100.1.1.1
Router normalde kendisine gelen (1a) paketini broadcast paketi olduğu için 1.1.1.0/24 subnetinin
dışına çıkarmaz ve drop eder. AMA biz Routera DHCP relay Agent tanımı girdiğimiz için paketi alır ve
başka bir subnetteki (100.1.1.0/24 ) DHCP server a gidecek şekilde Unicast pakete dönüştürür.
Böylece paket drop edilmeden başka bir subnete geçebilmiş olur.
Router configure edildiği için artık DHCP server ın IP sini biliyor ve buraya gidecek unicast paketi bu
bilgiye göre hazırlayabilir.
Router(config-if)# ip helper-address 100.1.1.1
kendisine gelen 1a DHCP discover paketini DHCP server a gidecek şekilde düzenleyecek.
Routerın oluşturduğu paket source MAC paketin çıkış yaptığı Router ın interface MAC adresi:m3
Destination MAC: DHCP server ın MAC adresi:m5 (bunu ortamı dinleyerek önceden öğrendi
bilmiyorsa ARPrequest ile öğrenir.)
Source IP Router’dan paketin çıktığı interface inin IP si : 100.1.1.254 (client ın henüz IP si olmadığı
için kendi bacağının IP sini yazıyor)
Destination IP, ip helper-address komutu ile router a söylediğimiz DHCP serverın IP si: 100.1.1.1
***Router hazırladığı 1b DHCP discover paketinin içinde PAYLOAD da Relay Agent : 1.1.1.254
bilgisini de DHCP servera gönderir.***
DHCP server paketin içindeki bu bilgiye bakar ve üzerindeki scope lardan hangisinin Router (Default
gateway) bilgisi:1.1.1.254 ise(1.1.1.0/24 subneti) o scope tan boş bir IP bulur ve cevap paketi içine
yani 2a DHCP offer paketinin içine (payloada) bu IP yi yazar, PC ye teklif olarak sunar.
Detaylı Scope yapılandırması örneği: https://www.ismailaltinok.com/dhcp-server-scopeyapilandirmasi/
https://www.serverlab.ca/tutorials/windows/network-services-windows/step-step-creatingwindows-server-dhcp-scope/
Aynı zamanda 1b DHCP discover PAYLOAD u içinde talebi yapan Client MAC =m1 bilgisi de vardır
2a DHCP Offer (Unicast)
source MAC:m5
Destination MAC:m3
Source IP: 100.1.1.1
Destination IP: 1.1.1.254
-PC nin IP si henüz belli olmadığı için ,Router a kadar gönderilen paketin unicast olması gerektiği için,
Destination IP sine Relay Agent interface in IP si yazılır: 1.1.1.254***(DHCP server kendisine gelen 1b
DHCP Discover paketinin payloadu içinde bu bilgiyi öğrenmişti)
-PC farklı subnette olduğu için PC nin ya da 1.1.1.254’ün MAC adresini de bilmez, onun yerine Router
ın kendisine bakan bacağının MAC adresini bilir ve paketi oraya gönderir, Destination MAC:m3
-2a DHCP Offer paketinin PAYLOAD u içinde artık PC için önerilen IP bilgiside vardır:1.1.1.10
DHCP serverın bu IP ye nasıl karar verdiğini yukarda anlatmıştık.
2b DHCP Offer (Unicast or Broadcast)
source MAC:m2
Destination MAC: m1 or FF:FF:FF:FF:FF:FF
Source IP: 1.1.1.254
Destination IP: 1.1.1.10 or 255.255.255.255 (burada bence sadece 255.255.255.255 olmalı çünkü
daha PC yeni IP sini kullanmaya başlamadı)
Router kendisine gelen paketin source MAC ini: m2 yapar, Destination MAC e artık PC nin MAC i
yazılır ya da broadcast gönderilir.
**ÖNEMLİ: DHCP paketlerinin PAYLOAD u içinde Client MAC:m1 yani talebi yapanın MAC bilgisi vardı.
2b DHCP offer paketinde Destination MAC broadcast olursa eğer, bu paket tüm PC lere gider ama
sadece MAC adresi:m1 olan PC bu paketi dikkate alır.
EK BİLGİ: Source MAC i m5(DHCP server MAC) yerine m2(Router MAC) yapar çünkü bu Routerların
genel davranışıdır. MAC bilgilerini subnetler arası aktarmaz, onun yerine paketin source MAC ine hep
o subnete bakan kendi bacağının (paketin gideceği bacağın) MAC adresini yazarak gönderir.
3a DHCP Request (Broadcast)
source MAC:m1
Destination MAC: FF:FF:FF:FF:FF:FF
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
Bu paket halen DHCP protokolüne tarafından oluşturulduğu için yine Destination MAC ve IP
broadcast olarak üretilir.
Bu paketle ,PC IP teklifini kabul ettiğini DHCP server a bildirir, ama halen PC, 4b DHCP ACK paketi
gelene kadar bu IP yi kullanamaz. O yüzden buradaki PC IP si halen sıfırdır: Source IP: 0.0.0.0
3b DHCP Request (Unicast)
source MAC:m3
Destination MAC:m5
Source IP: 100.1.1.254
Destination IP: 100.1.1.1
Yine source MAC Router ın paketin çıktığı bacağının MAC i olacak şekilde değiştirilir:m3
Source IP Router’ın paketin çıkış yaptığı interface inin IP si
PAYLOAD içinde yine Relay Agent: 1.1.1.254 var
4a DHCP Ack (Unicast)
source MAC:m5
Destination MAC:m3
Source IP: 100.1.1.1
Destination IP: 1.1.1.254
Destination IP yine PC halen IP yi kullanmaya başlamadığı için Router DHCP Relay Agentın IP si:
1.1.1.254 ni yazar (yine 3b DHCP request payload içinde vardı.)
4b DHCP Ack (Broadcast)
source MAC:m2
Destination MAC: m1 or FF:FF:FF:FF:FF:FF
Source IP: 1.1.1.254
Destination IP: 1.1.1.10 or 255.255.255.255
Artık bu paketi alan PC, bunu aldıktan sonra 1.1.1.10 IP sini bundan sonra Leased Time süresi kadar
(bilgisi payload içinde var) kullanmaya başlar. Leased Time sonunda tekrar IP istiyorum diye DHCP
server a istek gönderir. DHCP server da genel olarak aynı PC ye aynı IP yi verir. Ama diyelim ki bir kişi
bir haftalık izne çıktı ve o sırada IP sini DHCP server başka birisine verebilir. Bununda önüne geçmek
için de DHCP serverda PC için IP address reservation işlemi yapılır ki, böylece o IP nin başka birisine
verilmesi engellenir. Örnek;
https://www.mustbegeek.com/configure-dhcp-reservation-in-windows-server-2012-r2/
DETAY BİLGİLER:
Başka bir DHCP Relay Agent konfigürasyon örneği
https://www.computernetworkingnotes.com/ccna-study-guide/how-to-configure-dhcp-relay-agenton-cisco-routers.html
DHCP paketlerinin aktarımının detaylı anlatımı
https://www.youtube.com/watch?v=4pkDL1pgCgQ
“Tech Terms” kanalı “DHCP Explained” videosu
DHCP SERVER ÜZERİNDE SCOPE TANITMA
https://www.ismailaltinok.com/dhcp-server-scope-yapilandirmasi/
Scope a bir isim verilir genelde subneti/maskı isim olarak verilir ya da department ya da şube adı da
verilebilir.
Bu scope ta dağıtılacak başlangıç ve bitiş IP aralığı belirtilir. MASK ı da belirtilir. Bu bilgi PC ye senin IP
ni ve maskın şu diye payload içinde iletilir.
DHCP server ın dağıtmasını istemediğimiz bir IP aralığı varsa buraya o girilir
IP nin ne kadar süreliğine PC’ye kiraya verileceği bilgisi girilir
Scope optionlarını şimdi girmek istiyorsanız yes seçilir. Scope option demek; DHCP server PC ye IP ve
mask bilgisinin yanında senin Default-gateway’in şu ve DNS’in şu diye bilgiler gönderir. BU bilgileri
burada girmezsek PC ye iletilmez o zamanda PC i DNS sunucusu olmadığı için internet sayfalarının
adlarını çözümlerken sorun yaşar.
Router yani PC için default-gateway bilgisi olmazsa olmazıdır. Bu bilgi olmadan PC başka subnetlerle
ve internetle iletişim kuramaz.
Bu bilgi yukardaki örneğimizde PC nin bağlı olduğu Router bacağının (interface) IP sidir =1.1.1.254
Router(config-if)# ip address 1.1.1.254 255.255.255.0 (interface e IP veriyoruz)
AMA bu örnekte scope tanımını 192.168.200.0 subneti için yaptığımızdan, bu subnet için Router ın
interface’ine verilen IP (192.168.200.2) buraya yazılıyor.
DNS server IP sini buraya girersek PC ye teklif edilecek paketin içinde bu bilgide PC ye iletilmiş olur.
DHCP server domainde olduğu için Domain adı otomatik gelmiş.
Next next ile biltirdiğimizde oluşturduğumuz scope’un görünümü şu şekilde olur
Scope option da girdiğimiz bilgiler görülür,
DHCP server, PC ye kiraladığı IP bilgisinin yanında bu bilgileri de payload içinde PC ye gönderir.
Download