İleri Düzey Bilgisayar Ağları Ders 5 İnternet’te Ses ve Görüntü Transferi İçerik Dağıtım Ağları ve Eşler Arası Ağlar Mehmet Demirci 1 Bugün • Multimedia Streaming • İçerik Dağıtım Ağları (CDN) • Eşler arası ağlar (P2P) 2 Multimedya ve Streaming Multimedya (çoklu ortam) transferi • Youtube, Skype, Hangout vb. Zorluklar: • Veri boyutu büyük ve değişken. • Gecikmeyi sevmiyoruz. • Gecikmedeki değişimleri sevmiyoruz. 3 Veriyi Dijitalleştirmek • Analog sinyali belli sıklıkta örnekleme • Sinyal genliğinin aralığına bağlı olarak belli sayıda bit kullanılır. 4 Video Sıkıştırma • Video: resim (imge) dizisi • Resim sıkıştırma, spatial redundancy (uzamsal artıklık??) sayesinde sıkıştırılabilir. Gönderilen bit sayısı azalır. (Tek çerçeve için) • Temporal (zamansal) redundancy: Birbirini takip eden çerçeveler arasındaki benzerlikler 5 Video Streaming Genel sistem • Sunucu dosyayı tutar. • İstemci dosyayı ister ve aldıkça oynatır. • Zamanlama önemli 6 TCP ve Streaming TCP, ses ve video streaming için optimize edilmiş bir seçenek değildir. • TCP kayıp paketleri yeniden yollar ama bu faydalı olmayabilir. • TCP kayıp sonrası hızını düşürür. • TCP masraflı (20-byte header, ack vb.) TCP yerine UDP 7 UDP ve Streaming • UDP kayıp paketleri tekrar yollamaz ve gönderme hızını kayba bağlı olarak değiştirmez. • Bu tür kararlar uygulama katmanına kalır. • Bazı “TCP dostu” protokoller UDP üzerinde kullanılabilir. 8 Youtube • Bütün videolar Flash’e çevrilir. • HTTP/TCP üzerinden çalışır. 9 Skype • Analog ses sinyali dijitale çevrilir. • Oluşan dijital veri İnternet üzerinden yollanır. • P2P (Peer-to-peer): Eşler arası iletişim teknolojisi 10 Streamingin Zorlukları • Gecikme • Sıkışıklık (tıkanıklık) • Yönlendirmedeki değişmeler Cevap: Quality of Service - Hizmet kalitesi garantileri 11 QoS: İşaretleme (Marking) Farklı öncelikli trafik türleri arasında ayrım yapmak 12 QoS Alternatifleri • Her uygulamaya belli bant genişliği ayırmak • Trafiği kabul etmeden önce admission control • Ne istiyorsun? vs. Ben ne verebilirim? • İhtiyacını karşılayamayacaksam seni bloklarım. 13 Bugün • Multimedia Streaming • İçerik Dağıtım Ağları (CDN) • Eşler arası ağlar (P2P) 14 İçerik Dağıtım Ağları (CDN) Content Distribution Networks • Overlay network of Web caches • Amaç: Kullanıcıya içeriği en uygun noktadan ulaştırmak • Coğrafi olarak dağıtık 15 CDN Content Distribution Networks • İçerik sağlayıcılar (Google) • Servis sağlayıcılar (Level 3, AT&T) • Bağımsız (Akamai) 16 CDN • Çoğaltma nasıl yapılacak? • Kopyalar nerelere koyulacak? • Kullanıcılar nasıl bulacak? • Hangi kopyadan ve nasıl çekecekler? • Sunucu seçimi (Server selection) • İçerik yönlendirme (Content routing) 17 CDN: Sunucu Seçimi Hangi sunucu seçilmeli? • En az yüklü olan (Lowest load) • En az gecikmeyle ulaşılan (Lowest latency) • Herhangi bir yaşayan sunucu 18 CDN: İçerik Yönlendirme Kullanıcı sunucuya nasıl yönlendirilmeli? • İnternet yönlendirmesi üzerinden (Anycast) • Uygulama tabanlı (HTTP redirect) • Adlandırma sistemi üzerinden (DNS) 19 Eşler Arası Ağlar (P2P) Peer-to-peer Networks • İstemci-sunucu modelinin dışında, uç sistemlerin hem istemci hem sunucu olarak rol aldığı ağlar • Dosya paylaşımı ve dağıtımında yaygın olarak kullanılır. 20 P2P: BitTorrent • Dosyayı alır, parçalara böler. • Farklı eşlerde farklı parçalar olacak şekilde dağıtır. • Her eş kendinde olmayan parçaları diğer eşlerden alarak dosyayı tamamlar. 21 P2P: BitTorrent 1. Eş, dosyanın parçaları ve tracker hakkında bilgi içeren torrent dosyası oluşturur. 2. Bazı eşler (seeder) dosyanın tamamını tutmalıdır. 3. Diğer eşler ellerindeki parçaları takas ederler. 22 P2P: BitTorrent Bedavacılığa Karşı “Boğma” (Choking) • Bir eşe gönderme yapmayı geçici olarak durdurmak • O eşten indirme yapamıyorsa ona gönderme de yapmaz. • “Tit-for-tat” 23 P2P: BitTorrent Rarest piece first • Önce en az bulunan parçayı indir. Random piece first • Seederdan rastgele bir parça indir. 24 Dağıtık Hash Tabloları (DHT) Distributed Hash Tables • Anahtar → Değer eşleştirmesi • DHT’de yer alan düğümler bu eşleştirmeyi hızlı biçimde yapabilir. • Kullanım: DNS, P2P, CDN, Anycast... 25 DHT: Chord Amaç: Büyük bir dağıtık sistemde veriyi hızlı bulunabilir şekilde tutmak 26 DHT: Chord Consistent Hashing 27 DHT: Chord Consistent Hashing 28
© Copyright 2024 Paperzz