• Tidak ada hasil yang ditemukan

Resolusi Nama

Dalam dokumen 1.1 Pertumbuhan Jaringan Komputer (Halaman 72-80)

BAGIAN I Pengantar Jaringan dan Aplikasi Internet

Bab 4 Aplikasi Internet Tradisional

4.19 Resolusi Nama

Penerjemahan nama domain menjadi alamat disebut resolusi nama, dan nama tersebut dikatakan diselesaikan ke alamat. Perangkat lunak untuk melakukan terjemahan dikenal sebagai penyelesai nama (atau hanya penyelesai). Di API soket, misalnya, resolver dipanggil dengan memanggil fungsi gethostbyname. Penyelesai menjadi klien, menghubungi server DNS, dan mengembalikan jawaban ke pemanggil.

Setiap resolver dikonfigurasi dengan alamat satu atau lebih server nama domain lokal. Penyelesai membentuk pesan permintaan DNS, mengirim pesan ke server lokal, dan menunggu server mengirim pesan balasan DNS yang berisi jawabannya. Penyelesai dapat memilih untuk menggunakan aliran atau paradigma pesan saat berkomunikasi dengan server DNS; kebanyakan resolver dikonfigurasi untuk menggunakan paradigma pesan karena menerapkan lebih sedikit overhead untuk permintaan kecil.

Sebagai contoh resolusi nama, pertimbangkan hierarki server yang diilustrasikan Gambar 4.10a, dan asumsikan komputer di divisi sabun menghasilkan permintaan untuk nama chocolate.candy.foobar.

com. Penyelesai akan dikonfigurasi untuk mengirim permintaan ke server DNS lokal (yaitu, server untuk foobar.com). Meskipun tidak dapat menjawab permintaan, server mengetahui untuk menghubungi server candy.foobar.com, yang dapat menghasilkan jawaban.

Gambar 4.10 Hirarki DNS hipotetis dan dua kemungkinan pemberian nama ke server.

4.20 Caching di Server DNS

Lokalitas prinsip referensi yang membentuk dasar untuk caching berlaku untuk Sistem Nama Domain dalam dua cara:

Spasial: Pengguna cenderung mencari nama komputer lokal lebih sering daripada nama

komputer jarak jauh

Temporal: Seorang pengguna cenderung mencari kumpulan nama domain yang sama berulang

• kali

Kita telah melihat bagaimana DNS mengeksploitasi lokalitas spasial: penyelesai nama menghubungi server lokal terlebih dahulu. Untuk mengeksploitasi lokalitas temporal, server DNS menyimpan semua pencarian. Algoritma 4.4 merangkum proses.

Menurut algoritme, ketika permintaan tiba untuk nama di luar set yang menjadi otoritas server, interaksi klien-server lebih lanjut akan terjadi. Server untuk sementara menjadi klien dari server nama lain. Ketika server lain mengembalikan jawaban, server asli menyimpan jawaban dan mengirimkan salinan jawaban kembali ke resolver tempat permintaan tersebut tiba. Jadi, selain mengetahui alamat

Pertanyaan mendasar dalam semua caching berkaitan dengan lamanya waktu item harus di-cache — jika item di-di-cache terlalu lama, item tersebut akan menjadi basi. DNS memecahkan masalah dengan mengatur server otoritatif untuk menentukan batas waktu cache untuk setiap item. Jadi, ketika server lokal mencari nama, responsnya terdiri dari Catatan Sumber Daya yang menentukan batas waktu cache serta jawaban. Setiap kali server menyimpan jawaban, server menghormati batas waktu yang ditentukan dalam Catatan Sumber Daya.

Algoritma 4.4 Diberikan:

Pesan permintaan dari penyelesai nama DNS

Menyediakan:

Pesan tanggapan yang berisi alamat

Metode:

Ekstrak nama, N, dari permintaan if ( server adalah otoritas untuk N ) { Formulir dan kirim tanggapan kepada pemohon;

else if ( jawaban untuk N ada di cache ) { Formulir dan kirim tanggapan kepada pemohon;

else { /* Perlu mencari jawaban */

if (server otoritas untuk N diketahui) { Kirim permintaan ke server otoritas;

} kalau tidak {

Kirim permintaan ke server root;

}

Terima respons dan tempatkan di cache;

Formulir dan kirim tanggapan kepada pemohon;

}

Algoritma 4.4 Langkah-langkah yang diambil server DNS untuk menyelesaikan sebuah nama.

Poin Penting

Karena setiap Catatan Sumber Daya DNS yang dihasilkan oleh server otoritatif menentukan batas waktu cache, item dapat dihapus dari cache DNS saat menjadi basi.

Caching DNS tidak berhenti pada server: resolver juga dapat men-cache item. Sebenarnya, perangkat lunak resolver di sebagian besar sistem komputer menyimpan jawaban dari pencarian DNS, yang berarti bahwa permintaan yang berurutan untuk nama yang sama tidak perlu menggunakan jaringan karena resolver dapat memenuhi permintaan dari cache pada disk lokal.

4.21 Jenis Entri DNS

Setiap entri dalam database DNS terdiri dari tiga item: nama domain, jenis catatan, dan nilai.

Jenis rekaman menentukan bagaimana nilai akan diinterpretasikan (misalnya, bahwa nilainya adalah alamat IP). Lebih penting lagi, kueri yang dikirim ke server DNS menentukan nama domain dan tipe;

server hanya mengembalikan pengikatan yang cocok dengan jenis kueri. Jenis utama memetakan nama domain ke alamat IP. DNS mengklasifikasikan binding seperti tipe A, dan pencarian tipe A digunakan oleh aplikasi seperti FTP, ping, atau browser. DNS mendukung beberapa tipe lain, termasuk tipe MX yang menentukan Mail eXchanger. Saat mencari nama di alamat email, SMTP menggunakan tipe MX.

Jawaban yang dikembalikan server cocok dengan tipe yang diminta. Dengan demikian, sistem email akan menerima jawaban yang cocok dengan tipe MX.

Poin Penting

Setiap entri di server DNS memiliki tipe. Saat penyelesai mencari nama, penyelesai menentukan jenis yang diinginkan, dan server DNS hanya mengembalikan entri yang cocok dengan jenis yang ditentukan.

Sistem jenis DNS dapat menghasilkan hasil yang tidak diharapkan karena alamat yang dikembalikan dapat bergantung pada jenisnya. Misalnya, perusahaan dapat memutuskan untuk menggunakan nama perusahaan.com untuk layanan web dan email. Dengan DNS, perusahaan dapat membagi beban kerja antara komputer yang terpisah dengan memetakan pencarian tipe A ke satu komputer dan mengetik pencarian MX ke komputer lain. Kerugian dari skema tersebut adalah bahwa tampaknya berlawanan dengan intuisi manusia — dimungkinkan untuk mengirim email ke korporasi.com bahkan jika tidak mungkin untuk mengakses server web atau melakukan ping ke komputer.

4.22 Alias Dan Catatan Sumber Daya CNAME

DNS menawarkan jenis CNAME yang analog dengan tautan simbolis dalam sistem file — entri tersebut menyediakan alias untuk entri DNS lain. Untuk memahami bagaimana alias dapat berguna, misalkan Foobar Corporation memiliki dua komputer bernama hobbes.foobar.com dan calvin.foobar.

com. Selanjutnya anggaplah Foobar memutuskan untuk menjalankan server web pada hobi komputer, dan ingin mengikuti konvensi menggunakan nama www untuk komputer yang menjalankan server web organisasi. Meskipun organisasi dapat memilih untuk mengganti nama komputer hobbes, ada solusi yang jauh lebih mudah: organisasi dapat membuat entri CNAME untuk www.foobar.com yang menunjuk ke hobbes. Setiap kali resolver mengirimkan permintaan untuk www.foobar.com, server mengembalikan alamat komputer hobbes.

Penggunaan alias sangat nyaman karena memungkinkan organisasi mengubah komputer yang digunakan untuk layanan tertentu tanpa mengubah nama atau alamat komputer. Misalnya, Foobar Corporation dapat memindahkan layanan webnya dari komputer hobbes ke komputer calvin dengan memindahkan server dan mengubah catatan CNAME di server DNS — kedua komputer mempertahankan nama asli dan alamat IP mereka. Penggunaan alias juga memungkinkan organisasi untuk mengaitkan beberapa alias dengan satu komputer. Dengan demikian, Foobar corporation dapat menjalankan server FTP dan server web di komputer yang sama, dan dapat membuat catatan CNAME:

4.23 Singkatan dan DNS

DNS tidak menyertakan singkatan — server hanya merespons nama lengkap. Namun, sebagian besar resolver dapat dikonfigurasi dengan serangkaian sufiks yang memungkinkan pengguna menyingkat nama. Misalnya, setiap resolver di Foobar Corporation mungkin diprogram untuk mencari nama dua kali: sekali tanpa perubahan dan sekali dengan akhiran foobar.com ditambahkan. Jika pengguna memasukkan nama domain lengkap, server lokal akan mengembalikan alamat, dan pemrosesan akan dilanjutkan. Jika pengguna memasukkan nama singkatan, penyelesai pertama akan mencoba untuk menyelesaikan nama dan akan menerima kesalahan karena tidak ada nama tersebut. Penyelesai kemudian akan mencoba menambahkan sufiks dan mencari nama yang dihasilkan. Karena resolver berjalan di komputer pribadi pengguna, pendekatan ini memungkinkan setiap pengguna untuk memilih urutan sufiks yang dicoba.

Tentu saja, mengizinkan setiap pengguna untuk mengonfigurasi penyelesai mereka untuk menangani singkatan memiliki kelemahan: nama yang dimasukkan pengguna tertentu dapat berbeda dari nama yang dimasukkan pengguna lain. Jadi, jika pengguna berkomunikasi nama satu sama lain (misalnya, dengan mengirimkan nama domain dalam pesan email), masing-masing harus berhati-hati untuk menentukan nama lengkap dan bukan singkatan.

4.24 Nama Domain Internasional

Karena menggunakan rangkaian karakter ASCII, DNS tidak dapat menyimpan nama dalam abjad yang tidak direpresentasikan dalam ASCII. Secara khusus, bahasa seperti Rusia, Yunani, Cina, dan Jepang masing-masing berisi karakter yang tidak memiliki representasi ASCII. Banyak bahasa Eropa menggunakan tanda diakritik yang tidak dapat direpresentasikan dalam ASCII.

Selama bertahun-tahun, IETF memperdebatkan modifikasi dan ekstensi DNS untuk mengakomodasi nama domain internasional. Setelah mempertimbangkan banyak proposal, IETF memilih pendekatan yang dikenal sebagai Internationalizing Domain Names in Applications (IDNA).

Alih-alih memodifikasi DNS yang mendasarinya, IDNA menggunakan ASCII untuk menyimpan semua nama. Artinya, ketika diberi nama domain yang berisi karakter non-ASCII, IDNA menerjemahkan nama tersebut ke dalam urutan karakter ASCII, dan menyimpan hasilnya di DNS. Saat pengguna mencari nama, terjemahan yang sama diterapkan untuk mengubah nama menjadi string ASCII dan string ASCII yang dihasilkan ditempatkan dalam kueri DNS. Intinya, IDNA bergantung pada aplikasi untuk menerjemahkan antara set karakter internasional yang dilihat pengguna dan formulir ASCII internal yang digunakan dalam DNS.

Aturan untuk menerjemahkan nama domain internasional rumit dan menggunakan Unicode.

Intinya, terjemahan diterapkan ke setiap label dalam nama domain, dan menghasilkan label dalam bentuk:

xn-- α-β

di mana xn-- adalah string empat karakter yang dicadangkan yang menunjukkan label adalah nama internasional, adalah subset karakter dari label asli yang dapat direpresentasikan dalam ASCII, dan adalah string karakter ASCII tambahan yang memberi tahu IDNA aplikasi cara memasukkan karakter non-ASCII ke dalam untuk membentuk versi label yang dapat dicetak.

Versi terbaru dari browser yang banyak digunakan, Firefox dan Internet Explorer, dapat menerima dan menampilkan nama domain non-ASCII karena masing-masing mengimplementasikan IDNA. Jika aplikasi tidak mengimplementasikan IDNA, hasilnya mungkin tampak aneh bagi pengguna. Artinya,

ketika aplikasi yang tidak mengimplementasikan IDNA menampilkan nama domain internasional, pengguna akan melihat bentuk internal yang digambarkan di atas, termasuk string awal xn-- dan bagian selanjutnya α dan β.

Poin Penting

Standar IDNA untuk nama domain internasional mengkodekan setiap label sebagai string ASCII, dan bergantung pada aplikasi untuk menerjemahkan antara set karakter yang diharapkan pengguna dan versi yang dikodekan yang disimpan dalam DNS.

4.25 Representasi yang Dapat Diperluas (XML)

Protokol aplikasi tradisional yang tercakup dalam bab ini masing-masing menggunakan representasi tetap. Artinya, protokol aplikasi menentukan satu set pesan yang tepat yang dapat dipertukarkan oleh klien dan server serta bentuk data yang tepat yang menyertai pesan tersebut.

Kerugian utama dari pendekatan tetap muncul dari kesulitan yang terlibat dalam membuat perubahan.

Misalnya, karena standar email membatasi konten pesan ke teks, perubahan besar diperlukan untuk menambahkan ekstensi MIME.

Alternatif untuk representasi tetap adalah sistem yang dapat diperluas yang memungkinkan pengirim menentukan format data. Satu standar untuk representasi yang dapat diperluas telah diterima secara luas: Extensible Markup Language (XML). XML menyerupai HTML dalam arti bahwa kedua bahasa menyematkan tag ke dalam dokumen teks. Tidak seperti HTML, tag dalam XML tidak ditentukan secara apriori dan tidak sesuai dengan perintah pemformatan. Sebaliknya, XML menjelaskan struktur data dan memberikan nama untuk setiap bidang. Tag dalam XML seimbang — setiap kemunculan tag

<X> harus diikuti oleh kemunculan </X>. Selanjutnya, karena XML tidak memberikan arti apapun pada tag, nama tag dapat dibuat sesuai kebutuhan. Secara khusus, nama tag dapat dipilih untuk membuat data mudah diurai atau diakses. Misalnya, jika dua perusahaan setuju untuk bertukar direktori telepon perusahaan, mereka dapat menentukan format XML yang memiliki item data seperti nama karyawan, nomor telepon, dan kantor. Perusahaan dapat memilih untuk lebih membagi nama menjadi nama belakang dan nama depan. Gambar 4.11 berisi sebuah contoh.

<ADDRESS>

<NAME>

<FIRST> John </FIRST>

<LAST> Public </LAST>

</NAME>

<OFFICE> Room 320 </OFFICE>

<PHONE> 765-555-1234 </PHONE>

</ADDRESS>

Gambar 4.11 Contoh XML untuk buku telepon perusahaan.

4.26 Ringkasan

Protokol lapisan aplikasi, diperlukan untuk layanan standar, mendefinisikan representasi data dan aspek transfer data komunikasi. Protokol representasi yang digunakan dengan World Wide Web termasuk HyperText Markup Language (HTML) dan standar URL. Protokol transfer web, yang dikenal sebagai HyperText Transfer Protocol (HTTP), menentukan bagaimana browser berkomunikasi dengan server web untuk mengunduh atau mengunggah konten. Untuk mempercepat unduhan, browser menyimpan konten halaman dalam cache dan menggunakan perintah HTTP HEAD untuk meminta informasi status tentang halaman tersebut. Jika versi yang di-cache tetap terkini, browser menggunakan versi yang di-cache; jika tidak, browser mengeluarkan permintaan GET untuk mengunduh salinan baru.

HTTP menggunakan pesan tekstual. Setiap respons dari server dimulai dengan header yang menjelaskan respons. Baris di header dimulai dengan nilai numerik, direpresentasikan sebagai digit ASCII, yang memberi tahu status (mis., apakah permintaan salah). Data yang mengikuti header dapat berisi nilai biner arbitrer.

File Transfer Protocol (FTP) sering digunakan untuk mengunduh file. FTP membutuhkan klien untuk masuk ke sistem server; FTP mendukung login tamu anonim dan sandi untuk akses file publik. Aspek yang paling menarik dari FTP muncul dari penggunaan koneksi yang tidak biasa. Klien membuat koneksi kontrol yang digunakan untuk mengirim serangkaian perintah. Setiap kali server perlu mengirim data (misalnya, unduhan file atau daftar direktori), server bertindak sebagai klien dan klien bertindak sebagai server. Artinya, server memulai koneksi data baru ke klien. Setelah satu file telah dikirim, koneksi data ditutup.

Tiga jenis protokol lapisan aplikasi digunakan dengan surat elektronik: transfer, representasi, dan akses.

Simple Mail Transfer Protocol berfungsi sebagai standar transfer kunci; SMTP hanya dapat mentransfer pesan tekstual. Ada dua standar representasi untuk email: RFC 2822 mendefinisikan format pesan email menjadi header dan isi yang dipisahkan oleh baris kosong. Standar Multi-purpose Internet Mail Extensions (MIME) mendefinisikan mekanisme untuk mengirim file biner sebagai lampiran ke pesan email. MIME menyisipkan baris header tambahan yang memberitahu penerima bagaimana menafsirkan pesan. MIME membutuhkan pengirim untuk mengkodekan file sebagai teks yang dapat dicetak.

Protokol akses email, seperti POP3 dan IMAP, mengizinkan pengguna untuk mengakses kotak surat.

Access menjadi populer karena pelanggan dapat mengizinkan ISP untuk menjalankan server email dan memelihara kotak surat pengguna.

Domain Name System (DNS) menyediakan pemetaan otomatis dari nama yang dapat dibaca manusia ke alamat komputer. DNS terdiri dari banyak server yang masing-masing mengontrol satu bagian dari namespace. Server diatur dalam hierarki, dan server mengetahui lokasi server dalam hierarki.

DNS menggunakan caching untuk menjaga efisiensi; ketika server otoritatif memberikan jawaban, setiap server yang mentransfer jawaban juga menempatkan salinan di cache-nya. Untuk mencegah salinan yang di-cache menjadi basi, otoritas untuk sebuah nama menentukan berapa lama nama tersebut dapat di-cache.

Latihan

1. Detail apa yang ditentukan oleh protokol aplikasi?

2. Mengapa protokol untuk layanan standar didokumentasikan secara independen dari implementasi?

3. Apa dua aspek kunci dari protokol aplikasi, dan apa saja yang termasuk di dalamnya?

4. Berikan contoh protokol web yang menggambarkan masing-masing dari dua aspek protokol aplikasi.

5. Meringkas karakteristik HTML.

6. Apa saja empat bagian URL, dan tanda baca apa yang digunakan untuk memisahkan bagian-bagian tersebut?

7. Apa saja empat jenis permintaan HTTP, dan kapan masing-masing digunakan?

8. Bagaimana browser mengetahui apakah permintaan HTTP secara sintaksis salah atau apakah item yang dirujuk tidak ada?

9. Apa yang dimaksud dengan cache browser, dan mengapa cache digunakan?

10. Jelaskan langkah-langkah yang dilakukan browser untuk menentukan apakah akan menggunakan item dari cache-nya.

11. Dapatkah browser menggunakan protokol transfer selain HTTP? Menjelaskan.

12. Ketika pengguna meminta daftar direktori FTP, berapa banyak koneksi TCP yang terbentuk?

13. Jelaskan.

14. Benar atau salah: ketika pengguna menjalankan aplikasi FTP, aplikasi tersebut bertindak sebagai klien dan server. Jelaskan jawabanmu.

15. Bagaimana server FTP mengetahui nomor port yang digunakan untuk koneksi data?

16. Menurut paradigma email asli, apakah pengguna dapat menerima email jika komputer pengguna tidak menjalankan server email? Menjelaskan.

17. Sebutkan tiga jenis protokol yang digunakan dengan email, dan jelaskan masing-masing.

18. Apa saja ciri-ciri SMTP?

19. Dapatkah SMTP mentransfer pesan email yang berisi titik pada baris dengan sendirinya? Mengapa atau mengapa tidak?

20. Di mana protokol akses email digunakan?

21. Apa saja dua protokol akses email utama?

22. Mengapa MIME ditemukan?

23. Apa tujuan keseluruhan dari Sistem Nama Domain? Benar atau salah: server web harus memiliki 24. Benar atau salah: perusahaan multi-nasional dapat memilih untuk membagi hierarki nama domainnya

sedemikian rupa sehingga perusahaan tersebut memiliki server nama domain di Eropa, satu di Asia, dan satu di Amerika Utara.

25. Kapan server nama domain mengirim permintaan ke server otoritatif dan kapan menjawab permintaan tanpa mengirim ke server otoritatif?

26. Benar atau salah: server DNS dapat mengembalikan alamat IP yang berbeda untuk nama yang diberikan, tergantung pada apakah pencarian menentukan email atau layanan web.

Menjelaskan.

27. Apakah standar IDNA memerlukan perubahan pada server DNS? di klien DNS? Menjelaskan.

28. Telusuri web untuk mencari tahu tentang pencarian DNS berulang. Dalam keadaan apa pencarian iteratif digunakan?

Dalam dokumen 1.1 Pertumbuhan Jaringan Komputer (Halaman 72-80)