Domain Soketleri ve Internet Soketleri



Yüklə 181,98 Kb.
Pdf görüntüsü
səhifə3/7
tarix17.10.2017
ölçüsü181,98 Kb.
#5100
1   2   3   4   5   6   7

TCP, veri stream'lerini birbirinden ayırt etmek için port tanımlayıcı kullanır. Her TCP birbirinden

bağımsız port tanımlayıcı sunar. Bu nedenle port tanımlayıcılar tek olmayabilir. Bu nedenle soket

oluşturulurken internet adresi de kullanılır.

Bir bağlantı tamamen uçlardaki soketler arasında oluşur. Yerel  bir  soket pek  çok dış soket  ile

bağlantı yapabilir. Bağlantı iki yönlü veri taşımada (full duplex) kullanılabilir.

TCP segmentleri internet datagramları olarak gönderilir. Çünkü altında IP protokolü vardır. TCP

segmentleri, IP tarafından paketlenip gönderilir. TCP başlığı aşağıdaki gibidir:

    0                   1                   2                   3   

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |          Source Port          |       Destination Port        |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                        Sequence Number                        |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                    Acknowledgment Number                      |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  Data |           |U|A|P|R|S|F|                               |

   | Offset| Reserved  |R|C|S|S|Y|I|            Window             |

   |       |           |G|K|H|T|N|N|                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |           Checksum            |         Urgent Pointer        |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                    Options                    |    Padding    |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                             data                              |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



User Datagram Protocol (UDP): RFC 768'de tanımlanmıştır. Bu protokol uygulamalar için en az

protokol yükü ile haberleşme olanağı sağlar. Protokol işlemi gerçekleştirmeye yöneliktir. Dağıtım

ve güvenliği temin etmez. Checksum değeri tutar ancak paket bozulmuşsa yeniden paketi dağıtmaz.

Başlık yapısı şu şekildedir:

 0      7 8     15 16    23 24    31

 +--------+--------+--------+--------+

 |     Source      |   Destination   |

 |      Port       |      Port       |

 +--------+--------+--------+--------+

 |                 |                 |

 |     Length      |    Checksum     |

 +--------+--------+--------+--------+

 |

 |          data octets ...



 +---------------- ...

DNS ve tftp bu protokolü kullanan en popüler uygulamalardır.

Bu iki türün özellikleri ve aralarındaki temel farkları şöyle sıralayabiliriz:

1.   Stream   soketler   verileri   sıralı   gönderir,   datagram   soketleri   sıralı   göndermeyebilir.   (TCP

protokolu,   paketleri   sıralı   göndermeyi   garanti   eder.   UDP   garanti   etmez.   TCP   paketlerin   başlık

bilgisinde sıra numarası vardır, UDP'de yoktur. TCP, her zaman sıradaki paketi ister. Örneğin 4

numaralı paket yerine 5 numaralı paket eline ulaşırsa karşı tarafa bunu bildirir ve 4'ü ister. 4'ü alınca

da 5'ten önceye koyar.) 




2. Stream soketler güvenlidir, Datagram soketler güvensizdir. (TCP protokolu  güvenliği garanti

eder,   UDP   garanti   etmez.   Çünkü   TCP   acknowledgement   ile   denetim   yapar.   Yani   bir   paketi

gönderdiği zaman, karşı taraf paketi aldığını haber vermeden o paketi göndermiş saymaz kendini ve

tekrar gönderir. ayrıca paketin doğru gidip gitmediğini anlamak için başlık bilgisinde checksum

-kontrol bilgisi- tutar. UDP'de checksum tutar ancak checksum yanlışsa aynı paketi tekrar istemez.) 

3. Stream soketler, işlem bitene kadar kesintisiz bir bağlantı kurar. Datagram soketler ise bağlantı

kurmaz. Sadece veri göndereceği zaman bağlantı kurar ve işi bitince bağlantıyı koparır. 

Bu iki arasındaki farkı anlatmak için postacı ve telefon benzetmesini vereceğim. Mektup insanlar

arasında haberleşmeyi sağlayan bir yöntemdir. Postacı mektupları posta kutusuna bırakıp gider. Kişi

ise mektupları müsait olduğu herhangi bir an (belki 1 saat sonra, belki 1 gün, belki 1 hafta) alır ve

okur. Cevabını yine posta kutusuna atar ve postacı bir süre sonra mektupları alıp karşıya taşır.

Telefon   örneğinde   ise,   bir   taraf   diğer   tarafa   telefon   açar.   Aradaki   bağlantı   kurulduktan   sonra

insanlar bağlantı kopmadan karşılıklı konuşurlar. Posta örneğinde bağlantının sürekliliği gibi bir şey

söz konusu değildi. Telefon görüşmesinde sözlerin sıralı gitmesi söz konusu. Yani sözler birbirine

karışmaz. Ancak postada ise durum farklı. Mektuplar karşı tarafta sıralı okunmayabilir. Örneğin

posta kutusunda 5 mektup birikince mektuplarını okur. Telefonda ise karşılıklı sürekli konuşulur ve

söylenen karşıya iletilir.

UDP'nin   bu   kadar   tez   avantajına   rağmen   neden   daha   çok   kullanıldığı   bu   şemalardan   açıkça

görülmektedir. TCP bir veri karşıya 6x32+Veri boyu kadar bir paket olarak gitmektedir. Yani her

paket fazladan 192 bit başlık (header) bilgisi taşımaktadır. Oysa UDP paketleri 64 bitlik başlık

(header) bilgisine sahiptir.

UDP kullanmanın en önemli nedeni az protokol yüküdür. Video sunucu gibi realtime veri akışı

gerektiren   bir   uygulama   için   TCP   fazla   yük   getirir   ve   görüntü   realtime   oynamaz.   Bu   nedenle

multicast uygulamalarında Datagram soketler kullanılır. Ayrıca video ve ses görüntülerinde genelde

az bir veri kaybı sesi veya görüntüyü bozmaz. Bu nedenle sıkı paket kontrolune gerek yoktur. Eğer

iyi bir fiziksel bağlantınız varsa hata oranı düşük olacaktır ve bu nedenle TCP'nin yaptığı hatalı

paket kontrol işlemleri fazladan yük olacaktir.

UDP her ne kadar kendisi paket güvenliğini denetlemese de bunu yazılımcı yapabilir. Örneğin TCP

bir paketi gönderdiğinde karşı tarafın onu aldığını  anlamak için acknowledgement bekler. UDP

bunu yapmaz. Fakat bunu soket yazılımcısı yapabilir. Yazılımcı, gönderilen her pakete bir cevap

bekleyerek bunu sağlar.

2.4. Uygulama Katmanı

TCP/IP protokolünün en üstünde yer alır. Taşıma katmanının sağladığı UDP ve TCP protokollerini

kullanarak veri aktarımı yapabilirler. Telnet, FTP, SMTP, HTTP uygulama katmanı protokolleridir. 

3. Uygulamadaki Temel Prensipler

Soketler her zaman iki uca sahiptir: Alıcı ve gönderici. Bütün mesajlar ve protokol gereği olan

başlıklar   nihayetinde   fiziksel   katmandan,   mantıksal   1   ve  0'a   karşılık   gelen   elektriksel   sinyaller

olarak gönderilir.

Soket program ya istemci, yada sunucudur. Programları daha karışık olmakla beraber bazı soket

programlar her iki görevi de yapmaktadır. Sunucu program ile istemci program arasında çalışma

olarak bazı farklar vardır. Aşağıdaki tablo her iki tarafta olayların nasıl gittiğini göstermektedir:



Yüklə 181,98 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə