Overview Peterson

 

3.3 ROUTING

Dari chapter sebelumnya, diketahui bahwa forwarding dan routing berbeda. Forwarding terdiri dari mengambil paket data, melihat address tujuan, membuat tabel dan mengirim paket pada jalur yang ditentukan oleh tabel. Sementara routing adalah proses dimana tabel forwarding dibuat.

3.3.1 Network As A Graph

Masalah dasar pada routing yaitu menemukan jalan yang memiliki cost terendah diantara yang lain. Kelemahan dari pendekatan ini yaitu

  • tidak mendeteksi node atau link failure

  • tidak mempertimbangkan kemungkinan node atau link baru

  • berasumsi cost edge tidak bisa diganti

Karena kekurangan tersebut, routing digunakan agar dapat memakai protokol dinamik yang dapat menyelesaikan masalah diatas dan menemukan jalan dengan cost terendah

3.3.2 Distance Vector (RIP)

 

3.3.3 Link State (OSPF)

Asumsi awal dari link state ini sama dengan distance vector. Setiap node diasumsikan mengetahui apakah keadaan link tujuan sedang up atau down. Ide dasar dari link state yaitu setiap node mengetahui bagaimana cara mencapai tujuan secara langsung dan yakin setiap node bisa mengetahui peta lengkap dari network. Link state routing berpaku pada dua mekanisme, yaitu penyebaran informasi link state dan kalkulasi rute dari total link state.

Reliable Flooding

Reliable flooding adalah proses yang meyakinkan setiap node mendapat informasi link state dari node lainnya. Proses pengiriman informasi ini dilakukan sampai setiap node mendapatkan informasi dari link state. Setiap node membuat link-state packet yang berisi :

  • ID node yang membuat LSP

  • List node yang terhubung dengan node pembuat dengan cost masing-masing

  • Nomor urut

  • Waktu untuk menghidupkan LSP

ID dan list node digunakan untuk kalkulasi rute, sedangkan nomor urut dan waktu digunakan untuk membuat reliable flooding lebih baik.

Route Calculation

The Open Shortest Path First Protocol

fitur

  • Authentication of Routing Message

  • Additional Hierarchy

  • Load Balancing

3.3.4 Metriks

3.4 IMPLEMENTASI DAN KINERJA
3.4.1 Switch Basics

a.jpg

Dari gambar diatas dapat dilihat prosesor dengan 3 interface jaringan yang digunakan sebagai switch. angka ini menunjukkan jalan yang diambil oleh paket ketika tiba pada interface 1 sampai keluar pada interface 2. dapat dilihat bahwa prosesor memiliki mekanisme untuk memindahkan data langsung dari interface ke memori utama tanpa harus melalui CPU. Setelah paket tersebut sampai didalam memori, CPU memeriksa header untuk menenturkan interface yang akan dilalui paket ketika akan keluar. dengan menggunakan Direct Memory Access, paket dipindahkan keluar melalui interface yang sesuai.

 

3.4.2 Ports

Kebanyakan switch secara konsep terlihat mirip, terdiri dari sejumlah input dan output port dan fabric. Setidaknya satu prosesor kontrol yang bertanggung jawab atas seluruh switch yang berkomunikasi melalui port secara langsung maupun tidak langsung seperti melalui switch fabric. Port berkomunikasi dengan dunia luar. Mereka mungkin menerima serat optik dan laser, buffer menahan paket yang menunggu untuk di switch atau dikirimkan, dan jumlah yang signifikan dari sirkuit lain yang memungkinkan beralih ke fungsi.

 

3.4.3 Fabrics

switch fabric harus dapat memindahkan paket dari port input ke port output dengan delay minimal dan dengan cara yang memenuhi throughput tujuan dari switch. Itu berarti fabric menampilkan beberapa derajat paralelisme. Sebuah fabric berkinerja tinggi dengan n port sering memindahkan satu paket dari masing-masing port n untuk salah satu port output pada saat yang sama.

 

3.4.4 Router Implementation

5.1 Simple Demultiplexer (UDP)

 

Protocol transport yang paling simpel adalah yang memperpanjang layanan pengantaran dari host-to-host dari network utama menjadi layanan komunikasi process-to-process. Biasanya terdapat banyak proses yang dijalankan di tiap host jadi protokol perlu menampahkan tingkatan dari demultiplexing yang berarti memperbolehkan tiap host menjalankan proses yang terdiri dari banyak aplikasi untuk membagi network. UDP (User Datagram Protocol) adalah salah satu contoh protokolnya.

Topik yang paling menarik dari protokol ini adalah bentuk alamat yang digunakan untuk mengidentifikasi target process. Walaupun memungkinkan bagi proses-proses untuk mengidentifikasi satu sama lain secara langsung dengan process id (pid) yang telah di-assign oleh OS, pendekatan ini bisa dilakukan di sistem terdistribusi tertutup yang hanya ada satu OS yang berjalan di semua host dan assign setiap proses dengan id yang unik. Pendekatan yang lebih umum yang digunakan UDP adalah porses-proses yang secara tidak langsung mengidentifikasi satu sama lain menggunakan abstract locater, yang biasa disebut port. Ide dasar adalah sumber proses mengirimkan pesan ke port dan proses tujuan menerima pesan dari port.

Topik berikutnya adalah bagaimana proses mengajarkan port mengenai proses dari mengirimkan pesan tersebut. Biasanya, proses klien menginisiasi pertukaran pesan dengan proses server. Saat klien mengontak server, server mengetahui port dari klien and bisa membalasnya. Masalah yang sebenarnya adalah bagaimana klien mengetahui port dari server. Pendekatan umum adalah server menerima pesan-pesan di port yang sudah dikenalnya. Setiap server menerima pesan-pesannya di port yang tetap yang dipublikasikan secara luas. Contohnya di internet, DNS menerima pesan-pesan di port yang sudah dikenal yaitu port 53 di setiap host. pesan mendengar pesan di port 25, dan Talk program dari Unix menerima pesan di port 517, dan lain-lain. Mapping ini dipublikasikan secara periodik di RFC dan tersedia di sebagian besar sistem Unix di file /etc/services. Terkadang port yang sudah dikenal hanya sebagai titik awal dari komunikasi: Klien dan server menggunakan port yang telah dikenal untuk kemudian menyetujui bahwa beberapa port yang lain akan menggunakan komunikasi berikutnya, meninggalkan port yang sudah dikenal bebas digunakan oleh klien-klien yang lain.

 

Strategi alternatif adalah untuk menggeneralisasi ide ini, sehingga hanya ada satu port yang dikenal, yaitu di tempat port mapper menerima pesan-pesannya. Klien akan mengirimkan pesannya ke port yang sudah dikenal oleh port mapper, memerintahkan port untuk berbicara ke servis apapun, dan port mapper mengembalikan port yang cocok. Strategi ini memudahkan bagi perubahan port yang berhubungan dengan servis yang berbeda setiap waktu dan agar setiap host menggunakan port yang berbeda untuk servis yang sama.

Seperti yang telah disebutkan, port hanyalah sebuah abstraksi. Bagaimana ia diimplementasikan secara tepat berbeda dari sistem yang satu dengan sistem lainnya, atau lebih tepatnya, dari OS yang satu dengan OS lainnya. Sebagai contoh, socket API yang dideskripsikan di Chapter 1 adalah contoh dari implementasi dari port-port. Biasanya, port diimplementasikan dengan pesan yang mengantri, seperti digambarkan Figure 5.2. Saat pesan masuk, protokol (contohnya UDP) menambahkan pesan tersebut ke akhir antrian. Jika antrian penuh, pesan akan dibuang.

 

 

Walaupun UDP tidak mengimplementasikan pengaturan arus atau pengiriman yang terpercaya, ia menyediakan satu atau lebih fungsi selain dari pesan demultiplexing ke beberapa proses aplikasi-ia juga memastikan keakuratan dari pesan dengan menggunakan checksum. Tapi data masukan yang digunakan checksum agak berbeda dari kebanyakan.

UDP checksum mengambil UDP header sebagai input masukan, isi dari pesan utama, dan sesuatu yang disebut pseudoheader. Pseudoheader terdiri dari 3 bagian dari IP header-nomor protokol, ip adress sumber, dan ip adress tujuan-ditambah UDP length field. Tujuan dari adanya pseudoheader adalah untuk memverifikasi bahwa pesan yang dikirim adalah antara dua endpoint yang benar.