490 likes | 667 Views
Application Layer. Computer Networks. Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012. application transport network data link physical. application transport network data link physical. application transport network data link physical.
E N D
Application Layer Computer Networks Eko Prasetyo TeknikInformatika UniversitasMuhammadiyah Gresik 2012
application transport network data link physical application transport network data link physical application transport network data link physical Creating a network app Write programs that • Dijalankanpadaendsystem yang berbeda • Berkomunikasimelaluijaringan • Contoh : web server berkomunikasidengan browser Tidakada software yang dituliskhususuntukperangkatjaringan • Intijaringantidakdi handle dalam App Layer • Desaininimemudahkanmembuahaplikasi GUI 2: Application Layer
server: Host yang selaluhidup IP address permanen Banyakskala server clients: Berkomunikasidengan server Terhubungsementara Bisamempunyai IP dinamis Tidakberkomunikasilangsungdenganklien yang lain clients: HTTP, FTP, DHCP, SMTP Client-server archicture 2: Application Layer
Pure P2P architecture • Server tidakharusselaluhidup • Komunikasidengan end sytembisakapansaja • Kedudukanantar host sederajatdanbisamengubahalamat IP • Contoh: Gnutella, File sharing Highly scalable But difficult to manage 2: Application Layer
Client process:proses yang memulaikomunikasi Server process:proses yang menungguuntukdihubungi Processes communicating Process:proses yang dijalankandidalam host. • Dalam host yang sama, duaprosesberkomunikasimenggunakaninter-process communication (didefisikanoleh OS). • Prosesdalam host yang berbedaberkomunikasidenganpertukaranmessages • Note: aplikasidenganarsitektur P2P mempunyaiproses client dan server 2: Application Layer
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
Data loss Beberapa app (seperti audio) bisamentoleransikehilangan Applikasi lain (seperti file transfer) tidakmentoleransikehilangan, 100% reliable Timing Aplikasiseperti Internet telephony, interactive games membutuhkan delay yang efektif Layanan tranport yang dibutuhkan application layer • Bandwidth • Beberapaaplikasi (seperti multimedia) membutuhkanjumlah bandwidth sedikittapi “efektif” • Aplikasi lain (elastis) memakai bandwidth sesuaidengan yang diinginkan. 2: Application Layer
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
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
SilahkanPresentasi 854 – 2821 – 822 – 1939
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 Tigakomponenutama: • 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 2: Application Layer
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 Mail Servers • mailboxberisi incoming messages untuk user • messagequeue of outgoing ( untukdikirim) mail messages • SMTP protocolantar mail servers untukmengirim email messages • client: server untukmengirim mail • “server”: server untukmenerima mail 2: Application Layer
Electronic Mail: SMTP [RFC 2821] • 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 2: Application Layer
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
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
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
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
user agent user agent sender’s mail server SMTP Mail access protocols SMTP • 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. access protocol receiver’s mail server 2: Application Layer
SilahkanPresentasi 2616 – 2109 – 959
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
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
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
HTTP request message: general format 2: Application Layer
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
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
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
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
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
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
SilahkanPresentasi 1889 – 1034 – 2326
DNS: Domain Name System 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” 2: Application Layer
DNS 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 Why not centralize DNS? • Titik tunggak kegagalan • traffic volume • Database sentral sangat jauh • Pegelolaan sulit Tidak dapat diskalakan! 2: Application Layer
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: • Klienmeng-query root server untukmenemukan DNS server com • Klienmeng-query DNS server com untukmendapatkan DNS server amazon.com • Klienmeng-query DNS server amazon.com untukmendapatkanalamat IP www.amazon.com 2: Application Layer
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 • Dihubungioleh local name server yang tidakdapat me-resolve nama • root name server: • Menghubngi authoritative name server jikapemetaannamatidakdiketahui • Mendapatkanpemetaan • Mengembalikanpemetaanke local name server 13 root name servers worldwide 2: Application Layer
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 8di Australia 2: Application Layer
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
local DNS server dns.umg.ac.id Example root DNS server 2 • Host di tif.umg.ac.id menginginkan IP dari ftif.its.ac.id 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
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
DNS protocol :queryand reply messages, both with same message format DNS protocol, messages • msg header • identification: 16 bit # for query, reply to query uses same # • flags: • query or reply • recursion desired • recursion available • reply is authoritative 2: Application Layer
DNS protocol, messages Name, type fields for a query RRs in reponse to query records for authoritative servers additional “helpful” info that may be used 2: Application Layer
Kasus Sengketa Domain di Indonesia : mustika-ratu.com • Perusahaan jamu dan kosmetik : Mooryati Soedibyo dan Martha Tilaar • 7 Februari 1977 mereka sepakat untuk berpisah secara baik-baik : Martha Tilaar (Mooryati Soedibyo) dan Sari Ayu (Martha Tilaar) • Bersain dalam berbagai produk : • Kosmetik remaja Puteri ala Mustika Ratu vs Belia dari Sari Ayu. • Berto Tea Sari Ayu vs Slimming Tea Mustika Ratu. • Biokos Skin Care Sari Ayu vs Biocos Mustika Ratu
Kasus Sengketa Domain di Indonesia : mustika-ratu.com • Chandra Sugiono adalah Manajer Internasional Marketing bulan September 1999, di Martina Berto • Mendaftarkan domain mustika-ratu.com pada 7 Oktober 1999 • Dengan beranggapan bahwa nama domain Mustika-Ratu.com sebagai merek dan ternyata telah diambil oleh pihak seterunya, maka akhirnya pada 4 September 2000 Mustika Ratu melaporkan Martina Berto ke Mabes Polri. • Chandra telah mengundurkan diri dari Martina Berto tertanggal 16 Juni 2000. • 28 September 2000, nama domain Mustika-Ratu.com resmi dicabut dari Network Sollutions. • Pada tanggal 5 Oktober 2000 nama domain tersebut diambil alih oleh Mustika Ratu. • Tanggal 2 Agustus 2001 persidangan dimulai. • Berhubung telah dinyatakan oleh Chandra maupun Martha Tilaar bahwa pendaftaran nama domain tersebut sama sekali tidak ada sangkut-pautnya dengan kebijakan Martina Berto, maka pengadilan sepakat bahwa selaku terdakwa adalah Chandra Sugiono saja, tanpa menyeret-nyeret Martina Berto
Yang menjadi pertanyaan … Yang menjadipertanyaan • Jika saja nama domain Mustika-Ratu.com tersebut tidak didaftarkan oleh siapapun, apakah pihak Mustika Ratu akan mengambil nama domain tersebut? • Pasalnya, Mustika Ratu sendiri sebenarnya telah memiliki nama domain Mustika-Ratu.co.id sejak 5 September 1996 dan belum pernah mendaftarkan nama domain Mustika-Ratu.com hingga saat didaftarkan oleh Chandra Sugiono • Jika saja Chandra Sugiono memang memiliki itikad tidak baik tetapi dia tidak pernah bekerja di Martina Berto, apakah Mustika Ratu tetap akan melaporkan ke polisi dengan hukum pidana? • Pasalnya, Mustika Ratu hingga kini tidak mengambil tindakan apapun terhadap para pendaftar nama domain semisal Mustika-Ratu.net, MustikaRatu.com dan MustikaRatu.net UU dakwaan : • KUHP, pasal 382 tentang pemakaian merek dagang orang lain dengan pidana penjara paling lama satu tahun empat bulan atau pidana denda paling banyak Rp 13.500,- • UU Larangan Praktek Monopoli dan Persaingan Tidak Sehat, pasal 19 butir b. • pasal 48 (1), Pasal 4, Pasal 9 - 14, Pasal 16 - 19, Pasal 25. Pasal 27, dan Pasal 28 diancam pidana denda serendah-rendahnya Rp 25.000.000.000,00 (dua puluh lima miliar rupiah) dan setinggi-tingginya Rp l00.000.000.000,00 (seratus miliar rupiah), atau pidana kurungan pengganti denda selama-lamanya 6 (enam) bulan
Sengketa domain • Rp. 100.000.013.500 (seratus milyar tiga belas ribu lima ratus rupiah)untukkasus mustika-ratu.com padatahun 1999-2000. • philips-indo.com akhirnya harus diserahkan ke produsen elektronik asal Belanda, Phillips Electronics. • bluesclues.com, mtv-girl.com, mtv-girl.net dan mtv-girl.org • semuanya didaftarkan oleh pihak di Indonesia • diputuskan untuk diserahkan ke Viacom. • Domain dari Peter F. Saerang, penata rambut ternama. • Pada tahun 2007, WIPO memutuskan bahwa nama domain peterfsaerang.com harus dikembalikan pada sang penata rambut. • Sebelumnya, nama domain tersebut didaftarkan oleh sebuah perusahaan di Australia • gresik.comdimilikiperusahaanpenjual domain di US, terdaftar 11 desember 2003, exp 11 desember 2011
Sengketa domain • Microsoft, juga sempat mendapati kasus nama domain. • Perusahaan bernama Zero Micro Software mendaftarkan domain micros0ft.com. • Tanpa panjang-panjang melakukan somasi atau gugatan, Microsoft mengajukan protes ke lembaga nama domain dan berhasil membuat nama domain micros0ft.com dibekukan. • domain Candyland.com, yang merupakan nama produk mainan anak-anak dari Hasbro. • Nama domain itu didaftarkan terlebih dulu oleh sebuah perusahaan pornografi. • Hasbro akhirnya berhasil ‘merebut’ domain itu melalui pengadilan. • Ada tiga penilaian yang memungkinkan suatu nama domain dipindah-tangankan: • Pertama, nama domain tersebut mirip dengan suatu merek (TM). • Kedua, pemilik nama domain tersebut tidak memiliki hak atau legitimasi atas nama domain tersebut. • Ketiga, pendaftar nama domain tersebut terbukti memiliki niatan yang tidak baik.
Selesai SEMOGA BERMANFAAT