1 Pertemuan 1 Pendahuluan Matakuliah: H0483 – Network Programming Tahun: 2005 Versi: 1.0
2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : menyebutkan berbagai macam protokol yang umum digunakan pada jaringan komputer.
3 Outline Materi OSI Model Transport Layer TCP/UDP UDP: User Datagram Protocol TCP: Transmission Control Protocol TCP Connection Establishment & Termination Port Number
4 > Pendahuluan Sebagian besar aplikasi-aplikasi pada jaringan komputer dibagi dua bagian yaitu : Client dan Server
5 > Contoh : –Web Brouser (Clinet) vs Web Server –FTP Client vs FTP Server –Telnet Client vs Telnet Server Client berkomunikasi dengan satu Server, sedangkan Server dapat berkunikasi dengan beberapa Client pada saat yg sama
6 > Client Server Server handling multiple clients at the same time
7 >
8 Komunikasi antara Client dan Server pada jaringan komputer umumnya menggunakan Protokol jaringan al: TCP/IP, UDP dll. TCP (pada Transport layer) menggunakan Internet Protokol / IP (pada Network layer). IP berkomunikasi dengan Lapisan Data Link
9 > Istilah IP yg telah dikenal mulai awal th. 80-an disebut juga dengan IP versi 4.0 (IPv4), dan pada pertengahan tahun an telah dikembanagkan IP Versi 6 (IPv6). Aplikasi Client – Sever tidak hanya pada LAN yang sama tetapi juga pada LAN yg berbeda
10 >
11 > OSI Model Cara yang umum digunakan untuk menjelaskan lapisan-lapisan (Layers) pada jaringan adalah OSI Model.
12 > Dua layer terbawah dari OSI Model (Physical & DataLink) identik dengan “Device driver dan hardware pada Internet Protokol” dan umumnya disediakan oleh sistem: –Physical layer merubah bit ke signal dan sebaliknya. –Media yg dipergunakan untuk mentransmisikan signal : Radio, Twisted pair, Coaxial cable, Optical fiber, dll. –Data link layer menjaga agar paket tiba dengan baik sampai di ujung media yg digunakan. ACK /acknowledgment of packets, Error detection.
13 > Network layer ditangani oleh Protokol IPv4 dan IPv6 –Network layer berkaitan dengan pengambilan paket dari source node ke destination node, routing, addressing physical device. Transport Layer ditangani oleh Protokol TCP dan UDP. Pada gambar diatas ada gap antara TCP dan UDP dimaksudkan bahwa lapisan aplikasi dapat mem-bypass Transport layer dan langsung menggunakan IP (Network layer) –Transport layer mengontrol pengiriman pesan antara dua node di dalam network. –Divide message into packets –If required reorder packet that arrive out of order –If required resend lost or damaged packets
14 > Tiga layer teratas dari OSI Model dapat digabung menjadi satu Lapisan aplikasi pada sederetan Internet Protokol (Contoh: Web client, Web Server, Telnet client, Telnet Server, dll. Pada Internet Protokol jarang ada yang membedakan tiga layer teratas pada OSI Model. Interface antara Lapisan aplikasi dengan Transport layer pada internet protocol dapat menggunakan Socket.
15 > Transport Layer : TCP & UDP Pendahuluan: –Kebanyakan aplikasi Client – Server menggunakan TCP atau UDP. –Memungkinkan menggunakan IPv4 atau IPv6 secara langsung dengan mem-bypass transport layer, teknik ini disebut dengan “raw socket”. Teknik ini jarang digunakan. –UDP lebih sederhana, unreliable, => data –TCP lebih sulit, reliable, => byte-stream protocol
16 >
17 > IPv4 : Internet protocol versi 4, sering disebut dengan IP saja. Menggunakan 32-bit addresses Menyediakan pelayanan pengiriman paket untuk TCP, UDP, ICMP, dan IGMP
18 > IPv6 : Internet protocol versi 6, dirancang pada pertengahan th. 90-an, untuk mengganti IPv4 128-bit addresses Menyediakan pelayanan pengiriman paket untuk TCP, UDP, ICMPv6
19 > TCP : TCP ( Transmission Control Protocol ) Connection – Oriented Protocol, reliable, full duplex, byte stream Acknowlwdment, timeout, retransmissions Dapat menggunakan IPv4 atau IPv6
20 > UDP: UDP (User Datagram Protocol) Connectionless Protocol Tidak ada garansi bahwa UDP datagram sampai dengan aman pada tujuan UDP dapat menggunakan IPv4 atau IPv6
21 > UDP: User Datagarm Protocol –Simple Transport-layer protokol –Connectionless Protocol –Dijelaskan pada RFC768 –Program aplikasi menulis sebuah Datagram ke UDP Socket –Datagram identik dengan Record –Tidak ada garansi bahwa UDP datagram sampai dengan aman pada tujuan –Tidak menggunakan Flow Control –UDP Client dapat meng-create socket dan mengirim sebuah datagram ke server, dan setelah itu client bisa segera mengirim datagram yg lain
22 > TCP: Transmission Control Protocol –Dijelaskan pada RFC 793 –TCP Client membuat hubungan (Connection) dengan Server sebelum data dikirim. Setelah selesai dilakukan pemutusan hubungan. –Keandalan (Reliability) lebih baik dari UDP –TCP menggunakan Acknowledgment, dan Sequence number. –TCP menyediakan Flow Control –TCP connection adalah Full Duplex (aplikasi dapat menerima dan mengirim data dalam dua arah )
23 > TCP Connection Establishment and Termination Three way Handshake Scenario : TCP Connection is established : 1.Server harus disiapkan untuk dpt menerima “incoming connection”. Umumnya dilakukan dengan memanggil fungsi : socket(), bind() dan listen() 2.Client memanggil fungsi socket(), kemudian fungsi connect(). Akan terjadi client mengirim SYN Segment untuk memberitahukan “initial sequence number” pada server. 3.Server mengirim Acknowledge dan SYN segment ke Client 4.Client mengirim Acknowledge ke server.
24 >
25 > TCP Connection Termination 1.Aplikasi (client) memanggil fungsi close() => (active close), kemudian mengirim FIN Segment. 2.Disisi lawan (server) akan menerima FIN Segment => (passive close), kemudian server mengirim Acknowledge 3.Aplikasi yg menerima end-of-file akan meng- close socket, ini menyebabkan TCP akan mengirim FIN 4.TCP pada sistem yg menerima FIN akan mengirim Acknowledge.
26 >
27 > Watching The Packets