Bölüm3 Taşıma Katmanı Transport Layer 3-1
Bölüm 3: Taşıma Katmanı Amaç: Taşıma katmanı servisleri arkasındaki prensipleri anlamak multiplexing/ demultiplexing (çoklama) Güvenilir data transferi Akış kontrolü Tıkanıklık kontrolü Internetteki taşıma katmanı protokolleri: UDP TCP TCP tıkanıklık kontrolü Transport Layer 3-2
Bölüm 3 3.1 Taşıma katmanı servisleri 3.2 Multiplexing and demultiplexing 3.3 Bağlantısız taşıma: UDP 3.4 Güvenilir data transferinin prensipleri 3.5 Bağlantı yönelimli taşıma: TCP segment yapısı Güvenilir data transferi Akış kontrolü Bağlantı yöntemi 3.6 Tıkanıklık kontrolü 3.7 TCP tıkanıklık kontrolü Transport Layer 3-3
Taşıma servisleri ve protokolleri farklı hostlardaki süreçlerde mantıksal bağlantı sağlar Taşıma protokolleri uç sistemlerde çalışırlar Gönderen tarafı: gönderilen mesajı segment denilen parçalara böler ve ağ katmanına gönderir Alıcı tarafı: segmentleri birleştirir ve uygulama katmanına gönderir 2 taşıma protokolü vardır TCP and UDP uygulama taşıma Mantıksal uçtan uca taşıma uygulama taşıma Transport Layer 3-4
Transport ve (ağ) katmanı Ağ katmanı: uç sistemler arası mantıksal bağlantı Taşıma katmanı: süreçler arası mantıksal bağlantı Ağ katmanı servisleri üzerinde çalışır Ev örneği: 12 kuzen diğer 12 kuzene posta gönderiyor süreçler = çocuklar mesajlar = zarf içindeki mektuplar host = evler Taşıma protokolü = Ann ve Bill Ağ katmanı protokolü = posta servisi (Ptt) Transport Layer 3-5
Internet taşıma katmanı protokolleri Güvenilir ve sırayla gönderim (TCP) Tıkanıklık kontrolü Akış kontrolü selamlaşma Güvenilmeyen gönderim: UDP Aşağıdakiler garanti değil: Gecikme garantisi Bant genişliği garantisi application transport Mantıksal taşıma application transport Transport Layer 3-6
Bölüm 3 3.1 Taşıma katmanı servisleri 3.2 Multiplexing and demultiplexing 3.3 Bağlantısız taşıma: UDP 3.4 Güvenilir data transferinin prensipleri 3.5 Bağlantı yönelimli taşıma: TCP segment yapısı Güvenilir data transferi Akış kontrolü Bağlantı yöntemi 3.6 Tıkanıklık kontrolü 3.7 TCP tıkanıklık kontrolü Transport Layer 3-7
Multiplexing/demultiplexing (çoklama) Paketi alan hostta Demultiplexing Alınan segmetleri doğru sokete iletmek Paketi gönderen hostta Demultiplexing Soketlerden datayı alıp başlık eklemek = soket = süreç uygulama S3 P1 S1 uygulama S2 S4 uygulama taşıma taşıma taşıma link link link fiziksel fiziksel host 1 host 2 host 3 Transport Layer 3-8
Demultiplexing nasıl çalışır host IP datagramlnı alır Her datagramda kaynağın ve varış yerinin IP adresi vardır Her datagramda 1 taşıma katmanı segmenti vardır Her segmentte kaynağın ve varışın port numarası vardır Host Ip adresi ve port numaralarını kullanarak doğru sürece paketi iletir 32 bits Kaynak portu # varış port # Diğer başlıklar uygulama datası (mesaj) TCP/UDP segment formatı Transport Layer 3-9
Bağlantısız demultiplexing Port numarası ile soket oluştur: DatagramSocket mysocket1 = new DatagramSocket(19111); DatagramSocket mysocket2 = new DatagramSocket(29222); UDP socketi aşağıdakilerden anlaşılır: (varış IP adresi, varış port numarası) Host UDP segmentini alınca: Varış port numarasını kontrol eder UDP segmentini port numarası okunan sokete gönderir Farklı Ipden gelip aynı porta giden paketler atyı sokete yönlendirilir Transport Layer 3-10
Bağlantısız demultiplexing DatagramSocket serversocket = new DatagramSocket(6428); S2 S3 P1S1 SS: 6428 DS: 9157 SS: 6428 DS: 5775 SP: 9157 SS: 5775 client IP: A DP: 6428 server IP: C DS: 6428 Client IP:B SP geri dönüş adresini verir Transport Layer 3-11
Bağlantılı demultiplexing TCP socketi aşağıdakilerle belirlenir: kaynak IP adresi kaynak port numarası varış IP adresi varış port numarası Paketi alan host, 4üne bakarak paketi iletir Server host eş zamanlı UDP soketlerini destekleyebilir: Web serverlar her cilent için farklı soket kullanabilir. Kalıcı olmayan HTTP her istek için farklı soket kullanır Transport Layer 3-12
Bağlantılı demultiplexing S1 S4 S5 S6 S2 P1S3 KP: 5775 VP: 80 K-IP: B V-IP:C KP: 9157 KP: 9157 client IP: A VP: 80 K-IP: A V-IP:C server IP: C VP: 80 K-IP: B V-IP:C Client IP:B Transport Layer 3-13
Bölüm 3 3.1 Taşıma katmanı servisleri 3.2 Multiplexing and demultiplexing 3.3 Bağlantısız taşıma: UDP 3.4 Güvenilir data transferinin prensipleri 3.5 Bağlantı yönelimli taşıma: TCP segment yapısı Güvenilir data transferi Akış kontrolü Bağlantı yöntemi 3.6 Tıkanıklık kontrolü 3.7 TCP tıkanıklık kontrolü Transport Layer 3-14
UDP: User Datagram Protocol [RFC 768] Internet taşıma protokolü elinden geleni yapmaya çalışan servis, UDP segmentleri: kaybolabilir Varış sıraları bozulabilir bağlantısız: Selamlaşma yok Her UDP segmenti diğerlerinden bağımsız ele alınıyor. UDP neden var? Selamlaşmadan doğan veri kaybı yok basit Başlık küçük (küçük paketler) Akış kontrolü yok Transport Layer 3-15
UDP: Genellikle multimedyada kullanılır Kayba duyarsız Hız önemli Diğer UDP kullananlar: DNS SNMP UDP üzerinden güvenilir transfer: güvenirliği uygulama katmanında eklemek UDP segmentinin Kaç byte olduğu 32 bits kaynak port # varış port # uzunluk checksum Uygulama datası UDP segment formatı Transport Layer 3-16
UDP checksum Amaç: Alınan segmentteki hatayı belirlemek Paketi 16 bitlik ayır Checksumı hesapla Transport Layer 3-17
Internet Checksum Example Baştaki biti de ekle!!! 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound sum checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Transport Layer 3-18
Bölüm 3 3.1 Taşıma katmanı servisleri 3.2 Multiplexing and demultiplexing 3.3 Bağlantısız taşıma: UDP 3.4 Güvenilir data transferinin prensipleri 3.5 Bağlantı yönelimli taşıma: TCP segment yapısı Güvenilir data transferi Akış kontrolü Bağlantı yöntemi 3.6 Tıkanıklık kontrolü 3.7 TCP tıkanıklık kontrolü Transport Layer 3-19
3.4 Güvenilir data transferinin prensipleri Bu kısım tahtada anlatılmıştır, ders notlarından ve kitabınızdan bakabilirsiniz.. Transport Layer 3-20