1 / 60

TRANSPORT – APPLICATION LAYER

TRANSPORT – APPLICATION LAYER. Jaringan Komputer : layer 4-7 OSI. By : Eko Prasetyo Teknik Informatika Univ. Muhammadiyah Gresik 2011. Menyediakan komunikasi logik antara pemroses aplikasi yang berjalan pada host yang berbeda Protokol transport berjalan di end system :

verna
Télécharger la présentation

TRANSPORT – APPLICATION LAYER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TRANSPORT – APPLICATION LAYER JaringanKomputer : layer 4-7 OSI By : Eko Prasetyo TeknikInformatika Univ. Muhammadiyah Gresik 2011

  2. Menyediakan komunikasi logik antara pemroses aplikasi yang berjalan pada host yang berbeda Protokol transport berjalan di end system : Sisi pengirim : memecah pesan aplikasi kedalam segment, melewatkannya ke network layer Sisi penerima : merakit kembali segment menjadi pesan, melewatkannya ke app layer Lebih dari satu protokol transport bisa digunakan oleh App Layer Internet : TCP dan UDP application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Transport services and protocols Transport Layer

  3. network layer: Komunikasi logik diantara dua host transport layer: Komunikasi logik diantara dua proses Melanjutkan, meningkatkan layanan network layer Household analogy: 12 anak mengirimkan surat ke 12 anak proses = anak pesan app = surat didalam amplop hosts = rumah protokol transport = Andik dan Dijhe protokol network-layer = layanan pos Transport vs network layer Transport Layer

  4. Reliable, pengiriman urut (TCP) congestion control flow control connection setup Unreliable, pengiriman tidak urut (UDP) no-frills extension of “best-effort” IP Layanan yang tidak ada : delay guarantees bandwidth guarantees application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Internet transport-layer protocols Transport Layer

  5. Protokol transport “tidak rumit”, “transparan” Layanan dengan “usaha terbaik”, segmen UDP dapat : Hilang Diterima tidak urut connectionless: Tidak ada kesepakatan (handshaking) antara pengirim dan penerima UDP Setiap segmen UDP dihandle secara independen satu sama lain Mengapa ada UDP? Tidak ada pembentukan koneksi (yang bisa menambah delay) Sederhana : tidak ada status koneksi disisi pengirim dan penerima Header segmen kecil Tidak perlu kontrol kemacetan : UDP dapat memilih jalur tercepat yang dibutuhkan UDP: User Datagram Protocol [RFC 768] Transport Layer

  6. Sering digunakan untuk aplikasi streaming multimedia loss tolerant rate sensitive UDP juga digunakan : DNS SNMP reliable transfer melalui UDP: menambahkan kemampuaan reliability pada application layer application-specific error recovery! UDP: more 32 bits source port # dest port # Length, in bytes of UDP segment, including header checksum length Application data (message) UDP segment format Transport Layer

  7. Sender: Menafsirkan segmen sebagai urutan bit integer 16 bit Checksum : tambahan (penjumlahan komplemen 1) dari isi segmen Pengirim meletakkan nilai checksum dalam field checksum UDP Receiver: Menghitung kembali checksum segmen yang diterima Memeriksa kesamaan checksum hasil perhitungan dengan nilai dalam field checksum : TIDAK SAMA – terdeteksi error SAMA – tidak ada error yang terdeteksi UDP checksum Tujuan: mendeteksi “errors” (misalnya flipped bits) pada segmen yang dikirimkan Transport Layer

  8. Port Number • Titik/Jalur/Pintu komunikasi suatu layanan aplikasi/proses software. • Digunakan oleh protokol transport (TCP dan UDP) untuk berkomunikasi menggunakan protokol IP. • Sebuah port tertentu diidentifikasi dengan nomornya, umumnya disebut port number. • IP Address yang diasosiasikan dengan nomor port ini, digunakan oleh protokol transport untuk berkomunikasi. • Jangkauannya penomoran 16 bit unsigned integer, mulai 0 - 65535

  9. Port Number • Internet Assigned Numbers Authority (IANA) mengkoordinasikan DNS, alamat IP, dan resource IP yang lain, termasuk port number. • Port number dibagi 3 : well-known port, registered port, dan dynamic atau private port. • Well-known port adalah nomor port yang sudah umum dipakai aplikasi standart. • Well-known port dalam range 0 - 1023. Misalnya : • 21: File Transfer Protocol (FTP) • 22: Secure Shell (SSH) • 23: Telnet remote login service • 25: Simple Mail Transfer Protocol (SMTP) • 53: Domain Name System (DNS) service • 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web

  10. Port Number • Registered port digunakan aplikasi khusus yang sudah terdaftar nomornya secara internasional di IANA. • Registered port dalam range 1024 - 49151. Misalnya : • 3306: Database MySQL • 1433: Database MS SQL Server • 8080: Alternatif HTTP • 3128: Winroute • Dynamic port digunakan untuk berkomunikasi antara dua host diluar layanan aplikasi.

  11. 768, 4340, 2988, 793 SILAHKAN

  12. full duplex data: Aliran data dua arak dalam satu koneksi yang sama MSS: maximum segment size connection-oriented: Kesepakatan (pertukaran kontrol pesan) diawali pengirim, penerima menetapkan sebelum data dikirim flow controlled: Pengirim tidak akan membanjiri penerima point-to-point: satu pengirim, satu penerima reliable, aliran bit urut: Tidak ada “message boundaries” pipelined: Kemacetan TCP dan flow control ditangani dengan window size send & receive buffers TCP RFCs: 793, 1122, 1323, 2018, 2581 Transport Layer

  13. 32 bits source port # dest port # sequence number acknowledgement number head len not used Receive window U A P R S F checksum Urg data pnter Options (variable length) application data (variable length) Struktur segmen TCP URG: urgent data (umumnya tidak digunakan) Jumlah byte data (bukan segmen) ACK: ACK # valid PSH: push data now (umumnya tidak digunakan) Jumlah byte yang akan diterima RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (sama dengan UDP) Transport Layer

  14. 854, 2821, 2616, 959 SILAHKAN

  15. Write programs that Dijalankan pada endsystem yang berbeda Berkomunikasi melalui jaringan Contoh : web server berkomunikasi dengan browser Tidak ada software yang ditulis khusus untuk perangkat jaringan Inti jaringan tidak di handle dalam App Layer Desain ini memudahkan membuah aplikasi GUI application transport network data link physical application transport network data link physical application transport network data link physical Creating a network app 2: Application Layer

  16. Client-server archicture server: • Host yang selalu hidup • IP address permanen • Banyak skala server clients: • Berkomunikasi dengan server • Terhubung sementara • Bisa mempunyai IP dinamis • Tidak berkomunikasi langsung dengan klien yang lain clients: • HTTP, FTP, DHCP, SMTP 2: Application Layer

  17. Pure P2P architecture • Server tidak harus selalu hidup • Komunikasi dengan end sytem bisa kapan saja • Kedudukan antar host sederajat dan bisa mengubah alamat IP • Contoh: Gnutella, File sharing Highly scalable But difficult to manage 2: Application Layer

  18. Process: proses yang dijalankan didalam host. Dalam host yang sama, dua proses berkomunikasi menggunakan inter-process communication (didefisikan oleh OS). Proses dalam host yang berbeda berkomunikasi dengan pertukaran messages Client process: proses yang memulai komunikasi Server process: proses yang menunggu untuk dihubungi Processes communicating • Note: aplikasi dengan arsitektur P2P mempunyai proses client dan server 2: Application Layer

  19. Jenis pesan yang dipertukarkan, spt pesan request dan response Jenis syntax pesan : bagian-bagian dalam pesan dan bagaimana bagian itu dipisahkan Semantik bagian, spt makna informasi dalam field Aturan kapan dan bagaimana proses pengiriman dan menjawab pesan Public-domain protocols: Didefinisikan dalam RFC allows for interoperability Contoh : HTTP, SMTP Proprietary protocols: Contoh : KaZaA App-layer protocol defines 2: Application Layer

  20. Data loss Beberapa app (seperti audio) bisa mentoleransi kehilangan Applikasi lain (seperti file transfer) tidak mentoleransi kehilangan, 100% reliable Timing Aplikasi seperti Internet telephony, interactive games membutuhkan delay yang efektif Layanan tranport yang dibutuhkan application layer • Bandwidth • Beberapa aplikasi (seperti multimedia) membutuhkan jumlah bandwidth sedikit tapi “efektif” • Aplikasi lain (elastis) memakai bandwidth sesuai dengan yang diinginkan. 2: Application Layer

  21. Layanan transport yang dibutuhkan aplikasi secara umum Time Sensitive no no no yes, 100’s msec yes, few secs yes, 100’s msec yes and no Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Bandwidth elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss 2: Application Layer

  22. Internet apps: application, transport protocols Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony 2: Application Layer

  23. www.someschool.edu/someDept/pic.gif path name host name Web dan HTTP First some jargon • Web page berisi objects • Obyek bisa berupa HTML file, JPEG image, Java applet, audio file,… • Web page berisi base HTML-file yang termasuk didalamnya beberapa referensi obyek • Setiap obyek dialamati dengan URL • ContohURL: 2: Application Layer

  24. HTTP: hypertext transfer protocol Aplikasi web adalah salah satu protokol di App layer client/server model client: browser that requests, receives, “displays” Web objects server: Web server sends objects in response to requests HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 HTTP overview HTTP request PC running Explorer HTTP response HTTP request Server running Apache Web server HTTP response Mac running Navigator 2: Application Layer

  25. Uses TCP: Klien memulai koneksi TCP (membuat socket) ke server, port 80 Server menerima koneksi TCP dari klien HTTP messages (application-layer protocol messages) dipertukarkan diantara Browser (HTTP client) dan Web server (HTTP server) Koneksi TCP ditutup HTTP is “stateless” Server tidak menjaga informasi pada request klien sebelumnya HTTP overview (continued) aside • Protocols yang menjaga “state” kompleks • History (state) sebelumnya harus dikelola • Jika server/client crash, maka “state” menjadi tidak konsisten dan harus disinkronisasi kembali 2: Application Layer

  26. Nonpersistent HTTP Paling banyak satuobyek dikirim melalui seuah koneksi TCP HTTP/1.0 menggunakannonpersistent HTTP Persistent HTTP Beberapa obyek bisa dikirim menggunakan sebuah koneksi TCP antara klien dan server HTTP/1.1 menggunakanpersistent connections dalam default mode-nya HTTP connections 2: Application Layer

  27. HTTP request message: general format 2: Application Layer

  28. Kebanyakan website menggunakan cookies Empat komponen: 1) Baris header cookie dalam HTTP menjawab message 2) Baris header cookie dalam HTTP meminta message 3) File cookie file dijaga pada host user dan dijaga oleh browser user 4) Digunakan pada back-end database di Web site Example: Susan access Internet always from same PC She visits a specific e-commerce site for first time When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID User-server state: cookies 2: Application Layer

  29. client server usual http request msg usual http response + Set-cookie: 1678 Cookie file Cookie file Cookie file amazon: 1678 ebay: 8734 amazon: 1678 ebay: 8734 ebay: 8734 cookie- specific action usual http request msg cookie: 1678 usual http request msg cookie: 1678 usual http response msg usual http response msg cookie- spectific action Cookies: keeping “state” (cont.) server creates ID 1678 for user entry in backend database access access one week later: 2: Application Layer

  30. Apa yang bisa diberikan cookie: authorization Daftar belanja Rekomendasi user session state (Web e-mail) Cookies (continued) aside • Cookies and privacy: • Cookies mengijinkan situs untuk memahami anda • Anda bisa memberikan nama dan email ke situs • Search engine menggunakan redirection dan cookies untuk mencari tahu lebih banyak • Iklan perusahaan antar situs 2: Application Layer

  31. Mentransfer file ke/dari remote host Model client/server client: sisi yang memulai transfer (baik ke/dari remote) server: remote host ftp: RFC 959 ftp server: port 21 FTP user interface FTP client FTP server local file system FTP: the file transfer protocol file transfer user at host remote file system 2: Application Layer

  32. FTP client menghubungi FTP server pada port 21, menetapkan TCP sebagai protokol transport Client melakukan authorization over control connection Client browses remote directory dengan mengirimkan perintah melalui control connection. Ketika server menerima perintah file transfer, server membuka koneksi data TCP ke client Setelah pentransferan file, server menutup koneksi. TCP control connection port 21 TCP data connection port 20 FTP client FTP server FTP: separate control, data connections • Server opens a second TCP data connection to transfer another file. • Control connection: “out of band” • FTP server maintains “state”: current directory, earlier authentication 2: Application Layer

  33. Sample commands: sent as ASCII text over control channel USER username PASS password LISTreturn list of file in current directory RETR filenameretrieves (gets) file STOR filenamestores (puts) file onto remote host Sample return codes status code and phrase (as in HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file FTP commands, responses 2: Application Layer

  34. Tiga komponen utama: user agents mail servers simple mail transfer protocol: SMTP User Agent alias “mail reader” composing, editing, reading mail messages Contoh : Eudora, Outlook, elm, Netscape Messenger outgoing, incoming messages stored on server user agent user agent user agent user agent user agent user agent SMTP SMTP SMTP mail server mail server mail server outgoing message queue user mailbox Electronic Mail 2: Application Layer

  35. Mail Servers mailbox berisi incoming messages untuk user messagequeue of outgoing ( untuk dikirim) mail messages SMTP protocol antar mail servers untuk mengirim email messages client: server untuk mengirim mail “server”: server untuk menerima mail user agent user agent user agent user agent user agent user agent SMTP SMTP SMTP mail server mail server mail server Electronic Mail: mail servers 2: Application Layer

  36. Menggunakan TCP untuk transfer message yang reliable dari client ke server, port 25 Transfer langsung : sending server to receiving server Tiga fase transfer handshaking (greeting) transfer of messages closure Interaksi command/response commands: ASCII text response: status code and phrase messages harus dalam format 7-bit ASCII Electronic Mail: SMTP [RFC 2821] 2: Application Layer

  37. 1) Alice menggunakan UA pada compose message dan “to” bob@someschool.edu 2) Alice’s UA mengirim message ke server mailnya; message diletakkan dalam antrian message 3) Client side of SMTP membuka koneksi TCP dengan server mail Bob 4) SMTP client mengirim message Alice melalui koneksi TCP 5) Mail server Bob’s meletakkan message in mailbox Bob 6) Bob menggunakan user agent untuk membaca message user agent user agent mail server mail server Scenario: Alice sends message to Bob 1 2 6 3 4 5 2: Application Layer

  38. Sample SMTP interaction S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection 2: Application Layer

  39. SMTP menggunakan persistent connections SMTP perlu membentuk message (header & body) menjadi format in 7-bit ASCII SMTP server menggunakan CRLF.CRLF untuk menentukan akhir message Perbandingan dengan HTTP: HTTP: menarik SMTP: mendorong Keduanya menggunakan interaksi ASCII command/response, status codes HTTP: setiap obyek dibungkus dalam pesan jawaban SMTP: banyak obyek dikirim dalam pecahan message SMTP: final words 2: Application Layer

  40. SMTP: protocol for exchanging email msgs RFC 822: standard for text message format: header lines, e.g., To: From: Subject: differentfrom SMTP commands! body the “message”, ASCII characters only Mail message format header blank line body 2: Application Layer

  41. SMTP: delivery/storage to receiver’s server Mail access protocol: retrieval from server POP: Post Office Protocol [RFC 1939] authorization (agent <-->server) and download IMAP: Internet Mail Access Protocol [RFC 1730] more features (more complex) manipulation of stored msgs on server HTTP: Hotmail , Yahoo! Mail, etc. user agent user agent sender’s mail server SMTP Mail access protocols SMTP access protocol receiver’s mail server 2: Application Layer

  42. 1889, 1034, 822 SILAHKAN

  43. People: Banyak identitas: SSN, name, passport # Internet hosts, routers: IP address (32 bit) – digunakan untuk pengalamatan datagrams “name”, seperti ww.yahoo.com - digunakan oleh manusia Q: Pemetaan antara alamat IP dengan nama? Domain Name System: distributed database diimplementasikan dalam hirarki banyak name servers application-layer protocol host, routers, name servers to communicate to resolvenames (address/name translation) note: core Internet function, implemented as application-layer protocol complexity at network’s “edge” DNS: Domain Name System 2: Application Layer

  44. Why not centralize DNS? Titik tunggak kegagalan traffic volume Database sentral sangat jauh Pegelolaan sulit Tidak dapat diskalakan! DNS services Translasi Hostname ke alamat IP Host aliasing Canonical and alias names Mail server aliasing Load distribution Replikasi Web servers: men-set alamat IP ke satu canonical name DNS 2: Application Layer

  45. Root DNS Servers org DNS servers edu DNS servers com DNS servers poly.edu DNS servers umass.edu DNS servers pbs.org DNS servers yahoo.com DNS servers amazon.com DNS servers Distributed, Hierarchical Database Client membutuhkan IP www.amazon.com; 1st approx: • Klien meng-query root server untuk menemukan DNS server com • Klien meng-query DNS server com untuk mendapatkan DNS server amazon.com • Klien meng-query DNS server amazon.com untuk mendapatkan alamat IP www.amazon.com 2: Application Layer

  46. Dihubungi oleh local name server yang tidak dapat me-resolve nama root name server: Menghubngi authoritative name server jika pemetaan nama tidak diketahui Mendapatkan pemetaan Mengembalikan pemetaan ke local name server a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations) k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA DNS: Root name servers 13 root name servers worldwide 2: Application Layer

  47. TLD and Authoritative Servers • Top-level domain (TLD) servers: menangani com, org, net, edu, etc, dan semua top-level domain negara uk, fr, ca, jp, id. • Umum, komersial, menggunakan com TLD • Pendidikan menggunakan edu TLD • Kampus : ac.id • Perusahaan : co.id • Sekolah : sch.id • Pemerintah : go.id • Authoritative DNS servers: organization’s DNS servers, memberikan hak kepemilikan hostname untuk server organisasi (spt, Web dan mail). • Bisa dikelola oleh organisasi atau service provider, spt : rumahweb.com Video insiden nama email anggota DPR komisi 8 di Australia 2: Application Layer

  48. Local Name Server • Tidak membatasi hirarki kepemilikan • Setiap ISP (residensial ISP, perusahaan, universitas) mempunyai satu • Disebut juga “default name server” • Ketika sebuah host melakukan query DNS, query dikirim ke server local DNS • Bertindak sebagai proxy, meneruskan query kedalam hierarki 2: Application Layer

  49. Host di tif.umg.ac.id menginginkan IP dari ftif.its.ac.id local DNS server dns.umg.ac.id Example root DNS server 2 3 TLD DNS server 4 5 6 7 1 8 authoritative DNS server dns.its.ac.id requesting host tif.umg.ac.id ftif.its.ac.id 2: Application Layer

  50. root DNS server 2 3 6 7 TLD DNS server 4 local DNS server dns.umg.ac.id 5 1 8 authoritative DNS server dns.its.ac.id requesting host tif.umg.ac.id ftif.its.ac.id Recursive queries • recursive query: • puts burden of name resolution on contacted name server • heavy load? • iterated query: • contacted server replies with name of server to contact • “I don’t know this name, but ask this server” 2: Application Layer

More Related