Senin, 21 Desember 2009

CSMA/CD

CSMA/CD merupakan teknik medium access control (MAC) yang paling banyak digunakan pada topologi bus dan star dewasa ini. Versi orisinil baseband dari teknik ini pertama kali dirancang dan dipatenkan oleh Xerox sebagai bagian dari Ethernet LAN yang dikembangkannya.. Sedangkan versi broadband –nya dirancang dan dipatenkan oleh MITRE sebagai bagian dari MITREnet LAN yang dikembangkannya. Semua pengembangan ini menjadi dasar bagi standar IEEE 802.3 untuk CSMA/CD. Sebelum melihat lebih detail mengenai CSMA/CD ada baiknya kita melihat terlebih dahulu beberapa teknik sebelumnya sebagai dasar pengembangan CSMA/CD.


Beberapa teknik pendahulu

CSMA/CD dan beberapa teknik pendahulunya dapat dikategorikan sebagai teknik random access. Random access disini dalam arti bahwa: tidak terdapat prediksi atau rencana (schedule) bahwa suatu station akan melakukan transmit data, dengan kata lain transmisi data dari suatu station dilakukan secara acak (tidak terduga).

Versi paling awal dari teknik ini, disebut sebagai ALOHA, dikembangkan untuk jaringan paket radio. Bagaimanapun juga, teknik ini dapat dipakai juga pada setiap media transmisi yang dipakai bersama. ALOHA, atau pure ALOHA, sebagaimana sering disebut, merupakan teknik yang benar-benar bebas (a true free for all). Kapan saja sebuah station akan melakukan transmit, maka ia akan langsung melakukannya. Station tersebut kemudian menunggu sebanyak waktu propagasi round-trip maksimum di dalam network (dua kali waktu untuk mengirim sebuah frame antara dua station yang terpisah paling jauh) ditambah penambahan sedikit waktu tertentu yang tetap. Jika station tersebut menerima acknowledgement selama waktu tersebut, maka transmit data sukses. Jika tidak, maka ia akan mengulang transmit data. Jika station tersebut tetap gagal menerima acknowledgement setelah beberapa kali pengulangan transmit, maka ia akan menyerah. Station penerima akan menentukan kebenaran frame yang datang melalui pemeriksaan field frame-check-sequence (FCS). Jika hasil pemeriksaan benar, maka ia akan segera mengirimkan acknowledgement. Suatu frame bisa saja cacat yang disebabkan adanya noise atau pada saat yang bersamaan station lain juga melakukan transmit data. Untuk sebab kedua, kedua frame akan saling merusak di penerima, hal ini disebut collision (tubrukan). Jika station penerima mengetahui bahwa sebuah frame telah cacat, maka ia kan membuangnya.

ALOHA dibuat semudah mungkin, sehingga banyak kelemahan yang ditimbulkan sebagai akibatnya. Karena jumlah tubrukan meningkat tajam seiring meningkatnya traffic, maka utilisasi maksimum dari sebuah channel hanya sekitar 18 persen.

Untuk meningkatkan efisiensi, dikembangkanlah slotted ALOHA. Pada teknik ini, waktu di dalam channel di organisasikan dalam slot-slot yang seragam, dimana panjang slot sama dengan waktu transmisi frame. Beberapa central clock diperlukan untuk melakukan sinkronisasi semua station. Dengan cara ini, transmisi data diijinkan jika dilakukan pada batas-batas slot. Hal ini meningkatkan utilisasi channel menjadi sekitar 37 persen.

Observasi lebih lanjut adalah dengan dikembangkannya teknik carrier sense multiple access (CSMA). Dengan CSMA, sebuah station yang ingin melakukan transmit data, memeriksa media transmisi untuk menentukan apakah sedang terjadi suatu transmisi data lain (carrier sense). Jika media transmisi sedang digunakan, station tersebut harus menunggu. Jika media sedang idle, maka ia akan melakukan transmit data. Dapat saja terjadi dua atau lebih station akan melakukan transmit data secara bersamaan pada waktu yang sama. Jika hal ini terjadi, maka akan mengakibatkan terjadinya tubrukan, sehingga data akan rusak dan tidak dapat diterima dengan sempurna. Untuk mengatasi hal ini, sebuah station setelah melakukan transmit akan menunggu selama waktu tertentu untuk menerima acknowledgement. Waktu tertentu ini adalah waktu propagasi round-trip maksimum ditambah fakta bahwa station penerima harus menunggu waktu channel idle untuk mengirimkan acknowledgement. Jika station pengirim tidak menerima acknowledgement, maka ia berpikir bahwa telah terjadi tubrukan, dan akan melakukan transmisi data kembali (retransmit).

Kita dapat melihat bahwa strategi ini cukup efektif untuk jaringan-jaringan dimana waktu transmisi frame rata-rata jauh lebih panjang daripada waktu propagasi. Tubrukan dapat terjadi hanya ketika lebih dari satu station melakukan transmit di dalam waktu yang pendek (periode dari delay propagasi). Jika sebuah station mulai transmit sebuah frame dan tidak terjadi tubrukan selama pengiriman sampai station terjauh, maka tidak akan terjadi sebuah tubrukan-pun terhadap frame ini karena semua station waspada terhadap transmisi ini.

Utilisasi maksimum yang dapat dicapai dengan menggunakan teknik CSMA jauh melampaui ALOHA, ataupun slotted ALOHA. Utilisasi maksimum tergantung pada panjang frame dan waktu propagasi, semakin panjang frame dan semakin pendek waktu propagasi, semakin tinggi tingkat utilisasinya.


CSMA/CD

CSMA, meskipun lebih efisien dibandingkan ALOHA, atau slotted ALOHA, tetap saja memiliki satu kelemahan. Ketika dua frame tubrukan, media transmisi tetap tak dapat terpakai selama waktu transmisi dari kedua frame yang rusak tersebut. Untuk frame-frame yang panjang, dibandingkan waktu propagasi, jumlah kapasitas yang terbuang cukup besar. Kapasitas yang terbuang ini dapat dikurangi jika sebuah station tetap mendengarkan (listen) media transmisi selama pengiriman data. Hal inilah yang membawa beberapa aturan baru dalam CSMA/CD, sebagai berikut:

1. Jika media transmisi dalam keadaan idle, lakukan transmit, jika tidak lakukan step 2.
2. Jika media transmisi sibuk, tetap mendengarkan sampai media idle, kemudian segera transmit.
3. Jika tubrukan terdeteksi selama transmisi data, transmit sebuah sinyal jamming singkat untuk meyakinkan bahwa semua station mengetahui bahwa telah terjadi tubrukan, dan menghentikan transmisi.
4. Setelah melakukan transmit sinyal jamming, tunggu selama beberapa waktu, kemudian coba untuk melakukan transmit kembali (ulangi dari step 1).

Gambar berikut menunjukkan mekanisme tersebut untuk baseband bus.





Gambar 1. Mekanisme pengoperasian CSMA/CD



Pada waktu T0, station A mulai melakukan transmit sebuah packet yang ditujukan ke station D. Pada saat T1, station B dan C keduanya siap melakukan transmit. B mengecek media dan menemukan bahwa media sedang terpakai, selanjutnya ia menunda pengiriman. Pada sisi lain, station C tidak mengetahui adanya transmisi data milik station A, dan melakukan transmisi. Pada saat T2, packet milik A sampai di station C dan bertubrukan dengan packet milik C, saat itu station C mengetahui adanya tubrukan dan menghentikan transmisi. Akibat dari tubrukan dipropagasikan kembali ke station A, dimana A mendeteksinya pada saat T3, dan menghentikan transmisi.

Dengan CSMA/CD, jumlah kapasitas yang terbuang dikurangi dengan jumlah waktu yang diperlukan untuk mendeteksi adanya tubrukan. Pertanyaannya adalah: Berapa lama hal itu terjadi ? Untuk menjawabnya, pertimbangkan sebuah kasus untuk baseband bus dimana kita melihat pada dua station yang berjarak terjauh satu dengan lainnya. Lihat gambar 1, misalnya station A melakukan transmit. Sebelum packet itu sampai di station D, D telah siap untuk melakukan transmisi. Karena D tidak mengetahui adanya packet milik A, maka D transmit. Tubrukan terjadi hampir seketika, dan terdeteksi oleh D. Bagaimanapun juga hasil tubrukan tersebut harus dipropagasikan kembali ke A, sebelum A menyadari bahwa telah terjadi tubrukan. Dengan alasan ini, dapat ditarik kesimpulan bahwa waktu yang diperlukan untuk mendeteksi adanya tubrukan adalah tidak lebih besar dari dua kali end-to-end waktu propagasi. Untuk broadband bus, delay ini bahkan lebih lama. Gambar 2 menunjukan untuk dual-cable system. Delay ini, untuk kejadian terburuk terjadi pada dua station yang paling berdekatan dan paling berjauhan dari headend. Pada kasus ini, jumlah waktu yang dibutuhkan untuk mendeteksi adanya tubrukan adalah empat kali waktu propagasi dari ujung (akhir) kabel ke headend.



Gambar 2. Mekanisme pendeteksian tubrukan pada broadband system




Sebuah aturan penting yang diterapkan pada sistem CSMA/CD, termasuk standar IEEE, adalah bahwa frame harus cukup panjang untuk memungkinkan terjadinya deteksi tubrukan sebelum berakhirnya transmisi data. Jika panjang frame yang dipakai pendek, maka deteksi tubrukan tidak akan terjadi, mengakibatkan unjuk kerja CSMA/CD sama dengan teknik CSMA sebelumnya.

Seperti halnya CSMA, CSMA/CD menerapkan salah satu dari tiga algoritma persistence. Yang paling banyak digunakan adalah 1-persistent. Hal ini dipakai pada Ethernet dan MITREnet, dan merupakan standar IEEE 802. Seperti sebelumnya diutarakan, masalah yang diakibatkan oleh penggunaan teknik nonpersistent adalah pemborosan waktu idle. Meskipun lebih efisien, teknik p-persistent juga mengakibatkan pemborosan yang banyak. Dengan teknik 1-persistent, pemborosan dieliminasi dengan waktu tubrukan.

Meskipun pengimplementasian CSMA/CD pada dasarnya sama untuk baseband dan broadband, tetap ada perbedaan diantara keduanya. Pertama adalah pada carrier sense, untuk baseband systems, hal ini dilakukan dengan mendeteksi adanya voltage pulse train. Untuk broadband, RF carrier yang dideteksi.

Kedua, collision detection juga berbeda untuk kedua sistem. Pada baseband, sebuah tubrukan akan menghasilkan swing tegangan yang cukup tinggi, jika dibandingkan dengan yang dapat dihasilkan oleh sebuah single transmitter. Sesuai dengan hal tersebut, IEEE membuat standar bahwa transmitter akan mendeteksi adanya tubrukan, jika terdapat sinyal di kabel pada tap-point transmitter yang melebihi sinyal maksimum yang dapat dihasilkan oleh transmitter itu sendiri. Karena sebuah sinyal akan menguat jika dipropagasikan, maka akan menimbulkan masalah potensial, yaitu: Jika dua station yang berjauhan, setiap station akan menerima sinyal dengan kekuatan yang cukup besar, yang berasal dari station lawannya. Kekuatan sinyal dapat menjadi begitu kecil, ketika sinyal tersebut ditambahkan kepada sinyal yang ditransmisikan pada tap-point transmitter, dimana kombinasi sinyal tersebut tidak akan melebihi CD threshold. Untuk alasan inilah, IEEE membuat standar yang membatasi panjang kabel coaxial maksimum 500 meter untuk 10BASE5 dan 200 meter untuk 10BASE2.

Sebuah mekanisme pendeteksian tubrukan yang lebih mudah dapat dilihat pada pendekatan topologi star dengan menggunakan twisted pair. Pada kasus ini, pendeteksian tubrukan berdasarkan pada pertimbangan logika, daripada mengukur tegangan sinyal. Untuk setiap hub, jika terdapat sinyal pada lebih dari satu input, diasumsikan terjadi tubrukan. Sebuah sinyal khusus collision presence akan dibangkitkan. Sinyal ini dibangkitkan terus dan dikirim keluar sepanjang terdapat sinyal pada setiap input portnya. Sinyal ini akan diinterpretasikan oleh setiap hub sebagai terjadinya tubrukan. Gambar 3 menunjukkan contoh-contoh pengoperasian star-wired system dengan dan tanpa tubrukan. Pada contoh pertama, sebuah frame ditransmisikan dari station A dipropagasikan ke HHUB dan pada akhirnya diterima oleh semua station yang berada pada jaringan. Pada contoh kedua, sebuah tubrukan dideteksi oleh IHUB A. Sebuah sinyal collision presence dipropagasikan ke HHUB dan di-broadcast ke semua hub dan station. Contoh ketiga menunjukkan akibat dari tubrukan tiga arah.

Terdapat beberapa pendekatan untuk pendeteksian tubrukan pada sistem-sistem broadband. Yang paling banyak dipakai adalah melakukan pembandingan bit demi bit antara data yang ditransmisikan dan data yang diterima. Ketika sebuah station melakukan transmit pada inbound channel, ia kemudian akan menerima transmisi miliknya pada outbound channel setelah delay propagasi dari awal hingga akhir.



Gambar 3. Pengoperasian konfigurasi sebuah two-level star-wired CSMA/CD

Selasa, 10 November 2009

Transmission Control Protocol (TCP)

TCP/IP TCP singkatan dari 'Transmission Control Protocol' dan hampir semua sistem operasi modern kompatibel dengan protocol ini. TCP adalah dasar dari koneksi, Hal ini berarti melakukan suatu koneksi langsung antara dua komputer untuk melakukan transfer data antara kedua host. Suatu paket mengandung header dan data gram, pada bagian header dari paket akan mengandung informasi penting tentang :

· Source Port

· Destination Port

· Sequence number

· Acknowledgement number

· Header Length (Standard 20 Bytes)

· Flags (syn, ack, psh, fin, rst, urg)

· Window size

· Checksum

· IP_v4 or IP_v6

· Header Length

· DSF

· Total Length

· Identification

· Flags (Set Fragment bit or not)

· Fragment Offset

· TTL

· Protocol (this case TCP)

· Header checksum

· Source IP

· Destination IP

Karakteristik TCP

TCP memiliki karakteristik sebagai berikut:

  • Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
  • Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
  • Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
  • Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
  • Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
  • Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
  • Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.

TCP umumnya digunakan ketika protokol lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal, yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.

UDP (User Datagram Protocol)

Adalah TCP yang connectionless. Hal ini berarti bahwa suatu paket yang dikirim melalui jaringan dan mencapai computer lain tanpa membuat suatu koneksi. Sehingga dalam perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung antara kedua host dalam jarigan yang menggunakan TCP/IP. Jadi UDP sifatnya tidak realibel, tetapi UDP lebih cepat dari pada TCP dalam mengirimkan suatu paket karena UDP tidak membutuhkan koneksi langsung.

Karakteristik UDP

UDP memiliki karakteristik – karakteristik berikut:

a. Connectionless (tanpa koneksi)

Pesan – pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar informasi.

b. Unrealible (Tidak andal)

Pesan – pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protocol lapisan aplikasi yang berjalan di atas keandalannya mereka masing – masing, atau mengirim pesan secara periodic atau dengan menggunakan waktu yang telah didefinisikan.

c. UDP menyediakan mekanisme untuk mengirim pesan – pesan ke sebuah protocol lapisan aplikasi atau proses tertentu di dalam jaringan yang menggunakan TCP/IP. Header UDP berisi Field Source Process dan Destination Process Indentification.

d. UDP menyediakan perhitungan checksum berukuran 16 – bit terhadap keseluruhan pesan UDP.

UDP tidak menyediakan layanan – layanan antar host berikut:

a. UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protocol lapisan aplikasi yang berjalan di atas UDP.

b. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen – segmen data, seperti yang terjadi dalam protocol TCP. Karena itulah, protocol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maksimum Transfer Unit / MTU) yang dimiliki oleh sebuah antarmuka di mna data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bias saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.

c. UDP tidak menyediakan mekanisme flow – control , seperti yang dimiliki TCP.

Penggunaan UDP

UDP sering digunakan dalam beberapa tugas berikut:

a. Protokol yang “ringan” (lightweight).

Untuk menghemat sumber daya memori dan prosesor. Beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi – fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.

b. Protokol lapisan apliksi yang mengimplementasikan layanan keandalan.

Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS).

c. Protokol yag tidak membutuhkan keandalan.

Contoh protokol ini adalah protokol Routing Information Protocol (RIP).

d. Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Port UDP

Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

Nomor Port UDP

Digunakan Oleh

53

Domain Name System (DNS) Name Query

67

BOOTP Client (Dynamic Host Configuration Protocol [DHCP])

68

BOOTP Server (DHCP)

69

Trivial File Transfer Protocol (TFTP)

137

NetBIOS Name Service

138

NetBIOS Datagram Service

161

Simple Network Management Protocol (SNMP)

445

Server Message Block (SMB)

520

Routing Information Protocol (RIP)

1812/1813

Remote Authentication Dial – in User Service (RADIUS)

Daftar Pustaka:
WIKIPEDIA

Telnet

Telnet adalah aplikasi remote login Internet. Telnet digunakan untuk login ke komputer lain di Internet dan mengakses berbagai macam pelayanan umum, termasuk katalog perpustakaan dan berbagai macam database. Telnet memungkinkan pengguna untuk duduk didepan komputer yang terkoneksi ke internet dan mengakses komputer lain yang juga terkoneksi ke internet. Dengan kata lain koneksi dapat terjadi ke mesin lain di satu ruangan, satu kampus, bahkan setiap komputer di seluruh dunia. Setelah terkoneksi, input yang diberikan pada keyboard akan mengontrol langsung ke remote computer tadi. Akan dapat diakses pelayanan apapun yang disediakan oleh remote machine dan hasilnya ditampilkan pada terminal lokal. Dapat dijalankan session interaktif normal (login, eksekusi command), atau dapat diakses berbagai service seperti: melihat catalog dari sebuah perpustakaan, akses ke teks dari USA today, dan masih banyak lagi service yang disediakan oleh masing-masing host pada di network.


Telnet menggunakan 2 program, yang satu adalah client (telnet) dan server (telnetd). Yang terjadi adalah ada dua program yang berjalan, yaitu software client yang dijalankan pada komputer yang meminta pelayanan tersebut dan software server yang dijalankan oleh computer yang menghasilkan pelayanan tadi.

Gambar 1. Interaksi TELNET (Parker, 1994:117)

Gambar 2. Koneksi mesin ketika terjadi TELNET (Parker, 1994:118)

Tugas dari client adalah:

  • Membuat koneksi network TCP (Transfer Control Protocol) dengan server.

  • Menerima inputan dari user.

  • Menformat kembali inputan dari user kemudian mengubah dalam bentuk format standard dan dikirim ke server.

  • Menerima output dari server dalam format standard.

  • Mengubah format output tadi untuk ditampilkan pada layar.


Sedangkan tugas dari server adalah:

  • Menginformasikan software jaringan bahwa komputer itu siap menerima koneksi.

  • Menunggu permintaan dalam bentuk format standard.

  • Melaksanakan permintaan tersebut.

  • Mengirim kembali hasil ke client dalam bentuk format standard.

  • Menunggu permintaan selanjutnya.

Domain Name Server (DNS)

DNS adalah Domain Name Server, yaitu server yang digunakan untuk mengetahui IP Address suatu host lewat host name-nya. Dalam dunia internet, komputer berkomunikasi satu sama lain dengan mengenali IP Address-nya.

Namun bagi manusia tidak mungkin menghafalkan IP address tersebut, manusia lebih mudah menghapalkan kata-kata seperti www.yahoo.com, www.google.com, atau www.friendster.com. DNS berfungsi untuk mengkonversi nama yang bisa terbaca oleh manusia ke dalam IP addresshost yang bersangkutan untuk dihubungi.

Struktur DNS

DNS merupakan sebuah hiraki pengelompokan domain berdasarkan nama yang terbagi menjadi beberapa bagian, diantaranya:

  1. Root Level Domain

    Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level, dan level yang paling atas disebut dengan root domain. root doamain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (".")

  2. Top Level Domain

    Berikut ini adalah contoh dari top level domain:

  • .com → Organisasi Komersial

  • .edu → Institusi pendidikan atau universitas

  • .org → Organisasi non profit

  • .net → Network (Backbone Internet)

  • .gov → Organisasi pemerintah non militer

  • .mil → Organisasi pemerintah militer

  • dll

  1. Second Level Domain

    Second Level Domain dapat berisi host dan domain lain, yang disebut dengan sub domain. Sebagai contoh nya adalah sebagai berikut:

  • Domain eepis-its
  • Domain .detik
  • Domain .cisco
  1. Host Names

    Domain name yang digunakan dengan host nama akan menciptakan dully qualified domain name (FQDN) untuk setiap komputer. Sebagai contoh, jika terdapat fileserver.eepis-its.edu, dimana fileserver adalah host name dan eepis-its.edu adalah domain name.

Cara kerja DNS adalah sebagai berikut:

Bagian resolver adalah bagian dari program aplikasi yang berfungsi menjawab setiap pertanyaan tentang domain. Untuk menjawab pertanyaan, resolver dapat mencari jawabannya dengan memeriksa isi cache dan meneruskan pertanyaan ke server DNS atau bertanya langsung ke server DNS. Cache adalah bagian yang menyimpan pertanyaan-pertanyaan tentang domain yang pernah diajukan sebelumnya. Setiap aplikasi internet yang ingin menghubungi host lain pasti akan berinteraksi dengan server DNS melalui resolver.

Jika server DNS tidak memiliki jawaban dari pertanyaan domain (name server bukan authoritative name server dari domain yang ditanyakan), maka server DNS akan meneruskan pertanyaan tersebut ke name server yang dianggapnya lebih tahu. Proses pengalihan ke name server (NS) lain (proses name resolution) ni merupakan proses iteratif yang berlangsung hingga diperoleh alamat lengkap sebuah host.

Sebagai contoh jika ada user yang ingin menghubungi lecturer.eepis-its.edu, maka mula-mula NS akan menghubungi root server. Karena root server tidak memiliki informasi untuk host lecturer.eepis-its.edu, maka root server akan memberikan referensi kepada NS untuk menghubungi authoritative name server terdekat yaitu name server untuk domain edu. Proses ini terus berlangsung hingga NS memperoleh informasi lengkap tentang host lecturer.eepis-its.edu.

Setiap request domain akan disimpan di dalam cache untuk jangka waktu tertentu. Hal ini bertujuan untuk mempercepat proses name resolution. Sebagai contoh jika sebelumnya ada user yang me-request informasi untuk lecturer.eepis-its.edu, maka untuk user yang me-request fileserver.eepis-its.edu akan diarahkan ke name server yang memiliki korelasi terdekat dengan domain yang pernah di-request yang tersimpan di dalam cache, yaitu name server eepis-its.edu.

FlowChart DNS Server

Simple Mail Transfer Protocol (SMTP)

Komunikasi dengan e-mail mungkin saat ini merupakan salah satu aplikasi yang paling luas dipakai pada internet. Ada beberapa protokol yang dapat digunakan untuk melayani transfer e-mail, tetapi yang paling umum digunakan adalah Simple Mail Transfer Protocol (SMPT). SMPT mampu menangani pesan berupa teks kode ASCII yang akan dikirim kedalam kotak surat (mail-boxes) pada host TCP/IP yang telah ditentukan untuk melayani e-mail.

Pada gambar di atas menunjukkan mekanisme SMTP, dimana user yang ingin mengirimkan e-mail berinteraksi dengan mail-system lokal lewat komponen user-agent (UA) pada mail-system. e-mail yang akan dikirim terlebih dahulu disimpan sementara dalam outgoing-mail-box, selanjutnya SMTP pengirim memproses e-mail yang dikumpulkan pada outgoing-mail-box secara periodi. Jika pengirim SMTP menemukan e-mail pada outgoing-mail-box, maka secara langsung akan membuat koneksi TCP dengan host yang dituju untuk mengirim e-mail. Penerima SMTP dalam proses sebagai tujuan yang harus menerima koneksi TCP, selanjutnya e-mail dikirim pada koneksi ini. Pada penerima SMTP ini e-mail disimpan dalam host tujuan pada masing - masing mail-box sesuai dengan alamat tujuan. Jika mail-box dengan nama tidak sesuai dengan nama mail-box yang adapada host tujuan, maka e-mail dikirim kemabali yang menunjukkan mail-bok tidak ada. Alamat e-mail yang dipakai pada SMTP menggunakan standart RFC 882, dan informasi yang dikirim ditambahakan beberapa header yang sering disebut dengan "882 headers". Contoh alatmat e-mail misalnya:

edys@student.eepis-its.edu

teks sebelum simbol "@" adalah nama mail-box, sedangkan teks sesudah simbol "@" adalah nama host, jika pada alamat e-mail edys@student.eepis-its.edu berarti nama mail_box adalah edys yang terdapat pada host student.eepis-its.edu. Jika mail-box menggunakan karakter atau simbol khusus (misalnya tanda %), maka nama mail-box diberikan untuk encoding khusus agar SMTP dapat menggunakan sebagai mail-gateway.

Protokol SMTP menginginkan host tujuan yang akan menerima e-mail dalam keadaan on-line, jika tidak maka hubungan TCP dengan host tujuan tidak dapat dilakukan. Pada sistem jaringan komputer maka host SMTP selalu dalam keadaan On dan tersambung ke jaringan, sedangkan workstation yang berbeda pada user dapat berinteraksi dengan host SMTP untuk membaca atau mengirim e-mail menggunakan client/server mail protocol, contohnya post office protocol versi 3 sesuai yang dijabarkan dalam RFC 1460, atau yang sering disebut POP3.

POP (Post Office Protocol)

Suatu protocol yang dirancang untuk mengirimkan pesan e-mail dari server ke mail cilent. User yang mempunyai mail menyimpan dalam mailbox pada server. User dalam hal ini adalah POP client mengakses pesan yang disimpan menggunakan POP. Menjawab atau membuat mail baru digerakkan oleh client yang menyimpannya melalui SMTP. Mail dikirim dari client yang tidak memerlukan host yang lain untuk mengirimkan mail atau mengirim mail langsung ke penerima jarak jauh. POP server juga tidak relay mail untuk client.


Trivial File Transfer Protocol (TFTP)

File Transfer Protocol menggunakan TCP untuk mendapatkan komunikasi dalam jaringan yang dapat diandalkan. Jika jaringan sudah cukup dapat diandalkan, seperti umumnya pada jaringan LAN maka dapat dipergunakan File Transfer Protocol yang lebih sederhana, yaitu dapat digunakan user datagram ptotocol (UDP) untuk mendasari protocol transport (host to host). Sebagai contoh file transfer Protocol yang menggunakan UDP adalah trivial File Transfer Protocol (TFTP).
Pada gambar di atas ditunjukkan tahapan TFTP yang dipakai untuk transfer file diantara dua host. TFTP dapat dipakai untuk transfer file antara dua host tanpa memerlukan pengenalan (authentication) terhadap user yang memakai. File dapat di transfer dengan hanya menunjukkan nama file tersebut. Oleh karena user account dan password tidak diperlukan untuk transfer file dengan TFTP, maka beberapa system administrator mematikan fasilitas TFTP ini, atau membatasi jenis file yang dapat ditransfer, demikian juga implementasinya untuk akses dapat ditolak kecuali setiap user yang berada pada host dapat mengakses file.
TFTP kebanyakan dipakai untuk menghubungkan workstation yang tidak memiliki diskdrive maupun harddisk ke server untuk mendownload boot-image dari sistem operasi pada saat booting. Protokol TFTP cukup kecil dan efisien utnuk diterapkan pada Boot ROM di dalam card jaringan yang dipasang pada workstation. Workstation Unix dari Sun Microsystem menggunakan TFTP untuk menghubungkan dengan RARP atau BOOTP yang dapat dipergunakan untuk menentukan alamat IP dari workstation tersebut pada saat meng-download sistem operasi untuk booting.