tcp ip model with different layers
TCP / IP Modeli Katmanlarına Tam Bir Kılavuz:
Hakkında her şeyi öğrendik Firewall Güvenliği önceki eğitimimizde. Burada, bu eğitimde TCP / IP Modeli hakkında bilgi edineceğiz.
TCP / IP modeli, aktarım kontrol protokolünü ve İnternet protokolünü ifade eder.
Mevcut İnternet modeli, bu ağ modelini iletişim amacıyla kullanmaktadır. Baştan sona okuyun Ağ İletişimi Üzerine Eğitim Eğitimleri kavramın net bir şekilde anlaşılması için.
Bu protokoller, ağ üzerinden her iletişimi düzenleyen kuralların basit bir kombinasyonudur. Bunlar da kaynak ile hedef veya internet arasındaki iletişim için izlenecek yolu belirler.
TCP / IP Modeli, genel iletişim sürecini tamamlayan dört katmandan oluşur. Bu eğitimde, her katmanın işlevselliğine derinlemesine bir göz atacağız.
Bir yazılım testçisi olarak, yazılım uygulamaları bu modelin üst katmanı yani uygulama katmanı üzerinde çalıştığı için TCP / IP modeliyle empati kurmak gerekir.
Ne öğreneceksin:
Ağ mimarisi
Dört katmanlı mimari aşağıdaki gibidir:
Bu ağ modelinde kullanılan protokoller ve ağlar aşağıdaki şekilde gösterilmektedir:
Aşağıdaki diyagramın yardımıyla TCP / IP Modelindeki her katmanın protokollerini ve temel kullanımlarını özetleyelim.
TCP / IP Modelinde Her Katmanın İşlevleri
Aşağıda, TCP / IP Modelindeki her katmanın çeşitli işlevleri listelenmiştir.
Ağ Erişim Katmanı
Ağ Erişim Katmanının işlevleri aşağıda verilmiştir:
- Bu, TCP / IP Modelinin en alt katmanıdır ve fiziksel katmanın tüm işlevlerini ve OSI referans modelinin veri bağlantı katmanını içerir.
- Böylece iletişim için kullanılacak protokolleri, donanımı ve ortamı karakterize eder.
- İnternet katmanından gelen veri paketleri, hedefe fiziksel bir ortam üzerinden gönderilmek üzere bu katmana aktarılır.
- Bu katmanın ana görevi, veri baytlarını çerçevelerde birleştirmek ve IP veri çerçevesinin fiziksel ortam üzerinden iletimi için bir mekanizma sağlamaktır.
- Noktadan noktaya (PPP), kiralık hatları üzerinden noktadan noktaya bağlantı oluşturmak için kullanılan protokoldür. Ayrıca, modemler aracılığıyla son kullanıcı ve internet servis sağlayıcıları arasında bağlantı sağlamak için konuşlandırılmıştır. IP adreslerinin PPP bağlantıları üzerinden sağlanmasını da destekler.
- Son kullanıcıların çoğu, yalnızca Ethernet veri bağlantı protokolünde çalışan bir Ethernet bağlantısını tercih eder. Böylece, kapsüllenmiş veri çerçevelerinin Ethernet çerçeveleri içinde gönderilmesine izin veren Ethernet üzerinden PPP oluşturulur.
- PPPoE başlangıçta yönlendirici ve ISP yönlendirici gibi son kullanıcı ağ cihazları arasında bir tünel oluşturur. Daha sonra yönlendirici, tünel yönlendiriciler arasında noktadan noktaya bağlantı olarak çalıştığı için bu tünel üzerinden PPP çerçeveleri gönderir. Artık veriler bu teknoloji sayesinde WAN ağları üzerinden de aktarılıyor.
- PPP ayrıca ISP’ler ile verilerin kullanımının hesap verebilirliğini kontrol etmek için kimlik doğrulama sürecini kullanır. Yöntemler, parola kimlik doğrulama protokolünü (PAP) ve kanal el sıkışma kimlik doğrulama protokolünü (CHAP) içerir.
İnternet Katmanı
- Alttan ikinci katman İnternet katmanıdır.
- Veriler, veri paketine karşılık gelen başlıklar eklenerek TCP veya UDP tarafından bölümlere ayrıldığında, daha fazla iletişim için alt katmana gönderecektir.
- Veri paketinin hedeflendiği hedef ana bilgisayar, çeşitli yönlendiricilerden geçilerek yoluna ulaşılabilen başka bir ağda bulunabilir. Mantıksal adresleri atamak ve veri paketlerini etkin bir şekilde hedef ağa yönlendirmek İnternet katmanının görevidir.
- İnternet katmanı (IP), bu görevi gerçekleştirmek için kullanılan en popüler protokoldür.
internet protokolü
Bu protokolün amacı, veri paketlerini, bir dizi protokolü izleyerek paket başlığındaki bilgilere göre hedefe yönlendirmektir.
Kaynağın ve hedefin IP adresine sahip bir başlık eklenerek, TCP veya UDP'den alınan segment, paket olarak bilinen PDU'ya dönüştürülür. Paket yönlendiriciye ulaştığında, başlıktaki hedef adrese bakar ve ardından hedefe ulaşmak için paketi buna göre bir sonraki yönlendiriciye iletir.
Bunu bir Örnek ile anlayalım:
Aşağıdaki şekilde, ana bilgisayar A, ana bilgisayar B ile iletişim kurmak istediğinde, her ikisi de aynı kümenin IP adreslerine sahip aynı ağ aralığında olduğundan herhangi bir yönlendirme protokolü kullanmayacaktır.
Ancak Ana Bilgisayar A, Ana Bilgisayar C'ye bir paket göndermek isterse, protokolün yardımıyla hedef ana bilgisayarın başka bir ağdan olduğunu keşfeder. Bu nedenle yukarıdaki format, hedefe ulaşmak için bir sonraki atlama adresini bulmak için yönlendirme tablosuna bakacaktır.
Bu durumda, ana bilgisayar A, ana bilgisayar C'ye yönlendirici A, B ve C aracılığıyla ulaşacaktır. Yönlendirici C, bir anahtar aracılığıyla bir hedef ağa doğrudan bağlandığından, paket Ana Bilgisayar C'ye gönderilir.
yazılım testinde hataların sınıflandırılması
Yönlendirici, yönlendirmeyle ilgili tüm bilgileri IP başlık alanlarından alır. Veri paketlerinin uçtan uca teslimatından TCP / IP ağ katmanı (veri bağlantı katmanı) sorumlu olacaktır.
İnternet Protokolünde paket akışı
IPV4 Başlığı
- Versiyon: IPV4'ün sürüm numarası 4'tür.
- Başlık uzunluğu: Başlığın boyutunu gösterir.
- DS Alanı: DS alanı, farklılaştırılmış hizmetler alanını ifade eder ve paketler oluşturmak için kullanılır.
- Toplam uzunluk: Başlığın boyutunu ve veri paketinin boyutunu belirtir.
- Kimlik: Bu alan, veri paketlerinin parçalanması ve her alanın tahsis edilmesi için kullanılır ve böylece orijinal veri paketinin oluşturulmasına yardımcı olur.
- Bayraklar: Parçalanma prosedürünü belirtmek için kullanılır.
- Parça ofseti: Parçalanmış verileri doğru sırayla yeniden düzenlemek için bunları kullanan parça numarasını ve kaynak ana bilgisayarı gösterir.
- Ayrılık vakti: Bu, kaynak ana bilgisayar sonunda ayarlanır.
- Protokol: Veri iletmek için kullandığı protokolü belirtir. TCP'nin protokol numarası 6'dır ve UDP'nin protokol numarası 17'dir.
- Üstbilgi Sağlama Toplamı: Bu alan, hata tespiti için kullanılır.
- Kaynak IP Adresi: Kaynak uç ana bilgisayarın IP adresini kaydeder.
- Hedef IP adresi: Hedef ana bilgisayarın IP adresini kaydeder.
Bunu gelecekteki eğitimlerimizde ayrıntılı olarak tartışacağız.
Taşıma katmanı
- Bu, verilerin genel aktarımından sorumlu olduğu için alttan üçüncü katmandır ve kaynak ve hedef ana bilgisayar ile bir ağdaki cihazlar arasında uçtan uca mantıksal bağlantı kurulmasına yardımcı olur.
- Bu görevleri gerçekleştirmek için iki protokol kullanılır:
- Birincisi, bağlantı tabanlı ve güvenilir bir protokol olan İletim kontrol protokolüdür (TCP).
- İkincisi, bağlantısız bir protokol olan Kullanıcı datagram protokolüdür (UDP).
- Bu iki protokolü derinlemesine incelemeden önce, her iki protokol tarafından da kullanılan PORT NUMARASI kavramını tartışacağız.
Port numarası:
Bir ağda, bir ana cihaz aynı anda birkaç kaynaktan trafik gönderebilir veya alabilir.
Böyle bir durumda sistem, verinin hangi uygulamalara ait olduğunu tanımayacaktır. TCP ve UDP protokolleri, başlıklarına bir bağlantı noktası numarası koyarak bu sorunları çözer. İyi bilinen uygulama katmanı protokolleri, 1 ila 1024 aralığındaki bağlantı noktası numarasıyla tahsis edilir.
Kaynak ucunda, her TCP veya UDP oturumu rastgele bir bağlantı noktası numarasıyla tahsis edilir. Birlikte kullanılan IP adresi, bağlantı noktası numarası ve protokol türü, hem kaynak hem de hedef ucundaki bir soketi yeniden biçimlendirir. Her soket özel olduğundan, birkaç ana bilgisayar aynı zaman aralığında trafik gönderebilir veya alabilir.
Aşağıdaki tablo, taşıma katmanı protokolüne karşılık gelen çeşitli uygulama katmanı protokollerine atanan bağlantı noktası numarasını gösterir.
Uygulama Protokolü | Taşıma Protokolü | Port numarası |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (kontrol) | TCP | yirmi bir |
FTP (veri) | TCP | yirmi |
SSH | TCP | 22 |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Bağlantı noktası numarasını kullanarak çoklu oturum
TCP
- Uygulama katmanının büyük trafik veya veri akışını dolaştırması gerektiğinde, bunu ağlar arasındaki tüm uçtan uca iletişimi TCP'nin gerçekleştirdiği taşıma katmanına gönderir.
- TCP başlangıçta kaynak ve hedef arasında üç yönlü bir el sıkışma süreci kurar ve ardından verileri segmentler olarak bilinen küçük parçalara böler ve her segmente bir başlık ekler ve ardından bunu İnternet katmanına iletir.
Aşağıdaki şekil, TCP başlığının formatını gösterir.
- Üç taraflı anlaşma: Ağdaki kaynak ve hedef ana bilgisayar arasında bir bağlantı kurmak için TCP tarafından dağıtılan işlemdir. Güvenilir veri iletimi gerçekleştirmek için kullanılır. Görevi gerçekleştirmek için TCP başlığının kod bitlerinin SYN ve ACK bayraklarını dağıtır. Yeniden aktarımla birlikte olumlu bilgilendirme yaparak güvenilir iletişim sağlar ve PAR olarak da bilinir. PAR kullanan sistem, ACK'yı alana kadar veri segmentini yeniden iletecektir. Alıcı veriyi her attığında, gönderenin veriyi alıcıdan pozitif ACK'yı alana kadar yeniden iletmesi gerekir.
Üç yönlü anlaşmanın 3 adımı vardır ve bunlar aşağıdaki gibidir:
- Aşama 1: Kaynak ana bilgisayar A, hedef ana bilgisayar B ile bir bağlantı kurmak ister, SYN ve sıra numarası ile bir segment iletir; bu, ana bilgisayar A'nın Ana Bilgisayar B ile bir iletişim oturumu başlatmak istediğini ve hangi sıra numarasıyla tanımlandığını gösterir. bu segmentte.
- Adım 2: Ana bilgisayar B, sinyal bitinde SYN ve ACK ayarlı olarak ana bilgisayar A'nın talebine yanıt verir. ACK, alınan segmentin yanıtını belirtir ve SYN, sıra numarasını gösterir.
- Aşama 3: Ana bilgisayar A, Ana Bilgisayar B'den gelen yanıtı kabul eder ve ikisi arasında güvenli bir bağlantı kurar ve ardından bunun üzerinden veri aktarımına başlar.
Aşağıdaki şekilde açıklandığı gibi, üç yollu el sıkışma sürecinde, ilk olarak kaynak ana bilgisayar, SYN bayrağını ayarlayarak hedef ana bilgisayara bir TCP başlığı gönderir. Yanıt olarak, SYN ve alındı bayrağı kümesini geri alır. Hedef ana bilgisayar, alınan sıra numarası artı 1'i alındı numarası olarak uygular.
TCP IP, iletişim sisteminin istemci-sunucu modelini destekler.
Üç Yönlü El Sıkışma Süreci
- Veri segmentasyonu :
- Bu, TCP protokolünün özelliklerinden biridir. Uygulama katmanı, hedefe aktarım katmanına iletilmek üzere çok sayıda veri gönderir. Ancak taşıma katmanı, tek seferde gönderilecek verilerin boyutunu sınırlar. Bu, verileri küçük bölümlere ayırarak yapılır.
- Veri bölümlerinin sırasını tanımak için, TCP başlığında bir sıra numarası kullanılır ve bu, tüm veri bölümünün bayt numarasını tanımlar.
- Akış kontrolü:
- Kaynak ana bilgisayar, verileri bir segment kümesi halinde gönderecektir. Bir pencere bitine sahip olan TCP başlığı, bir seferde gönderilebilen segmentlerin sayısını bulmak için kullanılır. Hedef ucundaki önemsiz trafikten kurtulmak için kullanılır.
- Oturum başladığında, pencerenin boyutu küçüktür, ancak trafik zamanla arttıkça, pencerenin boyutu çok büyük olabilir. Hedef ana bilgisayar, akışı kontrol etmek için pencereyi ayarlayabilir. Bu nedenle pencereye sürgülü pencere denir.
- Kaynak, yalnızca pencere tarafından izin verilen segment sayısını iletebilir. Daha fazla segment göndermek için, önce ACK'yı aldıktan sonra alıcı taraftan bir alındı onayı bekleyecek ve daha sonra ihtiyacına göre pencerenin boyutunu artırabilecektir.
- Aşağıdaki şekilde, hedef ana bilgisayar, ACK'yi kaynak ana bilgisayara geri gönderdikten sonra boyutu 500'den 600'e ve ardından 800'e yükseltiyor.
- Güvenilir teslimat ve Hata Kurtarma :
- Karar verilen pencerenin son bölümü hedef tarafından alındıktan sonra, kaynak uca bir ACK göndermelidir. ACK bayrağı, TCP başlığında ayarlanır ve ACK numarası, varsayılan sonraki baytın sıra numarası olarak yerleştirilir. Hedef, segmentleri doğru sırada almazsa, ACK'yi kaynağa geri göndermez.
- Bu, iletim sırasında birkaç segmentin yanlış yerleştirildiğini ve tüm segmentleri yeniden ileteceğini açıklar.
- Aşağıdaki şekilde, kaynak, SEQ numarası 200 olan segment için ACK'yı almadığında, veriyi yeniden ilettiği ve ACK'yı aldıktan sonra veri segmentinin sonraki dizisini gönderdiği gösterilmiştir. pencere boyutuna göre.
- Sipariş Edilen Teslimat :
- TCP, verilerin hedefe sıralı olarak teslim edilmesini sağlar. Verileri, hedef ana bilgisayara teslim edilmek üzere uygulama katmanından aldığı sırayla teslim eder. Bu nedenle, sıralı teslimatı sürdürmek için, veri bölümlerinin iletimi sırasında sıra numarasını kullanır.
- Bağlantı Sonlandırma :
- Kaynak ve hedef arasındaki veri iletimi tamamlandığında, TCP, FIN ve ACK bayrakları göndererek oturumu sonlandırır ve kapatmak için dört yönlü bir el sıkışma kullanır.
TCP Sürgülü Pencere ve Güvenilir Teslimat
Kullanıcı Datagram Protokolü (UDP):
Veri aktarımı için güvenilmez ve bağlantısız bir protokoldür. Bu protokolde, TCP'nin aksine herhangi bir ACK bayrağı oluşturmaz, dolayısıyla kaynak ana bilgisayar hedef uçtan bir yanıt beklemeyecek ve verileri herhangi bir gecikme olmaksızın iletecek ve ACK için bekleyecektir.
Gerçek zamanlı bir senaryoda, UDP, veri paketlerinin bırakılması, paketlerin yeniden iletim için beklenmesi yerine seçildiği için kullanılır. Bu nedenle, veri kabulünün bir sorun olmadığı oyunlarda, çevrimiçi video izlemede, sohbetlerde vb. Bu senaryolarda, uygulama katmanında hata kontrolü ve düzeltme gerçekleşir.
UDP başlığı:
- Kaynak portu: 16 bit boyutunda olan kaynak uç paket bilgilerini sınıflandırır.
- Hedef bağlantı noktası : Ayrıca 16 bit boyutundadır ve hedef düğümdeki veri hizmetinin türünü sınıflandırmak için kullanılır.
- Uzunluk : UDP datagramının genel boyutunu gösterir. Uzunluk alanının maksimum boyutu, UDP başlığının kendisinin toplam boyutu olabilir.
- Sağlama toplamı : İletimden önce kaynak uç tarafından değerlendirilen sağlama toplamı değerini kaydeder. Herhangi bir değeri tutmuyorsa, tüm bitleri sıfıra ayarlanır.
UDP Uygulamaları :
- Datagram sağlar, bu nedenle IP tünelleme ve ağ dosya sistemi için uygundur.
- Kullanımı basittir, dolayısıyla DHCP'de ve önemsiz dosya aktarım protokolünde kullanılır.
- Vatansız olmak, IPTV gibi medya akışı uygulamaları için verimli hale getirir.
- IP üzerinden ses ve gerçek zamanlı akış programları için de uygundur.
- Çok noktaya yayını destekler, bu nedenle Bluetooth ve yönlendirme bilgileri protokolü gibi yayın hizmetleri için uygundur.
Uygulama katmanı
(i) Bu, TCP / IP modelinin en üst katmanıdır.
(ii) Bir oturum katmanının, sunum katmanının ve TCP / IP modelinin uygulama katmanının tüm görevlerini yerine getirir.
(iii) Çeşitli uygulamalarla arayüz oluşturma, veri kodlama, veri dönüştürme ve kullanıcıların çeşitli ağ sistemleriyle iletişim kurması için erişim sağlama işlevlerini birleştirir.
En yaygın uygulama katmanı protokolleri aşağıda tanımlanmıştır:
# 1) TELNET: Terminal öykünme protokolü anlamına gelir. Genellikle uzak uç uygulamalarına erişmeyi uygular. Ana bilgisayar olarak görev yapan telnet sunucusu, telnet istemcisi olarak bilinen uzak uç ana bilgisayarla bağlantı kurmak için bir telnet sunucusu uygulaması başlatır.
Bağlantı kurulduktan sonra telnet sunucusunun işletim sistemine sunulur. Sunucudaki insanlar, TELNET aracılığıyla uzak uçtaki ana bilgisayarı çalıştırmak ve erişmek için klavyesini ve faresini kullanır.
# 2) HTTP: Hiper metin aktarım protokolü anlamına gelir. World Wide Web'in (WWW) temelidir. Bu protokol, hiper metni farklı sistemler arasında değiştirmek için kullanılır. Bir tür istek-yanıt protokolüdür.
Örneğin, İnternet gezgini veya Mozilla gibi web tarayıcısı bir web istemcisi olarak işlev görür ve web sitesini barındıran bilgisayardaki uygulama akışı bir web sunucusu olarak işlev görür.
Böylelikle, HTML dosyaları ve müşteri tarafından talep edilen diğer işlevler gibi kaynakları sağlayan sunucu, mesaj satırında tamamlanma durumu verilerinin ve istenen verilerin içeriğine sahip olan müşteriye bir yanıt mesajı verir.
HTTP kaynakları, tek tip kaynak tanımlayıcıları (URI) HTTP ve https yöntemlerini dağıtan tek tip kaynak bulucular (URL'ler) tarafından ağ üzerinde tanınır ve konumlandırılır.
# 3) FTP: Dosya aktarım protokolü anlamına gelir. Dosyaları iki ana bilgisayar arasında paylaşmak veya aktarmak için kullanılır. FTP uygulamasını çalıştıran ana bilgisayar, FTP sunucusu gibi davranırken, diğeri FTP istemcisi gibi davranır.
Dosya paylaşımı talebinde bulunan istemci ana bilgisayar, verilere erişmek için sunucudan kimlik doğrulaması yapılmasını gerektirir. Yetkilendirildikten sonra, sunucudan her tür dosyaya erişebilir, dosya gönderebilir veya alabilir.
# 4) SMTP: Basit posta taşıma protokolü, e-posta göndermeye yönelik bir uygulamadır. Ana bilgisayarı e-posta göndermek için yapılandırırken SMTP kullanıyoruz.
# 5) DNS: Herhangi bir ağdaki ana cihazların her birinin, IP adresi adı verilen benzersiz bir mantıksal adresi vardır. Daha önce de tartışıldığı gibi, IP adresleri çok sayıda sayıdan oluşan bir gruptur ve ezberlemek kolay değildir. Google.com gibi bir web tarayıcısına herhangi bir web adresi yazdığımızda, aslında bir IP adresine sahip bir ana bilgisayar talep etmekteyiz.
Ancak DNS (alan adı sunucusu) her mantıksal IP adresine göre bir ad eşleştirip depoladığından, talep ettiğimiz web sayfasının IP adresini ezberlememiz gerekmez.
Bu nedenle, herhangi bir web sayfası için tarayıcıya yazdığımızda, IP adresini adla eşleştirmek için DNS sorgusunu DNS sunucusuna gönderir. Adresi aldıktan sonra, IP adresiyle bir HTTP oturumu oluşturulur.
# 6) DHCP: Herhangi bir ağdaki ana cihazların her biri, ağdaki diğer cihazlarla iletişim için bir IP adresi gerektirir. Bu adresi manuel yapılandırma veya dinamik ana bilgisayar yapılandırma protokolü (DHCP) kullanarak alır. DHCP kullanılıyorsa, ana bilgisayara otomatik olarak bir IP adresi atanacaktır.
Bir ağın 10.000 ana cihazdan oluştuğunu varsayalım. Daha sonra IP adresini her bir ana bilgisayara manuel olarak tahsis etmek çok zordur ve zaman alır, bu nedenle, alt ağ maskesi IP'si veya ağ geçidi IP'si gibi bağlı ana cihazlara bir IP adresi ve diğer bilgileri atamak için DHCP protokolünü kullanırız.
Yazılım test programları, son kullanıcıların çeşitli hizmetleri test etmelerini ve bu hizmetleri kullanmalarını sağladığından, TCP / IP modelinin bu katmanında çalışacaktır.
Sonuç
Katmanla ilişkili görevleri ve bunların bir iletişim sistemindeki faydalarını gerçekleştirmek için TCP / IP modelinin her katmanında kullanılan farklı protokolleri gördük.
Yukarıda tanımlanan tüm protokollerin, yazılım araçlarının test edilmesi ve uygulanmasında kendi önemi ve farklı rolleri vardır.
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Ağ Sistemindeki Katman 2 ve Katman 3 Anahtarları Hakkında Her Şey
- Güvenlik Duvarı İçin Tam Bir Kılavuz: Güvenli Bir Ağ Sistemi Nasıl Oluşturulur
- Yönlendiriciler Hakkında Her Şey: Yönlendirici Türleri, Yönlendirme Tablosu ve IP Yönlendirme
- Geniş Alan Ağı (WAN) Nedir: Canlı WAN Ağı Örnekleri
- HTTP (Köprü Metni Aktarım Protokolü) ve DHCP Protokolleri nedir?
- Önemli Uygulama Katmanı Protokolleri: DNS, FTP, SMTP ve MIME Protokolleri
- IPv4 ve IPv6: Tam Farkı Nedir?
- IP Adresim ve Konumum Nedir (Gerçek IP Adresinizi Buradan Kontrol Edin)