Minggu, 15 November 2009

Protokol Transport (TCP/UDP)

Tipe Transfer Data :

komunikasi logika pada lapisan Transport dapat berbentuk :

- connectionless atau connection-oriented.

- Reliable atau unreliable : Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim. Pengiriman data Unreliable sangat menggantungkan diri pada lapisan jaringan di bawahnya, sehingga tidakdapat menyakinkan apaah segment data dapat dikirimkan sampai ditujuannya atau tidak.

- Stateful atau stateless. Pengiriman data stateful berarti informasi yang dimasukkan pada satu request, yang dikirimkan dari pengirim ke penerima, dapat dimodifikasi untuk request berikutnya. Sedangkan pengiriman stateless berarti informasi dalam satu request tidak dapat dikaitkan dengan request lainnya, sehingga tidak dapat digunakan untuk request lainnya.

Fungsi :

untuk menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda

untuk protokol transport berjalan pada end systems

untuk Perbedaan dengan Lapisan Network :

• lapisan network : transfer data antar end-system

• lapisan transport : transfer data antar proses

untuk Layanan transport pada Internet :

• reliable, pengiriman dalam suatu urutan dengan model unicast. Contoh : TCP

• unreliable, pengiriman tidak dalam suatu urutan dengan model unicast atau multicast. Contoh : UDP

- untuk Pada layanan transport, satuan data yang dipertukarkan disebut sebagai segment (TPDU = Transprot Protocol Data Unit)

- untuk Layanan transport menyediakan demultiplexing untuk dapat mengirimkan segment ke proses lapisan aplikasi yang sesuai berdasar alamat dan port proses tersebut.

- untuk Selain itu juga melakukan multiplexing, yang akan mengambil data dari beberapa proses aplikasi, dan membungkus data dengan header.

- untuk Multiplexing dan Demultiplexing di dasarkan pada pengirim dan nomor port serta alamat IP penerima.

• Terdapat nomor port sumber dan tujuan pada tiap segment.

Untuk alamat proses, yaitu port, berdasar standarisasi dari IANA, dapat dikelompokkan menjadi 3, yaitu

- Well-known port, yaitu 0 - 1023

- Registered port, yaitu 1024 - 49151

- Dynamic/Private port, 49152 – 65535


UDP (User Datagram Protocol)

· Mengapa ada UDP?

- Tidak perlu adanya setup koneksi terlebih dahulu (hal ini dapat menyebabkan tambahan delay)

- sederhana, artinya antara penerima dan pengirim tidak perlu menjaga session atau status koneksi

- ukuran header segment sederhana

- tidak perlu kontrol kemacetan koneksi, artinya UDP dapat mengirimkan per segment tanpa dipengaruhi oleh kesibukan jaringan

· Didefinisikan dengan RFC 768

· Menerapkan layanan connectionless :

- untuk tidak ada handshaking antara pengirim UDP dan penerimanya

- untuk setiap segment UDP ditangani secara independen dengan segment UDP lainnya

· Kelemahan :

- untuk segment UDP mungkin akan hilang

untuk paket diterima mungkin dalam keadaan yang tidak urut. Jika paket yang diterima tidak urut, paket akan dibuang.

· tidak ada kontrol kemacetan koneksi (congestion control), artinya UDP dapat mengirimkan per segment tanpa dipengaruhi oleh kesibukan jaringan. Secara prinsip lapisan transport harus memberikan congestion control ini selama transmisi terjadi. Congestion dapat terjadi karena terlalu banyak paket data pada jaringan sehingga membuat unjuk kerja jaringan menjadi menurun. Hal ini dapat disebabkan, misalnya karena adanya router terlalu penuh buffernya sehingga memperlambat.

Checksum UDP

· Untuk membantu pengecekan kondisi paket segment UDP yang diterima, pada header UDP terdapat field checksum (16 bit). Checksum dihitung dari Pseudo-header yang di dalamnya terdapat alamat IP sumber dan tujuan, plus field protocol dari header IP. (untuk calculator checksum Ipv4.

Aplikasi UDP

· Digunakan untuk multimedia streaming, yang sangat memberikan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segment

· Contoh protokol aplikasi yang menggunakan UDP :

- DNS (Domain Name System) 53

- SNMP, (Simple Network Management Protocol) 161, 162

- TFTP (Trivial File Transfer Protocol) 69

- SunRPC port 111.

- dsb. (tolong sebutkan contoh lain! Wajib untuk diketahui!)

· Untuk membuat pengiriman yang reliable dengan protokol UDP, maka pada lapisan protokol aplikasinya harus menyediakan penanganan kesalahan tersendiri.

TCP (Transmission Control Protocol)

· Didefinisikan dengan RFC: 793, 1122, 1323, 2018, 2581

· Berikut beberapa karakteristik TCP :

- untuk point-to-point

- untuk reliable dan stateful

- untuk pipeline, menerapkan flow control window sliding untuk mengontrol kemacetan dan aliran datanya

- untuk terdapat buffer pengirim dan penerima

- untuk full-duplex

- untuk connection-oriented

- untuk aliran data yang dikontrol

Struktur paket segment TCP lebih komplek daripada UDP :

Pada header TCP tersebut terlihat bahwa TCP menerapkan flow control sliding window, yaitu pada rcvr windows size, yang berisi jumlah buffer (byte) penerima. Berdasar informasi field tersebut, pengirim akan selalu mempertahankan untuk tidak mengirim data dengan ukuran yang melebihi ukuran yang tersebut pada field rcvr windows size tersebut.

Oleh karena TCP menerapkan model koneksi connection oriented, maka ketika setup data sudah terbentuk, antara pengirim dan penerima dapat saling mempertukarkan data secara full duplex dengan tetap menjaga session koneksi diantara penerima dan pengirim (stateful). Untuk dapat melaksanakan mekanisme tersebut

Manajemen Koneksi TCP

Pada saat Setup Koneksi

1.client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial

2.server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK

• ACK yang menyatakan telah menerima SYN

• mengalokasikan buffer

• menghasilkan sequence number untuk ke client

Pada saat Menutup Koneksi

1.client mengirim kontrol TCP FIN ke server

2.server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.

3.Client menerima FIN dan membalas ACK

• masuk pada masa menunggu balasan ACK terhadap dari server

4.Server menerima ACK dan koneksi tertutup.

Tugas Jarkom

1. Alasan mengapa sistem komunikasi dibuat dengan model layer berlapis.

Beberapa tahun yang lelu telah menjadi kejelasan bahwa banyak cara atau metode menyediakan pelindung (sheild) atau sesuatu yang dapat menyembunyikan programmer dari kekomplekan perangkat keras.Cara yang telah berangsur-angsur berkembang adalah dengan menentukan atau membuat sebuah lapis (layer)
Dan juga layer tersebut memiliki fungsi tersendiri yang telah ditentukan, sehingga dapat memudahkan dalam menganalisi sistem keamanan.

2. Perbedaan antara OSI dan TCP/IP.

• OSI
Model Open Systems Interconnection (OSI)
Terdiri dari 7 layer yaitu :
- Application : Layer application yg berhubungan langsung dengan user
- Presentation : Menangani sintaks dan semantik dari infromasi yang ditransmisi
- Session : Dialog control, token management, sinkronisasi
- Transport : Menerima data dari upper layer à dan menyampaikan ke tujuan dengan benar
- Network : Control operasi network End for end
- Data Link : Penanganan frame (kumpulan bit)
Flow control + error control
- Physical : Berkaitan dengan raw bit I/O

• TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP)

adalah srtandar komunikasi data yang digunakan oelh komunikasi internet dan proses tukar menukar data dari satu computer ke computer lain di dalam jaringan internet.Protokol ini tidak dapat berdiri sendiri, karena memang protoko ini berupa kumpulan protocol (Protocol Suite). Protokol ini juga protocol yagn paling nayak digunakan saata ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak(Soft ware) di system operasi. Istilah diberiakn kepada perangkat lunak in adalah TCP/IP stack.
Terdiri dari 4 layer yaitu :
- Application : layer application yg berhubungan langsung dengan user
- Transport : Menerima data dari upper layer à dan menyampaikan ke tujuan dengan benar
- Internet : Untuk addressing + routing
- Network access : Bertanggung jawab dalam proses pengiriman dan penerimaan data dan ke media fisik.
3 Layer teratas pada OSI layer, yaitu application, presentation, dan session direpresentasikan kedalam 1 lapisan Layer TCP/IP, yaitu layer application.
Layer Network pada OSI Layer direpresentasikan sebagai Layer Internet pada TCP/IP Layer, namun fungsi keduanya masih tetap sama.
Layer Network Access pada TCP/IP menggabungkan fungsi dari Layer DataLink dan Physical pada OSI Layer, dengan kata lain, Layer Network Acces merupakan representasi dari kedua layer paling bawah dari OSI Layer, yaitu DataLink dan Physical.
TCP/IP layer merupakan “Protocol Spesific”, sedangkan OSI Layer adalah “Protocol Independen”

3. Tugas masing - masing layer pada OSI dan TCP/IP.

• Layer pada OSI
Layer 1 : Physical
Berfungsi menangani koneksi fisik jaringan dan prosedur-prosedur teknis yang berhubungan langsung dengan media transmisi fisik.

Layer 2 : Data Link
Berfungsi untuk mengendalikan lapisan fisik, mendeteksi serta mengkoreksi kesalahan yang berupa gangguan sinyal pada media transmisi fisik.

Layer 3 : Network
Berfungsi untuk menyediakan routing fisik, menentukan rute yang akan ditempuh.

Layer 4 : Transport
Berfungsi menginisialisasi, memelihara, serta mengakhiri komunikasi antar komputer,selain itu juga memastikan data yang dikirim benar serta memperbaiki apabila terjadi kesalahan.

Layer 5 : Session
Berfungsi mensinkronisasikan pertukaran data antar proses aplikasi dan mengkoordinasikan komunikasi antar aplikasi yang berbeda.

Layer 6 : Presentation
Berfungsi mengubah data dari layer diatasnya menjadi data yang bisa dipahami oleh semua jenis hardware dalam jaringan.

Layer 7 : Application
Merupakan interface pengguna dengan Layer OSI lainnya di layer inilah aplikasi-aplikasi jaringan berada seperti e-mail,ftp, http,danlain sebagainya. Tujuan dari layer ini adalah menampilkan data dari layer dibawahnya kepada pengguna.
• Layer pada TCP/IP
Layer 1 : Network interface
Sama halnya dengan layer Data link dan Physical layer Pada OSI yang mengurusi banyak hal yang berhubungan dengan prosedur mekanis dan elektris dalam transmisi bit-bit.
Layer 2 : Internet
berfungsi untuk memberikan layanan dasar pengantaran data. salah satu protokol yang bekerja pada layer ini adlah IP (internet protokol) yang diantaranya berfungsi:
- mentransfer data dari Network access layer ke transport layer dan sebaliknya
- menangani datagaram termasuk fragmentasi dan defragmentasi
- menangani skema pengalamatan yang diguankan dalam pertukaran data- menangani proses routing
Layer 3 : Transport
Sama seperti pada model protokol OSI yaitu berfungsi menghubungkan antara aplication layer dan internet layer contohnya : UDP, TCP, SNMP (apliccation) menggunakan UDP, Telnet, FTP, SMTP (apliccation) menggunakan TCP
Layer 4 : Application
Adalah seperti seperti gabungan dari layer application, presentation dan session pada protokol model OSI,pada model protokol tcp/ip maka aplikasi yang dibuat dan berhubungan langsung dengan pemakai akan diletakkan di sini.contohnya : FTP, SMTP, HTTP, SNMP, RPC, DNs, dll.

Sedikit penjelasan :

1. Telnet
Telnet (Telecommunication Network) berguna untuk melakukan remote komputer lain menggunakan port 23. Port dipergunakan oleh lapisan atas untuk akses ke lapisan transport, yaitu setiap layanan mempunyai port masing-masing.
Gabungan antara port dan Ip Address disebut sebagai Socket yang berguna agar aplikasi ganda dapat menggunakan TCP/IP yang sama.

2. FTP
FTP (file transfer protocol) berfungsi memindahkan file dari suatu komputer kekomputer yang lain. Diman menggunakan sistem server-client. Jika mengambil file dari server disbut get, kalo mengirim ke server disebut put. FTP membutuhkan autentifikasi untuk dapat login yaitu berupa user dan password. FTP menggunakan port 21.

3. SMTP
SMTP (simple mail transfer protocol) berfungsi untuk pengaturan dan pengiriman email. SMTP menggunakan port 25. cara kerjanya sama dengan FTP yaitu menggunakan protocol TCP.

4. TFTP
TFTP (trivial file transfer protocol) adalah FTP dengan menggunakan port yang disederhakan dan menggunakan port 69. TFTP bekerja dengan protocol UDP yang connectionless oriented yang tidak mengontrol hasil perpindahan file. TFTP tidak membutuhkan user dan password.

5. Karberos
Karberos adalah protocol untuk keamanan (security) yang menggunakan peralatan yang disebut authentication server untuk memeriksa password dan enkripsi yang digunakan. Karberos banyak digunakan pada sistem operasi UNIX.

6. DNS
DNS (domain name server) berguna untuk menterjemahkan dari ip menjadi domain dan dari domain menjadi ip. Kita membutuhkan DNS, karena kita lebih mudah mengingat nama (domain) daripada kita mengingat IP.

Selasa, 23 Juni 2009

RISC CISC & Superscalar

PENDAHULUAN

Sudah sering kita mendengar debat yang cukup menarik antara komputer personal IBM dan kompatibelnya yang berlabel Intel Inside dengan komputer Apple yang berlabel PowerPC. Perbedaan utama antara kedua komputer itu ada pada tipe prosesor yang digunakannya. Prosesor PowerPC dari Motorola yang menjadi otak utama komputer Apple Macintosh dipercaya sebagai prosesor RISC, sedangkan Pentium buatan Intel diyakini sebagai prosesor CISC. Kenyataannya komputer personal yang berbasis Intel Pentium saat ini adalah komputer personal yang paling banyak populasinya. Tetapi tidak bisa pungkiri juga bahwa komputer yang berbasis RISC seperti Macintosh, SUN adalah komputer yang handal dengan sistem pipelining, superscalar, operasi floating point dan sebagainya.

Apakah memang RISC lebih lebih baik dari CISC atau sebaliknya. Tetapi tahukah kita dimana sebenarnya letak perbedaan itu. Apakah prosesor dengan instruksi yang lebih sedikit akan lebih baik dari prosesor yang instruksinya kompleks dan lengkap. Apakah memang perbedaan prosesor itu hanya dari banyak atau tidaknya instruksi saja. Bukankah jumlah instruksi tidak berhubungan dengan ke-handal-an suatu prosesor. Pertanyaan-pertanyaan ini yang hendak dijawab melalui tulisan berikut. Namun supaya lebih dekat dengan elektronika praktis, ElectronicLab akan lebih fokus pada mikrokontroler low-cost yang berbasis RISC dan CISC. Sebagai contoh dari mikrokontroler CISC adalah 68HC11 buatan Motorola dan 80C51 dari Intel. Kita juga mengenal keluarga PIC12/16CXX dari Microchip dan COP8 buatan National Semiconductor sebagai mikrokontroler yang berbasis RISC.

PENGERTIAN

CISC Complex Instruction Set Computing. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Instruksi-instruksi yang tersedia memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC. Di lain pihak, banyaknya instruksi dalam CISC dapat mengurangi kecepatannya. CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (Intel, AMD, Cyrix).

Complex Instruction Set Computing disingkat CISC (baca : “sisk”) merupakan rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang kompleks. Instruksi-instruksi yang tersedia bertujuan untuk memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC.

Pada arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun 1978, bisa terdapat ratusan instruksi program - perintah-perintah sederhana yang menyuruh sistem menambah angka, menyimpan nilai, dan menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi sederhana akan memboroskan memori. Instruksi sederhana membutuhkan ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks mengkonsumsi sebanyak 120 bit. Sehingga hal tersebut akan mengurangi kecepatannya.

Arsitektur berbasis CISC juga memungkinkan para perancang prosesor untuk menambahkan set instruksi tambahan untuk keperluan tertentu disamping set instruksi standar yang sudah ada, misalnya set instruksi MMX (Multimedia Extension) yang ditambahkan pada prosesor buatan Intel, dan 3Dnow! pada prosesor keluaran AMD. Karena itulah maka keluarga prosesor CISC lebih banyak digunakan dalam komputer pribadi dimana aplikasinya lebih luas, sementara keluarga prosesor RISC hanya digunakan pada workstation yang biasanya memiliki lingkup aplikasi yang lebih sempit.

Diantara kelebihan dan kekurangan dari arsitektur RISC dan arsitektur CISC sampai sekarang masih menjadi sebuah perdebatan. Ada juga teknologi yang menggabungkan kedua arsitektur tersebut, contohnya : Prosesor Intel dan AMD yang dijual secara komersil sekarang adalah pengembangan dari prosesor x86 yang menggunakan basis prosesor CISC. Lucunya, instruksi set yang didukung oleh kedua prosesor tersebut menggunakan instruksi RISC yang lebih efisien dalam menangani data.

RISC Reduced Instruction Set Computing. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC. RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk aplikasi-aplikasi yang memerlukan kalkulasi secara intensif. Konsep RISC pertama kali dikembangkan oleh IBM pada era 1970-an. Komputer pertama yang menggunakan RISC adalah komputer mini IBM 807 yang diperkenalkan pada tahun 1980. Dewasa ini, RISC digunakan pada keluarga processor buatan Motorola (PowerPC) dan SUN Microsystems (Sparc, UltraSparc).

KARAKTERISTIK RISC


· Satuinstruksipersiklus

· Operasiregister to register

· Mode pengalamatanyang sederhana

· Format instruksiyang sederhana

· Desainhardwired (tanpamicrocode)

· Format instruksiyang fix

· Prosescompile yang cepat


SUPERSCALAR


Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.

Superscalar mampu menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

Contoh CPU yang telah menerapkan arsitektur superscalar : Intel Processors

• 486, Pentium, Pentium Pro


Superscalar Processor Design

• Use PowerPC 604 as case study

• Speculative Execution, Register Renaming, Branch Prediction


More Superscalar Examples

• MIPS R10000

• DEC Alpha 21264


Berikut perbandingan superscalar dengan system i386


Cycles Per Instruction

Pengertian Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel.

· Satu kesatuan instruksi (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) yang dapat diinisialisasi dan dieksekusi secara bebas (tidak tergantung instruksi lain).

yang diaplikasikan pada sistem RISC & CISC


Alasan desain Superscalar

· Sebagian besar operasi menggunakan besaran/nilai skalar

· Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu

Organisasi Superscalar secara umum

Daftar Pustaka:

1. CISC vs RISC

2. CISC

3. Superscalar