HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 11 DHCP - Dynamic Host Configuration Protocol ÖN BİLGİ Bilindiği gibi, uç bilgisayarlar, kullandıkları TCP-IP yazılımının gerektirdiği, IP adresi, alt ağ maskesi, varsayılan yönlendirici adresi gibi parametrelere değer atamadan iletişimde bulunamazlar. Bu parametrelere ilgili değerler, iki biçimde atanabilir: Söz konusu değerler, değişmedikleri sürece, kullanıcı ya da kurum ağ yöneticisi tarafından, bir defaya mahsus olmak üzere, durgun bir biçimde elle belirlenebilir. Bu amaçla ifconfig/ipconfig komutu kullanılır. LINUX işletim sistemindeki görünüme örnek aşağıdadır: Prof.Dr. Ali SAATÇİ (Ekim 2010) 1
Windows işletim sistemindeki görünüm aşağıdaki gibidir: ipconfig [/allcompartments][/? /all /renew[adapter] /release[adapter] /renew6[adapter] /release6[adapter] /flushdns /displaydns /registerdns /showclassid adapter /setclassid adapter[classid] /showclassid6 adapter /setclassid6 adapter[classid]] where adapter: Connection name (wildcard characters*and?allowed,see examples) Options: /? Display this help message /all Display full configuration information /release Release the IPv4 address for the specified adapter /release6 Release the IPv6 address for the specified adapter /renew Renew the IPv4 address for the specified adapter /renew6 Renew the IPv6 address for the specified adapter /flushdns Purges the DNS Resolver cache. /registerdns Refreshes all DHCP leases and re-registers DNS names /displaydns Display the contents of the DNS Resolver Cache. /showclassid Displays all the DHCP class IDs allowed for adapter. /setclassid Modifies the DHCP class id. /showclassid6 Displays all the IPv6 DHCP class IDs allowed for adapter /setclassid6 Modifies the IPv6 DHCP class id. The default is to display only the IP address, subnet mask and default gateway for each adapter bound to TCP/IP. For Release and Renew, if no adapter name is specified, then the IP address leases for all adapters bound to TCP/IP will be released or renewed. For Setclassid and Setclassid6, if no ClassId is specified, then the ClassId is removed. Examples: > ipconfig... Show information > ipconfig /all... Show detailed information > ipconfig /renew... renew all adapters > ipconfig /renew EL*... renew any connection that has its name starting with EL > ipconfig /release *Con*... release all matching connections, eg. "Local Area Connection 1" or "Local Area Connection 2" > ipconfig /allcompartments > ipconfig /allcompartments /all TCP-IP parametrelerin ipconfig komutu kullanılarak, elle belirlenmesinin değişik sakıncaları bulunur. Aynı IP adresin birden çok bilgisayara atanması sonucu adres çakışmalarının ortaya çıkması; IP adreslerinde değişikliğe gidilmek istendiğinde (IP adres planlamasında değişiklik yapılmak istendiğinde), ağda yer alan çok sayıda uç bilgisayarda değişiklik yapma zorunluluğu gibi sakıncalar, bunlardan kimileridir. Uç bilgisayarların TCP-IP parametrelerinin, merkezi olarak, tek elden ve özdevimli bir biçimde belirlenmesi; hem ağ yönetimine esneklik kazandıran, hem de NAT (Network Prof.Dr. Ali SAATÇİ (Ekim 2010) 2
Address Translation) diye anılan adres dönüştürme yöntemlerine altyapı sağlayan bir yaklaşım olarak ortaya çıkar. Bu yaklaşımı kullanan istemci-sunucu nitelikli standart uygulama, UDP uyumlu DHCP Dynamic Host Configuration Protocol/Program olarak bilinir. Bir yerel ağda yer alan uç bilgisayarlar, açılışta, DHCP-İstemci olarak bilinen uygulamayı çalıştırarak, DHCP Sunucu diye adlandırılan bir sunucuya bağlanıp gereksedikleri TCP-IP başlangıç ayar değerlerini elde ederler. Çizim-11.1. DHCP Uygulaması için 3 Değişik Ağ Bağlamı DHCP Sunucusuna bağlanabilmek için, istemci konumundaki uç bilgisayar, açılış sürecinde, yayın (broadcast) nitelikli (Hedef IP = 255.255.255.255 ya da alt ağ yayın adresi) bir sorgu iletisini, bağlı olduğu alt ağa yönlendirir. Söz konusu alt ağda bir DHCP sunucusu varsa (Çizim-11.1.a), bu sorgu iletisini, istemcinin gerekseme duyduğu ayar değerlerini, gene yayın nitelikli bir ileti ile yanıtlar. Bu amaçla, sunucuda bir IP adres öbeği bulunur. İstemde bulunan sisteme, belirli bir süre için, bu öbekten, o an kullanılmayan bir adres gönderilir. IP adresinin yani sıra, yukarıda da belirtildiği gibi, ağ maskesi, varsayılan yönlendirici adresi gibi bilgiler de, istemciye sağlanan başlangıç bilgileri arasında yer alabilir. Prof.Dr. Ali SAATÇİ (Ekim 2010) 3
Alt ağda birden çok DHCP sunucusu bulunduğu durumlarda (Çizim-11.1.b), DHCP istemcilere birden çok sunucudan yanıt gelebilir. İstemcinin hangi sunucunun sağladığı verileri kullandığının bilinebilmesi için, iletiler arasında, istem ve alındı iletilerine de yer verilir. DHCP Sunucusu, sorgulama yapan istemci uç bilgisayarla aynı alt ağ içinde bulunmuyorsa (Çizim-11.1.c), alt ağ yönlendiricisinin, DHCP yayın iletilerini ilgili sunucuya aktarması için ayarlanması gerekir. Bu durumda, yönlendirici-sunucu arası ileti aktarımı (alt ağ dışında), yayın adresleri (broadcast) yerine, tekil adreslerle (unicast) yapılır. Deneyde, Laboratuvar görünümü, Çizim 11.1 de gösterilen biçimde olacaktır. Deneyde kullanılan yönlendiricilerin herbirinin üzerinde, 2 adet ardıl ve 2 adet de Ethernet bağlantı kapısı bulunmaktadır. Ardıl bağlantı kapıları serial0/0/0- serial0/0/1, Ethernet bağlantı kapıları ise (FastEthernet) FA0/0-FA0/1 biçiminde numaralanmaktadır. Numaralardan ilki, arabirimin takıldığı yuvayı, ikincisi arabirimi, sonuncu ise arabirim üzerinde yer alan kapı numarasını göstermektedir. Serial0/0/1 numaralı kapı, 0 ıncı yuvaya takılı 0 ıncı ardıl arabirimin 1 inci bağlantı kapısı anlamına gelmektedir. FA0/0 ise 0 ıncı arabirimin 0 ıncı kapısı anlamınadır. Çizim 11.1 deki görünüm, yönlendiricilerin, ardıl bağlantı kapıları üzerinden halka biçiminde bağlandığı bir görünümdür. Her yönlendiriciye bir anahtar üzerinden 2 öğrenci bilgisayarı (B i1, B i2 ) bağlıdır. Anahtar ve 2 bilgisayar sisteminden oluşan yerel ağlar, yönlenidiriciler aracılığıyla, geniş ağ biçiminde bütünleşmektedir. Çizelge 11.1. Deney Ağı Bağlantı Tanımları Kaynak Birim Kaynak Kapı # Ağ Adresi Yönlendirici 1 Serial0/0/0 Bağlı değil Yönlendirici 1 Serial0/0/1 10.200.1.1 Yönlendirici 10 Serial0/0/0 10.200.9.2 Yönlendirici 10 Serial0/0/1 Bağlı değil Yönlendirici i (2 i 9) Serial0/0/0 10.200.(i-1).2 Yönlendirici i (2 i 9) Serial0/0/1 10.200.i.1 Yönlendirici i (2 i 9) FA0/0 10.100.i.1 B i1 (1 i 10) ethernet 10.100.i.2 B i2 (1 i 10) ethernet 10.100.i.3 Bağlantıların kapı numaraları ile ağ adresleri, Çizelge11.1 ve Çizim 11.1 üstünde verilmiştir. Prof.Dr. Ali SAATÇİ (Ekim 2010) 4
Serial0/0/0 Çizim 6.1. Deneysel Ağın Görünümü Prof.Dr. Ali SAATÇİ (Ekim 2010) 5
KURAMSAL HAZIRLIK ÇALIŞMASI 1. DHCP ile BOOTP ve RARP arasındaki ilinti ile, DHCP uygulamasının kullandığı standart kapı adreslerini araştırıp bulunuz. 2. DHCP uygulamasının, IP adresi atamada kullandığı 3 farklı yöntemi (dynamic, automatic and static allocation methods) açıklayınız. 3. DHCP uygulamasının ileti formatı ile ileti türlerini açıklayınız. 4. Yukarıda verilen 3 farklı ağ bağlamı için, uç bilgisayarların, açılış (boot) ve kapanışta (shut down) kullandıkları DHCP iletileri ile bunlara gönderilen yanıtları bir zaman çizeneği üstünde gösteriniz. Prof.Dr. Ali SAATÇİ (Ekim 2010) 6
DENEY ÇALIŞMALARI 1. Alt ağda tek bir DHCP-Sunucu nun bulunduğu durumun incelenmesi 1.1. Her grup, önce, ilgili olduğu uç bilgisayarlar ile yönlendiricilerinin bağlantılarına, Çizelge-11.1 de verilen durgun adres değerlerini atayarak sistemi çalışır biçime getirecektir. 1.2. Sistem, bir bütün olarak çalışır biçime geldikten sonra, her grup, alt ağında yer alan B i1 numaralı bilgisayarı DHCP-Sunucu olarak çalıştıracaktır 1. Bu bağlamda, DHCP-Sunucu IP adres öbeği, {10.100.i.20-200} aralığına ayarlanacaktır. 1.3. Bunun sonrasında, B i1 ve B i2 numaralı bilgisayarlarda, Ağ Çözümleyici (Network Analyser) nitelikli uygulama programı (örneğin Wireshark) promiscuous modda çalışırken, B i2 numaralı bilgisayarın ayarı, DHCP- İstemci olarak değiştirilecek (Automatically obtain IP address settings with 1 #yum install dhcp Prof.Dr. Ali SAATÇİ (Ekim 2010) 7
[DHCP]) 2 ve bilgisayarların ağ bağlantılarına ulaşan ethernet çerçeveleri kaydedilip yorumlanacaktır. B i2 numaralı bilgisayarın IP adresinin değişip değişmediği sınanacaktır. 1.4. B i2 numaralı bilgisayar kapatılıp (shut-down) yeniden açılacak ve bu süreçte B i1 numaralı bilgisayarın ağ bağlantısına ulaşan ethernet çerçeveleri kaydedilip yorumlanacaktır. Kaydedilen çerçeveler, dökümü alınarak saklanacak ve bunlara ve bunlar hakkında yapılan yorumlara Deney Raporu nda yer verilecektir. 2. Alt ağda DHCP-Sunucu nun bulunmadığı durumun incelenmesi 2.1. Birinci grup hariç diğer her grup, B i1 ve B i2 numaralı her iki bilgisayarını (Automatically obtain IP address settings with [DHCP]) DHCP-İstemci olarak kuracak ve bağlı olduğu yönlendiriciyi, DHCP yayın nitelikli çerçeveleri DHCP-Sunucuya aktaracak biçimde konfigüre edecektir. Bunu yaparken DHCP-Sunucu IP adresi, 10.100.1.1 değerine kurulacaktır. 2 LINUX için: SYSTEM>ADMINITSTRATION>NETWORK>eth0/1 Prof.Dr. Ali SAATÇİ (Ekim 2010) 8
2.2. Bunun sonrasında B i1 ve B i2 numaralı bilgisayarların IP adresleri sınanıp hangi değerlere kurulduğu belirlenecektir. 2.3. B i1 numaralı bilgisayarda, Ağ Çözümleyici (Network Analyser - örneğin wireshark) nitelikli uygulama programı promiscuous modda çalışırken B i2 numaralı bilgisayar kapatılıp açılacak ve bu süreçte, B i1 numaralı bilgisayarın ağ bağlantısına ulaşan ethernet çerçeveleri kaydedilip yorumlanacaktır. Kaydedilen çerçeveler, dökümü alınarak saklanacak ve bunlara ve bunlar hakkında yapılan yorumlara Deney Raporu nda yer verilecektir. DHCP Sunucu Ayar Kütüğü Örneği (dhcpd.conf) # Sample dhcpd.conf # # Sample configuration file for ISC dhcpd # ddns-update-style ad-hoc; # option definitions common to all supported networks... option domain-name "linuxhelp.ca"; # Your name servers. You can normally find these in # your /etc/resolv.conf file. These will be distributed to all DHCP # clients. option domain-name-servers 10.1.1.1, 65.39.196.215, 65.39.192.130; default-lease-time 600; max-lease-time 7200; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). log-facility local7; # Configuration for an internal subnet. subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.2 10.1.1.25; option domain-name-servers 10.1.1.1, 65.39.196.215, 65.39.192.130; option domain-name "linuxhelp.ca"; option routers 10.1.1.1; option broadcast-address 10.1.1.255; default-lease-time 600; max-lease-time 7200; } Prof.Dr. Ali SAATÇİ (Ekim 2010) 9
Kaynaklar: http://www.ietf.org/rfc/rfc2131.txt http://www.manpagez.com/man/8/ifconfig/ http://www.bind9.net/dhcpd.conf http://www.linuxhelp.net/guides/dhcp/ http://www.perturb.org/display/example_dhcpd_conf.html Prof.Dr. Ali SAATÇİ (Ekim 2010) 10