Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

2.Bölüm: Uygulama Katmanı

Benzer bir sunumlar


... konulu sunumlar: "2.Bölüm: Uygulama Katmanı"— Sunum transkripti:

1 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 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

3 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

4 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 link fiziksel 2:UYGULAMA KATMANI

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

6 İ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

7 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

8 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

9 İş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

10 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

11 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

12 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

13 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

14 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

15 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

16 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: host name path name 2:UYGULAMA KATMANI

17 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

18 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

19 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

20 Kalıcı olmayan HTTP (metin ve 10 Jpeg’e referans içeriyor Kullanıcı aşağıdaki URL’yi ygirer 1a. HTTP istemcisi HTTP sunucusuna bağlantı başlatır (www.someSchool.edu, port 80) 1b. Port 80 den TCP bağlantısı bekleyen 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

21 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 adımları bu 10 jpeg nesnesi için tekrarlanır 2:UYGULAMA KATMANI

22 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

23 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

24 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: 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

25 HTTP istek mesajı: genel format
2:UYGULAMA KATMANI

26 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: 2:UYGULAMA KATMANI

27 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

28 HTTP cevap mesajı Durum satırı (protokol durum kodu) HTTP/1.1 200 OK
Connection close Date: Thu, 06 Aug :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

29 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


"2.Bölüm: Uygulama Katmanı" indir ppt

Benzer bir sunumlar


Google Reklamları