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.