Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İletişim Protokolleri

Benzer bir sunumlar


... konulu sunumlar: "İletişim Protokolleri"— Sunum transkripti:

1 İletişim Protokolleri
Süleyman KONDAKCI

2 Protokol Katman Kavramı
Host B Host A WWW(http) WWW(http) Uygulama (telnet/ftp/smtp) Uygulama (telnet/ftp/smtp) Transport (TCP/UDP) Transport (TCP/UDP) Internet(IP) ICMP Internet(IP) ICMP Ağ Arabirimi (Ethernet) Ağ Arabirimi (Ethernet) Süleyman KONDAKCI

3 ISO/OSI Referans Modeli
İletişim standart ve yöntemlerini belirler. Geliştirmenler için başvuru sağlar: RFC: Request For Comment RFC-791: Internet Protocol (IP) RFC-792: Internet Control Message Protocol (ICMP) RFC-793: Transmission Control Protocol (TCP) RFC-768: User Datagram Protocol (UDP) RFC-1000: The RFC Guide. RFC-959: File Transfer Protocol (FTP) Internet Protokol Katmanı İletişim için temel ünite ve kesin veri formatı hacmini tanımlar, Host ve yönlendiricilerin veri paketlerini işlemek için kuralları tanımalar, Hata denetimi ve telafileri sağlar, Evrensel boyutta Internet üzerinde paket yönlendirmeyi sağlar, Ağ için geliştirilecek yazılımlar için kural ve işlevleri sunar . OSI Referans Modeli OSI-modeli katman prenisibini içerir, Her katman spesifik bir protokol özelliğini gösterir, OSI-protokolü katmanlar arası iletişim tarzını belirler, protokol katman prensibi ağ bazlı yazılımları geliştirmeyi kolaylaştırır, En önemlisi, ağdaki iletişim işlevlerini gereken katmanlara dağıtmasıdır. Süleyman KONDAKCI

4 Ftp,rlogin,sendmail,telnet, rcp,http,gopher,wais NFS/NIS
OSI-LAYERS UNIX-LAYERS PRESENTATION Layer 7 6 5 4 3 2 1 NAME APPLICATION SESSION TRANSPORT NETWORK DATALINK PHYSICAL DESCRIPTION Ftp,rlogin,sendmail,telnet, rcp,http,gopher,wais NFS/NIS XDR RPC TCP/UDP INTERNET PROTOCOL(IP) ICMP HARDWARE CONTROLLER AND RELATED SOFTWARE CABLE, PHONE LINES, ETC. Süleyman KONDAKCI

5 Internet protokolleri
Ağ protokolü Nedir? İletişim kural ve fonksiyonlarını belirler IP, UDP, TCP, ICMP Nelerdir? Önemli ağ protokol katmanlarıdır Internet üzerinde uçtan uca veri akışını sağlarlar ISO/OSI modeline uyum sağlar De facto standard: yaygın kullanım Her tür platformda kullanılmakta Bir çok ağ yazılımları bunları kullanır Ağ Protokolleri Karşılıklı hatasız anlaşmanın en etkin yolu ortak bir kural çerçevesi dahilinde davranmaktır. Topa kafayla çıkmış bir futbolcu karşısında ayakla çıkan futbolcuya protokol dışı kaldığını belirtmeli. Kısaca ağ protokolü iletişimde: Kuralları kesin olarak belirler, Hangi kurala karşı hangi işlev uygulanacak onu belirler, Kural dışı etkinlikleri saha dışı bırakır (packet discarding) TCP ve UDP ağ işlemlerinin temelini oluşturur. TCP iki makina üzerinde koşan işlem arası telefon hattı gibi kesintisiz sürekli bağlı kalan bağlantı oluşumu ve hata giderme için gereken kural ve işlevleri sunar. IP ise iki bağlantı noktasının birbirilerini tanımasında adres ve yön saptamak için gereken kural ve işlevleri içerir. Bağlantı noktaları, iki ayrı ağda yerleşik hosts da olabilir. Bu durumda ağdan ağa IP-routing yapılır. IP connectionless unreliable packet delivery system olarakta tanımlanır. Hedefe bakmaksızın her IP-paketi değişik rotalardan ve hatta çok farklı ağlardan geçerek hedefe ulaşabilir. UDP ise TCP gibi fakat kesintili (telegram bağlantısı) açarak iki sistem üzerinde işlemlerin iletişimini sağlar. Fiziksel işlem ve kuralları ise en alt seviyede bit transferi yapan ethernet protokolü saptar. Saniyede kaç bit gidecek, packet uzunluğu gibi ölçüler ethernet protokolü (CSMA/CD) tarafından sağlanır. Bu 4 protokol her ağ için geçerlidir, kaçınılmazdır. IP ve UDP güvenilir olmayan buna karşın TCP güvenilir bağlantı sağlar. TCP connection-oriented reliable data transport protocol’ü olarakta anılır. Süleyman KONDAKCI

6 Protokol Bağımlılıkları
FTP SMTP SNMP TCP UDP ICMP EGP ARP RARP IP NETWORK ACCESS Süleyman KONDAKCI

7 Protokol Zarflama APPLICATION M M TCP/UDP S S D D IP/ICMP ETHERNET F F
M = Message S = TCP/UDP Segment D = IP Datagram F = Ethernet Frame F D S M Süleyman KONDAKCI

8 Internet Protokolü: IP
Unreliable, connectionless delivery! Ağlar arası “Güvensiz”, “bağlantısız” datagram iletişimi sağlar: Datagram temel unitesini tanımlar Internet adres biçimini tanımlar Network access katmanı ve transport katmanı arası veri taşımacılığı yapar Internet datagram yönlendirme Paket fragmantason ve re-assembly yapar. Internet Protokolü IP Internet’in temel taşını oluşturur, dolayısıyla en önemli Internet katmanı olarak bilinir. Ip katmanının işlevi şöyle sıralanabilir: Datagram ünitesini tanımlar ve bunun için tek standardı uygular. Intenet adresleme biçimini tanımlar; Her ağ bir ag ve birde aparat numarasından oluşur. Ağlar ağ numarasıyla tanınır. Ağ içindeki araçlar fiziksel katmanlarda ethernet adresleriyle tanınır. Transfer protokolü TCP ve Access katmanı arasında end-to-end veri taşımacılığını yapar. TCP verinin doğru ve eksiksiz ulaştığını sürekli kontrol ederken, IP uçlar arası veri alış verişini düzenli bir şekilde yapar. IP’nin önemli işlevlerinden bir diğeride ağlar ve uçlar arası yönlendirmeyi gerçekleştirir. Her fiziksel ağ kendi paket büyüklüğünü tanımladiği için IP o ağların paket büyüklüğünü anlar ve onlara uyum sağlamak için fragmantosyon yapar. Değişik fiziksel ağlar kedi maksimum transfer edilebilir ünitesini (MTU) kullanır. Yani veri paketini ağa uyarlamak için küçük parçalara ayırır. Alıcı tarafındada bu parçaları toparlar (re-assembly). Süleyman KONDAKCI

9 IP-Header |Version IHL Type of Service Total Length | | Identification Flags Fragment Offset | | Time to Live Protocol Header Checksum | | Source Address | | Destination Address | | Options Padding | Süleyman KONDAKCI

10 Transport Protokolü: TCP
Makinalar üzerinde değişik işlemler arası güvenlir bağlantı ve veri akışı sağlar: Paket takip ve uçtan uca veri akış kontrolü Connection-oriented full-duplex sıralı paket akışı Bütünlük (Integrity) sağlanır Aynı paket defalarca yollanmaz (duplication) Hatasız veri tesilimini garantiler Problem Solution Loss of data Receiver requests retransmission Duplication of data Receiver discards duplicate data Out of sequence data Receiver reorders data Süleyman KONDAKCI

11 TCP Özellikleri Reliable, Connection-oriented byte stream
Uçtan uca “Sanal devre” Oktet tabanlı veri aktarımı Her oktet numaralanır (Sequence number) Anlaşmalı bağlantı başlatma/kapatama Pencere akış kontrolü (Sliding Window) Süleyman KONDAKCI

12 TCP-Header | 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 | Süleyman KONDAKCI

13 TCP Bağlantısı Internet Server Client Open Connection: SYN=1, ACK=0 1
2 3 Open Connection: SYN=1, ACK=0 Acknowledge: SYN=1, ACK=1 Established Connection: SYN=0, ACK=1 Client Server Süleyman KONDAKCI

14 TCP Bağlantı Kapatımı Client Server Active Close Request: FIN 1
Acknowledge the Request (FIN): ACK 2 Server Close: FIN 3 Shutdown Connection (Ack to FIN): ACK 4 Süleyman KONDAKCI

15 TCP Reliability Positive Acknowledgement Sliding Window
Süleyman KONDAKCI

16 Positive Acknowledgement
Sender Receiver Send packet 1 Receive packet 1 and send ACK 1 Receive ACK 1 and send packet 2 Receive packet 2 and send ACK 2 Receive ACK 2 Süleyman KONDAKCI

17 Positive Acknowledgement
Basit implementasyon yavaş: Paket gecikme ve yeniden gönderme gönderici çıkan paketler ACK’lanmasını bekler Ağ bandını iyi kullanamama: Gecikme ve dolayısıyla timeout olursa gönderilmiş paketler tekrar yollanır Süleyman KONDAKCI

18 Sliding Window 1 2 3 4 5 6 7 8 9 10 11 12 …. Sent but not ACK’d
Sent and ACK’d Current Window 1 2 …. These octets will be sent wirhout delay These will wait until the window moves Süleyman KONDAKCI

19 Sliding window Trafik akış kabiliyetini artırır
Değişik makinalar iletişimde zorlanır Gateway ve firewall’ aygıtları hızı düşürür Karmaşık bir implementasyon Optimum ağ band genişliğ kullanımı Bir pencere genişliği (paket sayısı) üzerine anlaşılır ve o sayıda paket kesintisiz çıkarılır Alıcı uç pencere büyüklüğüne karar verir Süleyman KONDAKCI

20 Sliding Window Packet lost Sender Receiver Send packet 1 start timer
packet 1 lost no ACK sent ACK 1 would arrive at this time. Time expires Retransmit packet 1 start timer Receive packet 1 and send ACK 1 Receive ACK 1 cancel timer Süleyman KONDAKCI

21 Transport Protokolü: UDP
Makinalar üzerinde değişik işlemler arası güvensiz bağlantı ve veri akışı yapan katman Paket takip ve kontrol mekanizması yok Sırasız paket akışı: Dublikasyon mümkün Paket bütünlüğü garanti edilemez: Paket yolda kaybolabilir Uygulamanın kendisi veri akışını kontrol etmeli NFS, SMTP gibi uygulamalar tarafından kullanılır Süleyman KONDAKCI

22 UDP-Header +--------+--------+--------+--------+
| Source | Destination | | Port | Port | | | | | Length | Checksum | | | data octets ... + Süleyman KONDAKCI

23 ICMP Hatasız İletişim Olmaz
Geleneksel Kural: Çok çalışan çok hata yapar Az çalışan az hata yapar Hiç çalışmayan hiç hata yapmaz Hata yapmayan ödüllendirilir! ICMP iletişim hataları takibi ve raporlanmasında yardımcı olur Ama ağ için önemli bir tehlike odağıdır Süleyman KONDAKCI

24 ICMP Protokolü Internet Control Message Protocol; Genellikle IP’nin bir parçası gibi düşünülüyor: Hata, durum (status) ve debugging bilgisi yansıtır. Uçlar arası mesaj iletişimi sağlar Echo isteme/cevaplama (ping) Hedef bilgileri saptama; hedef bilinmiyor/erişilemiyor network, host, protocol,port, kaynak, yönlendirme hatası saptama Yönlendirici önerme/keşfetme Süleyman KONDAKCI

25 ICMP Mesaj Formatı 8-bit type 8-bit code 16-bit checksum
Type and code dependent contents Süleyman KONDAKCI

26 ICMP Protokolü Akış kontrolü (source quench)
Redirection Route to host, to network Sonsuz paket dolaşımını önleme Aktarım anında TTL sıfırlanırsa Re-assembly anında TTL sıfırlanırsa Bilgi sorgulama netmask/net sorgulama ve reply timestamp (TS) sorgulama ve reply TS=Geceyarısından bu ana ms olarak zaman TTL = Time To Live, yaşama süresi Süleyman KONDAKCI

27 ICMP Tools ping traceroute scotty satan Süleyman KONDAKCI

28 ICMP Açıklıkları Discovery Hosts Network topology (Ağ topolojisi)
Önemli bilgileri açığa çıkarma Önemli uçları açığa çıkarma Hosts unicast and broadcast Network topology (Ağ topolojisi) Denial of service (Servis dışı bırakma) Süleyman KONDAKCI

29 Port Port:Makinalar üzerinde değişik işlemler arası bağlantı ve veri akışı için kullanılan bağlantı uçları ÖRNEK: Telnet Server Telnet Server İşletim Sistemi İşletim Sistemi TCP 23 23 Telnet portu Telnet portu Süleyman KONDAKCI

30 SMTP ve TCP Portu TCP SMTP mail mailbox Sendmail Sendmail
İşletim Sistemi İşletim Sistemi 25 25 SMTP portu SMTP portu Süleyman KONDAKCI

31 Anahtarlama Sistemleri
Anahtarlama yazılım ve donanımdır Yönlendirme uygun akış yolu saptama Yönlendirme protokol dahilinde olur Switching: Anahtarlama Sistemleri Repeaters: OSI katman 1 Bridges: OSI katman 2 Routers: OSI katman 3 Gateways: OSI katman 3-7 Anahtarlama Sistemleri Anahtarlama sistemleri ağ segmentlerinin ve yerel ağların, gerek donanım gerekse yazılım tarzında, bağlantısını sağlar. Yönlendirme: Harici bir ağ için gönderilen paketlerin o ağa erişmesi için uygulanan yön verme işlemidir. Bu işleri routers (yönlendiriciler) ve gateways sistemleri gerçekleştirir. Yönlendirmede protokol çevirmenliği yapan gateways değişik ağ teknolojileri içeren ağlar arası ve Internet’te yönlendirmede önemli roller üstlenmektedirler. Her yönlendirici ağ topolojisi hakkında “görüntü” yü kafasında tutar. Bu şekle göre trafiğinde yönlendirme algoritmesini kullanır. Genel olarak üç çeşit yönlendirme vardır: 1-Statik: Yönlendirici sabit bir topoloji ve rota tablosu ile çalışır. Küçük ve az değişme/büyüme gösteren ağlar için ideal bir çözümdür. 2-Dinamik:Sürekli değişen ve büyük yerel ağlar için idealdir. Özellikle otonom ağlar diğer ISP ve yerel ağlarla bu tarzda rota alış verişinde bulunur. 3-Kombine: Yerel ağ içinde statik, dış dünyaya yönelik dinamik yönlendirme seçilir. Güvenlik açısından önemlidir. Dış dünya trafiği ile otonom ağ trafiği karışmamalı. Her UNIX sistemi bütün bu olanakları sağlar. Örneğin routed daemon’ı dinamik yönlendirme, /etc/gateways ve route programı statik yönlendirmede kullanılır. İki arabirimi olan her UNIX kutusu yönlendirici işlevi yapmak için çok fazla iş gerektirmez. Süleyman KONDAKCI

32 Yönlendiriciler Ağ topolojisi hakkında bilgi toplarlar
Paket yönlendirmeyi bu topolojiye göre yaparlar Yoğun trafikli ağlarda yönlendirme şart Üç çeşit yönlendirme yapılabilir: Statik(Sabit): Küçük ve yalıtılmış ağlar için Dinamik:Sürekli değişme gösteren dış bağlantılı ağlar için. routed bu işi yapar. Karışık (sabit+dinamik): yerel ağ içi sabit, dış dünya için dinamik yönlendirme uygun Süleyman KONDAKCI

33 Yönlendiriciler Router çoklu IP adreseleri olan bir bağlantı aygıtıdır. Gateway işlevi sağlar Ağlar arası datagram yönlendirirler OSI 3 (network layer) katmanında işler Değişik ağ teknolojilerini içeren ağları bağlayabilir; protokol değişikliği sağlar Komplike IP-routing algoritması kullanır UNIX sistemi gateway işlevi için uygun Gateways Gateways: Gateways değişik yerel ağlar arası Internet paket yönlendirmesi yapar. Yönlendiriciler değişik ağ topoloji ve değişik protokol formatlarını anlayan algoritmelerle işleyen aygıtlardır. Gateways sürekli rota olaerk tablolarını güncelleştirerek Internet’te meydan gelen olası topoloji değişikliklerini sürekli takip eder ve tablosunu güncelleştirir. Süleyman KONDAKCI

34 Default Routing Default route Yolumu kaybettim napsam acaba?
Süleyman KONDAKCI

35 Default Routing Belirsiz yön klavuzu:
Yönlendirici klavuz (rota) tablosunda bulunmayan ağlara erişmek için her ağ kesinlikle bir yönlendiricisini default router olarak kendi ağ aygıtlarına tanıtmalı Default yönlendirici her yönü kestirebilir Bilinmeyen yönlere giden datagramlar atılır Tek router varsa herkes onu defaultlamalı Süleyman KONDAKCI

36 IP-Routing Host 1 Host 2 Network A Network B Network C Application
Transport Internet Physical Host 1 Host 2 Network A Network B Network C Gateway 1 Gateway 2 Süleyman KONDAKCI

37 Yönlendirme Metriği Network Gateway Metric 128.6.4 None 0
GW-A GW-B Network 1 Network 2 Network 3 den , ve ya varmak için Network Gateway Metric None 0 GW-A 1 GW-A ve GW-B 2 Süleyman KONDAKCI

38 Segmentleyerek İşinizi Kolaylaştırın
Network 1 Network 2 Gateway Herhangi bir UNIX kutusu olabilir Host D Host C Host A Host B Süleyman KONDAKCI

39 Virtual Subnets: Aynı fiziksel ağ üzerinde segmentler yaratmak
Kampus A Kampus B Switch A Omurga Switch A Repeater C Kampus C Default Route GW Router Internet Süleyman KONDAKCI

40 Dış Dünya Detayları Görmez Subnetlerinizi Siz Tanıtın
Gateway A Gateway B Network 1 Network 2 Network 3 Süleyman KONDAKCI

41 Ping Bobardmanı ve Broadcast Adres
Repeater A Kampus A Kampus B Repeater B Backbone İki çesit broadcast adres kullanabilirsiniz: Al hosts on subnetwork All hosts on backbone Süleyman KONDAKCI

42 Ağ Kütük, Program Ve Daemon’ları
/etc/hosts: Makina ad ve IP-adreslerini içerir. /etc/ifconfig: Ağ bağlantısını çalıştırmak ve konfigürlemek için kullanılan programdır. /etc/inetd: Ana ağ daemonu, ağı dinler ve ondan istenen hizmetler için gereken programı sürer. Hizmetler /etc/inetd.conf kütüğünde belirlenmiştir. Süleyman KONDAKCI

43 /etc/inetd.conf Process socket-type protocol processing location daemon dgram stream UDP TCP wait nowait # cat /etc/inetd.conf # Internet server configuration database ftp stream tcp nowait /usr/etc/ftpd ftpd telnet stream tcp nowait /etc/telnetd telnetd login stream tcp nowait /etc/rlogind rlogind finger stream tcp nowait /usr/etc/fingerd fingerd talk dgram udp wait /etc/talkd talkd time dgram udp wait /etc/miscd timed Süleyman KONDAKCI

44 Hizmetler Kütüğü /etc/services: Ağ programlarının port numarasını ve adını içerir # cat /etc/services # Network services, Internet style echo 7/tcp netstat 11/tcp ftp 21/tcp telnet 23/tcp route 520/udp shell 514/tcp finger 79/tcp Süleyman KONDAKCI

45 Ağ protokol Kütüğü /etc/protocols: protokol ad ve numaralarını içerir
# cat /etc/protocols ip 0 IP # Internet Protocol icmp 1 ICMP # Internet Control Message Prot. ggp 3 GGP # Gateway-Gateway Protocol tcp 6 TCP # Transmission Control Protocol pup 12 PUP # PARC Universal Packet Protocol udp 17 UDP # User Datagram Protocol Süleyman KONDAKCI

46 Ağ Sınama Yazılımları Ifconfig: Ağınızı başlatır,durdurur, ayakta olup olmadığını gösterir. Ping: Ağdaki herhangi bir sisteme erişilip erişilmediğini saptar. Netstat: Ağ bağlantısı için istatistik verir: routing table IP packet iletişimi ağınız sağlıklımı? Süleyman KONDAKCI

47 Ağ Sınama Yazılımları Nslookup: DNS-name service hakkında bilgi verir. BIND hizmetlerine dahildir. Dig: nslookup gibi,daha basit, detaylı. Arp: IP ve Ethernet adresi çevirmeleri için bilgi sağlar. Çakışan IP-adreslerini saptar. Traceroute: Sisteminizden çıkan packetlerin hangi rotada seyrettiğini saptar. Ripquery: Routing Information Protocol (RIP)’u için bilgi sağlar. Süleyman KONDAKCI

48 Network Related Files/Directories
/etc/hosts Local host table /etc/services ARPA services /etc/hosts.equiv Watch out this, Security prone /etc/hosts.lpd Watch out this, Security prone /.rhosts Remote accessor, Security prone /etc/netmasks Subnetmask in dot notation /etc/networks A historical file /etc/netconfig Solaris net configuration /etc/inet/* Solaris configuration file /etc/init.d/rootuser Solaris network startup /etc/defaultdomain Default domain name /etc/defaultrouter Default router name /etc/rc.bsdnet AIX BSD-style net setup /etc/rc.local AIX network startup for BSD fans Süleyman KONDAKCI

49 Network Related Files/Directories
/etc/rc.{net,tcpip,nfs} AIX network startup files /etc/inetd.conf Allows network daemons /etc/nsswitch.conf Name service lookup order /etc/resolv.conf Name resolver IP-address /etc/protocols What protocols should be available /etc/hostname.*[0-9] Multi-homed hosts /etc/ftpusers Nontrusted ftp users access denier /etc/dfs/dfstab Solaris resource distributor /etc/dfs/fstypes Solaris filesystem distribution table /etc/dfs/sharetab Solaris Exported resource table /etc/{exports,xtab} BSD Export and Exported resources /etc/fstab BSD filesystem table /etc/sendmail.cf Sendmail config file /etc/init.d/* IRIX network startup files /etc/config/* IRIX network options /etc/chkconfig IRIX network configuration tool Süleyman KONDAKCI


"İletişim Protokolleri" indir ppt

Benzer bir sunumlar


Google Reklamları