Paid-by-themewiki.top
EnglishFrenchGermanItalianJapanesePortugueseRussianSpanishTurkish

CCNA Gün 36 - FTP & TFTP

networkous ccna ftp tftp

Bu Yazıda FTP / TFTP'nin Kullanılma Amacı, FTP / TFTP İşlevleri ve Farkları, Cisco IOS Dosya Sistemleri ve Cisco IOS Güncellemesi Yapmak için FTP / TFTP Yapılandırması Hakkında Bilgi Edineceğiz.

FTP ve TFTP'nin KullanılmaAmacı

FTP (File Transfer Protocol) ve TFTP (Trivial File Transfer Protocol), Dosyaları Ağ Üzerinden Göndermek için Kullanılan Endüstri Standardı Protokollerdir. Her İkisi de Client-Server Modelini Kullanır.

Ağ Mühendisi Olarak FTP / TFTP için En Yaygın Kullanım, Ağ Cihazının İşletim Sistemini Yükseltme Sürecindedir. Cisco IOS'un Daha Yeni Sürümünü İndirmek için Cihazda FTP / TFTP Kullanabilir ve Ardından Cihazı Yeni IOS Image ile Yeniden Başlatabilirsiniz.

Elbette Bu Protokollerin Tek Kullanımı Bu Değildir. Ağ Üzerinden Farklı Cihazlar Arasında Her Türlü Dosyayı Aktarmak için Kullanılabilirler.

Topoloji

ftp tftp topology

Bu Topolojiye Herhangi Bir Kablo, vb. Bir Şey Eklemedim, Ayrıntıya İhtiyacımız Yok. Sol Tarafta software.cisco.com'da Server Var. Ağ Yöneticisi, Yeni IOS Image Dosyasını Cisco'dan İndirecektir. Ağ Yöneticisi, IOS Image ile Güncellenecek Olan Cihaz Tarafından Erişilebilen Bir FTP Server'a Dosyayı Aktarır. Ağ Yöneticisi, Dosyayı R1'in Flash Belleğine Kopyalamak için R1 CLI'da Komutlar Kullanır. Son adım, IOS'un Yeni Sürümünü Kullanarak R1'i Yeniden Başlatmaktır.

Ara Not

Bellekler

  • ROM (Read-Only Memory): Cihazın Mini İşletim Sistemini Barındırır ve Bootstrap Programını Saklar (İşletim Sisteminin Yerini Belirler).

  • Flash: İşletim Sistemi Dosyasının Sıkıştırılmış Halini (İmaj - Image) ve Yedek Dosyaları Barındırır.

  • NVRAM (Non Volatile RAM): Başlangıç Yapılandırma (Startup-Config) Dosyasını Barındırır.

  • RAM (Random-Access Memory): İşletim Sisteminin Çalışan Hali, Çalışan Yapılandırma Dosyası (Running-Config), Yönlendirilen Paketler veya Anahtarlanan Frame'ler, Route ve/veya MAC Adres Tablosunu Barındırır.

Ağ Cihazlarının Çalışması 

  • POST İşlemi Gerçekleştirilir.
  • ROM'daki Bootstrap Programı IOS İmajının Yerini Öğrenir ve Genişletir. İşletim Sistemi Bulunmazsa veya Yüklemesi Başarısız Olursa Cihaz ROMMON Modunda Mini IOS ile Başlatılır.
  • Genişletilen IOS İmajı RAM'e Yüklenir.
  • NVRAM'de Bulunan Başlangıç Yapılandırma (Startup-Config) Dosyası RAM'e Yüklenir. Bu Adım Başarısız Olursa Cihaz Setup-Dialog Modunda Çalıştırılır.

Yapılandırma Dosyaları 

Başlangıç Yapılandırma (Startup-Config) Dosyası

  • NVRAM'de Bulunur.

  • Cihazla İlgili Ayarları Saklar, Cihaz Açılırken Çalışan Yapılandırmaya (Running-Config) Dosyasına Dönüşür.

Çalışan Yapılandırma (Running-Config) Dosyası 

  • Cihazın Çalışırken Kullandığı Ayar Dosyasıdır (RAM).

  • Kaydedilince Başlangıç Yapılandırma (Startup-Config) Dosyasına Dönüşür.

  • Kaydedilmezse Cihaz Kapanınca Silinir.

  • Komutlar Çalıştığı Anda Bu Dosyada Yer Alır.

Ara Not Bitti.


TFTP (Trivial File Transfer Protocol)

FTP ile Karşılaştırıldığında Basit Olduğu ve Yalnızca Temel Özelliklere Sahip Olduğu için Trivial File Transfer Protocol Olarak Adlandırılmıştır.

TFTP, Yalnızca Client'in TFTP Server'a veya TFTP Server'dan Dosya Kopyalamasına İzin Verir. Bu Kadar!

TFTP, FTP'den Sonra Yayınlandı, Fakat FTP'nin Yerini Tutmaz. Hafif ve Basit Bir Protokolün Gelişmiş İşlevlerden Daha Önemli Olduğu Durumlarda Kullanılabilecek Bir Araçtır.

TFTP, Kimlik Doğrulama (Authenticiation - Username / PW) Kullanmaz. Bu Nedenle TFTP Server, Tüm TFTP İsteklerine Yanıt Verir.

TFTP'de Şifreleme (Encryption) Olmadığından Tüm Veriler Plaintext Olarak Gönderilir.

Bu Güvenlik Eksiklikleri Nedeniyle TFTP, Küçük Dosyaları Hızlı Bir Şekilde Aktarmak için Kontrollü Bir Ortamda Kullanılır. Örneğin Önemli Dosyaları İnternet Üzerinden Aktarmak için Kullanmamalısınız.

TFTP, UDP Port 69 Kullanır.

  • Client, TFTP Server ile İletişim Kurduğunda Destination Port Numarası UDP 69 Olacaktır.

  • TFTP UDP Kullandığından TCP'nin Sahip Olduğu Özellik Olan Yeniden İletim (Retransmission - Error Recovery) Kullanarak Güvenilirlik (Reliability) Sağlamaz.

  • TFTP, Yerleşik Olarak (Built-in) Bağlantı (Connection) ve Güvenilirlik (Reliability) Özelliklerine Sahiptir.


TFTP Reliability

  • Client, Server'a Dosya Aktarıyorsa, Server Her Data Mesajı için Ack Mesajı Gönderir.

  • Server, Client'e Dosya Aktarıyorsa, Client Her Data Mesajı için Ack Mesajı Gönderir. 

Beklenen Bir Data Mesajı Zamanında Alınmazsa, Bekleyen Cihaz Ack Mesajını Yeniden Gönderir.

Topoloji

tftp topology

Sağ Tarafta TFTP Client, Sol Tarafta TFTP Server Var.

TFTP Client, TFTP Server'dan Dosya İndirmek için Read Request Mesajı Gönderir. Ardından Server, Dosyanın Bir Bölümünü İçeren Data Mesajı ile Yanıt Verir.

Client, Data Mesajını Aldığını Onaylamak için Ack Mesajı ile Yanıt Verir, Ancak Bir Nedenden Dolayı Ack Mesajı Server'a Ulaşmıyor. Client, Ack Mesajı Gönderdiği için Bir Sonraki Data Mesajını Bekliyor, Ancak Gelmiyor. Client, Server'a Ack Mesajını Yeniden İletir.

Ardından Server Bir Data Mesajı ile Yanıt Verir ve Client, Ack Mesajı ile Yanıt Verir. Bu Süreç, Client Tüm Dosyayı Alana Kadar Devam Eder.

tftp reliability lock step communication

Bu İletişime Lock-Step Communication Denir. Client ve Server Dönüşümlü Olarak Bir Mesaj Gönderir ve Ardından Yanıt Bekler, Bir Mesaj Gönderir, Yanıt Bekler, .. 

Server Hiçbir Zaman Arka Arkaya İki Data Mesajı Göndermez (Yeniden İletim (Retransmission) Durumu Dışında).

TFTP Reliability, TCP Forward Acknowledgment ve Sliding Window Özellikleri Kadar Verimli Değildir, Ancak İş Görür :) TCP & UDP Konusunda Eksiğiniz Varsa İlgili Yazıyı Okumanızı Öneririm.


TFTP Connection

    1. Connection: TFTP Client, Server'a Bir İstek Gönderir (Read Request) ve Server, İlk Data Mesajı ile Yanıt Vererek Bağlantıyı Başlatır.

    2. Data Transfer: Client ve Server TFTP Mesajlarını Değiştirir. Biri Data Mesajı Gönderir ve Diğeri Ack Mesajı Gönderir (Lock-Step Communication).

   3. Connection Termination: Son Data Mesajı Gönderildikten Sonra Bağlantıyı Sonlandırmak için Son Bir Ack Mesajı Gönderilir.

tftp connection

TFTP, TCP Kullanmasa da Kendi İçindeki Bağlantıları Yönetmenin Temel Bir Yoluna Sahiptir.

Ara Not

TFTP'nin İlginç Bir Bölümünü Öğrenelim.

Client, Server'a İlk Mesajı Gönderdiğinde Dst. Port Numarası UDP 69 ve Src. Port Numarası Ephemeral Port Aralığından Seçilmiş Rastgele Port Numarasıdır. TFTP'de Bu Rastgele Porta Transfer Identifier (TID) Adı Verilir ve Söz Konusu Veri Aktarımını Tanımlamak için Kullanılır. Ancak Bu Noktada İşlevsellik Beklediğimizden Farklıdır. Server, Client'e Yanıt Verdiğinde Source Port Numarası Olarak Kullanmak Üzere Rastgele Bir TID Seçer. Source Port Numarası Olarak UDP 69 Kullanmaz. 

Ardından Client Bir Sonraki Mesajı Gönderdiğinde Dst. Port Numarası Yine 69 Değil, Server'ın TID'si Olacaktır.

Cihazlar, Veri Aktarımı Boyunca Bu İki Rastgele Portları Kullanmaya Devam Eder. Bu Nedenle TFTP UDP 69 Port, Yalnızca Client'dan Server'a Gönderilen İlk Mesajda Kullanılır.

tftp transfer identifier tid

Ara Not Bitti.


FTP (File Transfer Protocol)

FTP, TCP Port 20 / 21 Kullanır.

FTP, Kimlik Doğrulama (Authentication) için Kullanıcı Adı / Parola (Username / PW) Kullanır, Ancak Şifreleme (Encryption) Yoktur, Her Şey Plaintext Olarak Gönderilir.

Daha Fazla Güvenlik için FTPS (FTP over SSL/TLS) Kullanılabilir. Bu Protokol Ayrıca FTP Secure Olarak da Adlandırılır.

SFTP (SSH File Transfer Protocol) Protokolü de Daha Fazla Güvenlik için Kullanılabilir.

FTPS, Daha Fazla Güvenlik Ekleyen Bir FTP Güncellemesidir. SFTP ise Benzer Bir Ada Sahip Farklı Bir Protokoldür.

ftps vs sftp

FTP, TFTP'den Daha Karmaşıktır ve Yalnızca Dosya Aktarımlarına İzin Vermekle Kalmaz, Aynı Zamanda Client'ler Dosya Dizinlerinde Gezinebilir, Dizin Ekleyip Kaldırabilir, Dosyaları Listeleyebilir, vb.

FTP İki Tür Bağlantı Kullanır.

FTP Control Connection

TCP 21 Portunda FTP Control Bağlantısı Kurulur ve FTP Komutları Göndermek ve Almak için Kullanılır. Gerçek Veri Aktarımı, FTP Control Bağlantısı ile Yapılmaz.

Client, TCP Bağlantısı Başlatır ve Olağan SYN - SYN-ACK - ACK Değişimi Kullanılır. Artık FTP Control Bağlantısı Kurulmuştur.

tcp connection

Bu Aşamada Client, Server'a FTP Komutları Gönderebilir. Örneğin PC, Server'dan Bir Dosya Almak İstediğini Söylemek için FTP Komutu Gönderir. Server, Komutu Onayladığını Belirtmek için Yanıt Verir. 

ftp control connection

Şimdi Verileri Gerçekten Aktarmak için FTP Data Bağlantısına İhtiyacımız Var.


FTP Data Connection

Veriler Aktarılacağı Zaman Ayrı Olarak FTP Data (TCP 20) Bağlantısı Kurulur ve Gerektiğinde Sonlandırılır.

FTP Data Bağlantısı Kurmak için Kullanılabilecek İki Farklı Mod Vardır.

Active Mode

FTP Data Bağlantısı Kurmak için TCP Bağlantısını (SYN, SYN-ACK, ACK) Server Başlatır (Varsayılan Durum). Aktif Olarak İki Bağlantı Vardır; FTP Control ve FTP Data.

ftp data connection active mode


Passive Mode

ftp data connection passive mode topology

Topolojinin Değiştiğine Dikkat Edin. Client Artık Bir Firewall Arkasındadır.

FTP Data Bağlantısı Kurmak için TCP Bağlantısını (SYN, SYN-ACK, ACK) Client Başlatır.

Bu Genellikle Client, Server'dan Gelen Bağlantıyı Engelleyebilecek Firewall Arkasında Olduğunda Gereklidir. Firewall, Server'ın Yanıtlarına İzin Verir, Ancak Server TCP Bağlantısını Kendisi Başlatmaya Çalışırsa Engeller.

FTP Data Bağlantısı Kurularak Veri Alışverişi Yapılır.

ftp data connection passive mode

Firewall, Genellikle Dış Cihazların (Outside Devices) Bağlantı Başlatmasına İzin Vermez. Sadece FTP ile Alakalı Değildir. FTP Bağlantısının Sorunsuz Olarak Kurulabilmesi için Firewall İçeren Ağlarda Passive Mode Kullanmalıyız.


FTP vs TFTP

ftp vs tftp


Cisco IOS Dosya Sistemleri

Dosya Sistemi (File System), Verilerin Nasıl Saklandığını ve Kullanıldığını İfade Eder.

File System Görüntüleme Komutu: show file systems

cisco show file systems

Type Sütunu:

  • Disk: Flash Bellek gibi Depolama Cihazlarını İfade Eder. Burası Genellikle Cisco IOS İmaj Dosyasının Depolandığı Yerdir. Cihaz Başlatıldığında IOS Dosyası Flash Bellekten RAM'e Yüklenir.
  • NVRAM (Non-volatile): Geçici Olmayan RAM'i Belirtir. Cihazın Gücü Kesildiğinde Normal RAM Tüm Verilerini Kaybeder. Ancak NVRAM Yapmaz. Startup-Config Dosyası NVRAM'de Depolanır.
  • Network: Harici FTP / TFTP Sunucuları gibi Dosya Sistemlerini Temsil Eder.


Cisco IOS Güncelleme (TFTP)

Topoloji

cisco ios upgrade topology

R1, Cisco IOS Çalıştıran Bir Router'dır. Yeni IOS Sürümünü İndirip SRV1'e Kaydettik.

SRV1, Hem TFTP Hem de FTP Çalıştıran Bir Server ve R1'e SRV1'den Yeni IOS Sürümünü Almak için Her İkisini de Deneyeceğiz.

R1 Üzerinde Çalışan Mevcut IOS Sürümünü show version Komutuyla Görüntüleyebilirsiniz.

cisco ios show version

IOS Image: C2900-UNIVERSALK9-M

Version Number: 15.1(4)M4


NVRAM Görüntüleme Komutu: show nvram

Flash Görüntüleme Komutu: show flash

cisco ios show flash

Burada IOS Image Dosyasını Görebilirsiniz.

Yeni IOS Versiyonunu SRV1'den R1'in Flash Belleğine Kopyalamak için TFTP Kullanacağız.

Amacımız; R1'i Yeni IOS Versiyonu ile Boot Yapacak Şekilde Yapılandırmak ve Son Olarak da Eski IOS Versiyonunu Flash Bellekten Silmek.

Dosya Kopyalama Komutu (Enable Mode): copy source destination

cisco ios copy tftp flash

copy tftp: flash: Komutu ile TFTP Kullanarak TFTP Server'a Erişmek İstediğinizi Söylersiniz.

Daha Sonra Router Sizden TFTP Server'ın IP Adresini İster. Ardından İndirmek İstediğiniz Dosyanın İsmini Girin. Bu İsmi Önceden Bilmek Zorundasınız. Çünkü TFTP, Server'a 'Hangi Dosyalara Sahipsin?' Sorusunu Soramaz.

Ardından Dosyayı Router'da Hangi İsim ile Kaydetmek İstediğiniz Sorulur. Varsayılan İsmi Kabul Etmek için Enter Tuşuna Basmanız Yeterlidir. Dosya TFTP Server'dan Router Flash Belleğe Aktarıldı.

cisco ios copy tftp flash example

show flash Komutu ile Flash Bellek İçeriğini Kontrol Edelim.

cisco ios upgrade show flash

Burada TFTP Server'dan Kopyalanan Yeni IOS Image Dosyasını Görebilirsiniz.

Flash Memory IOS Image Boot Yapılandırma Komutu: boot system filepath

Bu Komut Kullanılmazsa Router, Flash Bellekte Bulunan İlk IOS Image Dosyası Kullanılarak Boot Edilir. Bu Nedenle Daha Yeni Sürümü Kullanmaya Zorlamak için Bu Komut Kullanılmalıdır.

Bu Komut Uygulandıktan Sonra Cihazı Yeniden Başlatmadan Önce Yapılandırmayı Kaydettiğinizden Emin Olun. Aksi Takdirde boot system filepath Komutu Etkili Olmaz.

Cihazı Yeniden Başlatma Komutu (Enable Mode): reload

cisco ios flash memory boot system file

Cihazı Yeniden Başlattıktan Sonra Tekrardan IOS Sürümünü Kontrol Etmek için show version Komutunu Kullandım.

cisco ios version

R1 Artık Eski 15.1 Sürümü Yerine 15.5 Sürümünü Kullanıyor.

Son Olarak IOS'un Eski Sürümünü (15.1) Flash Bellekten Silelim. Artık Buna İhtiyacımız Yok, Sadece Cihazda Yer Kaplıyor.

Cihazdan Dosya Silme Komutu: delete filepath

cisco ios delete flash file


Cisco IOS Güncelleme (FTP)

Router'ın FTP Server'a Bağlanırken Kullanacağı Kullanıcı Adı / Parola (Username / PW) Yapılandırma Komutları:

  • ip ftp username username
  • ip ftp password password

Aynı Kullanıcı Adı / Parolanın FTP Server'da da Yapılandırılması Gerekir.

Kalan İşlemler TFTP ile Aynıdır.

cisco ios upgrade ftp


FTP & TFTP Ek komutlar

  • copy running-config tftp -> Running-Config Dosyasını TFTP Server Çalıştıran Bilgisayara Yedekler.

  • copy startup-config tftp -> Startup-Config Dosyasını TFTP Server Çalıştıran Bilgisayara Yedekler.

  • copy tftp running-config -> TFTP Server Çalıştıran Bilgisayardaki Running-Config Dosyasını RAM’e Geri Yükler.

  • copy tftp startup-config -> TFTP Server Çalıştıran Bilgisayardaki Startup-Config Dosyasını NVRAM’e Geri Yükler.

  • copy flash tftp -> Flash Bellekteki IOS İmajını TFTP Server Çalıştıran Bilgisayara Yedekler.

Quizs

ftp tftp quiz


Cevaplar (Sırası ile):

  • b, d
  • a
  • c
  • d
  • b, c

LAB - ANKI

LAB Çözümü Sonradan Bu Yazıya Eklenecektir.

Okuduğunuz için Teşekkürler.

Bu İçerikleri de Beğenebilirsiniz

Yorum Gönder