PERANGKAT LUNAK JARINGAN KOMPUTER

PROTOKOL : Adalah sebuah aturan yang mendefinisikan beberapa fungsi yang ada dalam sebuah jaringan komputer, misalnya mengirim pesan, data,informasi dan fungsi lain yang harus dipenuhioleh sisi pengirim (transmitter) dan sisi penerima (receiver) agar komunikasi dapat berlangsung dengan benar.
1/113

Yang Harus Diperhatikan Dari Protokol
• Syntax : merupakan format data dan cara pengkodean yang digunakan untukmengkodekan sinyal. • Semantix : digunakan untuk mengetahui maksud dari informasi yang dikirim dan mengoreksi kesalahan yang terjadi dari informasi tadi. • Timing : diigunakan untuk mengetahui kecepatan transmisi data.

2/113

Fungsi Protokol (1)
• Fragmentasi dan Reassembly : adalah membagi informasi yang dikirim menjadi beberapa paket data (pada sisi pengirim) dan akan menggabungkan lagi menjadi paket berita yang lengkap (pada sisi penerima) • Encapsulation : melengkapi berita yang dikirimkan dengan address, kode-kode koreksi dan lain-lain. • Connection control : membangun hubungan komunikasi dari transmitter dan receiver. • Flow control : mengatur perjalanan data dari transmitter ke receiver
3/113

Fungsi Protokol (2)
• Error Control : mengontrol terjadinya kesalahan yang terjadi pada waktu data dikirimkan. • Transmission service : memberi pelayanan komunikasi data khususnya yang berkaitan dengan prioritas dan keamanan serta perlindungan data.

4/113

Susunan Protokol (1)
• Protokol disusun dalam bentuk layer-layer agar jaringan yang dibuat nantinya tidak menjadi rumit. • Di dalam layer, jumlah, nama isi dan fungsi setiap layer berbeda-beda. • Tujuan dari setiap layer sama : memberi layanan ke layer yang ada diatasnya. • Susunan dari setiap layer menunjukkan tahapan dalam melakukan komunikasi. • Antara setiap layer berdekatan terdapat interface yang akan menentukan layanan layer yang di bawah kepada layer yang ada diatasnya. (Saat merencanakan sebuah jaringan hendaknya mempertimbangkan bagaimana menentukan interface yang tepat yang akan ditempatkan

5/113

Konsep Arsitektur Protocol / Protocol Architecture : OSI
• Arsitektur protocol adalah struktur urutan dari hardware dan software yang mendukung pertukaran data diantara sistem dan mendukung aplikasi terdistribusi, seperti electronic mail dan file transfer. • Pada setiap lapisan arsitektur protocol, satu protokol umum atau lebih diterapkan pada sistemkomunikasi. Masing-masing protocol menyediakan serangkaian aturan untuk pertukaran data diantara sistem.
6/113

PRINSIP OSI 7 LAYER
• Sebuah layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda. • Setiap layer harus memiliki fungsi-fugnsi tertentu. • Fungsi setiap leyer harus dipilih dengan teliti sesuai dengan ketentuan protocol berstandar internasional. • Batas-batas layer harus dipilih untuk meminimalkan aliran informasi yang melewati interface. • Jumlah layer harus cukup banyak, sehingga fungsi-fungsi yang berbeda tidak perlu disatukan dalam satu layer diluar keperluannya. Akan tetapi jumlah layer juga harus diusahakan sesedikit mungkin sehingga pemakaian arsitektur jaringan tidak menjadi sulit.
7/113

Catatan
• Model OSI bukanlah merupakan arsitektur jaringan, karena model ini tidak menjelaskan secara pasti layanan dan protocolnya untuk digunakan pada seetiap layernya. • Model OSI hanya menjelaskan tentang apa yang harus dikerjakan sebuah layer. OSI telah membuat standard untuk semua layer.
8/113

Terminologi
• Frame : kumpulan bit yang membentuk paket data. Ini adalah unit transmisi dan error control. • Transmission time : waktu yang dibutuhkan pengirim untuk mengirimkan semua bit sebuah frame ke medium transmisi. • Propagation time : waktu yang dibutuhkan sebuah bit untuk ,melintas sepanjang medium transmisi dari pengirim ke penerima. • Bit Length of a Link : jumlah bit maksimum yang dapat berada sepanjang sebuah sambungan
9/113

• B = Rd/V , dimana B = panjang frame (bit) R = data rate pengirim (bps) d = jarak sambungan (antara Rx dan Tx) V = kecepatan perambatan (m/s) • Transmission delay If L : jml bit per frame, maka a = B/L adl jml frame maksimum yang dapat tetap sehat pada medium antara Rx dan Tx. Shg a adl jml frame maks yg dpt terkirimkan pada 1 waktu
10/113

 Jika d konstan, maka a bertambah sebagaimana R bertambah  Jika R konstan. Maka a bertambah sebagaimana d bertambah.  A merupakan parameter penting untuk unjukakerja protokol  Untuk meningkatkan utilization sambungan komunikasi, maka dibutuhkan L lebih besar, namun kemungkinan adanya kesalahan lebih besar pula
11/113

Flow Control
• Fungsi : mencegah pengirim terhadap kondisi penerima yang memiliki keterbatasan. • Penerima harus memproses setiap frame yagn datang sebelum mengirimkannya ke lapisan lebih atas, dan proses ini membutuhkan waktu. Delay ini menyebabkan penampung penerima terus terisi (Rr<Rs). • Dua cara mengontrol aliran frame dari pengirim : Stop and wait Flow Control Sliding window Flow Control
12/113

Stop and Wait Flow Control
Mendukung acknowledged connectionless LLC. Mekanisme : • Penerima setelah menerima PDU dari pengirim, akan mengirimkan ACK • Pengirim harus menunggu sampai menerimaACK. • Setelah menerima ACK, baru pengirim mengirimkan PDU berikutnya. • Stasiun tujuan harus berada pada kondisi stop, yaitu dengan withholding acknowlegment.
13/113

• Untuk suatu blok data yang besar akan dipecah menjadi PDU yang lebih kecil, alasan : Ukuran buffer penerima terbatas Pd transmisi jarak jauh, kemungkinan terjadi error atau data hilang besar, shg if tjd kesalahan yang dikirim ulang berukuran kecil saja. Pd share medium spt LAN, biasanya 1 stasiun pengirim diberi jatah waktu pemakaian BW, shg if paket data yang dikirimkan besaran butuh waktu yang lebih lama dp jatah wktnya , akan tjd kesalahan. Shg peket perlu dipecah.
14/113

Sliding Window
• Untuk efisiensi, pada saat yang sama dapat dikirimkan lebih dari 1 PDU • Mekanisme : Stasiun Rx mengalokasikan buffer utk meneriman PDU & stasiun Tx diijinkan utk mengirimkan n PDU juga tanpa harus menunggu ACK unk tiap PDUnya. Utk tetap menjaga PDU mana yang telah diterima (ACK), tiap PDU diberi nomor urut. Daftar urutan setiap window ditentukan dari jml bit pd sequence bounded sizenya (K= 0 to 2k – 1)
15/113

 Stasiun Rx akan mengirimACK yang berisi juga no PDU berikut yang siap diterima stasiun Rx.  Stasiun Tx memelihara daftar urutan paket yang dikirim, sdgkan stasiun Rx memelihara daftar urutan paket yg dpt diterima. Daftar urutan paket disebut window.  Jumlah maksimal urutan paket tdk menentukan jml paket PDU yg dapat dikirimkan pada saat yg sama.
16/113

ERROR CONTROL
• Merupakan suatu mekanisme untuk mendeteksi dan membetulkan kesalahan yg tjd dlm transmisi PDU. • Dua tipe kesalahan :
Lost PDU. PDU gagal untuk tiba di tujuan. Damaged PDU, Reorganized PDU tiba, tp ada bbrp bit informasi dlm kondisi error.
17/113

Unsur dasar Teknik Error Control
• Error Detection, Rx mendeteksi error dan membuang PDU yg error. Ada bbrp metode, seperti parity check, dan CRC. Error detection dilakukan pada layer MAC (Medium Access Control) • Positive ack, tujuan : menunjukkan bahwa PDU telah diterima dgn baik tanpa error. • Retransmission after timeout, Tx mengirim ulang PDU yg belum di ack setelah kurun waktu tertentu. • Negative ack and retransmission, Rx mengembalikan neg ack thd PDU yg tdp kesalahan. Tx mengirim ulang PDU tsb. • Mekanisme diatas = ARQ (Automatic Repeat Request) dgn efek mengembalikan datalink unreliable ke reliable.
18/113

3 Teknik Error Control
• Stop and Wait ARQ
 Stasiun Tx mengirim sebuah PDU tunggal dan menunggu sebuah ACK dari tujuan utk dpt mengirimkan PDU tunggal berikutnya.  Ada dua error yg mungkin terjadi : Damaged PDU. Rx mendeteksi dgn error detection. Bagi Tx, ada definisi batasan waktu untuk menerima ACK, jika sampai pd batas waktu, tdk ada ACK, PDU yg sama akan dikirim ulang. ACK rusak. Stasiun Rx saat mengirimACK ke Tx rusak, shg stasiun Tx mengirim ulang PDU yg sama. Akibatnya stasiun Rx menerima 2 PDU yg sama. Utk itu setiap ACK yg dikirim akan diberi label.
19/113

• Go-Back-N ARQ, ada bbrp kemungkinan : Damaged frame (PDU), PDU yg diterima invalid, Rx membuang frame dan tdk melakukan aksi. Ada 2 kondisi :
Rx send berurutan PDU (i+1). Rx menerima frame (i+1) diluar order dan mengirimkan REJ 1. Tx hrs mengirim ulang PDU 1 dan PDU berikutnya yg dikirimkan sebelumnya. Rx tdk segera mengirimkan PDU tambahan, Tx tdk menerima apapun dan tdk mengembalikan RR (Ready Receive) / REJ.

(Cat : Kondisi ini berlaku untuk damaged REJ)

20/113

• Damaged RR, tdp 2 kondisi :
 Rx menerima PDU I dan mengirimkan RR (I+1), namun hilang dlm pengiriman. Bagi Tx akan menunggu sampai timeout, RR (I+1) tsb, dan selama belum timeout Tx juga telah mengirim urutan PDU berikutnya.  If timer Tx habis, akan dikirim RR(Pbit = 1) dan melakukan setting timer lain, disebut P-bit timer. If Rx gagal merespon thd RR, RR (P bit=1) akan expire dan Tx akan mengirim ulang kembali RR (P bit=1) dan restarting P-bit timer. Prosedur ini diulang terus sampai Tx memberikan RR Ack positif. Jika sampai pd batas pengulangan tertentu tetap gagal, maka Tx akan melakukan prosedur reset.

21/113

• Selective Reject ARQ Ide dasar : Pengirim akan mengirim ulang frame berdasar informasi SREJ atau time expire. Pada sisi penerima harus menyediakan buffer. Penerima harus memelihara urutan frame yang diterima, walaupun ada frame yang hilang dan dimintakan ulang ke pengirim.
22/113

Data Link Layer - HDLC
• Protokol memakai jendela geser dengan nomor urut 3 bit (setiap saat ada 7 buah frame acknowledge) → Field Seq • Field Next : acknowledge yang dipiggybackkan • P/F : Ketika digunakan sebagai P (Poll), komputer mempersilakan terminal untuk mengirim frame, kecuali frame terakhir akan diset ke F (Final) untuk mengubah bit P/F ke F. • Pada jenis frame supervisory : - tipe 1 : frame ack negatif /REJECT mengindikasikan suatu kesalahan transmisi telah terdeteksi

23/113

• Tipe 2 : RECEIVE NOT READY :memberikan ack bagi seluruh frame tapi tdk termasuk next serta memberi tahu pengirim untuk menghentikan pengiriman. • Tipe 3: SELECTIVE REJECT : meminta transmisi ulang frame yang dispesifikasikan.Bila penerima ingin melepaskan frame urutan dari buffer, maka penerima dapat memaksa transmisi ulang sembarang frame tertentu. HDLC dan ADCCP menggunakan jenis frame ini, tapi SDLC dan LAPB tidak mengijinkannya (krn tdk ada SELECTIVE REJECT) dan frame tipe 3nya tdk tertentu. • Tipe 0 : RECEIVE READY

24/113

• Unnumbered frame dipakai untuk tujuan kontrol serta dapat digunakan untuk membawa data bila yang dipanggilnya adalah layanan unreliable connectionless • Semua protokol menyediakan perintah DISC (DISConnected) : mesin akan tidak beroperasi (misal untuk pemeliharaan) dan SNRM (Set Normal Response Model) : mesin yang baru on-line mengumumkan kehadirannya dan memaksa semua nomor urut kembali ke nol.

25/113

• SNRM merupakan mode tdk seimbang (asimetris), yang satu merupakan master yang lainnya merupakan slave. • Pd HDLC dan LAPB mempunyai perintah tambahan: SABM (Set Asynchronous Balance Mode) yang mereset kanal dan mendeklarasikan kedua mesin yang terkoneksi menjadi sama. SABME dan SNRME : memperpanjang urutan bit menjadi 7
26/113

Data Link Layer ATM
• Transmisi sel : Pemberian ceksum pada header

27/113

TRANSPORT LAYER
• Merupakan jantung dari hirarki protokol secara keseluruhan. • Menyediakan data transport yang bisa diandalkan dan efektif biayanya. • Mengatur koneksi dari source sampai destination serta membangun koneksi logika dalam jaringan. • Fungsi meliputi flow control, error checking dan recovery.
28/113

Layanan Lapisan Transport
• Memberikan layanan secara transportasi pada error recovery dan data flow control. • Menjamin data yang diberikan pada sesion layer diatasnya dalam keadaan utuh, urut, tanpa duplikasi & bebas kesalahan • Contoh, enntitas pada lapisan session dapat menentukan layanan yang diinginkannya seperti penentuan kecepatan, pertukaran data, kualitas data yang masih dapat diterima, waktu tunda maksimum, masalah prioritas dan keamanan, maka lapisan transport berlaku sbg penghubung antara pemakai dengan fasilitas komunikasi yang ada

29/113

• Berfungsi untuk memecah data dari lapisan session menjadi pesan-pesan dan memastikan pesan-pesan dapat diterima di tujuna dengan benar. • Bertugas mencari jalur (routing) yang kosong untuk transmisi data. • Contoh protokol : TP-NBS, UDP dan TCP.
30/113

Parameter Kualitas Layanan
• Connection establishment delay, jumlah waktu antara saat permintaan koneksi transport dengan diterimanya konfirmasi oleh pengguna layanan transport, meliputi delay pemrosesan padatransport entity di tempat lain. Semakin pendek delay semakinbaik layanannya. • Connection establishment failure probability, kesempatan koneksi untuk tidak terbentuk di dalam waktu delay pembentukan maksimum, misalnya sehubungan dengan kemacetan jaringan, kurangnya ruang pada tabel dan masalah internal lainnya.

31/113

• Parameter throughput, mengukur jumlah byte data pengguna yang ditransfer per detik. Byte diukur dalam interval waktu tertentu. Trhougput diukur secara terpisah pada masing-masing arah lalulintasnya. • Transit delay, mengukur waktu antara pesan yang dikirimkan oleh pengguna transport pada komputer sumber dan saat pesan diterima oleh pengguna transport pada komputer tujuan.
32/113

• Residual error ratio, mengukur jumlah pesan hilang/ rusak sebagai bagian dari total pesan yang dikirimkan. Teorinya, kelajuan error residu harus sama dengan nol, karena telah merupakan tugas transport layer untuk menyembunyikan seluruh error network layer. Prakteknya nilai ini kecil yang tertentu. • Transfer failure probability, mengukur sejauh mana layanan lapisan transport berfungsi sesuai harapan • Connection release delay, jumlah waktu terbuangantara waktu pelepasan awal koneksi source & tjdnya pelepasa pada destination.
33/113

• Connection release failure probability, probabilitas kegagalan pelepasan koneksi. • Parameter protection, spesifikasi pemaiakan transport layer dalam menyediakan proteksi thd pihak ketiga yang tidak berhak, yang berusaha untuk membaca atau memodifikasi data yang hendak ditransmisikan. • Parameter priority, mengidentifikasi koneksi yang penting dibanding koneksi lainnya. Saat macet, koneksi berprioritas tinggi didahulukan pelayanannya. • Parameter resilience, mengakhiri proses hubungan denganadanya salah kemaceta.
34/113

Router
• Merupakan perangkat pencari jalan yang handal saat situasi interkoneksinya kompleks. • Dapat melakukansegmentasi lalau lintas secara selektif. • Dapatmemilih jenis protokol yang harus digunakan dalam jalur yang dilaluinya. • Jenis protokol: TCP/IP routing protokol, SNA, OSI XNS, IPX dan apple talk routing protokol..

35/113

Alasan Penggunaan Router
• Router dapat menggunakan jalur terbaik yang memang secara fisik berada antara alamat sumber dan tujuan. • Mudak disesuaikan bila adaa perubahan topologi keseluruhan jaringan. • Besar keseluruhan jaringan tidak terbatas. • Roter dapat meneruskan paket yang terlalu besar. • Kesibukan suatu sub jaringan tidak mempengaruhi keseluruhan jaringan.
36/113

Protokol Transport Internet : TCP
• TCP : protokol connection oriented (menyediakan aliran byte end to end yang bias diandalkan via internetwork yang tidak bias diandalkan) • Setiap mesin yang mendukung TCP memiliki transport entity TCP, yaitu proses pengguna yang mengatur aliran TCP dan interface bagi IP layer. • Entitas TCP menerima aliran data pengguna dari proses lokal kmd memecahnya mjd bbrp bag (tdk lebih dari 64 KB) dan mengirimkan setiap bag itu sbg datagram IP yang terpisah. • IP layer tdk menjamin datagram akan dikirimkan dgn benar, tgt pada TCP dalam memberikan timeout & mentransmisi ulang datagram tsb bila diperlukan
37/113

• Entitas TCP pengirim dan penerima saling bertukar data dlm btk segmen. • Segmen header berukuran tetap 20 byte diikuti oleh 0 atau lebih byte data. • Sebuah segmen yang terlalu besar bagi jaringannya dapat dipecah mjd bbrp segmen oleh router. • Protokol dasar : jendela geser, menggunakan timer

38/113

Model Layanan TCP
• Layanan diperoleh dgn membiarkan pengirim dan penerima membuat end point yang disebut socket. • Setiap socket memiliki nomor (alamat) socket yg tdd alamat IP host dan nomor lokal 16 bit bagi host tsb, yang disebut port. • Koneksi harus dibentuk secara eksplisit diantara socket komputer pengirim dan penerima. • Sebuah socket dpt digunakan untuk sjm koneksi pada saat yang bersamaan dpl 2 buah koneksi atau lebih dpt ditempatkan pd socket yg sama.
39/113

• Sebuah koneksi TCP merupakan full duplex (lalu lintas berjalan 2 arah dalam waktu bersamaan) dan point to point (setiap koneksi memiliki 2 buah end point) • Panggilan socket : – Socket : membentuk suatu end point komunikasi – Bind: memasangkan alamat lokal pd socket – Listen : mengumumkan kesediaan menerima koneksi – Accept : memblok pemanggil sampai usaha koneksi tiba – Connect : aktif mencoba membuat koneksi. – Send : mengirimkan data via koneksi – Receive : menerima data via koneksi – Close ; melepaskan koneksi

40/113

• Koneksi TCP merupakan aliran byte, bukan aliran pesan. • Batas pesan tdk memelihara koneksi end to end. • Layanan TCP lain : urgent data, pada saat pengguna interaktif menekan tombol DEL atau CTRL-C untuk menghentikan komputasi, aplikasi menyimpan bbrp inf kontrol di dlm aliran data dan memberikannya ke TCP bersama-sama flag URGENT, shg TCP menghentikan pengakumulasian data dan segera mengirimkan semua data untuk koneksi itu.
41/113

Model Layanan UDP (User Data Protocol)
• Protokol transport connectionless, menyediakan cara bagi aplikasi untuk mengirimkan datagram IP yang dikemas kmd mengirimkan datagram ini tanpa melakukan pembentukan koneksi. • Segmen UDP tdd header 8 byte yang diikuti oleh data. • Dua buah port berfungsi sama mengidentifikasi end point.
42/113

SESSION LAYER
• Menerapkan suatu mekanisme kontrol dialog antar 2 aplikasi, serta menyediakan sarana untuk membangun hubungan komunikasi antara 2 program aplikasi dan menggunakannya. • Protokol : – NETBIOS = suatu session interface dan protokol, dikembangkan IBM, yg menyediakan layanan ke presentation dan aplication layer. – NETBEUI (Netbios Extended User Interface) = pengembangandari Netbios untuk produk Microsoft networking, spt Windows NT – PAP (Printer Access Protocol) tdp pd printer Postscript untuk akses jar. Apple Talk
43/113

Layanan Session Layer
• 2 jenis layanan – Pembentukan dan pemutusan hubungan antara 2 entitas presentasi – Mengatur pertukaran data, menentukan batas dan melakukan sinkronisasi operasi data antar 2 entitas presentasi pada lapisan diatasnya. • Mengijinkan pengguna menetapkan session dgn pengguna lain, menyediakan layanan istimewa untuk aplikasiaplikasi tertentu, memungkinkan pengguna log ke remote time sharing system untuk memindahkan file.
44/113

• Melaksanakan pengendalian dialog, misal pada suatu saat lalu lintas hanya satu arah saja, maka session layer membantu untuk menentukan giliran yang berhak menggunakan saluran pada suatu saat, disebut managemen token, caranya dgn menyediakan token yg bisa digilirkan dan hanya pihak yang memegang token yang diijinkan melakukan operasi. • Sinkronisasi, misal ketika sdg transfer file dgn durasi 2 jam, tiba-tiba baru 1 jam tjd crash, mk session layer akan menyisipkan tanda tertentu ke aliran data sehingga pengiriman ulang bukan pada seluruh data tapi hanya data sesudah tanda tsb.
45/113

Unjuk Kerja Session Layer
• Masalah-masalah unjuk kerja – Kemacetan disebabkan oleh kelebihan beban sumber daya secara berkala. – Ketidakseimbangan pd struktur sumber daya, misal sal. Kom. Gigabit dihubungkan ke PC berunjuk kerja rendah. Maka CPU tdk akan mampu memproses paket yang masuk dgn sangan cepat, shg ada paket yg hilang. – Kapasitas saluran dari penerima ke pengirim dan kembali ke penerima = perkalian delay bandwidth. • Kesimpulan : unjuk kerja baik if jendela pengirim paling tidak harus sebesar perkalian delay bandwidth, akan lebih baik lagi iflebih besar krn penerima mungkin tdk dapat memberikan respon dgn segera.
46/113

Pengukuran Unjuk Kerja
• Mengukur parameter jaringan yang relevan dgn unjuk kerjanya. • Mencoba memahami apa yang terjadi • Mengubah suatu parameter. Catatan :  Ketiga langkah diulangi berkali-kali sampai unjuk kerjanya mjd lebih baik dan terjadi peningkatan.  Pengukuran dpt dilakukan dgn berbagai cara dan di beberapa lokasi, seperti mengidupkan timer ketika memulai suatu aktifitas dan menggunakannya umtuk melihat seberapa lama aktivitas tsb memerlukan waktu.
47/113

Aturan-aturan dalam Perancangan
• Kecepatan CPU lebih penting daripada kecepatan jaringan. If kec CPU diperbesar, kita akan memperoleh troughput hampir 2x.If kapasitas jar diperbesar seringkali tdk punya efek apapun, krn biasanya inf. akan terpusat pd host. • Mengurangi jumlah paket untuk mengurangi overhead software.Pemrosesan TPDU mempunyai sjml overhead misal untuk pemrosessan header dan pemrosesan byte untuk checksum. Setiap paket yang datang menyebabkan interrupt. Pengurangan dengan faktor n TPDU yang dikirimkan dapat mengurangi interrupt dan overhead paket dgn faktor n. •

48/113

• Meminimalkan context switch, dgn cara TPDU kecil yang datang harus dikumpulkan dan dilewatkan ke pengguna sekaligus. • Mengurangi penyalinan. Sth paket diterima oleh interface jar dalam buffer hardware khusus, biasanya buffer disalin ke buffer kernel,kmd disalin ke buffer network layer, kmd ke buffer transport layer dan akhirnya ke proses aplikasi penerima.Sistem operasi yang cerdik akan menyalin satu kali saja. • BW dpt dibeli tapi delay rendah tidak. Pemasangan serat optik akan menggandakan BW tp tidak mengurangi delay. Membuat delay lebih pendek : perbaikan di sisi SW, SO atau interface jar.
49/113

• Menghindari kemacetan lebih baik daripada memulihkan dari kemacetan. • Menghindari timeout.

50/113

Masalah dan Penanggulangan

51/113

Sign up to vote on this title
UsefulNot useful