2.Bölüm: Uygulama Katmanı

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları ve İnternet
Advertisements

Bilgisayar Ağları Son Hafta
TCP/IP Mimarisi ve Katmanları
Hüseyin Gömleksizoğlu
WEB TASARIM Temel Kavramlar.
Özel Site.NET İnternet Nedir? Soner Sevindik.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
TEMEL AĞ TANIMLARI.
Network Layer Bölüm Ağ Katmanı Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
Filezilla Client & Server
Sıkışıklık kontrolüne yönelik yaklaşımlar
TCP (Transmission Control Protocol)
TCP/IP Protokolü.
E-TİCARET.
HTTP’yi (istemci tarafı) kendi kendinize deneyin
İnternet Programcılığı
İNTERNET.
İNTERNET VE İLETİŞİM.
İNTERNET.
İNTERNETİN TEMEL KAVRAMLARI
3. HTTP.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
Proxy-DNS Nedir?.
AĞ PROTOKOLÜ.
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
2- OSI BAŞVURU MODELİ & TCP/IP MODELİ
TCP/IP.
Open Systems Interconnection
2:UYGULAMA KATMANI2-1 Whois ve nslookup  Whois domen kayıt bilgilerine ulaşmak için kullanılan web servisidir. Whois  Nslookup msdos modunda da çalıştırarak.
FTP: File Transfer Protocol
TEMEL İNTERNET KAVRAMLARI
İNTERNET PROGRAMCILIĞI I
İNTERNET DÜNYAYI SARAN HAYALİ BİR AĞDIR BİLGİSAYARLAR ARASI İLETİŞİM AĞI. BİLGİYE EN HIZLI ULAŞIM.
Büyük Risk Bilgisayar Ağları Network Soru-Cevap 1 Bilgisayar Ağları
YONT 172 BİLGİ TEKNOLOJİLERİNE GİRİŞ II
Yönlendirici Mimarisi
IP, DNS ve Domain Çığır İLBAŞ.
İnternet Teknolojisi Temel Kavramlar
İnternet Teknolojisi Temel Kavramlar
BTEP 203 – İnternet ProgramcIlIğI - I
Anahtar link-katmanı cihazı: hublardan daha zeki, aktif rol üstlenir
BİLGİSAYAR AĞLARI GÜZ DÖNEMİ
3. Bölüm Taşıma Katmanı Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, July Transport Layer.
Taşıma Katmanı Öğr. Gör. Mustafa SARIÖZ
Internette iki çe ş it adresleme kullanılır. IP numarası herhangi bir bilgisayar internete ba ğ landı ğ ı anda, dünya üzerinde sadece ona ait olan bir.
BLM619 Bilgisayar Ağları ve Uygulamaları
 Bilgisayarlar arasında bilgi alışverişini, dosya iletimini sağlamaktadır.  Bu protokol kullanılarak, internet üzerinde bulunan herhangi bir bilgisayarda.
NAT: Network Address Translation (Ağ Adres Dönüşümü)
TCP/IP – DHCP Nedir?.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
İnternet Teknolojisi Temel Kavramlar
Chapter 5. Ağ Protokolleri
İNTERNET.
KIRKLARELİ ÜNİVERSİTESİ
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
TCP/IP. Network Katmanı ● Bu katmanda IP'ye göre düzenlenmiş veri paketleri bulunur. ● İletim katmanından gelen veriler burada Internet paketleri haline.
Öğretim Görevlisi Alper Talha Karadeniz Ağ Temelleri
Dünyanın bilgisine açılan pencere...
MAİL SERVER Oğuz ZARCI –
PORTLAR Gizem GÜRSEL
LDAP ( LİGHTWEİGHT DİRECTORY ACCESS PROTOCOL )
Temel Internet Kullanımı Y. Doç. Dr. M. Sıtkı İlkay Ekim 2006.
TCP/IP PROTOKOLÜ.
Dünyanın bilgisine açılan pencere...
Dünyanın bilgisine açılan pencere...
OSİ Modeli.
İstemci sunucu sistemleri ve ağlar
Milli Eğitim Bakanlığı Eğitek Haydar TUNA Teknik Öğretmen ve Yazar
Sunum transkripti:

2.Bölüm: Uygulama Katmanı 2.1 Ağ uygulamalarının esasları 2.2 Web and HTTP 2.3 FTP 2.4 Elektronik Posta SMTP, POP3, IMAP 2.5 DNS 2.6 P2P dosya paylaşımı 2:UYGULAMA KATMANI

2.Bölüm: Uygulama Katmanı Ağ uygulama protokollarının kavramsal ve işletim yönleri iletim-katmanı servis modelleri İstemci-sunucu Eşten-eşe (P2P) Yaygın kullanılan protokoller HTTP FTP SMTP / POP3 / IMAP DNS 2:UYGULAMA KATMANI

Bazı ağ uygulamaları E-posta Web Chat Uzaktan erişim P2P dosya paylaşımı Çok kullanıcılı ağ oyunları Depolanmış video parçası akışı Internet telefonu Gerçek zaman video konferansı 2:UYGULAMA KATMANI

Ağ uygulaması oluşturmak Programlar Farklı uç sistemlerde çalışır Ağ üzerinden haberleşir e.g., Web: Web sunucusu yazılımı internet gezgini vasıtasıyla ile haberleşir Yazılımlar ağ merkezindeki cihazlar düşünülerek yazılmazlar Ağ merkezindeki cihazlar uygulama katmanında çalışmazlar Bu tasarım uygulamaların geliştirmelerine müsait bir ortam hazırlar uygulama iletim ağ link fiziksel 2:UYGULAMA KATMANI

Uygulama Mimarileri İstemci-sunucu P2P Hibrit istemci-sunucu ve P2P 2:UYGULAMA KATMANI

İstemci sunucu mimarisi Her zaman açık olan host kalıcı IP adresi istemci: sunucuyla haberleşir arada bir bağlantı sağlayabilir değişken IP adresleri olabilir Birbirleriyle direkt olarak haberleşmezler 2:UYGULAMA KATMANI

Saf P2P mimarisi Her zaman açık olan bir sunucu yok herhangi iki eş direkt olarak haberleşebilir eşler geçici olarak bağlanabilir ve IP adresi değiştirebilir örnek: Gnutella Ölçeklenebilirliği yüksek Fakat idaresi zor 2:UYGULAMA KATMANI

Hibrit istemci-sunucu ve P2P Napster Dosya transferi P2P Dosya araması merkezi: Eşler merkezi sunucuda içeriklerini kaydederler Eşler aynı merkezi sunucuda aradıkları içeriği bulmak için sorgulama yaparlar Chat İki kullanıcı arasındaki chat P2P Çevrimiçi olup olmadığının algılaması merkezi: Kullanıcılar çevrimiçi olduklarında IP adreslerini merkezi sunucuya kaydederler Kullanıcı arkadaşlarının IP adreslerini bulmak için merkezi sunucuya başvurur 2:UYGULAMA KATMANI

İşlemler haberleşiyor İstemci işlemi: haberleşmeyi başlatan işlem Sunucu işlemi: haberleşmek üzere bağlantı kurulmasını bekleyen işlem İşlem: hostta çalışan program. aynı hostta iki işlem birbiriyle işletim sistemiyle belirlenen şekilde haberleşir. Farklı hostlardaki işlemler mesaj alış-verişiyle haberleşir. Note: P2P mimarisine sahip uygulamalar istemci ve sunucu işlemlerinin her ikisine de sahipler 2:UYGULAMA KATMANI

Soketler İşlemler soketleri aracılığıyla mesaj alış-verişi yaparlar TCP bufferlar soket host veya sunucu işlem TCP bufferlar soket host veya sunucu İşlemler soketleri aracılığıyla mesaj alış-verişi yaparlar soket kapı ile aynı mantıkla çalışır Gönderici işlem mesaja çıkış kapısını gösterir Gönderici işlem, alıcı işlemlere de mesajları getiren kapının diğer tarafındaki iletim yapısına güvenir Uygulama geliştiricisinin kontrolünde Internet OS kontrolünde API(Application Programming Interface): (1) iletim protokolünün seçimi; (2) birkaç parametreyi değiştirme yetkisi 2:UYGULAMA KATMANI

Addresleme işlemleri Bir işlemin mesajları alabilmesi için kimliği olmalı Bir host 32-bit IP adresine sahip S: sadece işlemin çalıştığı hostun IP adresi işlemi tanımlamaya yeterli mi? Cevap: Hayır, birçok işlem aynı hostta aynı anda çalışıyor olabilir Tanımlayıcı IP numarasını ve port numarasını içermelidir. Örnek port numaraları: HTTP sunucu: 80 Mail sunucu: 25 2:UYGULAMA KATMANI

Uygulama katmanı protokolü şunları tanımlar: Mesaj tiplerini, e.g., istek, cevap Message yazılım formatını: Mesajlarda hangi alanların olduğunu İşlemlerin ne zaman ve nasıl mesaj gönderdiklerinin ve cevapladıklarının kurallarını protokoller: RFClerle tanımlanmıştır Birbirleri ile çalışabilirler e.g., HTTP, SMTP 2:UYGULAMA KATMANI

Bir iletim servis uygulaması neye ihtiyaç duyar? Veri kaybı Bazı uygulamalar bir miktar veri kaybına tolere edebilir (e.g., ses) Diğer uygulamalar (e.g., dosya transferi, telnet) 100% güvenilir veri transferi ister Bant genişliği Bazı uygulamaların (e.g., multimedia) çalışabileceği minimum bant genişliği vardır Diğer uygulamalar ne kadar bant genişliği alırlarsa onla idare ederler Zamanlama Bazı uygulamalar (e.g., Internet telefonu, interaktif oyunlar) gecikmenin az olmasını ister 2:UYGULAMA KATMANI

Bazı uygulamalar için Transport servis gereksinimleri Dosya transferi e-posta Web belgeleri Gerçek-zaman ses/görüntü Depolanmış ses/görüntü interaktif oyunlar chat Veri kaybı Kayıpsız Kayıplı Bant genişliği elastik ses: 5kbps-1Mbps video:10kbps-5Mbps aynı birkaç kbps Zaman hassasiyeti hayır evet, 100’s msn evet, birkaç sn evet, 100’s msec evet ve hayır 2:UYGULAMA KATMANI

Internet uygulamaları: uygulama, iletim protokolleri katmanı protokolü SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] özel (e.g. RealNetworks) (e.g., Dialpad) Altındaki iletim protokolü TCP TCP veya UDP Tipik olarak UDP Uygulama e-posta Uzaktan erişim Web Dosya transferi akan multimedia Internet telefonu 2:UYGULAMA KATMANI

Web ve HTTP Web sayfası nesneler içerir Nesne HTML dosyası, JPEG resim, Java applet, ses dosyası,… olabilir Web sayfası birçok nesneye referansı olan temel bir HTML(Hyper Text Markup Language )-dosyası içerir Bütün nesneler bir URL (Uniform Resource Locator) ile adreslenebilir Örnek URL: www.someschool.edu/someDept/pic.gif host name path name 2:UYGULAMA KATMANI

HTTP HTTP: hypertext transfer protocol Web’in uygulama katmanı protokolü istemci/sunucu modeli istemci: Web nesnelerini isteyen ve gösteren gezgin sunucu: isteklere cevap veren ve nesneleri gönderen web sunucusu HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 HTTP isteği PC internet Explorer çalışıyor HTTP cevabı HTTP isteği Web sunucusu HTTP cevabı Mac Navigator çalışıyor 2:UYGULAMA KATMANI

HTTP HTTP is “durumsuz” TCP kullanır: not İstemci, sunucu ile arasında TCP bağlantısı başlatır, port 80 sunucu TCP bağlantısını kabul eder HTTP mesajları internet gezgini ve web sunucusu arasında gider gelir TCP bağlantısı kapatılır HTTP is “durumsuz” Sunucu istemcinin geçmiş istekleri hakkında bilgi depolamaz not Durum bilgisi tutan protokoller karmaşıktır! Geçmiş durum takip edilmeli Eğer sunucu/istemci çökerse durum bilgileri farklılaşabilir 2:UYGULAMA KATMANI

HTTP bağlantıları Kalıcı olmayan HTTP En fazla bir nesne TCP bağlantısı ile gönderilir. HTTP/1.0 kalıcı olmayan HTTP kullanır. Kalıcı HTTP Tek bir TCP bağlantısı üzerinden birden fazla nesne gönderilebilir. HTTP/1.1 kalıcı HTTP kullanır 2:UYGULAMA KATMANI

Kalıcı olmayan HTTP (metin ve 10 Jpeg’e referans içeriyor Kullanıcı aşağıdaki URL’yi ygirer www.someSchool.edu/someDepartment/home.index 1a. HTTP istemcisi HTTP sunucusuna bağlantı başlatır (www.someSchool.edu, port 80) 1b. Port 80 den TCP bağlantısı bekleyen www.someSchool.edu hostu bağlantıyı kabul eder ve HTTP istemcisine bildirir 2. HTTP istemcisi HTTP istek messajını (URL’yi içeren) TCP bağlantı soketine gönderir. Messaj istemcinin someDepartment/home.index nesnesini istediğini belirtir 3. HTTP sunucusu istek mesajını alır, istenen nesneyi de içeren cevap mesajını oluşturarak kendi soketine gönderir. zaman 2:UYGULAMA KATMANI

Kalıcı olmayan HTTP zaman 4. HTTP sunucusu TCP bağlantısını kapatır. 5. HTTP istemcisi html dosyasını içeren mesajı alır ve gösterir. Bu dosyayı işlerken 10 tane referans jpeg nesnesi daha olduğunu fark eder zaman 6. 1-5 adımları bu 10 jpeg nesnesi için tekrarlanır 2:UYGULAMA KATMANI

Cevaplama süresi modeli RTT (Round Trip Time) tanımı: Gönderilen küçük bir paketin sunucuya gidip gelme zamanı. Cevaplama zamanı: TCP bağlantı isteği için 1 RTT HTTP isteği ve HTTP cevabının ilk bitlerinin dönmesi için 1RTT Dosya iletim süresi toplam = 2RTT+iletim süresi Dosyayı iletme süresi TCP Bağlantısı başlat RTT dosyayı iste Dosya alındı zaman 2:UYGULAMA KATMANI

Kalıcı HTTP Kalıcı olmayan HTTP sorunları: Ardışık olmayan Kalıcı: Her nesne için 2 RTT gerekli İşletim sistemi her nesnede TCP bağlantısını oluşturmak için meşgul olacak Fakat internet gezginleri genelde referans nesneler için paralel TCP bağlantısı açarlar Kalıcı HTTP Sunucu nesneyi gönderdikten sonra bağlantıyı açık tutar sonraki HTTP mesajları aynı bağlantı üzerinden gönderilir Ardışık olmayan Kalıcı: İstemci eğer bir önceki isteğe cevap alınmışsa yeni bir istek gönderir Herbir referans nesne için 1 RTT Ardışık Kalıcı: HTTP/1.1 İstemci gördüğü bütün referans nesneler için istekte bulunur Bütün referans nesneler için 1 RTT kadar az bir süre 2:UYGULAMA KATMANI

Mesajın sonun belirtir HTTP istek mesajı İki tip HTTP messajı: istek, cevap HTTP istek mesajı: ASCII (insan tarafından okunabilen biçim) İstek satırı (GET, POST, HEAD komutları) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (enter) Başlık satırları Enter satırı, Mesajın sonun belirtir 2:UYGULAMA KATMANI

HTTP istek mesajı: genel format 2:UYGULAMA KATMANI

form girişi yükleme Post metodu: Web page genelde form girişi içerir Input sunucuya varlık gövdesi kısmında aktarılır URL metodu: GET metodunu kullanır Input istek satırının URL alanında aktarılır: www.somesite.com/animalsearch?monkeys&banana 2:UYGULAMA KATMANI

Method tipleri HTTP/1.0 GET POST HEAD HTTP/1.1 GET, POST, HEAD PUT Sunucudan nesneyi göndermemesini ister. Genelde hata ayıklama için kullanılır HTTP/1.1 GET, POST, HEAD PUT Dosyayı URL path’ine varlık gövdesi kısmında aktarır DELETE Belirtilen URL’deki dosyayı siler 2:UYGULAMA KATMANI

HTTP cevap mesajı Durum satırı (protokol durum kodu) HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... başlık satırları veri, e.g., istenilen HTML dosyası 2:UYGULAMA KATMANI

HTTP cevabı durum kodları sunucu->istemci cevap mesajı ilk satırı. Birkaç örnek kod: 200 OK İstek başarılı, istenen nesne bu mesajda 301 Moved Permanently İstenen nesne taşındı, yeni yeri bu mesajda 400 Bad Request İstek mesajı sunucu tarafından anlaşılamadı 404 Not Found İstenen doküman sunucuda bulunamadı 505 HTTP Version Not Supported 2:UYGULAMA KATMANI