BM 402 Bilgisayar Ağları (Computer Networks)



Benzer belgeler
Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler

BM 402 Bilgisayar Ağları (Computer Networks)

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Bölüm3 Taşıma Katmanı. Transport Layer 3-1

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

Bölüm 2 Uygulama Katmanı. 2: Application Layer 1

Bilgisayar Programcılığı

Uygulama katmanı ve protokolları (Uygulama+Sunum+Oturum)

İletişim Ağları Communication Networks

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

Hüseyin ÇIRAL

HTTP. (Hyper Text Transfer Protocol)

Uygulama 6. Sunum 5. Oturum 4. Taşıma 3. Ağ 2. Veri iletim 1

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

Internet: Tarihçe ve Kavramlar

CENG 362 Computer Networks (2005) Midterm Exam 1 Çözümleri

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Web Tasarımının Temelleri

ÖRÜN (WEB) GÜVENLİĞİ. Hazırlayan: Arda Balkanay

BİLGİSAYAR AĞLARI VE İLETİŞİM

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Ağları - 1 (BİL 403)

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

MCR02-AE Ethernet Temassız Kart Okuyucu

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Computer Networks 4. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

7 Uygulama 6. Sunum 5 Oturum Taşıma. 4 Ara katman- Yazılım ve donanım arası 3. Ağ Veri iletim. 2 Ağ Grubu-Donanım 1. Fiziksel. Uygulama Grubu-Yazılım

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

FTP ve Güvenlik Duvarları

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Bilgisayar Ağları Computer Networks

Internet Nedir? Devlet Kurumları. Internet Servis Sağlayıcılar. Lokal Ağ. Eğitim Kurumları. Kişisel Bilgisayar. Dizüstü Bilgisayar.

Serdar SEVİL. TCP/IP Protokolü

Prensipler Çoklu ortam uygulamalarının sınıflandırılması Uygulamaların ihtiyaç duyacağı ağ servislerini belirlemek Uygulamaların gerçek zamanlı

İNTERNET VE BİLGİ AĞLARININ KULLANIMI

Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler

EC-232C. Ethernet RS232 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

AĞ HİZMETLERİ. Öğr.Gör.Volkan ALTINTAŞ. Version 4.0

Ağ Temelleri Semineri. erbil KARAMAN

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

Ağ Protokolleri. Aysel Aksu. Nisan, 2016

Bir port aynı anda bir process tarafından dinlenebilir. Fakat bir process birden fazla portu dinleyebilir.

Öğr. Gör. Serkan AKSU 1

TÜBİTAK UEKAE ULUSAL ELEKTRONİK ve KRİPTOLOJİ ARAŞTIRMA ENSTİTÜSÜ

Computer Networks Ders İzlence Formu

Doç.Dr. Yaşar SARI ESOGÜ Turizm Fakültesi-Eskişehir BİLGİSAYAR AĞLARI (COMPUTER NETWORKS)

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH.

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 2. Ağ Modelleri

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

Oturum Başlatma Protokolü ve Uygulamaları

OSI REFERANS MODELI-II

Html temelleri. Ders 4

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

BLGM 344 DENEY 3 * AĞ PROGRAMLAMAYA GİRİŞ

Basit bir web uygulaması

TBF 110 BİLGİSAYARDA VERİ İŞLEME ve UYGULAMALARI Ha9a- 2 - İnternet

Üst Düzey Programlama

Bölüm 8 : PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS MODELLERİ.

AĞ ve İNTERNET TCP/IP. IP Adresi İNTERNET NEDİR? Standartlar :

Internet in Kısa Tarihçesi

Bilgisayar Ağları. Ağı oluşturan cihazlar. Coğrafi koşullara göre ağın sınıflandırılması (LAN, MAN, WAN)

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Ağları I BIL

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

WEB TASARIMI. Đnternet Nedir?

BİLGİ & İLETİŞİM TEKNOLOJİLERİ

İleri Düzey Bilgisayar Ağları

Bilgisayar Sistemleri ilk ortaya çıktığında...

DOD / DEPARMENT OF DEFENCE

Bilg-101. Bölüm 6. Bilgisayar Ağları. Ne Öğreneceğiz? Bilgisayar Ağı Nedir?

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Bilgisayar Ağları Computer Networks

BM 402 Bilgisayar Ağları (Computer Networks)

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

Ağ Temelleri. Murat Ozdemir Ondokuz Mayıs Üniversitesi Bilgi İşlem Daire Başkanı 15 Ocak Ref: HNet.23

BİLGİSAYAR 4 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ 1. DERS İNTERNET, TCP/IP, İNTERNETTE MESAJ VE BİLGİ AKTARIMI YARD. DOÇ. DR.

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

EGE Üniversitesi Network (Ağ) Altyapısı

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECİOĞLU

BILG101 Bilgisayara Giriş

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

SMSEXPLORER XML API. XML API KILAVUZU v.1.0

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ

Vitel. Manage Engine. Opmanager Yönetici Özeti

Bilgisayar Ağı Nedir?

AĞ HĠZMETLERĠ MODÜLÜ 1. TAŞIMA KATMANI PROTOKOLLERİ

WEB TASARIMININ TEMELLERİ

Transkript:

BM 402 Bilgisayar Ağları (Computer Networks) M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, ders kitabının yazarları James F. Kurose ve Keith W. Ross tarafından sağlanan sunumlar üzerinde değişiklik yapılarak hazırlanmıştır. Ders konuları Ağ uygulamaları Ağ uygulama mimarileri Process ler arası iletişim Uygulamalar için transport layer hizmetleri İnternet in sağladığı transport layer hizmetleri Uygulama katmanı protokolleri Web ve HTTP FTP HTTP nin özellikleri Kalıcı ve kalıcı olmayan bağlantı HTTP mesaj formatı Cookie ler Web caching Şartlı Get FTP komutları ve cevapları 2 1

Ağ uygulamalarının temelleri Amaç: Ağ uygulama protokollerinin oluşturulması transport-layer hizmet modelleri client-server yaklaşım Peer-to-peer yaklaşım Popüler application layer protokolleri HTTP FTP SMTP / POP3 / IMAP DNS Ağ uygulamaları programlama socket API (application programming interface) 3 Bazı ağ uygulamaları E-posta Web Instant messaging Remote login P2P dosya paylaşımı Çok kullanıcılı ağ oyunları Streaming Internet telefon Real-time video konferans Paralel işlem 4 2

Ağ uygulaması oluşturma Yazılan programlar Farklı uç sistemlerde çalışır Ağ üzerinden haberleşir örnek, Web: Web server yazılımı browser yazılımı ile haberleşir Ağ temel elemanlarına yönelik yazılım yapılmaz Network core cihazlar application layer da çalışmaz Bu tasarım hızlı uygulama geliştirmeye izin verir application transport network data link physical application transport network data link physical application transport network data link physical 5 Uygulama mimarileri Client-server Peer-to-peer (P2P) Hibrid (client-server ve P2P) 6 3

Client-server mimari server: Always-on host (her zaman açık) Sabit IP adres Ölçekleme için çok sayıda sunucu clients: Sunucuyla haberleşir Aralıklarla birbirine bağlanabilir Dinamik IP adres olabilir Birbirine doğrudan bağlı değil 7 P2P mimari Her zaman açık sunucu yoktur Uç sistemler doğrudan bağlanır Uç sistemler aralıklarla doğrudan bağlanabilir ve IP adres değiştirebilir örnek: Gnutella, edonkey Yüksek ölçeklenirdir Yönetim zordur 8 4

Hibrid (client-server ve P2P) Napster Dosya transferi P2P Dosya arama merkezi: Merkezi sunucuya uç birimler kayıt olur Uç birimler içerik aramayı merkezi sunucuda yapar Instant messaging İki kullanıcı arasında chat P2P yapılır Açık olup olmadığı denetimi merkezi: Kullanıcı online olduğunda merkezi sunucuya IP adresi kayıt edilir Kullanıcılar IP adres arayacaklarında merkezi sunucuyla iletişime geçerler 9 İşlemlerin iletişimi (process communication) Process: host üzerinde çalışan program. Aynı host üzerinde, iki process inter-process communication ile haberleşir (OS tanımlar). Farklı host lardaki process ler mesajlarla haberleşir Client process: iletişimi başlatan process Server process: iletişim başvurusu için bekleyen process P2P uygulama mimarileri client ve server işlemlerine sahiptir 10 5

Soketler Process ler kendi soketlerine mesaj gönderir veya alır soketler kapılara benzer Gönderici process mesajı kapıdan dışarı gönderir host veya server process socket Uygulama kontrol eder host veya server process socket Gönderici process kapının diğer tarafındaki transport altyapısına güvenir TCP with buffers, variables Internet TCP with buffers, variables OS kontrol eder API: (1) transport protokol seçer; (2) Parametre belirler 11 Process adresleme Mesajı alan process için bir tanımlayıcı gerekir Host 32-bit IP adrese sahiptir Çok sayıda process aynı host üzerinde çalıştığı için IP adres tanımlayıcı olamaz Tanımlayıcı hem IP adresini hem de port numarasını bir process le ilişkilendirir. Örnek port numaraları: HTTP server: 80 Mail server: 25 12 6

Application layer protokol tanımları İletilen mesaj tipleri: request, response Mesaj tiplerinin yazımı (syntax): mesaj içindeki alanlar tanımlanır Alanların anlamları (semantic) tanımlanır Process in gönderdiği ve cevapladığı mesajların kuralları belirlenir Public-domain protokoller: RFCs dökümanları ile tanımlanır Birlikte çalışabilirliği sağlar HTTP, SMTP Özel protokoller: KaZaA 13 Transport servisleri application ın isteklerini karşılar Veri kaybı Bazı uygulamalar (örnek, audio, video) belirli orandaki kaybı tolere eder Diğer uygulamalar (örnek, file transfer, telnet) 100% güvenilir veri transferi ister Zamanlama Bazı uygulamalar (örnek, İnternet telefon, interaktif oyunlar) iyi performans için düşük gecikme ister Bant genişliği Bazı uygulamalar (örnek, multimedya) gerekli minimum bantgenişliğini ister Diğer uygulamalar bant genişliği ne olursa olsun çalışabilir 14 7

Yaygın uygulamalar için transport servis ihtiyaçları Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps Üsttekiyle aynı birkaç kbps elastic no no no yes, 100 s ms yes, birkaç saniye yes, 100 s ms yes/no 15 Internet transport prokol servisleri TCP servisi: connection-oriented: client ve server process leri arasında setup gerekir reliable transport: gönderen ve alan process ler arasında flow control: gönderen alana çok fazla göndermez congestion control: ağ yoğunluğuna göre düzenleme yapılır sağlayamadıkları: zamanlama, minimum bandwidth garatisi UDP servisi: Gönderici ve alıcı arasında güvenilir olmayan veri transferi sağlayamadıkları: connection setup, reliability, flow control, congestion control, timing, veya bandwidth garantisi 16 8

Internet transport prokol uygulamaları Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] özel (RealNetworks) proprietary (Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP veya UDP UDP 17 Ders konuları Ağ uygulamaları Ağ uygulama mimarileri Process ler arası iletişim Uygulamalar için transport layer hizmetleri İnternet in sağladığı transport layer hizmetleri Uygulama katmanı protokolleri Web ve HTTP FTP HTTP nin özellikleri Kalıcı ve kalıcı olmayan bağlantı HTTP mesaj formatı Cookie ler Web caching Şartlı Get FTP komutları ve cevapları 18 9

Web ve HTTP Kavramlar Web sayfası (Web page), nesnelerden (objects) oluşur Objectler HTML dosyası, JPEG image, Java applet, audio file, olabilir Her object URL ile adreslenebilir URL: www.someschool.edu/somedept/pic.gif host adı path adı 19 HTTP genel bakış HTTP: hypertext transfer protocol Web in application layer protokolü client/server model client: browser istek yapar, Web nesnelerini görüntüler server: Web server nesneleri istek yapanlara gönderir HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 PC running Explorer Mac running Navigator Server running Apache Web server 20 10

HTTP genel bakış (devam) TCP kullanır: Client, server ile TCP bağlantısını başlatır (soket oluşturur), port 80 Server, client tan gelen TCP bağlantı isteğini kabul eder HTTP mesajları (application layer protocol mesajları) browser ile web server arasında değiştirilir. TCP bağlantısı kapatılır HTTP is stateless server geçmiş client istekleri hakkında bilgi tutmaz 21 HTTP connections Nonpersistent HTTP En fazla bir nesne TCP bağlantısı ile iletilir. HTTP/1.0 nonpersistent HTTP kullanır Persistent HTTP Çok sayıda nesne bir TCP bağlantısı ile client ve server arasında gönderilebilir. HTTP/1.1 persistent HTTP kullanır 22 11

Nonpersistent HTTP Kullanıcı aşağıdaki URL yi girerse www.someschool.edu/somedepartment/home.index (text içerir, 10 jpeg image vardır) 1a. HTTP client, HTTP server ile TCP bağlantıyı başlatır, (www.someschool.edu, port 80) 2. HTTP client, HTTP istek mesajı gönderir (URL) TCP bağlantı soketyle. Mesaj client ın somedepartment/home.index nesnelerini isteğini gösterir 1b. www.someschool.edu deki HTTP server TCP bağlantısı bekler, port 80. bağlantı bilgisini client a gönderir 3. HTTP server istek mesajını alır, istenen nesnelerle cevap mesajını oluşturur ve kendi soketine gönderir zaman 23 Nonpersistent HTTP - devam 4. HTTP server TCP bağlantısını kapatır. 5. HTTP client html file dan oluşan cevabı alır ve ekranda gösterir. html file, 10 tane jpeg nesnesi içermektedir zaman 6. Adım 1-5 her 10 jpeg nesne için tekrarlanır 24 12

Cevap süresi RTT tanımı: gönderilen küçük bir paketin client tan server a gitmesi ve geri gelmesi için geçen süre Response time: TCP bağlantısını başlatmak için bir RTT HTTP isteği ve dönen HTTP cevabı için bir RTT Dosya iletim süresi (transmit time) toplam = 2RTT+transmit time TCP bağlantısı başlat RTT File isteği RTT dosya alındı time time dosya iletim süresi 25 Persistent HTTP Nonpersistent HTTP : Her nesne için 2 RTTs gerekir OS her TCP bağlantısı için kaynak ayırır Persistent HTTP server bağlantıyı cevap gönderdikten sonrada açık tutar Diğer HTTP mesajları aynı bağlantıdan gönderilir Persistent without pipelining: client önceki cevabı aldıktan sonra yeni bir istek yapar Bir RTT süresi her nesne için gerekir Persistent with pipelining: HTTP 1.1 de default client bir nesneyle karşılatığında istek gönderir Bir RTT süresi tüm nesneler için 26 13

HTTP request message İki tür HTTP mesajı vardır: request, response HTTP request mesajı: ASCII (okunabilir format) request line (GET, POST, HEAD komutları) return, mesajın sonunu gösterir header lines GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (fazla return satır açar) 27 HTTP request message : genel format 28 14

Form girişlerini gönderme Post method: Web sayfaları genellikle form girişleri bulundurur Giriş server a body içinde upload edilir URL method: GET metodunu kullanır Giriş server a URL içinde upload edilir www.somesite.com/animalsearch?monkeys&banana 29 Metod tipleri HTTP/1.0 GET POST HEAD Server a istenen nesnenin gönderilip gönderilmediğini sorar HTTP/1.1 GET, POST, HEAD PUT Dosyayı body içinde URL ile belirlenen yola upload eder DELETE URL alanında belirtilen dosyayı siler 30 15

HTTP cevap mesajı durum satırı data, istenen HTML dosyası header lines 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... 31 HTTP cevap durum kodları Server -> client cevap mesajında ilk satır. Birkaç örnek kod: 200 OK İstek başarılı, istenen nesne mesajın sonunda 301 Moved Permanently İstenen nesne taşınmış, yeni yer mesajın sonunda (Location) 400 Bad Request İstek mesajı server tarafından anlaşılamadı 404 Not Found İstenen döküman server üzerinde bulunamadı 505 HTTP Version Not Supported 32 16

Kullanıcı-sunucu durumları: cookies Çok sayıda önemli web sitesi cookie kullanır Dört bileşeni vardır: 1) cookie başlık satırı (HTTP cevap mesajında) 2) cookie başlık satırı(http istek mesajında) 3) cookie dosyası kullanıcı bilgisayarında saklandı ve kullanıcı browser ı tarafından kullanılıyor 4) Web sitesinde back-end veritabanı Örnek: Bir kullanıcı hep aynı bilgisayardan Internet e erişiyor Bir e-ticaret sitesini ilk defa ziyaret ediyor Başlatma HTTP isteği web sitesine geldiğinde, site bir unique ID oluşturur 33 Cookie ler Cookie file ebay: 8734 client http request mesajı http response + Set-cookie: 1678 server server ID 1678 oluşturur Cookie file amazon: 1678 ebay: 8734 Bir hafta sonra: Cookie file amazon: 1678 ebay: 8734 http request mesajı cookie: 1678 http response mesajı http request mesajı cookie: 1678 http response mesajı cookie belirli işlem cookie belirli işlem 34 17

Cookie ler - devam Cookie ler ne sağlar yetkilendirme alışveriş kartları öneriler Cookie ler ve gizlilik: Cookie ler web sitesinin sizin hakkınızda birçok şeyi öğrenmesini sağlar Web sitesine adınızı ve e- postanızı verebilirsiniz Reklam şirketleri bilgi edinebilir 35 Web cache ler (proxy server) Amaç: client isteğinin orijinal server kullanılmadan karşılanması Web erişimi cache ile olabilir browser tüm HTTP isteklerini cahe e gönderir Nesne cahe te ise: cache nesneyi döndürür Değilse cache nesneyi orijinal server dan ister client Proxy server server client server 36 18

Web caching Cache hem client hemde server işlevi görür Genellikle cache ISP tarafından kurulur (universite, şirket, bölgesel ISP) Neden Web caching? Client isteklerine cevap süresini azaltır Kurumun erişim linkindeki trafiği azaltır P2P file sharing uygulamalarında daha etkin içerik sunmayı sağlar 37 Caching örnek Varsayımlar Ortalama nesne boyutu = 100,000 bit Orijinal sunucudan ortalama istek oranı = 15 istek/s İnternet gecikmesi: router ile server arasındaki gecikme süresi = 2 s Sonuçlar LAN kullanımı = 15% Erişim bağlantısı kullanımı = 100% toplam gecikme = LAN gecikmesi + erişim gecikmesi + İnternet gecikmesi Kurumsal ağ public Internet 1.5 Mbps link 10 Mbps LAN kurumsal cache origin servers 38 19

Caching örnek - devam Muhtemel çözüm Erişim bağlantısının bant genişliğini artırmak, 10 Mbps olabilir Sonuçlar LAN kullanımı = 15% Erişim bağlantısı kullanımı = 15% toplam gecikme = LAN gecikmesi + erişim gecikmesi + İnternet gecikmesi Maliyeti yüksek upgrade kurumsal network public Internet 10 Mbps link 10 Mbps LAN origin servers kurumsal cache 39 Caching örnek - devam Install cache hit rate değeri 0.4 olsun Sonuçlar 40% istek hemen karşılanabilir 60% istek orijinal server tarafından karşılanır Erişim bağlantı kullanımı 60% oranına düşer (cache bakmak için geçen ek süre 0,01s). Toplam ortalama gecikme = 0.6*(LAN gecikmesi + erişim gecikmesi + İnternet gecikmesi + 0.01) + 0.4 * milisaniyeler institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache 40 20

Şartlı GET Amaç: eğer cahce güncelse nesneyi gönderme cache: HTTP isteğindeki cache kopyanın tarihi belirlenir If-modified-since: <date> server: cevap nesne içermez eğer cache güncelse: HTTP/1.0 304 Not Modified cache HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 200 OK <data> server nesne değişmemiş nesne değişmiş 41 Ders konuları Ağ uygulamaları Ağ uygulama mimarileri Process ler arası iletişim Uygulamalar için transport layer hizmetleri İnternet in sağladığı transport layer hizmetleri Uygulama katmanı protokolleri Web ve HTTP FTP HTTP nin özellikleri Kalıcı ve kalıcı olmayan bağlantı HTTP mesaj formatı Cookie ler Web caching Şartlı Get FTP komutları ve cevapları 42 21

FTP: File Transfer Protocol user FTP kullanıcı arayüzü FTP client local file system file transfer FTP server remote file sistem Uzaktaki bir host ile dosya transferi yapar client/server model client: transferi başlatan taraf server: remote host ftp: RFC 959 ftp server: port 21 43 FTP: ayrı kontrol ve veri bağlantısı FTP client FTP server a port 21 ile bağlanır, transport protokolünü TCP olarak belirler Client yetkilendirmeyi kontrol bağlantısı ile alır Client, uzaktaki dizini kontrol bağlantısı üzerinden komutlar gönderek listeler Server bir dosya transfer komutu aldığında client a bir TCP bağlantısı açar Bir dosya transferi tamamlandığında, server bağlantıyı kapatır FTP client TCP kontrol bağlantısı port 21 TCP veri bağlantısı port 20 FTP server Server başka bir dosya için ikinci bir TCP veri bağlantısı açar Kontrol bağlantısı: out of band durumuna geçer FTP server durumunu korur. 44 22

FTP komutlar, cevaplar Örnek komutlar: Kontrol kanalı üzerinden ASCII metin gönder USER username PASS password LIST aktif dizindeki dosyaların listesi alınır RETR filename dosya alınır(get) STOR filename uzaktaki bilgisayara dosya gönderilir (put) Örnek return kodları Durum kodu ve deyim (HTTP deki gibi) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 45 Ödev Java programlama diliyle temel işlevlere sahip bir browser geliştiriniz. 46 23