BAB 2 LANDASAN TEORI
2.1.
Network Network atau jaringan komputer adalah beberapa komputer dan peripheral,
seperti printer, modem, scanner dan peripheral lainnya, yang saling berhubungan dan melakukan komunikasi antara satu dengan yang lainnya (ANDI dan Wahana Komputer, 2005, p.1). Berdasarkan luas jangkauannya (Forouzan, 2003, p.13), network dapat dibagi menjadi 3 bagian yaitu : •
LAN (Local Area Network) LAN di desain untuk beroperasi dalam area geografis terbatas, yang melingkupi satu gedung dengan jarak 10m – 1km yang dapat menghubungkan semua workstation, peripheral, terminal, dan peralatan lain sehingga dapat saling bertukar informasi.
•
MAN (Metropolitan Area Network) MAN memiliki luas jangkauan lebih luas dibandingkan LAN dan lebih kecil daripada WAN. MAN dapat menjangkau kantor-kantor perusahaan yang berdekatan atau juga sebuah kota. WAN merupakan jaringan komunikasi data yang menghubungkan pengguna dalam lingkup geografis yang luas antara 100km – 100.000 km.
8
9 •
WAN (Wide Area Network) WAN adalah jaringan dengan skala yang sangat besar yang meliputi daerah geografis yang sangat luas.
2.2.
Topologi Jaringan Topologi dapat di definisikan sebagai struktur dari sebuah jaringan. Berdasarkan
strukturnya, topologi jaringan dapat dibagi menjadi dua, yaitu Physical Topology dan Logical Topologi. 2.2.1. Physical Topology Physycal topology adalah gambaran secara fisik dari pola hubungan antara komponen-komponen jaringan, yang meliputi server, workstation, hub, switch, dan peripheral lainnya. Bentuk umum dari topologi ini (Anonim1) adalah •
Bus Topology
Gambar 2.1 Bus Topology Topologi ini adalah topologi yang pertama di gunakan untuk menghubungkan komputer. Dalam topologi ini masing masing komputer akan terhubung ke satu kabel panjang dengan beberapa terminal, dan pada akhir dari kabel harus di akhiri dengan satu terminator. Topologi ini sudah sangat jarang digunakan
10 didalam membangun jaringan komputer karena memiliki beberapa kekurangan diantaranya adalah kemungkinan terjadi nya tabrakan aliran data, jika salah satu perangkat putus atau terjadi kerusakan pada satu bagian komputer maka jaringan langsung tidak akan berfungsi sebelum kerusakan tersebut di atasi. •
Ring Topology
Gambar 2.2 Ring Topology Topologi ring adalah topologi jaringan dimana setiap komputer yang terhubung membuat lingkaran. Dengan artian setiap komputer yang terhubung kedalam satu jaringan saling terkoneksi ke dua komputer lainnya sehingga membentuk satu jaringan yang sama dengan bentuk cincin. Kelebihan menggunakan topologi ini adalah data yang dikirim tidak akan terjadi collision atau tabrakan. Topologi ini membuat perkembangan jaringan menjadi susah karena setiap komputer akan saling terhubung.
11 •
Star Topology
Gambar 2.3 Star Topology Topologi ini menghubungkan semua kabel ke satu titik pusat. Titik pusat ini biasanya berupa hub atau switch sehingga seolah-olah komputer yang terhubung berbentuk seperti bintang. •
Hierarchical Topology
Gambar 2.4 Hierarchical Topology Topologi Hierarkis berbentuk seperti pohon bercabang yang terdiri dari komputer induk (Root), dihubungkan dengan node lain secara bertingkat. Tingkat yang lebih tinggi berfungsi sebagai pengatur kerja tingkat di bawahnya.
12 2.2.2. Logical Topology Logical topology adalah gambaran secara maya bagaimana sebuah host dapat berkomunikasi melalui medium. Bentuk umum yang biasa digunakan adalah Broadcast dan Token Passing. •
Broadcast Topology Pada topologi ini, setiap host yang mengirim paket data akan mengirimkan paket tersebut ke semua host (broadcast) pada media komunikasi jaringan.
•
Token Passing Topology Pada topologi ini, setiap host mempunyai kemampuan mengendalikan akses jaringan dengan mem-pass-kan sebuah token elektronik yang secara sekuensial akan melalui masing-masing host dari jaringan tersebut. Ketika sebuah host mendapatkan token tersebut, berarti host tersebut diperbolehkan untuk mengirimkan data pada jaringan. Jika host tersebut tidak memiliki data yang akan dikirim, maka token akan di lewatkan kehost berikutnya. Kejadian tersebut akan terus menerus dilakukan.
2.3.
OSI (Open Systems Interconnection) Halsall (1995,p13) mengatakan diawal tahun 1980 terjadi peningkatan jaringan
yang sangat besar dalam segi kuantitas dan di pertengahan tahun 1980 kesulitan komunikasi
terjadi
pada
jaringan-jaringan
komputer
dengan
spesifikasi
dan
implementasi hardware yang berbeda. Untuk
menangani
permasalahan
ketidakcocokan
dan
ketidakmampuan
berkomunikasi ini, maka dibentuklah model referensi OSI oleh International Standart Organization (ISO) di tahun 1984 untuk mengatur komunikasi data elektronik.
13
Gambar 2.5 Model OSI Model OSI dibagi menjadi 2 bagian (Anonim2) yaitu : •
Upper Layers Upper layers terdiri dari layer aplikasi, presentasi dan session yang merupakan application-oriented dimana ketiga layer ini bertanggung jawab untuk menangani aplikasi jaringan, representasi data dan interaksi antar aplikasi dan pengguna.
•
Lower Layers Lower layer merupakan network-oriented yang akan berurusan dengan transmisi data, covering dan pemaketan, routing (pemilihan rute data pada jaringan), verifikasi, dan transmisi dari masing-masing group data.
Model OSI terdiri dari 7 layer (Anonim5) yang terdiri dari •
Lapisan Aplikasi (Application Layer) Lapisan Aplikasi menyediakan cara bagi program – program aplikasi seperti file dan print service, database service, dan e-mail untuk mengakses lingkungan OSI. Lapisan ini berisikan mekanisme – mekanisme yang umumnya berguna untuk mendukung aplikasi – aplikasi yang didistribusikan di jaringan.
14 •
Lapisan Presentasi (Presentation Layer) Lapisan ini berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol(RDP)).
•
Lapisan Sesi (Session Layer) Lapisan Sesi menyediakan mekanisme untuk mengontrol dialog di antara aplikasi. Aplikasi – aplikasi Layer Sesi membuat dialog, mengatur dialog, dan mengakhiri dialog ketika sudah selesai, serta membuat kembali dialog antar aplikasi ketika dialog terputus karena alasan – alasan tertentu. Layer Sesi juga meyediakan layanan yang memastikan bahwa komputer pengirim tidak membuat komputer penerima mengalami kelebihan data (overwhelming).
•
Lapisan Transport (Transport Layer) Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang rusak.
15 •
Lapisan Network (Network Layer) Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paketpaket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.
•
Lapisan Data Link (Data Link Layer) Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras seperti halnya Media Access Control Address (MAC Address), dan menetukan bagaimana perangkatperangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Lapisan Data Link dibagi menjadi dua level, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
•
Lapisan Fisikal (Physical Layer) Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet), topologi jaringan dan pengkabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
2.4.
Transmission Control Protocol/Internet Protocol (TCP/IP) TCP/IP (Aninom3) adalah standar komunikasi data yang digunakan oleh
komunitas internet dalam proses tukar menukar data dari satu komputer ke komputer lain di dalam jaringan internet. Protocol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an oleh ARPANET sebagai sebuah protocol standar untuk menghubungkan komputer-
16 komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan standart jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan sehingga dapat digunakan dimana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut IP Address (alamat IP). Protokol ini juga bersifat routable yang berarti cocok untuk menghubungkan sistemsistem yang berbeda (seperti Microsoft Windows dan keluarga UNIX).
Gambar 2.6 TCP/IP Model TCP/IP mempunya empat lapisan (Anonim4) yaitu •
Lapisan Aplikasi (Aplication Layer) Lapisan ini bertanggung jawab dalam rangka menyediakan akses kepada aplikasi terhadap jaringan TCP/IP. Protokol-protokol yang berjalan pada lapisan ini adalah protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan lain-lain.
•
Lapisan Transport (Transport Layer) Lapisan ini bertanggung jawab dalam rangka membuat komunikasi antar dua host, dengan menggunakan cara membuat sebuah sesi connection-oriented atau menyebarkan sebuah connectionless broadcast. Protokol-protokol yang berjalan
17 pada lapisan ini adalah protokol Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP). •
Lapisan Internet (Internet Layer) Lapisan ini bertanggung jawab dalam melakukan routing dan pembuatan paket IP (dengan menggunakan teknik encapsulation).
•
Host to Network layer Lapisan ini bertanggung jawab dalam meletakan frame-frame data di atas media jaringan. Protokol yang berjalan dalam lapisan ini adalah beberapa arsitektur jaringan lokal seperti ethernet.
2.4.1. Transmission Control Protocol (TCP) TCP adalah protokol yang digunakan bersama dengan IP untuk mengirim data dalam bentuk unit-unit pesan dari komputer ke internet. Pengiriman ini dapat terjamin karena pada TCP terdapat tiga proses data yaitu acknowledgement, retransmisi, dan sequencing dimana TCP selalu meminta konfirmasi setiap kali mengirim data, apakah data telah sampai di tempat tujuan. TCP bertanggung jawab untuk memeriksa apakah pengiriman data dari client ke server sudah benar. TCP juga mendeteksi kesalahan atau data lost dan melakukan pengiriman kembali sampai data yang benar di terima lengkap(Gilbert, 1995). TCP merupakan protokol yang menyediakan pelayanan seperti connection oriented, reliable, byte stream service. Connection oriented berarti dua aplikasi pengguna TCP harus melakukan pembentukan hubungan untuk melakukan pertukaran data. Reliable berarti TCP menerapkan proses deteksi kesalahan paket dan retransmisi. Byte Stream Service berarti paket dikirim dan sampai di tujuan secara berurutan.
18 Selain TCP, dikenal juga protokol transport UDP. UDP bersifat connectionless dan unreliable. Connectionless berarti dalam mengirimkan paket dari asal ke tujuan, masing-masing tidak mengadakan handshake (proses saling menginisialisasikan koneksi) terlebih dahulu. Ureliable dimaksudkan bahwa protokol IP tidak menjamin datagram yang dikirim sampai ke tempat tujuan. 2.4.2. Internet Protocol (IP) IP adalah suatu metode atau protokol yang mengatur bagaimana suatu data dikirim dari satu komputer ke komputer lain dalam jaringan komputer. Setiap perangkat keras (host) yang berada dalam jaringan internet setidaknya mempunyai satu alamat IP yang bersifat unik yang membedakan dari host lain. IP address terbagi menjadi dua jenis yaitu IPv4 (IP versi 4) dan IPv6 (IP versi 6). IPv4 memiliki pengalamatan sebesar 32 bit (4 byte), sedangkan IPv6 memiliki pengalamatan 128 bit (6 byte). Pemberian IP Address di seluruh dunia diberikan oleh International Internet Assigned Number Authority (IANA). Pengalamatan IP terdiri dari dua bagian yaitu network number dan host number. Bagian yang menjadi network number dan host number diketahui dari pembagian IP. Alamat IPv4 terbagi menjadi beberapa jenis (Anonim4) yaitu •
Alamat Unicast Alamat Unicast merupakan alamat IPv4 yang ditentukan untuk sebuah interface jaringan yang dihubungkan ke sebuah internetwork IP. Alamat unicast digunakan dalam komunikasi point-to-point atau one-to-one
19 •
Alamat Broadcast Alamat Broadcast merupakan alamat IPv4 yang didesain agar diproses oleh setiap node IP dalam segmen jaringan yang sama. Alamat broadcast digunakan dalam komunikasi one-to-everyone.
•
Alamat Multicast Alamat Multicast merupakan alamat IPv4 yang didesain agar diproses oleh satu atau beberapa node dalam segmen jaringan yang sama atau berbeda. Alamat multicast digunakan dalam komunikasi one-to-many.
Pengalamatan IP terbagi dalam 5 kelas (Anonim10) yaitu: •
Kelas A Alamat-alamat kelas A diberikan untuk jaringan skala besar. Nomor urut bit tertinggi di dalam alamat IP kelas A selalu diset dengan nilai 0 (nol). Tujuh bit berikutnya digunakan untuk melengkapi oktet pertama yang akan membuat sebuah
network
number.
24
bit
sisanya
(atau
tiga
oktet
terakhir)
merepresentasikan host number. Misalnya alamat IP kelas A adalah 100.45.12.3 maka network number-nya adalah 100 dan host number-nya adalah 45.12.3. Alamat oktet awal pada IP kelas A bernilai dari 0 – 126. Nilai 127 tidak diijinkan karena digunakan untuk mekanisme Interprocess Communication (IPC) di dalam mesin yang bersangkutan. •
Kelas B Alamat-alamat kelas B dikhususkan untuk jaringan skala menengah hingga skala besar. Dua bit pertama di dalam oktet pertama alamat IP kelas B selalu diset ke
20 bilangan biner 10. 14 bit berikutnya (untuk melengkapi dua oktet pertama), akan membuat sebuah network number. 16 bit sisanya (dua oktet terakhir) merepresentasikan host number. Misalnya alamat IP kelas B adalah 130.45.12.3 maka network number-nya adalah 130.45 dan host number-nya adalah 12.3. Oktet pertama IP kelas B selalu bernilai antara 128 – 191. •
Kelas C Alamat IP kelas C digunakan untuk jaringan berskala kecil. Tiga bit pertama di dalam oktet pertama alamat kelas C selalu diset ke nilai biner 110. 21 bit selanjutnya (untuk melengkapi tiga oktet pertama) akan membentuk sebuah network number. 8 bit sisanya (sebagai oktet terakhir) akan merepresentasikan host number. Nilai dari oktet pertama kelas ini selalu berada di mulai dari 192 223
•
Kelas D Alamat IP kelas D disediakan hanya untuk alamat-alamat IP multicast, sehingga berbeda dengan tiga kelas di atas. Empat bit pertama di dalam IP kelas D selalu diset ke bilangan biner 1110. 28 bit sisanya digunakan sebagai alamat yang dapat digunakan untuk mengenali host. Nilai dari oktet pertama kelas ini selalu berada di mulai dari 224 – 239.
•
Kelas E Alamat IP kelas E tidak digunakan untuk umum karena bersifat “eksperimental” atau percobaan yang dicadangkan untuk digunakan pada masa depan. Empat bit awal diset 1111. Nilai dari oktet pertama kelas ini selalu di mulai dari 240-255.
21 2.5.
Arsitektur TCP/IP
2.5.1. Struktur Header IP Berdasarkan Forouzan (2003), paket-paket data dalam protokol IP dikirim dalam bentuk datagram. Sebuah datagram IP terdiri atas dua bagian yaitu header dan data, dimana ukuran dari header IP bervariasi yakni berukuran 20 sampai 60 byte. Isi dari struktur tersebut adalah field- field berikut : Version, Internet Header Length, Type of Service, Total Length, Identification, Flags, Fragment Offset, Time To Live, Protocol, Header Checksum, Source IP Address, Destinantion IP Address, dan IP Option seperti yang diperlihatkan pada Gambar 2.7 .
Gambar 2.7 Struktur Header IP Berikut adalah penjelasan lebih detail mengenai masing- masing field pada header IP diatas : •
Version : Field ini berukuran 4 bit dimulai dari oktet 0 sampai 3, dimana isi dari field ini menyatakan versi format internet header. Dalam dokumen ini menjelaskan tentang versi 4.
•
IHL (Internet Header Length) : Field ini berukuran 4 bit dimulai dari oktet 4 sampai 7. Field ini digunakan untuk mengidentifikasi ukuran dari header IP
22 dalam bilangan 32 bit (4 byte). Ukuran terkecilnya adalaha 5, yang menunjukan ukuran terkecil dari header IP adalah 20 byte. Dengan ukuran maksimum adalah 60 byte yang di nyatakan dengan nilai 15. •
Type of Service : Dengan ukuran 8 bit yang dimulai dari oktet 8 sampai 15, yang mengidendikasikan parameter abstark dari kualitas servis yang diinginkan. Parameter ini digunakan untuk membimbing selection pada parameter servis yang sebenarnya ketika mengirimkan datagram ke jaringan local. Beberapa jaringan menawarkan prioritas servis (service precedence) dimana dapat digunakan untuk mengutamakan aliran lalu lintas data yang berprioritas tinggi daripada lalu lintas lainnya. Tiga piliha utama dalam field ini adalah : low-delay, high-reliability dan high-throughput yang di perlihatkan pada Gambar 2.8 .
Gambar 2.8 Field Type of Service Pada Gambar 2.8, diketahui bahwa masing- masing bit memiliki arti tertentu. Berikut adalah tabel yang menjelaskan isi dari Type of Service.
23 Tabel 2.1 Field Type of Service Bit 0-2 : Bit 3 : Bit 4 : Bit 5 : Bit 6-7 :
Precedence 0 = Normal Delay, 1 = Low Delay 0 = Normal Throughput, 1 = High Throughput 0 = Normail Relibility, 1 = High Relibility Reserved for Future Use
Adapun kode dari precedence adalah sebagai berikut : Tabel 2.2 Precedence Code 111 110 101 100 011 010 001 000
•
Network Control Internetwork Control CRITIC/ECP Flash Override Flash Immediate Priority Routine
Total Length : Field ini berukuran 16 bit yang dimulai dari oktet ke 16 sampai 31. isi dari field ini menyatakan ukuran total dari datagram. Maksimum ukuran datagram adalah 65.535 byte. Ukuran datagram yang terlalu besar jarang di temui pada jaringan secara umum. Ukuran datagram yang besar biasanya akan lebih banyak digunakan pada gigabit network. Untuk menentukan panjang dari data dapat dilakukan dengan rumus sebagai berikut : Data length = Total Length – (IHL * 4)
•
Identification : Dimulai dari oktet 32 sampai 47 (16 bit). Field ini digunakan untuk mengidentifikasikan sebuah paket IP tertentu yang dikirimkan antara node sumber dan node tujuan. Host pengirim akan menset nilai dari field ini, dan field
24 ini akan bertambah nilainya untuk datagram IP selanjutnya. Field ini digunakan untuk mengenali fragment-fragment sebuah datagram IP. •
Flags : Field ini berukuran 3 bit, dimulai dari 48 sampai 50. field ini berisi dua buah flag yang berisi apakah sebuah datagram IP mengalami fragmentasi atau tidak. Meski berisi tiga bit, ada dua jenis nilai yang mungkin, yakni apakah hendak memecah datagram IP ke dalam beberapa fragmen atau tidak.
Gambar 2.9 Field Flag pada IP header Masing- masing isi dari bit tersebut harus berupa angka 0 atau 1. Bit yang ke 0 tidak dipakai dan dicadangkan untuk keperluan yang akan datang, isinya harus bernilai 0. Don’t Fragment(DF) berada pasa bit pertama, bit ini menyatakan apakah data boleh di pecah atau tidak. Nilai 0 pada bit ini menandakan bahwa data tersebut dapat dipecah. More Fragment(MF) berada pada bit kedua, yang menyatakan status fragment. Apabila berisi 0 berarti fragment ini adalah fragment terakhir. •
Fragment Offset : Field ini berukuran 13 bit yang diawali dari oktet ke 51 sampai 63. Field ini menyatakan posisi pecahan data (fragment) dalam datagram. Fragment offset diukur dalam satuan 8 byte (64 bit). Maksimum data dapat dipecah menjadi 8192 fragment dalam setiap datagram yang berarti maksimum byte-nya adalah 65.536.
25 •
Time to Live : Diawali oleh oktet ke 64 sampai 71 (8 bit), field ini menyatakan waktu maksimum datagram diperbolehkan beredar dalam sistem jaringan. Jika field ini berisi nol maka datagram harus dibuang. Isi dari field ini diubah setiap kali dalam memproses header. Satuan dari field ini adalah detik.
•
Protocol : Field ini berjumlah 8 bit, dimulai dari oktet 72 sampai 79. Isi dari field ini menyatakan protokol apa saja yang digunakan pada level selanjutnya. Beberapa nilai dari field ini, seperti halnya nilai 1 (0x01) untuk ICMP, 6 (0x06) untuk TCP, dan 17 (0x11) untuk UDP. Field ini bertindak sebagai penanda multipleks (multiplex identifier), sehingga muatan IP pun dapat diteruskan ke protokol lapisan yang lebih tinggi saat diterima oleh node yang dituju.
•
Header Checksum : Field ini berukuran 16 bit yang dimulai dari oktet ke 80 sampai 95. Field ini berguna hanya untuk melakukan pengecekan integritas terhadap header IP, sementara data tidak dimasukkan ke dalamnya, sehingga data harus memiliki checksum mereka sendiri untuk melakukan pengecekan integritas terhadapdata yang dikirim. Host pengirim akan melakukan pengecekan checksum terhadap datagram IP yang dikirimkan. Setiap router yang berada di dalam jalur transmisi antara sumber dan tujuan akan melakukan verifikasi terhadap field ini, sebelum memproses paket. Jika verifikasi dianggap gagal, router pun akan mengabaikan datagram IP tersebut. Karena setiap router yang berada di dalam jalur transmisi antara sumber dan tujuan akan mengurangi nilai TTL, maka header checksum pun akan berubah, setiap kali datagram tersebut hinggap di setiap router yang dilewati.
26 •
Source Address : Berukuran 32 bit (dari oktet 96 sampai 127). Field ini berisi alamat IP pengirim. Alamat ini digunakan oleh intermediate router untuk memilih jalur yang tepat / terbaik untuk mengirimkan data tersebut.
•
Destination Address : Berukuran sama dengan source address (di mulai dari oktet 128 sampai 159). Field ini berisi alamat IP tujuan.
•
IP Option : Field ini merupakan field yang ukurannya bervariasi. Dalam sebuah datagram, field ini mungkin ada atau juga tidak ada.
2.5.2. Struktur Header TCP TCP memiliki ukuran header yang bervariasi. Ukuran header yang terkecil adalah 20 byte. Struktur header TCP terdiri dari field-field berikut : Source Port, Destination Port, Sequnce Number, Acknowledgement number, Data Offset, Reserved, TCP Flags, Window, Checksum, Urgent Pointer, dan TCP Options, seperti yang diperlihatkan pada Gambar 2.10 .
Gambar 2.10 Struktur Header TCP
27 Penjelasan lebih detail mengenai masing-masing field : •
Source Port dan Destination Port : Masing-masing field ini berukuran 16 bit yang berada di oktet 0 sampai 15 (Source Port) dan oktet 16 sampai 31 (Destination Port). Field-field ini merupakan gabungan dari field Source address dan Destination Address pada header IP.
•
Sequence Number : Berukuran 32 bit, dimulai dari oktet 32 sampai 63. Field ini berisi nomor urut byte stream dalam data yang akan dikirimkan. Setiap kali data sukses dikirim, penerima data mengisi field acknowledgement number dengan sequence number berikutnya yang diharapkan penerima.
•
Acknowledgement Number : Mengindikasikan nomor urut dari oktet selanjutnya dalam byte stream yang diharapkan diterima oleh pengirim. Field ini berukuran 32 bit, yang dimulai dari oktet 64 sampai 95.
•
Data Offset : Berukuran 4 bit (oktet 96 sampai 99). Field ini menyatakan panjang dari header TCP dalam bilangan 32 bit (4 byte). Nilai maksimum dari data offset adalah 15 dengan panjang 60 byte.
•
Reserved : Field ini dicadangkan untuk kebutuhan masa datang, harus berisi 0 (nol). ukuran dari field ini adalah 6 bit.
•
TCP Flags : Berukuran 6 bit (oktet 106 sampai 111). Setiap bit ini mengandung flag control sebagai berikut : URG : The value of urgent pointer is valid. ACK : The value of acknowledgment is valid. PSH : Push the data. RST : Reset connection.
28 SYN : Syncronize sequence number during connection. FIN : Terminate the connection. •
Window : Berukuran 16 bit dari oktet 112 sampai 127. Window ini berisi jumlah oktet data, dimulai dengan ACK yang telah disetujui oleh pengirim segment ini.
•
Checksum : Field ini dimulai dari oktet 128 sampai 143 (berukuran 16 bit). Field ini digunakan untuk melakukan pengecekan integritas segmen TCP (header-nya dan payload-nya). Nilai field Checksum akan diatur ke nilai 0 selama proses kalkulasi checksum.
•
Urgent Pointer : Field ini berukuran 16 bit, dimulai pada oktet 144 sampai 159. Field ini menunjuk nomor urut dari oktet yang dianggap penting. Field ini hanya akan diproses jika flag URG di set.
•
TCP Option : Berfungsi sebagai penampung beberapa fasilitas tambahan TCP. Setiap fasilitas TCP akan memakan ruangan 32 bit, sehingga ukuran header TCP dapat diindikasikan dengan menggunakan field data offset.
2.5.3. Struktur Header UDP Menurut Forouzan (2003,p601), UDP merupakan transport protokol sederhana yang bersifat unreliable dan connectionless. Karena sifatnya itu, UDP tidak memiliki flow dan error control. Header dari UDP memiliki ukuran yang pasti yaitu 8 byte seperti yang di tunjukan pada Gambar 2.11.
29
Gambar 2.11 Struktur Header UDP Penjelasan lebih detail mengenai masing-masing field : •
Source Port dan Destination Port : Masing-masing field ini berukuran 16 bit yang berada di oktet 0 sampai 15 (Source Port) dan oktet 16 sampai 31 (Destination Port). Field-field ini merupakan gabungan dari field Source address dan Destination Address pada header IP.
•
Length : Berukuran 16 bit, dari oktet 32 sampai 47. Field ini berisikan panjang dari datagram UDP.
•
Checksum : Berisi informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan bernilai 0.
2.5.4. Struktur Header ICMP (Internet Control Message Protocol) ICMP merupana protokol yang bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus. Pesan / paket ICMP dikirim jika terjadi masalah pada layer IP dan layer diatasnya. Secara umum struktur header dari ICMP dapat dilihat pada Gambar 2.12 .
30
Gambar 2.12 Struktur Header ICMP Untuk ICMP, 4 byte pertama mempunyai format yang sama untuk semua jenis pesan ICMP. Sisanya tergantung dari jenis pesan ICMP. Field Type mendefinisikan jenis dari pesan ICMP. Field Code digunakan untuk menjelaskan description yang lebih detail dari field type. Field checksum digunakan untuk pengecekan terhadap seluruh pesan header ICMP. Bedasarkan Forouzan (2003,p.526) tipe dari ICMP terbagi menjadi dua bagian yaitu : •
Error Reporting Messages a. Destination Ureachable Pesan ini di hasilkan oleh router
ketika router tidak dapat mentransfer
datagram atau host tidak dapat mengirimkan datagram.
Gambar 2.13 Struktur ICMP Destination Unreachable (Comer,p.128)
31 Destination Unreachable dibagi menjadi beberapa tipe, diantaranya yang penting adalah : o Code 0 (Network Unreachable) : Jika jaringan tujuan tidak dapat dihubungi. o Code 1 (Host Unreachable) : Jika host tujuan tidak dapat dihubungi. o Code 2 (Protocol Unreacheble) : Jika request protokol tidak terdapat pada tujuan. o Code 3 (Port Unreachable) : Jika port yang di request tidak ada pada tujuan. o Code 4 (Fragmentation needed and DF set) : Jika gateway membutuhkan fragmentasi terhadap datagram yang dikirim, tetapi flag “don’t fragment” di set. o Code 5 (Source Route Failed) : Jika terjadi kegagalan routing ketika datagram dikirim b. Source Quench Pesan ini muncul ketika datagram yang dikirimkan di buang oleh router atau host untuk menghidari terjadinya flow atau congestion (kelebihan kapasitas network), pesan ini mengingatkan kepada pengirim untuk memperlambat pengiriman paket data.
Gambar 2.14 Struktur ICMP Source Quench (Comer,p.131)
32 c. Time Exceeded Gateway akan mengirimkan pesan ini, ketika datagram di hapus karena TTL dari datagram ini bernilai 0. Code pada header ICMP ini akan di set dengan nilai 0. TTL akan dikurangi 1 ketika paket melewati hops atau router. Nilai code 1 terjadi ketika waktu yang di tentukan, telah expired atau habis sebelum semua fragment datagram terkirim.
Gambar 2.15 Struktur ICMP Time Exceeded (Comer,p.133) d. Parameter Problem Pesan ini muncul ketika terjadi ambigu dari header datagram yang menyebabkan permasalahan yang serius terhadap pengiriman datagram melalui internet.
Gambar 2.16 Struktur ICMP Parameter Problem (Feit,p.145) Field pointer dalam ICMP Parameter Problem berisikan posisi oktet dari datagram yang terjadi error. Nilai dari field Code dapat dilihat pada tabel berikut ini :
33
Tabel 2.3 Code Parameter Problem Code
Meaning
0
The value in the pointer indentifies the octet where an error occurred A required option is missing (Security Option in millitary community) Bad Length
1 2
e. Redirection Pesan ini terjadi ketika pengirim mengirimkan datagram ke router yang salah, router tersebut akan meneruskan datagram tersebut dan mengirimkan redirect message ke pengirim.
Gambar 2.17 Struktur ICMP Redirect Berikut ini merupakan code pada ICMP Redirect header.
Tabel 2.4 Redirect Code Code 0 1 2 3
Meaning Redirect datagram for the Network Redirect datagram for the Host Redirect datagram for the Type of Service and Network Redirect datagram for the Type of Service and Host
34 •
Query Message a. Echo Request and Reply Echo request dan echo reply digunakan untuk menganalisa problem-problem yang ada di network, seperti untuk mengetahui apakah kondisi dari suatu host sedang aktif atau tidak..
Gambar 2.18 Struktur ICMP Echo Request and Reply Field
identifier dan Sequence
number digunakan
pengirim
untuk
memembadingkan paket yang di request dengan paket yang di reply. Field type untuk request bernilai 8 dan nilai field 0 untuk echo reply. b. Time-stamp Request and Reply Pesan ini digunakan untuk mengetahui berapa lama waktu yang dibutuhkan untuk mengirim IP datagram ke tujuan.
Gambar 2.19 Struktur ICMP Time-stamp Request and Reply Field Originate Timestamp berisi waktu dimana pesan dikirimkan. Field Receive Timestamp berisi waktu ketika pesan diterima oleh host atau router pertama. Sedangkan field Transmit timestamp berisikan waktu ketika pesan sampai ke tujuan.
35 c. Address mask Request and Reply Pesan ini digunakan untuk mengetahui netmask dari suatu jaringan. ICMP jenis ini biasanya digunakan oleh boot protocol seperti Dynamic Host Configuration Protocol (DHCP).
Gambar 2.20 Struktur ICMP Address mask request and reply 2.6.
SMS (Short Message Service) SMS merupakan service standart yang memungkinkan mobile device dan
network connected device untuk saling bertukar pesan singkat. SMS merupakan fitur dari GSM yang di standarisasikan oleh ETSI (European Telecomunication Standards Institute) (Amelia,2003,p.35). Pengiriman SMS dapat dikirimkan dalam dua bentuk format yaitu : •
Text Mode Mode ini merupakan cara pengiriman SMS tanpa melakukan konversi. Mode ini hanya dapat digunakan pada GSM 900, 1800, 1900. Panjang dari pengiriman pesan dapat mencapai 160 karakter (7 bit) dan 140 karakter (8 bit).
•
PDU (Protocol Data Unit) Mode PDU mode adalah protokol standart yang menggunakan format hexadesimal untuk mengirimkan pesan dalam bentuk command dari terminal pengirim ke penerima. PDU format berisikan informasi-informasi tentang no pengirim, SMS
36 service center, no penerima, dan batas waktu sms di simpan di SMS service center (period validity). 2.6.1. Cara Kerja Pengiriman SMS Pada saat mengirimkan pesan dari pengirim, pesan tersebut tidak langsung di kirim ke nomor tujuan, akan tetapi di kirimkan terlebih dahulu ke SMSC (SMS Center), baru SMS tersebut di teruskan ke nomor tujuan. Ketika nomor tujuan dalam keadaan aktif dan telah menerima SMS dari pengirim, maka nomor pengirim akan memerikan respond balik kepada SMSC. Jika nomor penerima sedang dalam keadaan tidak aktif maka SMSC akan menyimpan SMS yang dikirim sampai period validity-nya habis.
Gambar 2.21 Cara Transfer SMS 2.6.2. AT Command AT Command adalah perintah yang digunakan untuk berkomunikasi antara terminal melalui port serial yang ada pada komputer. AT Command di bedakan atas 4 jenis (Amelia,2003,p.108) yaitu : •
General Configuration Command Command ini digunakan untuk mengijinkan terminal mengatur jalur yang dibutuhkan untuk berkomunikasi dengan terminal.
37
Tabel 2.5 General Configuration Command AT Command AT + CSMS AT + CPMS AT + CMGF •
Description Select Message Service Prefered Message Storage Message Format
Message Configuration Command Command ini sigunakan untuk mengatur konfigurasi dari SMS yang ada pada terminal.
Tabel 2.6 Message Configuration Command AT Command AT + CSCA AT + CSMP AT + CSCB AT + CSAS AT + CRES •
Description Service Center Address Set Text Mode Parameter Select cell Broadcast message type Save Setting Restore Setting
Message Receiving and Reading Command Command ini digunakan untuk membaca pesan yang datang atau yang tersimpan dalam memory.
Tabel 2.7 Message Receiving and Reading Command AT Command AT + CMGL AT + CMRG
Description List Message Read Message
38 •
Message Sending and Reading Command Command ini digunakan untuk mengirimkan dan menghapus pesan.
Tabel 2.8 Message Sending and Reading Command AT Command AT + CMGS AT + CMSS AT + CMGW AT + CMGD
2.7.
Description Send Message Send Message from storage Write Message to memory Delete Message
Socket Programming Berdasarkan Makofske (2004), socket adalah mekanisme komunikasi yang
memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Ada 3 macam socket : 1. DARPA Internet addresses (Internet socket) 2. Unix socket 3. CCITT X.25 addresses
Ada dua tipe Internet socket : 1. Socket Stream Socket Stream adalah socket komunikasi full-duplex berbasis aliran (stream) data. Pada model komunikasi Socket Stream, koneksi dua aplikasi harus dalam kondisitersambung dengan benar untuk dapat bertukar data. Ini dapat dianalogikan seperti komunikasi telepon. Jika sambungan telepon di salah satu titik putus, maka
39 komunikasi tidak dapat terjadi. Koneksi model seperti ini akan menjamin data dapat dipertukarkan dengan baik, namun memiliki kelemahan dalam hal penggunaan jalur data yang relatif besar dan tidak boleh terputus. 2. Socket Datagram Socket Datagram berkomunikasi dengan cara yang berbeda. Socket ini tidak membutuhkan koneksi yang tersambung dengan benar untuk mengirimkan dan menerima data. Model koneksi semacam ini tidak dapat menjamin data dapat dipertukarkan dengan baik, namun memiliki keunggulan dalam hal penggunaan jalur data yang minimal.
Socket didefinisikan dengan empat buah komponen yaitu : 1. Identifikasi alamat host remote 2. Nomor port host remote 3. Identifikasi alamat host lokal 4. Nomor port host lokal
Ada lima langkah dasar untuk pemrograman socket server yaitu : 1. Membuat socket 2. Mengikatkan socket kepada alamat network (Binding). 3. Mempersiapkan socket untuk menerima koneksi yang masuk (Listen). 4. Menerima koneksi yang masuk ke server (accept) 5. Melakukan komunikasi (mengirim dan menerima data)
40 Untuk membuat program client yang bertugas menghubungi server, maka langkah – langkahnya adalah sebagai berikut : 1. Membuat socket 2. Menghubungi ke server (Connect) 3. Melakukan komunikasi (mengirim dan menerima data)