Bab 1. Arsitektur, Sejarah, Standarisasi, dan Trend 1.1
Model Arsitektur TCP/IP
Terbentuk dari 2 komponen yaitu Transmission Control Protocol(TCP) dan Internet Protocol(IP). 1.1.1 Internetworking Tujuan dari TCP/IP adalah membangun suatu koneksi antarjaringan dan menghubungkan host pada jaringan yang berbeda atau dipisahkan secara geografis. Aspek yang lain adalah TCP membentuk suatu standarisasi dalam komunikasi. Router adalah menghubungkan suatu perangkat yang dapat meneruskan dari jaringan satu ke jaringan yang lain. IP untuk mengidentifikasi host yang diperlukan sebuah alamat. 1.1.2 Lapisan(layer) pada protocol TCP/IP
Layer Aplikasi : digunakan untuk berkomunikasi menggunakan TCP/IP. Contoh aplikasi: telnet dan FTP. Interface yang digunakan: nomer port dan socket. Layer Transport : memberikan fungsi pengiriman data secara end to end ke sisi remote. Protocol yang digunakan : TCP (pengiriman data secara connection oriented, pencegahan duplikasi data, congestion control dan flow control) dan UDP (digunakan pada aplikasi yang membutuhkan kecepatan tinggi dan dapat mentoleransi terhadap kerusakan data). Layer Internetwork : memberikan virtual network pada internet. Protocol yang digunakan : IP, ICMP, IGMP, ARP, RARP. Layer Network Interface : perangkat keras pada jaringan. 1.1.3 Aplikasi TCP/IP Karakteristik protocol aplikasi: Program aplikasi yang dibuat oleh pengguna/aplikasi yang merupakan standar dari TCP/IP. Contoh aplikasi: TELNET (terminal interaktif untuk mengakses suatu remote pada internet), FTP (transfer file berkecepatan tinggi antardisk), SMTP (system bersurat di internet), dll. Menggunakan mekanisme TCP/UDP Menggunakan model interaksi server/client. 1.1.3.1 Model Client/Server TCP : peer to peer, protocol bersifat connection-oriented.
SERVER : memberikan pelayanan kepada user internet CLIENT : meminta pelayanan. Server merupakan program yang dapat menerima request kemudian mengembalikan sebagai reply. Bekerja dengan cara menunggu request pada port yang sudah terdaftar. 1.1.4 Bridge, Router, dan Gateway Bridge : menghubungkan jaringan pada layer network interface dan meneruskan frame; MAC relay, transparent terhadap IP Router : menghubungkan jaringan pada layer internetwork dan mengarahkan jalu paket data; mampu memilih jalan yang terbaik untuk pengiriman data; transparan terhadap IP. Gateway : menghubungkan jaringan pada layer diatas route dan bridge; pintu keluar suatu host menuju ke jaringan diluar.
1.2
Standarisasi TCP/IP
1.2.1 Request For Comment (RFC) : Digunakan untuk mengembangkan IP. 1.2.2 Internet Standar : proposal standar, draft standar, dan protocol standar merupakan bagian dari Internet Standard Track.
Bab 2. Model Referensi OSI 2.1
Layer OSI
2.2
Konsep dan Kegunaan Layer
Mengurangi kompleksitas pada pemrograman sehingga memudahkan produksi. Membuat perangkat menjadi bentuk modular. 2.2.1 Layer Aplikasi
2.2.2 Layer Presentasi Bertujuan untuk mengurusi format data yang dapat dipahami oleh berbagai macam media, dapat mengkonversi format data. Contoh format data: text, data, graphic, visual image, sound. 2.2.3 Layer Sesi Mendefinisikan bagaimana memulai, mengontrol, dan mengakhiri suatu percakapan
2.2.4 Layer Transport Fungsinya: melakukan segmentasi pada layer atasnya, melakukan koneksi end to end, mengirimkan segmen dari 1 host ke host yang lain, memastikan rehabilitasi data, mengurutkan data yang datang apabila datangnya tidak berurutan.
2.2.4.1 Melakukan segmentasi pada layer atasnya Transport yang terkirim berupa segmen per segmen berdasarkan first-come first-served. 2.2.4.2 Melakukan koneksi end-to-end Konsepnya, untuk komunikasi, perangkat yang dituju harus terkoneksi dulu sebelum mengirim/menerima data. Proses yang dilakukan sebelum pengiriman data:
Sender mengirimkan sinyal Synchronize terlebih dulu ke tujuan Receiver mengirimkan balasan dengan sinyal Negoitiate Connection Penerima mengirimkan Synchronize ulang apa benar pengirim akan mengirimkan data Pengirim membalas dengan sinyal Acknowledge dimana artinya sudah siap untuk mengirimkan data Connection establish Kemudian segmen dikirim.
2.2.4.3 Mengirimkan segmen dari 1 host ke host yang lain
2.2.4.4 Memastikan reliabilitas data Untuk mengatasi congestion (kepadatan pengiriman data) setiap perangkat dilengkapi dengan flow control (mengontrol banyaknya data yang akan dikirim). Data yang reliable artinya data yang datang urut saat dikirimkan. Jika tidak urut maka penerima harus mengirimkan acknowledge. Teknik konfirmasi data dengan acknowledge bekerja mengirimkan informasi data yang terjadi kesalahan.
2.2.5 Layer Network Fungsi utama: pengalamatan (pengalamatan secara logical) dan routing (pengarah jalur paket data yang akan dikirim). 2.2.6 Layer Data Link Fungsi : pemilihan media fisik, pengalamatan fisik, menentukan apakah data telah berhasil dikirim, menentukan pola header pada suatu data. 2.2.6.1 Arbitrasi (pemilihan media fisik)
Bila host A mengirimkan data ke host D, maka host B dan C melakukan deteksi jalur dan apabila sedang dipakai maka host B dan C menunggu terlebih dahulu untuk mencegah terjadinya collision.
2.2.6.2 Addresing (pengalamatan fisik) Menggunakan Media Access Control (MAC) yang berukuran 48 bit dengan format 12 heksadesimal.
2.2.6.3 Error Detection Teknik yang digunakan adalah Frame Check Sequence (FCS) dan Cyclic Redundancy Check (CRC). 2.2.6.4 Identify Data Encapsulation Mengidentifikasi format data yang lewat apakah termasuk ethernet, token ring, frame relay, dsb.
2.3
Interaksi antar Layer pada OSI
Fungsinya: tiap layer memberikan pelayanan pada layer atasnya sesuai dengan spesifikasi protokolnya, tiap layer mengirimkan informasi komunikasi melalui software dan hardware yang sama antarkomputer.
2.4
Data Enkapsulasi
Konsep penempatan data dibalik suatu header dan trailer untuk tiap trailer. Langkah – langkah melakukan data enkapsulasi: 1. 2. 3. 4. 5.
Membuat data Paketkan data untuk ditransportasikan Tambahkan alamat tujuan layer network pada data Tambahkan alamat tujuan layer data link pada data Transmit dalam bentuk bit
2.5 Model Referensi OSI dan TCP/IP
BAB 3. Perangkat Jaringan 3.1 Network Interface 3.1.1 Local Area Network (LAN) Jaringan komputer yang mencover area lokal. Perangkat yang biasanya dipakai LAN adalah bridge, router, hub, dan switch. Teknologi yang digunakan LAN: ethernet, token ring, dan FDDI.
Hub, switch, dan router di layar OSI -
Hub, repeater : bekerja pada layer 1 Switch, bridge : bekerja pada layer 2 Router : bekerja pada layer 3
Perbedaan cara kerja Hub dan Switch
3.1.1.2 Token Ring Merupakan jaringan topologi star dengan Multistation Access Unit (MAU) sebagai pusat jaringan. Fungsi MAU seperti HUB hanya saja data bergerak dengan 1 arah 3.1.1.3 Fiber Distribution Data Interface (FDDI) Bekerja menggunakan 2 jalur berbentuk ring, jika ada yang rusak pada suatu maka station sebelumnya akan membuat loopback sehingga jaringan tidak terputus. 3.1.2
Wide Area Network (WAN)
Jaringan komputer dimana memiliki cakupan daerah yang lebih luas. Perangkat yang digunakan oleh jaringan WAN: router, WAN Switching, modem, Comm Server. Cara menghubungkan yaitu, menghubungkan langsung secara point-to-point atau melalui perangkat switching lainnya. Bentuk fisik perangkat WAN
Contoh perangkat WAN : 3.1.2.1 Serial Line IP (SLIP) Standar yang digunakan pada jaringan point-to-point dengan koneksi serial dimana berjalan protokol TCP/IP diterangkan pada RFC 1055. 3.1.2.2 Point-to-point Protocol (PPP) Standar protokol no 51, RFC 1661 dan RFC 1662, perangkat yang digunakan: modem. Memiliki 3 kmponen inti, yaitu: 1. Menggunakan enkapsulasi datagram melalui link serial 2. Link Control Protocol digunakan untuk menyambungkan, mengkonfigurasi, dan testing koneksi data link 3. Network Control Protocol digunakan untukmenghubungkan protocol yang berbeda.
3.1.2.3 Integrated Service Digital Network (ISDN) Menggunakan enkapsulasi PPP melalui ISDN, dimana dibahas pada RFC 1618. Menggunakan perangkat tipe DCE/DTE. 3.1.2.4 X.25 Merupakan interface penghubung antara host dengan packet switching dan banyak digunakan pada ISDN. Layer pada X.25: - Physical : merupakan interface antar station dengan node. : DTE pada perangkat user : DCE pada node : menggunakan X.21 : merupakan sequence dari frame - Link : Link Access Protocol Balance (LAPB), merupakan bagian dari HDLC - Packet : merupakan eksternal virtual circuit : merupakan logical circuit antar subscriber 3.1.2.5 Frame Relay Pengembangan dari X.25. Karakteristik frame relay : - Call control dilakukan pada koneksi logical - Multiplexing dan switching dilakukan di layer 2
- Tidak ada flow control dan error control pada setiap hop - Flow control dan error control dilakukan di layer atasnya - Menggunakan single data frame 3.1.2.6 PPP over SONET dan SDH Circuit SONET (Synchronous Optical Network ), SDH Link (Synchronous Digital Hierarchy), koneksi didokumentasikan di RFC 1619. 3.1.2.7 Asynchronous Transfer Mode (ATM) Mengirimkan data secara potongan diskrit, memiliki koneksi multi logical melalui koneksi fisik tunggal.
3.2
Media Transmisi
3.2.1 Media Terarah (Guided Transmission Data) : untuk mengirimkan data dimana arah ujung yang satu dengan yang lain sudah jelas. Contoh kabel. 3.2.1.1 Coaxial : ada 2 bagian yaitu, kabel inti ditengah dan kabel serabut disisi samping dengan dipisahkan oleh isolator. 3.2.1.2 Twisted Pair (kabel berpilin) : tujuannya menghilangkan efek crosstalk. Mampu mengirimkan bandwidth dengan jumlah besar. Menggunakan konektor seri RJ (Registered Jack). Untuk kategori 2 menggunakan RJ11 dan kategori 5 menggunakan RJ45. 3.2.1.3 Fiber Optic : Sinyal dialirkan berupa berkas cahaya, mampu mengirimkan bandwidth lebih banyak. 3.2.2 Media tak Terarah (Un-Guided Transmission Data) : untuk mengirimkan data dimana arah ujung yang satu dengan yang lain tersebar. Contoh : wireless. 3.2.2.1 Transmisi Radio: cara untuk mengirimkan data yaitu, memancarkan langsung sesuai dengan permukaan bumi dan dipantulkan melalui atmosfer. 3.2.2.2 Komunikasi Satelit : untuk berkomunikasi jarak jauh. Kategori jarak satelit adalah Geostationary, Medium-Earth Orbit, Low-Earth Orbit.
Bab 4. Internet Protocol 4.1
Pengalamatan IP
Merupakan representasi dari 32 bit, ditampilkan dalam bentuk decimal dengan titik. 4.1.1 Alamat IP (IP Address) Mengidentifikasi suatu host pada internet. Merupakan 32 bit bilangan biner yang dituliskan dengan bilangan decimal. Pemggunaan IP address tidak boleh sama dalam satu jaringan. 4.1.2 Pembagian Kelas Alamat IP (Class-based IP address) Kelas A : menggunakan 7 bit alamat network dan 24 bit untuk alamat host. Ada 27-6 (126) jaringan dengan 224 – 2 (16777214) host atau >2juta alamat.
Kelas B : menggunakan 14 bit alamat network dan 16 bit untuk alamat host. Ada 214 – 2 (16382) jaringan dengan 216 – 2 (655534) host atau sekitar 1juta alamat. Kelas C : menggunakan 21 bit alamat network dan 8 bit untuk alamat host. Ada 221 – 2 (2097150) jaringan dengan 28 – 2 (254) host atau sekitar setengah juta alamat. Kelas D : digunakan untuk multicast. Kelas E : untuk selanjutnya. 4.1.3 Alamat IP yang perlu diperhatikan
4.2
Alamat dengan semua bit – 0, untuk alamat jaringan. Contoh : 192.168.1.0 Alamat dengan semu bit – 1, untuk alamat broadcast. Contoh : 192.168.1.255 Alamat loopback, alamat IP dengan 127.0.0.0 untuk alamat loopback dari system local.
IP Subnet
Jaringan bisa dibagi menjadi beberapa jaringan kecil dengan membagi IP address yang disebut dengan subnetmask atau netmask. Netmask memiliki format yang sama dengan IP address.
Netmask 255.255.255.0, artinya jaringan mempunyai 28-2 (254) jumlah host. Netmask 255.255.255.240, artinya jaringan mempuyai 24-2 (14) jumlah host. 240 jika di ubah jadi biner : 11110000, bit 0 menandakan jumlah host.
4.2.1 Tipe dari Subneting 4.2.1.1 Static Subnetting : hanya memperhatikan kelas dari IP address 4.2.1.2 Variable Length Subnetting Mask (VLSM) : digunakan berdasarkan jumlah host. Sehingga makin banyak jaringan yang bisa dipisahkan. 4.2.1.3 Gabungan antara static subnetting dan variable length subnetting : diperlukan router untuk menggabungkan kedua jaringan tersebut. 4.2.2 Cara Penghitungan Subneting 4.2.2.1 Menggunakan static subnetting Kelas A menggunakan IP 10.252.102.23 00001010 11111100 01100110 00010111 10
252
102
32
alamat 32 bit alamat decimal
10 sebagai alamat network dan 252.102.32 sebagai alamat host.
Netmask 255.255.255.0 (11111111 11111111 11111111 00000000) dengan aturan bit 0 dan 1 maka jaringan tersebut memiliki 216-2 (65534) subnet dengan host maksimum 28-2 (254). 4.2.2.2 Menggunakan variable length Subneting Subneting 255.255.255.192 maka hanya ada 4 subnet dengan masing – masing subnet 64 host. Padahal yang dibutuhkan 5 subnet. Subnet 255.255.255.224 memiliki 8 subnet dengan masing- masing subnet 32 host. Padahal yang dibutuhkan 50 host. Solusinya dengan membagi menjadi 4 subnet dengan netmask 255.25.255.192 dan subnet yang terakhir dibagi lagi dengan netmask 255.255.255.224. sehingga didapat 5 subnet dengan subnet 1-3 64 host dan subnet 4-5 32 host.
4.3
IP Routing
4.3.1 Tipe Routing 4.3.1.1 Direct Routing : Host yang dituju dalam 1 jaringan. 4.3.1.2 Indirect Routing : Host yang dituju berbeda jaringan. Membutuhkan 1 IP addrberbeda jaringan. Membutuhkan 1 IP address lagi sebagai IP gateway. 4.3.2 Table Routing
4.4
Metode Pengiriman – Unicast, Broadcast, Multicast, dan Anycast 4.4.1 Broadcast : pengiriman data dengan tujuan semua alamat yang berada dalam 1 jaringan. 4.4.2 Multicast : pengiriman data dengan tujuan alamat grup dalam 1 jaringan. 4.4.3 Anycast : pelayanan menggunakan IP address yang berbeda, jika pengirim mengirim data menuju ke pelayanan tersebut akan diteruskan ke salah satu alamat IP tersebut
4.5
IP Private – Intranet
Diatur oleh RFC 1918. IP 10.0.0.0 untuk jaringan kelas A, IP 172.16.0.0 – 172.31.0.0 untuk jaringan kelas B, dan IP 192.168.0.0 – 192.168.255.0 untuk jaringan kelas C.
4.6
Classless Inter-Domain Routing (CIDR)
Routing yang tidak memperhatikan kelas dari alamat IP. Dibahas pada RFC 1518-1520. Contoh : IP yang digunakan 192.168.0.0/255.255.255.0 dengan IP 192.168.1.0/255.255.255.0 untuk mengkoneksikan 500 host, IP kelas C diperlukan 2 subnet. Dengan menggunakan CIDR tabel routing cukup menggunakan 192.168.0.0/255.255.255.0 untuk bisa terkoneksi.
4.7
IP Datagram
4.7.1 Fragmentasi IP dapat memisahkan data yang terkirim menjadi sebesar MTU (Maximum Transfer Unit). MTU adalah kemampuan masing – masing interface dalam mengirimkan frame data. Batas maksimum data ditempatkan dalam 1 frame.
Bab 5. Internetworking 5.1
Internet Control Message Protocol (ICMP)
Digunakan ketika router atau host tujuan menginformasikan suatu kerusakan pada IP datagram. Spesifikasi RFC 792 dengan update RFC 950. 5.1.1 Pesan ICMP Dikirimkan dalam IP datagram. IP header, protocol berisikan 1 ICMP dan type of service (TOS) bernilai 0 (routine). 5.1.1.1 Echo (8) dan Echo reply (0) Echo: untuk mengecek keaktifan dari suatu host. Jika host aktif akan dibalas dengan pesan echo reply.
5.1.1.2 Destination Unreachable (3) Berasal dari router yang memberitahukan bahwa host tujuan tidak dapat dicapai. 5.1.1.3 Source Quench (4) Berasal dari router yang tidak memiliki ruang buffer untuk meneruskan datagram 5.1.1.4 Redirect (5) Berasal dari router yang hostnya harus mengirimkan datagram berikutnya kepada router yang berada dijaringan yang dituju. 5.1.1.5 Router Advertisement (9) dan Router Solicitation (10) Digunakan router yang mempunyai protocol discover. Router akan memberikan IP address kepada jaringannya dan host yang menerima IP address aakan membalasnya dengan Router Solicitition. 5.1.1.6 Time Exceeded (11) Berasal dari router yang pesannya dikirim sudah kehabisan waktu sesuai batas TTL. 5.1.1.7 Parameter Trouble (12) Diakibatkan proses persiapan untuk mengirimkan pesan ICMP ada kesalahan. 5.1.1.8 Timestamp Request (13) dan Timestap Reply (14) Untuk proses debug. 5.1.1.9 Information Request (15) dan Information Reply (16) Untuk mendapatkan IP Address, sudah digantikan oleh ARP dan RARP. 5.1.1.10 Address Mask Request (17) dan Address Mask Reply (18) Untuk mendapatkan subnetmask dari suatu jaringan. 5.1.2 Aplikasi ICMP 5.1.2.1 PING (Packet InterNet Groper) Program tersederhana dari aplikasi TCP/IP. Menggunakan ICMP echo dan echo reply. 5.1.2.2 TRACEROUTE Melacak jalut mana saja yang dilalui untuk menuju ke suatu host tujuan.
5.2
Internet Group Management Protocol (IGMP) Untuk mengecek apakah suatu host dapat bergabung dengn IP Multicast. Spesifikasinya RFC 1112 dengan update RFC 2236.
5.3
Address Resolution Protocol (ARP) Untuk merubah protocol pengalamatan pada layer yang lebih atas (IP address) menjadi alamat fisik jaringan. Spesifikasi ARP dilihat dari RFC 826.
5.4
Reverse Address Resolution Protocol (RARP)
Untuk merubah protocol pengalatan pada layer yang lebih rendah (Alamat MAC) menjadi alamat IP.
5.5
Bootstrap Protocol (BOOTP)
Dapat membuat sebuah client/workstation untuk melakukan initialisasi dengan IP Stack yang minimal sehingga mendapatkan IP address, alamat gateway, dan alamat name server. Spesifikasi dapat dilihat di RFC 951.
5.6
Dynamic Host Configuration Protocol (DHCP)
Untuk disampaikan kepada client yang berisikan informasi tentang konfigurasi jaringan. Spesifikasi dilihat pada RFC 2131 – Dynamic Host Configuration Protocol dan RFC 2132 – DHCP options dan BOOTP vendor extension. 5.6.1 Proses alokasi alamat jaringan
Bab 6. Protokol Routing Mempunyai kemampuan untuk membangun informasi dalam routing tabel secara dinamik. Jika terjadi perubahan jaringan routing protocol mampu memperbaharui informasi routing tersebut.
6.1
Autonomous System (AS) : Merupakan bagan dari routing protocol.
6.2
Tipe IP routing dan algoritma IP Routing
Untuk membangun dan mengatur tabel routing pada perangkat. Ada 2 cara untuk membangun tabel routing, yaitu static routing dan dynamic routing. 6.2.1 Static Routing : Entri route yang dilakukan oleh seorang administrator untuk mengatur jalur dari sebuah paket data. 6.2.2 Distance Vector Routing : menggunakan algoritma Bellman-Ford. Tiap router pada jaringan memiliki informasi jalur mana yang terpendek untuk menghubungi segmen selanjutnya. Protocol yang digunakan : RIP. 6.2.3 Link State Routing : menggunakan link state. Tiap router akan mengolek informasi tentang interface, bandwidth, roundtrip, dsb dengan saling bertukar informasi. Routing protocol yang digunakan : OSPF. 6.2.4 Hybrid Routing : gabungan dari Distance Vector dan Link State Routing.
6.3
Routing Information Protokol (RIP)
Menggunakan algoritma distance vector, yaitu Bellman-Ford yang menghitung jumlah hop sebagai routing metric. Spesifikasi RIP dilihat dari RFC 1058. Jumlah maksimal hop: 15 nda RIP bertukar data tiap 30s melalui UDP port 520.
6.4
Open Shortest Path First (OSPF)
Routing protocol berbasis link state, menggunakan algoritma Dijkstra untuk menghitung shortest path first dan menggunakan cost sebagai routing metric.
6.5
Enchanced Interior Gateway Routing Protocol (EIGRP)
Routing protocol yang dibuat CISCO, menggunakan algoritma hybrid. Menggunakan beberapa terminology seperti: successor (meneruskan paket data), feasible successor (meneruskan data apabila successor mengalami kerusakan), neighbor table (tabel yang berisi alamat dan interface untuk mengakses ke router sebelah), topology table (tujuan router sekitarnya), reliable transport protocol (mengurut pengiriman data).
6.6
Border Gateway Protocol (BGP) : Untuk menghindari routing loop pada jaringan
internet.
6.7
Proses Routing di system UNIX : aplikasi UNIX, yaitu
RouterD: mendukung interior routing dengan mengimplementasikan RIP GateD: mendukung interior dan eksterior routing dengan mengimplementasikan OSPF, RIPv2, BGP-4 Quagga: mendukung interior dan eksterior routing dengan mengimplementasikan OSPFv3, RIPv1, RIPv2, RIPing, BGP4.
Bab 7. Transport Layer 7.1
Port dan Socket
7.1.1 Port : untuk melakukan proses komunikasi dengan proses lain pada jaringan TCP/IP. Menggunakan nomer 16 untuk komunikasi host-to-host. 1 port tidak bisa dipakai 2 aplikasi dalam waktu yang bersamaan. Ada 2 macam port yaitu well-known dan ephemeral. 7.1.2 Socket : bagian dari Application Programming Interface (API) yang digunakan untuk protocol informasi.
7.2
User Datagram Protocol (UDP)
Menggunakan standar STD no 6. Spesifikasi dilihat pada RFC 768. Interface untuk aplikasi IP. Tidak memiliki fungs reliabilitas data, flow control, dan error recovery untuk komunikasi IP.
7.2.1 Format Datagram UDP : memiliki 16 byteUDP
7.2.2 Aplikasi yang digunakan UDP
7.3
Trivial File Transfer Protocol (TFTP) Domain Name System (DNS) Remote Procedure Call (RPC) pada Network File System (NFS) Simple Network Management Protocol (SNMP) Lighweight Directory Access Protocol (LDAP)
Transmission Control Protocol (TCP)
Merupakan protokol dengan STD no 7. Spesifikasi dilihat dari RFC 793. Memiliki error recovery, flow control, dan reliabilitas. Berbasis connection-oriented. 2 proses komunikasi menggunakan TCP disebut Inter Process Communication (IPC) 7.3.1 Format Segmen TCP
7.3.
Interface Pemrograman pada Aplikasi TCP -
7.3.3
Open : membuka koneksi dengan memasukkan beberapa parameter Send : mengirimkan buffer data ke tujuan Receive : menerima dan mengcopy data kepada buffer milik pengguna Close : menutup koneksi Status : melihat informasi Abort : membatalkan semua kegiatan send atau receive Aplikasi yang menggunakan TCP Standar aorplikasi yang digunakan : telnet, FTP,SMTP, dan HTTP.
Bab 8. Struktur dan Pemrograman untuk Layer Aplikasi 8.1
Karakteristik dari Aplikasi
o Merupakan aplikasi yang ditulis oleh user/ aplikasi yang sudah terdapat TCP/IP (ada Telnet, SMTP, dan FTP). o Menggunakan sistem transport UDP/TCP o Mneggunakan model client-server
8.2 Pemrograman dengan Socket API : Digunakan untuk membuat aplikasi. 8.2.1 Struktur dan Penanganan Data : Dengan strukur, programmer akan mudah mengontrol data. 8.2.1.1 Perubahan variabel Perubahan awal yang digunakan adalah :
htons() : perubahan host ke network dengan sistem short hton1() : perubahan host ke network dengan sistem long ntohs() : perubahan network ke host dengan sistem short ntoh1() : perubahan network ke host dengan sistem long
8.2.1.2 Penanganan alamat IP Jika sudah memiliki variable struct_ia una dan kita memiliki IP 10.252.102.23 maka dengan fungsi inet_addr()¸ akan daoat merubah alamat IP menjadi unsigned long. Ada cara lain yaitu dengan menggunakan inet_aton. 8.2.2 System Call : untuk menjalan dan mengakses jaringan. 8.2.2.1 Socket() : untuk inisialisasi dalam penggunaan socket. Domain berisi AF_INET, type berisikan SOCK_STREAM (pakai TCP)/ SOCK_DGRAM (pakai UDP), dan protokol berisikan 0. 8.2.2.2 bind() : untuk melakukan asosiasi terhadap alamat IP dan port. 8.2.2.3 connect() : untuk mengakses suatu remote host. 8.2.2.4 listen() : untuk menunggu koneksi dari suatu host. 8.2.2.5 accept() : socket akan meneruskan ke variable socket yang baru setelah host menghubungi dan akan membentuk socket baru dan bisa diproses untuk send / recv. 8.2.2.6 send() dan recv() : untuk pertukaran data yang berbasis connection-oriented.
8.2.2.7 sendto() dan recvrfrom() : untuk pertukaran data dengan protokol DGRAM. 8.2.2.8 close() dan shutdown() : untuk menutup koneksi setelah melakukan pertukaran data. Kode : 0 -> hanya diperbolehkan menerima; 1 –>hanya diperbolehkan mengirim; 2 -> menerima dan mengirim tidak diperbolehkan. 8.2.2.9 getpeername() : untuk mengetahui informasi tujuan. 8.2.2.10 gethostname() : untuk mengetahui informasi tentang mesin jaringan kita 8.2.2.11 DNS – mengirim ke whitehouse.gov dijawab 198.137.240.92 : untuk mendapatkan hasil dari struktur hostent. 8.2.3 Skenario penggunaan pemrograman socket : Menggunakan sistem client-server.
8.2.4 Socket Lanjutan 8.2.4.1 Blocking : nilai awal socket pada saat inisialisasi socket. 8.2.4.2 select() – synchronous I/O Multiplexing : memilah dan memroses data pada waktu yan bersamaan.
8.3
Remote Procedure Call (RPC)
Suatu protokol yang memperbolehkan suatu program komputer yang memberikan suatu subrouting kepada komputer yang lain untuk menjalan suatu perintah tanpa melalui programmer membuat program terlebih dahulu.
Bab 9. Protokol Penamaan dan Direktori 9.1
Domanin Name Server (DNS)
STD 13, RFC 1034 dan RFC 1035. Pemetaan suatu nama terhadap IP, sehingga host lain cukup mengakses host tersebut dan menanyakan suatu nama dan dibalaskan alamat IP kepada host penanya.
9.1.1 Hirarki Penamaan
9.1.2 Fully Qualified Domain Names (FQDN) Pengguna dapat mengakses suatu site hanya dengan bagian kecil dari suatu domain. 9.1.3 Domain Generik : tiga karakter dari top-level domain. 9.1.4. Domain Negara : tiap negara menggunakan 2 karakter huruf yang merupakan singkatan dari nama negaranya. 9.1.5 Pemetaan Nama Domain ke Alamat IP : dikontrol oleh nameserver (menjawab permintaan dari program clien tentang suatu nama domain). 9.1.6 Pemetaan Alamat IP ke Nama Domain – pointer query : format domainnya dalam bentuk in.addr-arpa (ARPA). 9.1.7 Pendistribusian Nama Domain : dapat dilakukan di jaringan lokal dimana cara kerja DNS menggunakan sistem zones yang mana suatu nameserver dapat mendelegasikan suatu nama domain ke nameserver lainnya dengan internetworking, 9.1.8 Domain Name Resolution : menggunakan UDP dan TCP. Proses yang dilakukan :
Suatu program menggunakan gethostbyname(). Resolver menanyakan ke suatu nameserver Nameserver mengecek apakah ada jawaban di database lokal atau di penyimpanan sementara (cache). Program pada pengguna menerima jawaban beruapa alamat IP atau pesan error.
9.1.9 Domain name full resolver : jika DNS resolution dari program pengguna, dan di query ke suatu nameserver.
9.1.10 Domain Name Stub Resolver : program yang dilengkapi dengan subrutin pemrosesan nama domain dan dapat melakukan query ke nameserver. 9.1.11 Operasi Domain Name Server : tipe nameserver yaitu primary, secondary, dan cachingonly. 9.1.12 Resource Record dari Domain Name System : database -> resource record (RR) didalamnya dimulai dengan Start of Authorithy (SOA) untuk mencatat domain dan nameserver untuk menjawab nama domain tersebut. 9.1.13 Transport : pesan DNS dikirimkan melalui UDP (port 53 : untuk transferzone antar nameserver, panjang pesan 512 byte) dan TCP (port 53 : panjang toal frame dari pesan). 9.1.14 Aplikasi DNS : diimplementasikan pada host, nslookup, dig,dan bind.
9.2
Dynamic Domain Name Server (DDNS) Digunakan pada client yang menggunakan sistem DHCP. Cara kerja DDNS ->
9.3
Network Informastion System (NIS) Untuk berbagi informasi pada lingkungan unix. Sistem NIS terdiri dari : NIS master server : mengelola peta atau database dari password pengguna NIS slave server : cadangan dari NIS master server NIS client : Sistem yang dilayani oleh NIS server
Bab 10. Eksekusi Jarak Jauh 10.1 TELNET
STD nomor 8, dijelaskna RFC 854 – TELNET protocol spesification dan RFC 855 – TELNET options spesifications. Memberikan interface pada suatu program di salah satu host untuk mengakses sumber daya yang berada pada host yang lainnya.
10.2 Remote Execution Command Protocol (REXEC dan RSH) Remote Execution Comman Daemon (REXECD) : server yang tugasnya menangani perintah dari host lainnya kemudian meneruskan perintah virtual machine. REXEC -> TCP port 512, RSH -> TCP port 514.
10.3 Secure Shell (SSH) Untuk melakukan remote login dan menjalankan perintah pada komputer remote, sebagai tunnel jaringan, melakukan penerusan pada port TCP dan koneksi X11. Port 22, protokol SFTP atau SCP. 10.3.1 Penggunaan SSH
Dengan SSH control -> Pengontrolan server secara jarak jauh. Dengan kombinasi SFTP -> dapat melakukan transfer file. Dengan kombinasi rsync -> sebagai mirror, backup Dengan kombinasi SCP -> aplikasi rcp dengan kemampuan keamanan data. Penerus port / tunneling
10.4 Virtual Network Computing (VNC) Untuk melakukan pembagian sumber untuk desktop. Menggunakan protokol RFB (Remote Frame Buffer) untuk mengatur komputer lain secara jarak jauh. Cara kerja VNC adalah VNC menggunakan protokol yang sederhana berdasarkan cara kerja graphic yaitu “letakkan kotak pada posisi x,y yang diberikan”. Server mengirimkan framebuffer sebesar kotak yang ditentukan kepada client. Sehingga untuk mengirimkan gambar hanya diperlukan untuk bagian yang bergerak saja, tetapi bila terjadi pergerakkan gambar yang menuntut sepenuh layar, maka gambar yang dikirimkan juga sebesar gambar sepenuh layar tersebut.
Menggunakan port 5900 hingga 5906. Aplikasi VNC: X-windows (port 5900 hingga 5906 untuk layar 0 hingga 6). Untuk viewer berupa java diimplementasikan pada RealVNC pada port 5800 hingga 5806. Port tersebut dapat dirubah. Pada komputer Windows menggunakan port 5900. Tipe Koneksi: TCP
10.5 Remote Desktop Protocol (RDP) Protokol multichanel yang memperbolehkan user untuk terkoneksi dengan Microsoft Terminal Service. Server aplikasi port: 3389. Untuk client dapat dilakukan dari Windows, Linux, FreeBSD, Mac OS X. Tipe koneksi TCP.
Bab 11. Protokol Transfer File 11.1 File Transfer Protocol (FTP) Protokol: STD 9, dijelaskan pada RFC 959 – FTP dan diupdate dengan RFC 2228 – FTP security extension. Melakukan duplikat file dari komputer yangsatu denga yang lain dengan 2 arah. Tipe koneksi TCP/IP. Contoh aplikasi FTP
11.1.1 Sekilas tentang FTP : menggunakan TCP sebagai protokol transport. FTP server menerima koneksi pada port 20 dan 21. 11.1.2 Operasional FTP : melakukan koneksi ke host lain, memilah direktori, melihat list dari file, memilih cara transfer file, mentransfer file, menggunakan mode passive, menutup koneksi. 11.1.3 Skenario FTP :
11.1.4 Anonymous FTP : model FTP yang tanpa menggunakan authentikasi pada pengguna.
11.2 Trivial File Transfer Prottocol (TFTP) Standar protokol STD no 33, dijelaskan pada RFC 1350, diupdate pada RFC 1785, 2347, 2348, dan 2349. Protokol UDP, port 69, server dan client melakukan negoisasi tentang port yang akan digunakan utnuk melakukan transfer. 11.2.1 Penggunaan TFTP : membawa pengguna pada prompt interaktif yang dapat melanjutkan dengan sub perintah.
11.3 Network File System (NFS) Protokol yang dapat membagi sumber daya melalui jaringan. Fungsinya: dapat independent dari jenis mesin, jenis mesin sistem operasi dan jenis protokol transport yang digunakan. 11.3.1 Konsep NFS : memperbolehkan yang telah diijinkan untuk mengakses file-file yang berada di remote host. Bekerja dengan RPC dan mengirim dengan protokol TCP dan UDP 11.3.1.1
Protokol Mount : untuk membuat link dengan cara me-mount direktori.
11.3.1.2
Protokol NFS :
Bab 12. Aplikasi Surat (Mail) 12.1 Simple Mail Transport Protocol (SMTP) Untuk menukarkan email antar host yang berbasis TCP/IP. Port: 25, Tipe Koneksi: TCP, Contoh Aplikasi server: gmail, sendmail, postFX, Contoh aplikasi client: microsoft outlock, Cara kerja: SMTP bekerja berdasarkan pengiriman end-to-end, dimana SMTP client akan menghubungi SMTP server untuk segera mengirimkan email.
12.2. Multipurpose Internet Mail Extensions (MIME) Standar internet yang menyambung format email supaya mendukung format text dengan format selain US-ASCII, non-text attachment, multi-part pada badan pesan, dan informasi pada header. Tipe Koneksi: TCP, UDP .
12.3 Post-Office-Protocol (POP)
Untuk mengambil email yang berada di server. Port: 110, Tipe koneksi: TCP, UDP, dan Contoh program client: outlook, thunderbird, apple mail.
12.4 Internet Message Access Protokol Version 4 (IMAP4) Untuk membaca email di sugatu server. Port yang digunakan 143 dengan menggunakan protocol UDP dan TCP. Contoh program client: outlook, thunderbird, apple mail.
Bab 13. World Wide Web 13.1 Hypertext Transfer Protocol (HTTP) Untuk transfer suatu informasi melalui world wide web. Tipe koneksi: TCP, Port: 80, berikut ini merupakan contoh komunikasi HTTP antar client dan server. Server berjalan di www.sample.com, dengan port 80. Client request
Server respon
13.1.1 Request Message : terdiri dari request line, header, baris kosong, dan pilihan badan pesan. 13.1.2 Request Method : ada 8 metode, yaitu head, get, post, put, delete, trace, options, connect. 13.1.3 Versi HTTP : ada 0.9, HTTP/0.1, HTTP/1.1, HTTP1.2 13.1.4 Kode Status : respon yang pertama kali muncul pada saat mengakses suatu web.
13.2 Web Browser Dapat melakukan interaksi dengan tulisan, gambarm dan informasi yang lainnya. Menggunakan protocol HTTP, FTP, RTSP, dan HTTPS.
13.3 Web Server Program computer yang melayani HTTP, compute yang memiliki tanggung jawab menerima HTTP request dari client. 13.3.1 Fitur 1. HTTP: merespon permintaan HTTP dan memberikan jawaban HTTP dengan memberikan dokumen HTML dan memberikan informasi kesalahan bila terjardi kesalahan. 2. Logging: web server memiliki fasilitas logging tentang informasi client yang melakukan request, respon yang diberikan oleh server, disimpan pada suatu file log. 13.3.2 Tipe konten : static dan dinamik. 13.3.3 Translasi Path : web server melakukan peralihan jalur dari URL menuju ke file system.
13.3.4 Konkuren : menggunakan teknik pemrograman konkuren 13.3.5 Perangkat lunak : Apache HTTP, Internet Information Service, Sun Java System Web Server, Zeus Web Server,
13.4 Konten Web melayani static konten dan dinamik konten. 13.4.1 Konten static : konsep diambil dari suatu file pada filesistem. 13.4.2 Client-Side Dynamic Content : fungsi dinamis dari aplikasi dijalankan disisi client. 13.4.3 Server-Side Dynamic Content : mengakses fungsi yang terdapat di webserver.
Bab 14. Managemen Jaringan 14.1 Simple Network Management Protocol (SNMP) Untuk memonitor perangkat jaringan sehingga dapat memberikan informasi yang dibutuhkan oleh pengelolanya. Port yang digunakan 161 dan 162, protocol yang digunakan UDP. Contoh aplikasi : Microsoft Outlook. 14.1.1 Management Information Base (MIBs) : Untuk manajemen perangkat pada jaringan.. 14.1.2 Arsitektur SNMP : Master agent, subagent, management station. 14.1.3 Protokol SNMP : UDP, port 161 untuk agent dan 162 untuk manager.
14.2 Multi Router Traffic Grapher (MRTG) dan Cacti Untuk memonitoring traffic load pada link jaringan.