10 0 364 KB
Nama
: Adnan Ahmad
NIM
: 2402007785 Tugas Personal ke-2 Week 7
Jawablah soal berikut dengan benar! A. Soal Essay. 1. Buatlah sebuah contoh penerapan dari proses Three Way Handshake , kemudian jelaskan fungsi dan cara kerjanya 2. Apa yang dimaksud dengan Socket Address? Jelaskan kegunaanya dengan menggunakan sebuah contoh 3. Jelaskan perbedaan proses kerja TCP dan UDP pada saat melakukan video conferencing. 4. Apakah itu Stream Control Transmission Protocol (SCTP) dan bagaimanakah prinsip kerjanya? B. Soal Case. Dalam era modern ini email merupakan salah satu media yang digunakan untuk berkomunikasi antara seseorang. Perhatikanlah dan berikanlah penjelasan mengenai proses kerja yang dilakukan dan protocol apa sajakan yang digunakan serta fungsinya.
CPEN6214 – Computer Networks
Jawaban Tugas Personal ke-2 Week 7
A. Soal Essay 1. Three-way handshake biasa digunakan untuk membuat koneksi soket TCP untuk mengirimkan data antar perangkat secara reliable . Sebagai contoh, three-way handshake mendukung komunikasi antara browser web di sisi klien dan server setiap kali pengguna menggunakanInternet.
Begitu setelah klien meminta sesi komunikasi dengan server, proses
three-way handshake memulai lalu lintas TCP dengan mengikuti tiga langkah sebagai berikut: a. Langkah 1: Koneksi antara server dan klien dibuat Pertama, koneksi antara server dan klien dibuat, sehingga server target harus memiliki port terbuka yang dapat menerima dan memulai koneksi baru. Node klien mengirimkan paket data SYN (Synchronize Sequence Number) melalui jaringan IP ke server di jaringan yang sama atau eksternal. Paket SYN ini adalah nomor urut acak yang ingin digunakan klien untuk komunikasi (misalnya, X). Tujuan dari paket ini adalah untuk
Week 7 ©Arif
2 | 14
menanyakan/menyimpulkan apakah server terbuka untuk koneksi baru. b. Langkah 2: Server menerima paket SYN dari node klien Ketika
server
menerima
paket
SYN
dari
node
klien,
server
merespons dan mengembalikan tanda terima konfirmasi – paket ACK (Acknowledgement Sequence Number) atau paket SYN/ACK. Paket ini mencakup dua nomor urut. Yang pertama adalah ACK, yang diatur oleh server ke satu lebih dari nomor urut yang diterimanya dari klien (misalnya X+1). Yang kedua adalah SYN yang dikirim oleh server, yang merupakan nomor urut acak lainnya (misalnya, Y). Urutan ini menunjukkan bahwa server dengan benar mengakui paket klien, dan mengirimkannya sendiri untuk diakui juga. c.
Langkah
3: Node
klien
menerima
SYN/ACK
dari
server dan
merespons dengan paket ACK Node klien menerima SYN/ACK dari server dan merespons dengan paket ACK. Sekali lagi, masing-masing pihak harus mengakui nomor urut yang diterima dengan menambahkannya satu per satu. Jadi sekarang giliran klien untuk mengakui paket server dengan menambahkan satu ke nomor urut (dalam hal ini, Y+1), dan mengirim ulang ke server. Setelah menyelesaikan proses ini, koneksi dibuat dan host dan server dapat berkomunikasi. Semua langkah ini diperlukan untuk memverifikasi nomor seri yang berasal dari kedua sisi, menjamin stabilitas koneksi. Karena kedua host harus mengetahui parameter koneksi dari sisi lain, segmen yang hilang atau rusak dapat dideteksi dengan cepat sebelum proses transfer data yang sebenarnya dimulai.
Week 7 ©Arif
3 | 14
2. Socket adalah titik komunikasi dari lalu lintas komunikasi antar proses di dalam sebuah jaringan komputer. Hampir semua komunikasi antar komputer sekarang berdasarkan protokol internet, oleh karena itu hampir semua socket di jaringan komputer adalah Socket Internet. Socket adalah sebuah Class yang disediakan oleh beberapa bahasa pemrograman. Dengan socket, sebuah aplikasi di suatu komputer dapat Tentu saja aplikasi di komputer yang dihubungi menerima koneksi juga menggunakan socket. Dengan kata lain socket adalah suatu Class yang digunakan oleh aplikasi untuk saling berhubungan. Hampir semua sistem operasi menyediakan application programming interface (API) yang memungkinkan sebuah aplikasi komputer mengkontrol dan menggunakan socket jaringan komputer. API socket internet biasanya berdasarkan pada standar berkeley sockets. Sebuah alamat
socket terdiri
atas
kombinasi
sebuah alamat
ip dan
sebuah nomor port, mirip seperti sebuah koneksi telpon yang memiliki nomor telpon dan nomor ekstensinya. Berdasarkan alamat ini, socket internet mengirim paket data yang masuk ke sebuah proses atau thread aplikasi tujuan. Socket programming adalah pemrograman yang menggunakan socket. Socket
ini
semacam
terowongan/tunnel
yang
bisa
dipakai
untuk
komunikasi/pertukaran arah secara bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang berbeda atau gabungan ketiganya. Contoh Pembuatan Socket : int socket(int domain, int type, int protocol); fungsi socket memiliki 3 parameter dan mengembalikan nilai integer, nilai integer inilah yang akan digunakan sebagai identifier file descriptor untuk melakukan Inter Process Communication (IPC). fungsi ini juga membutuhkan tambahan library yaitu : #include #include
Week 7 ©Arif
4 | 14
Parameter pertama kita gunakan AF_INET, ini menunjukan bahwa kita akan membuat aplikasi yang berbasis pada IPv4. Parameter kedua kita akan menggunakan SOCK_STREAM, ini menunjukan bahwa kita akan membuat aplikasi yang menggunakan protocol TCP yaitu koneksi yang datanya ditransmisikan secara reliable atau bersifat connection oriented, koneksinya terbuat dulu baru data bisa dikirim dan diterima. Parameter ketiga adalah kita menggunakan angka 0, kita gunakan 0 agar penerapan protocol yang digunakan dapat diserahkan pengaturannya pada sistem operasi. Contoh pemakaian: int socketfd = socket(AF_INET, SOCK_STREAM, 0);
3. Pertama-tama mari kita mengetahui terlebih dahulu apa itu TCP dan UDP. TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol) adalah protokol jaringan yang mentransfer data Anda melalui internet dari perangkat ke server web. UDP merupakan salah satu tipe protokol yang mempunyai karakteristik tidak berbasis koneksi. Sebaliknya, TCP menggunakan koneksi. Salah satu protokol ini umumnya digunakan saat Anda mengobrol dengan orang lain melalui Skype, mengirimkan email, menonton video secara daring atau sekedar menelusuri web. Meski begitu, ada perbedaan antara aplikasi yang menerapkan protokol UDP dan TCP. Salah satu cara kerja TCP dan UDP adalah dengan membagi data Anda menjadi unit-unit kecil yang kemudian disebut paket data. Paket data berisi IP pengirim dan penerima, berbagai konfigurasi, isi data yang Anda kirim, dan cuplikan data yang menunjukkan akhir dari paket. Perbedaan jelas antara UDP dan TCP terdapat pada cara pemindahannya.
TCP digunakan pada saat pengiriman sinyal. TCP tidak digunakan dalam pengiriman data suara pada Video Call karena pada suatu komunikasi data Video Call penanganan data yang mengalami keterlambatan lebih penting daripada penanganan paket yang hilang. UDP pada Video Call digunakan
Week 7 ©Arif
5 | 14
untuk mengirimkan aliran suara yang dikirimkan secara terus menerus. UDP digunakan pada Video Call karena pada pengiriman aliran suara yang berlangsung terus menerus lebih mementingkan kecepatan pengiriman data agar tiba di tujuan tanpa memperhatikan adanya paket yang hilang walaupun mencapai 50 dari jumlah paket yang dikirimkan. Karena UDP mampu mengirimkan aliran data dengan cepat, maka dalam teknologi Video Call UDP merupakan salah satu protokol penting yang digunakan sebagai header pada pengiriman data selain RTP dan IP. Untuk mengurangi jumlah paket yang hilang saat pengiriman data karena tidak terdapat mekanisme pengiriman ulang maka pada teknolgi Video Call pengiriman data banyak dilakukan pada private network.
4. Stream Control Transmission Protocol (SCTP) adalah suatu hal baru yang dapat
diandalkan,
message-oriented
protokol
transport
layer.
SCTP
kebanyakan dirancang untuk aplikasi Internet yang baru-baru ini telah diperkenalkan. Aplikasi baru ini, seperti IUA (ISDN over IP), M2UA dan M3UA (telephony signaling), H.248 (media gateway control), H.323 (IP telephony), and SIP (IP telephony), membutuhkan pelayanan yang lebih canggih daripada yang disediakan oleh TCP. SCTP ini memberikan peningkatan kinerja dan kehandalan. Layanan yang ditawarkan oleh SCTP dengan proses aplikasi lapisan terbagi atas 3, yaitu: Process-to-ProcessCommunication SCTP menggunakan semua port yang terkenal di ruang TCP. Daftar beberapa port tambahan nomor yang digunakan oleh SCTP. Beberapa aplikasi SCTP
Week 7 ©Arif
6 | 14
Multiple Streams Di TCP setiap koneksi antara TCP klien dan satu aliran. Masalahnya pada
setiap
titik
di
dengan
TCP
pendekatan
server melibatkan
ini
adalah
kerugian
blok streampengiriman sisa data. Hal ini bisa
diterima ketika kita sedang memindahkan teks; bukan seperti
pada
saat kita mengirim data real-time seperti audio atau video. SCTP memungkinkan layanan multistream di setiap koneksi yang disebut asosiasi dalam terminologi SCTP. Jika salah maka
aliran
yang
lain
masih
satu
aliran
diblokir,
bisa mengirim datanya . Hal ini di
ibaratkan seperti beberapa jalur di jalan raya. Setiap jalur dapat digunakan untuk berbagai jenis lintasan. Misalnya, satu jalur bisa digunakan untuk lintasan biasa, satu lagi untuk lintasan khusus mobil. Jika lintasan yang diblokir untuk kendaraan
biasa,
maka
lintasan
khusus kendaraan mobil masih bisa mencapai tujuan mereka.
Multihoming Sebuah koneksi TCP melibatkan salah satu sumber dan satu tujuan alamat IP. Hal Ini berarti jika pengirim atau penerima merupakan host
Week 7 ©Arif
7 | 14
multihomed (terhubung ke lebih dari satu alamat fisik dengan beberapa alamat IP), hanya satu dari alamat-alamat IP untuk setiap akhir dapat digunakan selama masih terhubung. Sebuah asosiasi SCTP, di sisi lain, mendukung multihoming dapat
layanan. Host
menentukan beberapa
alamat
mengirim
IP
pada
setiap
asosiasi. Dalam pendekatan fault-tolerant, ketika gagal,
antarmuka
tanpa
gangguan. Fitur fault-tolerant
kita
mengirim
lain
dapat
digunakan ini
dan
salah
untuk sangat
menerima
akhir
untuk
satu
jalur
pengiriman
data
membantu
ketika
dan menerima muatan real-time seperti Internet
telephony.
Dalam Gambar Multihoming konsep, klien terhubung ke dua jaringan lokal dengan jaringan
dua
dengan
alamat dua
IP. Server ini
juga
terhubung
ke
dua
alamat IP. Klien dan server dapat membuat
asosiasi, menggunakan empat pasang alamat IP yang berbeda. Namun, perlu diketahui bahwa dalam implementasi saat ini SCTP hanya sepasang
alamat
IF
dapat
dipilih
untuk
komunikasi
normal;
alternatif digunakan jika pilihan utama gagal. Dengan kata lain, pada saat ini, SCTP tidak mengijinkan berbagi beban antara jalur yang berbeda. B. Soal Essay Apa Itu Mail Server? Mail server adalah server yang bertugas mengirim dan menerima email. Meskipun terlihat simpel, sebenarnya prosesnya pengiriman email cukup
Week 7 ©Arif
8 | 14
kompleks. Email yang Anda kirim akan melewati serangkaian proses rumit di mail server untuk dapat sampai ke penerima. Secara sederhana, mail server berfungsi sama seperti kantor pos. Ia menyimpan surat masuk, lalu mengirimkannya ke penerima. Komponen Mail Server Secara umum, semua server email terdiri dari tiga komponen yaitu MTA, MDA, dan MUA. Setiap komponen memiliki peran spesifik dalam proses memindahkan dan mengelola email. Mari kita lihat peran apa saja yang dimiliki tiap komponen.
Komponen Mail Server 1. MUA (Mail User Agent) MUA adalah aplikasi yang digunakan untuk menyusun, mengirim, dan menerima email. Contoh MUA misalnya adalah Yahoo, Gmail, Outlook, dan layanan email yang lain. Beberapa MUA bisa tampak lebih grafis, seperti Evolution, Thunderbird, dan Outlook, atau memiliki interface yang berbasis teks sederhana seperti Mutt. 2. MTA (Mail Transport Agent) MTA merupakan salah satu komponen mail server yang bertugas menerima dan mengirim email dari komputer yang satu ke komputer
Week 7 ©Arif
9 | 14
yang lain. MTA memainkan peranan penting dalam sistem penanganan pesan internet. Beberapa tugas MTA antara lain:
Menerima email.
Meminta catatan mail exchange dan memilih server email untuk mentransfer email.
3.
Mengirim pesan respons otomatis jika pesan gagal sampai tujuan.
MDA (Mail Delivery Agent) MDA adalah sebuah software komputer yang bertanggung jawab mengantarkan email dari MTA sever. MDA juga dikenal sebagai LDA atau Local Delivery Agent. Beberapa MTA dapat mengisi peran MDA ketika mereka menambahkan pesan email baru ke file pesan pengguna lokal.
Protokol Mail Server Sedangkan untuk protokol, terdapat dua kategori dalam server email: protokol surat keluar (SMTP) dan protokol surat masuk (IMAP dan POP3). Untuk mengetahui penjelasan lebih detail tentang dua kategori tadi, Anda dapat melihat poin-poin di bawah ini:
1.
SMTP atau Simple Mail Transfer Protocol SMTP adalah protokol standar untuk transmisi atau pengiriman email. Protokol ini bertugas melakukan komunikasi dengan server untuk mengirimkan email dari lokal email ke server email.
Week 7 ©Arif
10 | 14
Dalam proses kerjanya, SMTP dikontrol oleh MTA yang ada pada email server Anda.
2. POP3 atau Post Office Protocol POP 3 adalah versi ketiga dari metode penerimaan email. POP3 menerima dan menyimpan email untuk seseorang sampai mereka mengambilnya. POP3 adalah protokol server/client tempat di mana email dikirimkan dari server menuju email lokal. POP3 bekerja dengan mengontak server email Anda, lalu mengunduh semua pesan baru dari email lokal. Setelah Anda mengunduhnya, mereka akan hilang dari server. Jadi, jika Anda memutuskan untuk memeriksa email Anda dengan gadget yang berbeda, pesan yang sudah Anda unduh sebelumnya tidak akan ada lagi. Itulah mengapa, ada baiknya untuk melakukan back up. POP3 cocok digunakan untuk Anda yang biasanya membuka email dengan hanya satu gadget. 3. IMAP atau Internet Message Access. IMAP memungkinkan Anda dapat mengakses email Anda di mana pun Anda berada, biasanya diakses melalui internet. Ketika Anda membaca email menggunakan IMAP, Anda sebenarnya tidak mengunduh atau menyimpannya ke komputer, tetapi membacanya melalui server. Untuk Anda yang sering bepergian dan sering menggunakan berbagai gadget untuk mengakses email, kami sarankan untuk menggunakan servis email berbasis IMAP. Jenis-Jenis Mail Server Ada beberapa jenis mail server yang dibedakan berdasarkan sistem pengoperasian dan programnya. Berikut daftarnya: 1. Sendmail
Week 7 ©Arif
11 | 14
Apakah Anda menggunakan sistem operasi Linux? Nah, pasti familiar dengan jenis mail server Sendmail. Sudah eksis sejak tahun 1982, Sendmail merupakan jenis mail server standar Linux. Alhasil, Sendmail paling banyak digunakan di dunia. Selain itu, Sendmail sangat mudah diatur dengan performa yang lumayan. Sayangnya, dari segi keamanan Sendmail masih perlu banyak perbaikan dibanding jenis mail server lainnya yang lebih baru. 2. Postfix Postfix
adalah
jenis
mail
server
MTA
yang
merupakan
versi
pengembangan lebih baik dari Sendmail. Alhasil, Postfix tak terbatas pada sistem operasi Linux saja, tapi juga bisa digunakan pada Mac OS X. Postfix juga memiliki tingkat keamanan yang jauh lebih baik daripada Sendmail karena memang itulah tujuan utamanya. Selain itu, Postfix juga mempunyai performa yang sangat tinggi. Sehingga, Postfix digadang-gadang akan menggantikan Sendmail di masa depan. 3.
Qmail Dari ketiga jenis mail server di artikel ini, Qmail adalah MTA yang dianggap sebagai mail server teraman saat ini. Kenapa demikian? Sebab, Qmail belum mempunyai celah keamanan yang berefek negatif ataupun merusak kinerjanya secara keseluruhan. Maka dari itu, ada beberapa penyedia email raksasa yang menggunakan Qmail seperti Yahoo dan Hotmail.
Cara Kerja Mail Server Pada dasarnya, cara kerja utama mail server adalah sending email (mengirim email) dan receiving email (menerima email) yang akan melalui lima tahapan berikut:
Week 7 ©Arif
12 | 14
Sekara ng, saatnya untuk tahu bagaimana sebenarnya cara kerja mail server dalam mengirim dan menerima pesan. Di bawah ini kami jelaskan garis besar tiap tahapan prosesnya : Tahap 1: Mengirim Pesan Setelah membuat pesan dan meng-klik tombol send, MUA akan mengirim email tersebut. Kemudian, email penerima/ klien akan terkoneksi dengan server SMTP domain Anda. Server ini bisa bernama apa saja, misalnya smtp.misalnya.com. Tahap 2: Email Penerima Berkomunikasi dengan Server SMTP Email penerima/klien berkomunikasi dengan MTA server yang menggunakan SMTP.
Kemudian
memberikannya
alamat
email
Anda,
alamat
email
penerima, isi pesan dan lampiran. Tahap 3: Server SMTP Memproses Alamat Email Penerima Setelah berkomunikasi dengan email penerima, komponen MDA melalui SMTP akan memproses alamat email penerima (khususnya domain-nya). Jika nama domain sama dengan pengirim pesan, maka pesan akan langsung dialihkan ke server domain POP3 atau IMAP. Namun, jika domain berbeda, server SMTP akan berkomunikasi dengan server domain terlebih dahulu.
Week 7 ©Arif
13 | 14
Tahap 4: Server SMTP Pengirim Berkomunikasi dengan DNS Agar
bisa
menemukan
server
penerima,
MTA
melalui
SMTP
harus
berkomunikasi dengan DNS. Atau, Server Nama Domain. Nanti DNS akan mengambil nama email domain penerima, lalu menerjemahkannya menjadi sebuah IP address. Kenapa harus dijadikan IP address? Karena server SMTP pengirim tidak bisa menyalurkan email dengan benar hanya dengan nama domain. Maka, dibutuhkan IP address, yang merupakan sebuah nomor identitas setiap komputer yang terkoneksi internet. Dengan mengetahui informasi IP address-nya, mail server dapat bekerja dengan lebih efisien. Tahap 5: Email Terkoneksi dengan Server SMTP Setelah server SMTP memiliki IP address penerima, maka email yang diteruskan MDA/MTA dapat terkoneksi dengan server SMTP. Proses ini tidak terjadi begitu saja. Karena, sebenarnya pesan yang dikirim tadi harus melewati serangkaian proses SMTP, sampai akhirnya tiba di tujuan. Tahap 6: Server SMTP Penerima Memindai Pesan Masuk Di tahap ini MUA memindai pesan masuk. Jika ia mengenali domain dan username, pesan akan diteruskan ke server POP3 atau IMAP domain. Dari sana, pesan akan ditempatkan di antrean sendmail. Pesan akan berada di antrian sendmail sampai email penerima mengizinkannya untuk diunduh.
Week 7 ©Arif
14 | 14