Autonomous System (AS) Dan Autonomous System Number (ASN)

Selasa, 29 September 2015

| 0 komentar
Autonomous System atau yang disingkat AS adalah suatu kelompok yang terdiri dari satu atau lebih IP Prefix yang terkoneksi yang dijalankan oleh satu atau lebih operator jaringan dibawah satu kebijakan routing yang didefinisikan dengan jelas. AS diperlukan bila suatu jaringan terhubung ke lebih dari satu AS yang memiliki kebijakan routing yang berbeda. Contoh yang paling sering dijumpai adalah: jaringan yang terhubung kepada dua upstream atau lebih ataupun eXchange Point, peering dengan jaringan lokal pada eXchange Point. Autonomous System Number atau yang disingkat ASN adalah nomor two-byte unik yang diasosiasikan dengan AS. ASN digunakan sebagai pengidentifikasi yang memungkinkan AS untuk saling menukar informasi routing dinamik dengan AS yang lain. Protokol routing eksterior seperti Border Gateway Protocol (BGP) membutuhkan ASN untuk saling bertukar informasi antara jaringan.
Konsep munculnya Autonomous System untuk mengantisipasi perkembangan jaringan yang terus bertambah besar, struktur jaringan internet yang berbentuk hierarki maka internet dibagi dalam suatu autonomous system (AS). Setiap AS memiliki mekanisme pertukaran dan pengumpulan informasi routing sendiri. Protokol yang digunakan untuk pertukaran informasi 

dalam AS adalah Interior Routing Protocol (IRP). Hasil pengumpulan informasi routing ini kemudian disampaikan AS lain dalam bentuk reachability information. Reachability information yang dikeluarkan oleh sebuah AS berisi informasi mengenai jaringan-jaringan yang dapat dicapai melalui AS tersebut dan menjadi indicator terhubungnya AS ke internet.


Perbedaan antara Intra Domain Routing dan Inter Domain Routing
Intradomain Routing
         Routing ini berjalan dalam sebuah Autonomous System
         Mengabaikan Internet di luar Autonomous System tersebut, jadi hanya memperhatikan koneksi yang berada dalam Autonomous System saja.
         Protokol yang biasa digunakan dalam  Intradomain routing adalah Interior Gateway Protocol atau IGP
         Protokol yang populer digunakan untuk Intra Domain Routing adalah
        RIP : Routing Information Protocol menggunakan distance vector merupakan protocol sederhana dan sudah lama digunakan.
        OSPF : Open Shortest Path First menggunakan algoritma shortest path dan lebih baik dari protokol RIP

Interdomain Routing


         Routing ini berjalan antar Autonomous System
         Mengasumsikan Internet terdiri dari sekumpulan interkoneksi Autonomus System
         Normalnya dalam Interdomain routing terdapat sebuah dedicated router pada tiap Autonomous System yg berfungsi menangani trafik interdomain.
         Protokol yang biasa nya digunakan  interdomain routing adalah Exterior Gateway Protocol atau EGP
         Protokol routing:
        EGP : Exterior Gateway Protocol

        BGP : Border Gateway Protocol merupakan protocol yang sifat nya lebih baru.

Protokol-Protokol yang digunakan dalam Inter Domain Protokol dan Intra Domain Routing:

1.   RIP (Routing Information Protokol) 
Routing jenis ini termasuk dalam protocol distance vector, dimana protocol distance vector ketika pertama kali dijalankan hanya mengetahui routing kea rah diri sendiri dan dianggap buta karena tidak mengetahui topologi jaringan dimana dia berada. Router hanya akan mengirim informasi local ke semua link yang terhubung langsung dengannya (link tetangga). Router yang menerima informasi routing tersebut kemudian menghitung distance vector, menambahkan distance vector dengan metric link tempat informasi tersebut diterima kemudian jika dianggap jalur terbaik maka akan dimasukkan ke dalam entri forwarding table.  Proses pengiriman routing dan penambahan metrik ini akan dikirim lagi ke seluruh antar muka router dalam selang waktu tertentu. Demikian seterusnya setelah semua router di jaringan mengetahui topologi jaringan tersebut

Kelemahan dari protocol ini adalah jika dalam sebuah jaringan terdapat link yang terputus. Kemungkinan yang terjadi adalah efek bouncing dimana data hanya kan berputar – putar pada dua router sampai umur (time to live) datagram tersebut habis. Sedangkan kemungkinan yang kedua adalah menghitung sampai tak hingga (counting to infinity) dimana router terlambat menginformasikan bahwa suatu link terputus. Hal ini menyebabkan router harus mengirim dan menerima distance vector serta menghitung sampai batas metric maksimum tercapai.


2.      OSPF (Open Shortest Path First)

OSPF ini menggunakan prinsip link state routing yang sederhana. Sebagai pengganti menghitung route terbaik dengan cara trdistribusi, semua router mempunyai peta jaringan dan menghitung semua route yang terbaik dari jaringan ini. Peta tersebut disimpan dalam sebuah basis data. Record-record peta dalam tersebut akan dikirimkan oleh router yang terhubung langsung dengan masing-masing link.
Peta dalam basis data tersebut akan kembali diupdate jika dalam sebuah jaringan terjadi perubahan topologi dan akan dikirimkan ke router lain-router lain agar kondisi topologi setiap jaringan tetap terjaga keabsahannya.

3.   BGP (Border Gateway Protokol)
Border Gateway Protocol adalah sebuah inter domain protokol Autonomous System. Fungsi utama sistem BGP adalah untuk bertukar informasi jaringan yang dapat 'dijangkau' (reachability) oleh sistem BGP lain, termasuk di dalamnya informasi-informasi yang terdapat dalam list autonomous system (AS). BGP berjalan melalui sebuah protocol transport, yaitu TCP.

BGP memiliki kemampuan untuk mengontrol dan mengatur trafik-trafik dari sumber berbeda di dalam network multi-home . Tujuan utama BGP adalah untuk memperkenalkan kepada publik di luar network (upsteram provider atau peer) tentang rute atau porsi spasi address yang dimiliki dengan "meminta izin" membawa data ke suatu spasi address tujuan .

TCP/IP Handshaking / swing handshaking

Rabu, 02 September 2015

| 0 komentar
Handshaking adalah proses negosiasi otomatis yang secara dinamis menentukan  parameter dalam pembentukan kanal komunikasi antara dua entitas normal sebelum komunikasi melalui kanal dimulai. Ia mengikuti pembentukan fisik saluran precedes normal dan mentransfer informasi. Contohnya : ketika sebuah komputer berkomunikasi dengan perangkat lain seperti modem atauprinter yang perlu melakukan Handshake untuk membuat sambungan.
Proses negosiasi SSL atau “Handshake,” melibatkan pertukaran cryptographic keys, certificate,dan informasi lain , random data digunakan untuk membuat enkripsi satu waktu, dan valuenya digunakan untuk mengidentifikasi SSL yang dibuat dari Handshake. Handshake memiliki tiga tujuan:


  • Untuk membolehkan client dan server  setuju mengenai algoritma yang akan mereka gunakan.
  • Untuk melibatkan kumpulan dari crypto keys untuk digunakan oleh algoritma tersebut.
  • Untuk mengautentikasi client
Catatan penting bahwa SSL Handshake memerlukan perhitungan yang sangat kompleks dan perlu komputer dengan processor yang tangguh.Pada akhir cryptographic key dibuat dan dipertukarkan antara client dan server,  enkripsi berikutnya dibuat cukup mudah sejauh processor dari komputer terfokus, namun hal itu tetap menjadikan perlunya performa tinggi dari server. Terutama ketikaHandshake dengan jumlah besar terjadi dalam waktu bersamaan. Bagaimanapun juga, pekerjaan ini dapat dilakukan oleh  processor khusus/special yang didesain khusus untuk memproses perhitungan matematis yang melibatkan Handshake. 
Handshaking memungkinkan terjadinya sesi komunikasi data yang berlangsung dari mulai perencanaan komunikasi sampai dengan komunikasi tersebut selesai. Proses ini diawali proses prakomunikasi, yaitu proses pencarian host tujuan (destination) oleh host yang bertindak sebagai pengirim. Proses ini diakhiri dengan kesepakatan antara kedua belah pihak untuk melaksanakan pertukaran data (connection establish), yaitu proses pengiriman informasi berupa request dan tanggapan antara kedua belah pihak. 
Dua proses awal ini dapat disebut proses pembentukan koneksi. Artinya, untuk melakukan komunikasi, perangkat yang dituju harus menerima koneksi awalan terlebih dahulu sebelum mengirimkan data atau menerima data.
1.      Proses yang dilakukan sebelum pengiriman data terdiri atas :
2.      Pengirim (sender) mengirimkan sinyal sinkronasi (SYN) terlebih dulu ke tujuan.
3.      Penerima akan membalas sinyal SYN dengan Negotiate Connection.
4.      Penerima mengirimkan SYN ulang, apa benar pengirim akan mengirimkan data.
5.      Pengirim akan membalas dengan sinyal Acknowledge (ACK), artinya sudah siap untuk mengirimkan data sampai saat ini. Prosesnya telah mencapai status Connection Establish.
6.      Kemudian segmen data dikirim. Proses terakhir adalah ketika terjadi pengiriman kodeBYE atau FIN ACK atau CLOSED atau kode lainnya bergantung aplikasi komunikasi yang digunakan.
Tahapan Analisa:
1.      Pertama-tama, buka aplikasi throughput (Wireshark). Jika anda belum meng-install-nya, lakukan dahulu proses penginstalan.
2.      Kemudian, akan muncul tampilan di bawah ini. Lalu, klik “Interfaces List”.
3.      Lalu akan muncul window baru. Klik “start” pada interface yang akan di-capture.
4.      Kemudian, jalankan aplikasi internet browser, dan masuklah kepada salah satu situs web(misal : http://www.google.co.id/).
5.      Setelah browser menunjukkan tidak sedang melakukan loading (dalam Mozolla Firefoxbiasanya bertuliskan “Done”), hentikan proses capture dengan mengklik tombol “Stop” pada bagian toolbar. Setelah itu, akan muncul hasil capture-nya. Berikut merupakan contoh dari hasil analisanya.
Hasil Analisa :
41 – 43 (! 42)
Opening
42 – 47 (! 43)
Negotiation
48 – 72 (! 62 – 71)
GET/ HTTP
62 – 80 (! 68, 70, 75, 76)
GET/ _icon
84 – 117
GET/ rsrc.php
118
Closing
Tabel A
41 – 43 (! 42)
Opening
42 – 47 (! 43)
Negotiation
48 – 117 (! 68, 70, 75, 76)
Connection Establish
118
Closing
Tabel B
Dari hasil analisis di atas terlihat di tabel 1.0 merupakan proses yang lebih detail dalam prosesHandshaking yang ditunjukan gambar 1.0, sedangkan tabel 1.1 merupakan proses yang umum dari keseluruhan gambar 1.0. dari proses di atas kita bisa ketahui bahwa ini merupakan proses three-way Handshaking. Hal ini bisa dibuktikan adanya tiga kali persetujuan antara perangkat komunikasi yaitu opening, negotiation dan closing. Disini Connection Cstablish merupakan proses utama dan bukan persetujuan atau kesepakatan antar perangkat komunikasi.
Maka dari itu, dapat disimpulkan bahwa Proses Handshaking bisa dikatakan sudah masukConnection Cstablish bilamana sudah ada kode GET/ dari host penerima ke pengirim. Merupakan tanda pertukaran data awal dalam proses Connection Establish. Proses Handshaking dalam aplikasi throughput tidak selalu berurutan dalam suatu proses GET/ bisa saja ada 2 kali proses GET/ dalam satu waktu sehingga menyebabkan hasil capture bergantian antara GET/ yang satu dengan yang lainnya.
A.    Metode Handshaking
1.   Handshaking polling
Secara software Prioritas, yang di-poll pertama mendapat prioritas tertinggi. Bila processor ingin mengakses perangkat, salah satu pendekatannya adalah dengan membiarkan processor melakukan semua pekerjaan. Processor berinteraksi dengan controller melalui protokol yang rumit tetapi dasar Handshaking-nya cukup sederhana yaitu:
a.       CPU terus menerus membaca bit status sampai bit tersebut menandakan perangkat siap menerima perintah CPU.
b.      CPU mengaktifkan bit-write di register perintah sebagai awal pertanda CPU memberikan perintah dan menulis sebuah byte di data-out.
c.       CPU mengaktifkan command-ready bit, artinya perintah tersedia untuk dijalankan controller.
d.      Controller melihat command ready bit di-set sehingga bit kerja di-set.
e.       Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yang diperintah CPU.
f.       Controller menghapus command ready bit, bit error di status dan bit kerja.
Langkah 1 disebut polling atau busy waiting. Processor terus-menerus membaca bit status, berharap suatu saat bit tersebut menandakan perangkat siap menerima perintahnya. Pada dasarnya polling dapat dikatakan efisien bila kinerja perangkat dan controller-nya cepat. Kelemahan dari cara ini adalah bila waktu tunggu lama, maka lebih baikprocessor mengerjakan tugas yang lain. Sedangkan untuk mengetahui apakah perangkatnya sudah siap menerima perintah lagi atau belum, digunakanlah interupsi.

2.      Handshaking Interupsi
Interupsi terjadi bila suatu perangkat M/K ingin memberitahu processor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.
Penanganan Interupsi
Ada beberapa tahapan dalam penanganan interupsi:
  1. Controller mengirimkan sinyal interupsi melalui interrupt-request-line
  2. Sinyal dideteksi oleh processor
  3. Processor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)
  4. Processor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler
  5. Transfer kontrol ke interrupt handler
  6. Setelah interupsi berhasil diatasi, processor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Gambar Siklus penanganan interupsi:













3.   Interrupt Request Line
Pada kebanyakan CPU, ada dua interrupt request line. Pertama, interupsi nonmaskable, interupsi ini biasanya berasal dari perangkat keras dan harus segera dilaksanakan, seperti terjadinya error pada memori.
Kedua, interupsi maskable, jenis interupsi ini bisa dilayani oleh processor atau bisa tidak dilayani. Kalaupun dilayani, harus dilihat keadaan processor saat itu. Ada kemungkinan processorlangsung menangani bila saat itu, processor preemptive, bila nonpreemptive, maka harus menunggu proses yang sedang dikerjakan selesai.
4. Vektor Interupsi dan Vector Chaining
Bila ada sebuah sinyal interupsi pada interrupt request line, bagaimana sebuah interrupt handler mengetahui sumber dari interupsi itu? Apakah harus menelusuri semua sumber interupsi satu-persatu? Tidak perlu, karena setiap interrupt handler mempunyai alamat memori masing-masing. Alamat ini adalah offset pada sebuah tabel yang disebut dengan vektor interupsi.
Tabel 10.1. Tabel Vector-Even pada Intel Pentium
Vector number
Description
0
Divide error
1
Debug Exception
2
Null Interrupt
3
Breakpoint
4
INTO-detected overflow
5
Bound range exception
6
Invalid opcode
7
Device not available
8
Double fault
9
Compressor segment overrun (reserved)
10
Invalid task state segment
11
Segment not present
12
Stack fault
13
General protection
14
Page fault
15
(Intel reserved, do not use)
16
Floating point error
17
Alignment check
18
Machine check
19-31
(Intel reserved, do not use)
32-255
Maskable interrupt

Sesuai dengan perkembangan zaman, komputer mempunyai lebih banyak perangkat (dan lebih banyak interrupt handlers) daripada elemen alamat di vektor. Hal ini bisa diatasi dengan teknik vector chaining. Setiap elemen di vektor interupsi menunjuk ke kepala dari sebuah daftar interrupt handlers, sehingga bila ada interupsi, handler yang terdapat pada daftar yang ditunjuk akan dipanggil satu persatu sampai didapatkan handler yang bisa menangani interupsi yang bersangkutan.
B.     Prioritas Interupsi
Mekanisme interupsi juga menerapkan sistem level prioritas interupsi. Sistem ini memungkinkan interupsi berprioritas tinggi menyela eksekusi interupsi berprioritas rendah. Sistem ini juga memungkinkan perangkat M/K yang membutuhkan pelayanan secepatnya didahulukan daripada perangkat lainnya yang prioritasnya lebih rendah. Pengaturan prioritas dan penanganan perangkat berdasarkan prioritasnya diatur oleh processor dan controller interupsi.
C.    Penyebab Interupsi
Mekanisme interupsi tidak hanya digunakan untuk menangani operasi yang berhubungan dengan perangkat M/K. Sistem operasi menggunakan mekanisme interupsi untuk beberapa hal, di antaranya:
  1. Menangani exception
Exception adalah suatu kondisi dimana terjadi sesuatu, atau dari sebuah operasi didapatkan hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contohnya, pembagian dengan nol, pengaksesan alamat memori yang restricted atau tidak valid, dll.
  1. Mengatur virtual memory paging.
  2. Menangani perangkat lunak interupsi.
  3. Menangani alur kontrol kernel.
Jika interupsi yang terjadi merupakan permintaan untuk transfer data yang besar, maka penggunaan interupsi menjadi tidak efisien, untuk mengatasinya digunakanlah DMA.
D.    Handshaking DMA
Proses Handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
Hal ini berlangsung berulang-ulang sehingga disebut Handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan.
Handshaking DMA Memberikan transfer data tercepat dengan cara mensinkronkan peripheral dan memori utama. Software minimal atau tidak ada, tetapi membutuhkan chip kontroler DMA, yang memperumit hardware.
Tiga mode:
1.      One byte (ambil bus, kirim 1 byte, kembalikan bus)
2.      Burst (ambil bus, jika bus ready kirim 1 byte, kembalikan bus)
3.      Block DMA (ambil bus, jika bus ready kirim block, kembalikan bus)
Perlu diketahui bahwa mekanisme interupsi tidak efisien untuk melakukan transfer data yang besar. Transfer data dilakukan per word. Pada mekanisme interupsi, untuk tiap word data yang ditransfer, processor tidak akan menunggu data tersedia pada perangkat yang mengirim data maupun data selesai ditulis oleh perangkat yang menerima data. Dalam situasi tersebut processorakan mengganti proses yang sedang dieksekusinya (yang melakukan transfer data) dengan proses lain (context switch). Jika ukuran data yang ditransfer cukup besar, processor akan berulang kali melakukan context switch, padahal context switch akan menimbulkan overhead. Oleh karena itu kelemahan mekanisme interupsi untuk menangani transfer data yang besar disebabkan oleh context switch. Untuk menangani kelemahan tersebut, digunakan suatu unit kontrol khusus yang disediakan untuk mentrasfer data langsung antar perangkat eksternal dan memori utama tanpa intervensi terus menerus dari processor. Unit kontrol khusus tersebut adalah DMA.
Sistem modern dapat mengurangi beban CPU untuk melakukan operasi M/K, yaitu dengan menggunakan pengendali DMA. Dengan demikian CPU dapat melakukan tugas lain sementara operasi M/K dilakukan. Setiap pengendali peralatan dapat saja memiliki perangkat keras DMA tersendiri. Alternatif lain adalah dengan memiliki sebuah pengendali DMA pada motherboard yang mengatur transfer ke berbagai peralatan. Untuk memulai transfer data secara DMA, driver peralatan akan menulis blok perintah DMA memori yang menunjuk sumber data, tujuan, dan jumlah byte yang akan ditransfer. CPU kemudian akan mengirimkan alamat blok perintah ini pada pengendali DMA. pengendali DMA akan memproses informasi ini untuk kemudian mengoperasikan bus memori. Transfer sebanyak 1 byte/word per satuan waktu oleh pengendali DMA disebut sebagai cycle stealing karena pengendali menggunakan bus cycle milik CPU. Dengan cycle stealing penggunaan bus oleh CPU akan tertunda beberapa waktu karena busdigunakan untuk proses DMA.
Tiga langkah dalam transfer DMA:
  1. processor menyiapkan DMA transfer dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
  2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat,menulis dan membaca data) samapai seluruh blok sudah ditransfer.
  3. Pengendali DMA menginterupsi processor, dimana selanjutnya akan ditentukan tindakan berikutnya.

Followers