Bab 5: Lapisan Transport Jaringan Komputer Heribertus Yulianton
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
1
1 Protokol Lapisan Transport
Kerangka Bab
© 2013 Cisco and/or its affiliates. All rights reserved.
2 TCP dan UDP
Cisco Public
2
Bagian 5.1: Protokol Lapisan Transport Setelah menyelesaikan bagian ini, anda harus dapat: • Menjelaskan tujuan dari lapisan transport dalam mengelola transportasi data
dalam komunikasi end-to-end. • Menjelaskan karakteristik dari protokol TCP dan UDP, termasuk nomor port dan
penggunaannya.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
3
Topik 5.1.1: Transportasi Data
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
4
Peran Lapisan Transport • Lapisan transport bertanggung
jawab untuk membangun sesi komunikasi sementara antara dua aplikasi dan mengirimkan data antara keduanya. • Lapisan transport
menyediakan layanan, seperti: o Dukungan aliran data berorientasi koneksi
o Keandalan o Kendali aliran o Multiplexing
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
5
Tanggung Jawab Lapisan Transport Melacak Percakapan Individu Dengan melacak setiap percakapan individu yang mengalir di antara aplikasi sumber dan aplikasi tujuan secara terpisah.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
6
Tanggung Jawab Lapisan Transport (lanj.) Segmentasi Data dan Menyusun Kembali Segmen Dengan membagi data menjadi segmen yang lebih mudah untuk dikelola dan ditranspor.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
7
Tanggung Jawab Lapisan Transport (lanj.) Identifikasi Aplikasi
Dengan memastikan walaupun beberapa aplikasi berjalan pada perangkat, semua aplikasi menerima data yang benar.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
8
Multiplexing Percakapan • Segmentasi data ke dalam potongan
yang lebih kecil memungkinkan banyak komunikasi yang berbeda, dari banyak pengguna yang berbeda, yang akan disisipkan (multiplexing) pada jaringan yang sama. • Lapisan transport menambahkan
sebuah header yang berisi data biner untuk mengidentifikasi setiap segmen data dan mengaktifkan berbagai protokol lapisan transport untuk melakukan fungsi yang berbeda dalam pengelolaan komunikasi data.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
9
Keandalan Lapisan Transport •
Lapisan transport juga bertanggung jawab untuk mengelola keandalan.
•
Beberapa aplikasi mungkin tidak memerlukan kehandalan. Kebutuhan lapisan transport bervariasi dari aplikasi ke aplikasi.
•
TCP/IP menyediakan dua protokol lapisan transportl, Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
•
IP menggunakan protokol transportasi ini untuk memungkinkan host untuk berkomunikasi dan mentransfer data.
•
TCP dianggap protokol lapisan transport yang handal, lengkap fiturnya, yang memungkinkan untuk pengiriman konfirmasi paket data.
•
Sebaliknya, UDP adalah protokol lapisan transport yang sangat sederhana yang tidak memberikan kehandalan apapun.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
10
TCP • Transportasi TCP dapat diandalkan karena mendukung konfirmasi
pengiriman paket. • Ada tiga operasi dasar yang memungkinkan reliabilitas dengan TCP:
o Penomoran dan pelacakan segmen data yang ditransmisikan ke host dari aplikasi tertentu
o Acknowledging data yang diterima o Mentransmisi ulang setiap data unacknowledged setelah jangka waktu tertentu
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
11
UDP
•
Beberapa aplikasi tidak memerlukan keandalan. Keandalan menimbulkan beban lebih tambahan dan kemungkinan penundaan dalam transmisi.
•
Menambahkan beban lebih untuk memastikan keandalan untuk beberapa aplikasi dapat mengurangi kegunaan aplikasi dan bahkan dapat merugikan.
• Jika keandalan tidak diperlukan, UDP adalah protokol transportasi yang lebih baik. • UDP menyediakan fungsi dasar untuk mengirimkan data segmen antara aplikasi yang sesuai, dengan beban lebih dan pengecekan data yang sangat kecil.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
12
Protokol Lapisan Transport •
TCP adalah pilihan yang lebih baik untuk: •
Aplikasi yang segmennya harus tiba di urutan yang sangat spesifik untuk berhasil diproses.
•
Aplikasi yang semua datanya harus sepenuhnya diterima sebelum dianggap berguna.
•
Aplikasi yang memerlukan TCP meliputi: Database, Web browser, klien email.
•
UDP adalah pilihan yang lebih baik untuk aplikasi yang dapat mentolerir beberapa kehilangan data selama transmisi, tapi penundaan dalam transmisi tidak dapat diterima.
•
Aplikasi menggunakan UDP diantaranya: • Live audio streaming • live video streaming • Voice over IP (VoIP)
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
13
Topik 5.1.2: Gambaran Umum TCP dan UDP
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
14
Fitur-fitur TCP • Selain mendukung fungsi dasar segmentasi data dan penyusunan
kembali, TCP menyediakan layanan berikut : • Membangun sebuah Session • Pengiriman yang andal • Pengiriman dengan urutan sama • Kendali Alir
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
15
Header TCP •
TCP merupakan protokol stateful. TCP menyimpan keadaan sesi komunikasi dengan merekam informasi mana yang telah dikirimkan dan informasi man yang telah diakui (acknowledged).
•
Setiap segmen TCP memiliki 20 byte overhead di header membungkus data lapisan aplikasi, seperti yang ditunjukkan dalam gambar.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
16
Fitur-fitur UDP
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
17
Header UDP •
UDP adalah protokol stateless. Baik pengirim atau penerima tidak wajib untuk melacak keadaan sesi komunikasi.
•
Keandalan harus ditangani oleh aplikasi.
•
Aplikasi Video dan suara harus cepat memberikan data dan dapat mentolerir kehilangan beberapa data; aplikasi tersebut sangat cocok untuk UDP.
•
Potongan-potongan komunikasi dalam UDP disebut datagrams.
•
Datagrams ini dikirim sebaik-baiknya oleh protokol lapisan transport.
•
UDP memiliki overhead rendah yaitu 8 byte.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
18
Beberapa Percakapan Terpisah • Lapisan transport harus memisahkan dan mengelola beberapa
komunikasi dengan persyaratan transportasi yang berbeda. • Aplikasi yang berbeda mengirim dan menerima data melalui jaringan
secara bersamaan. • Nilai header yang unik memungkinkan TCP dan UDP untuk mengelola
beberapa percakapan simultan dengan mengidentifikasi aplikasi ini. • Pengidentifikasi unik tersebut
adalah nomor port.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
19
Nomor Port • Port Sumber o
Nomor port sumber secara dinamis dipilih oleh perangkat pengirim untuk mengidentifikasi percakapan antara dua perangkat.
o
Klien HTTP biasanya mengirimkan beberapa permintaan HTTP ke server web pada saat yang sama. Setiap percakapan HTTP terpisah dilacak berdasarkan port sumber.
• Port Tujuan o
Digunakan untuk mengidentifikasi aplikasi atau layanan yang berjalan di server.
o
Sebuah server dapat menawarkan lebih dari satu layanan pada saat yang sama, menawarkan layanan web pada port 80 dan FTP pada port 21 secara bersamaan.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
20
Pasangan Socket • Kombinasi dari alamat IP sumber dan nomor port sumber, atau alamat IP tujuan dan nomor port tujuan, dikenal sebagai socket. • Socket digunakan untuk mengidentifikasi server dan layanan yang diminta oleh klien. • Dua soket bergabung membentuk sepasang socket: (192.168.1.5:1099, 192.168.1.7:80) • Soket memungkinkan beberapa proses berjalan pada klien dan beberapa koneksi ke sebuah proses server untuk dibedakan dari satu sama lain. • Nomor port sumber bertindak sebagai alamat kembali untuk aplikasi peminta. • Adalah tugas lapisan transport untuk menyimpan jejak socket yang aktif.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
21
Kelompok-kelompok Nomor Port Port Numbers Internet Assigned Numbers Authority (IANA) adalah badan standar yang bertanggung jawab untuk menetapkan berbagai standar pengalamatan, termasuk nomor port.
© 2013 Cisco and/or its affiliates. All rights reserved.
Well-Known Port Numbers
Cisco Public
22
Perintah netstat •
Koneksi TCP yang tidak jelas dapat menunjukkan ancaman keamanan utama.
•
Netstat adalah sebuah utilitas jaringan penting yang dapat digunakan untuk memverifikasi koneksi aktif dalam sebuah host.
•
Gunakan netstat untuk melihat protokol yang digunakan, alamat dan nomor port lokal, alamat dan nomor port luar, dan status koneksi.
•
Secara default, perintah netstat akan berusaha untuk mengganti alamat IP menjadi nama domain dan nomor port untuk aplikasi terkenal.
•
Opsi -n dapat digunakan untuk menampilkan alamat IP dan nomor port dalam bentuk numerik.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
23
Bagian 5.2: TCP dan UDP Setelah menyelesaikan bagian ini, anda harus dapat: • Menjelaskan bagaimana proses pembentukan dan terminasi sesi TCP untuk
memfasilitasi komunikasi yang handal. • Jelaskan bagaimana unit data protokol TCP ditransmisikan dan diakui untuk
menjamin pengiriman. • Menggambarkan proses klien UDP untuk menjalin komunikasi dengan server. • Membandingkan UDP dan TCP.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
24
Topik 5.2.1: Proses Komunikasi TCP
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
25
Proses Server TCP • Setiap proses aplikasi yang berjalan pada server menggunakan nomor
port. • Server individu tidak dapat memiliki dua layanan ditugaskan untuk
nomor port yang sama dalam layanan lapisan transport yang sama. • Sebuah aplikasi server aktif ditugaskan ke port tertentu maka port
dianggap terbuka. • Setiap permintaan klien masuk ditujukan ke port terbuka diterima dan
diproses oleh aplikasi server terkait ke port tersebut. • Ada banyak port dibuka secara bersamaan pada server, satu untuk
setiap aplikasi server yang aktif.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
26
Pembentukan Koneksi TCP Sebuah koneksi TCP dibentuk dalam tiga langkah: 1.
Klien pemrakarsa meminta sesi komunikasi klien-ke-server dengan server.
2.
Server mengakui sesi komunikasi klien-ke-server dan meminta sesi komunikasi server-ke-klien.
3.
Klien pemrakarsa mengakui sesi komunikasi server-ke-klien.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
27
Terminasi Sesi TCP Tanda TCP FIN digunakan untuk mengakhiri koneksi TCP. 1.
Ketika klien tidak memiliki data yang lainnya untuk dikirimkan, ia akan mengirimkan segmen dengan tanda FIN.
2.
Server akan mengirimkan ACK untuk mengakui penerimaan FIN untuk mengakhiri sesi dari klien-ke-server.
3.
Server akan mengirimkan FIN ke klien untuk mengakhiri sesi server-ke-klien.
4.
Klien merespon dengan ACK untuk mengakui FIN dari server.
5.
Ketika semua segmen telah diakui, sesi ditutup.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
28
Analisa Jabat Tangan 3-langkah TCP Jabat Tangan 3-langkah: •
Membuktikan bahwa perangkat tujuan hadir pada jaringan.
•
Memverifikasi bahwa perangkat tujuan memiliki layanan aktif dan menerima permintaan pada nomor port tujuan yang ingin digunakan klien
•
Menginformasikan perangkat tujuan bahwa klien sumber bermaksud untuk membangun sebuah sesi komunikasi pada nomor port tersebut.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
29
Topik 5.2.2: Keandalan dan Kendali Aliran
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
30
Keandalan TCP – Pengiriman Terurut •
Segmen TCP menggunakan nomor urut untuk mengidentifikasi secara unik dan mengakui setiap segmen, melacak urutan segmen, dan menunjukkan bagaimana memasang kembali dan menyusun ulang segmen diterima.
•
Initial sequence number (ISN) dipilih secara acak selama pengaturan sesi TCP. ISN ini kemudian bertambah sesuai jumlah byte yang ditransmisikan.
•
Proses penerima TCP menyimpan data segmen sampai semua data diterima dan digabungkan kembali.
•
Segmen yang belum urut disimpan untuk diproses kemudian
•
Data hanya dikirim ke lapisan aplikasi bila telah sepenuhnya diterima dan digabungkan kembali.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
31
Keandalan TCP - Nomor Urut dan Pengakuan •
TCP dirancang untuk mengkonfirmasi bahwa setiap segmen telah mencapai tujuan.
•
Pembentukan sesi TCP memastikan bahwa tujuan tidak hanya terjangkau, tapi juga siap untuk menerima data.
•
Proses TCP pada host tujuan mengakui data yang telah diterima dari sumber aplikasi.
•
TCP memungkinkan untuk pengiriman ulang segmen yang hilang.
•
TCP menjamin semua segmen diurutkan secara benar pada saat diterima.
•
Terminasi sesi TCP memungkinkan untuk kedua pihak secara elok mengakhiri sesi TCP ketika tidak ada data yang ditransfer (FIN flag).
•
Sebuah titik akhir TCP dapat secara tiba-tiba mengakhiri sesi jika perlu (RST flag).
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
32
Keandalan TCP – Data Hilang dan Transmisi Ulang • TCP menyediakan metode pengelolaan segmen hilang.
• Diantara metode ini adalah mekanisme untuk mengirim ulang segmen
data yang tidak diakui.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
33
Kendali Alir TCP – Ukuran Window dan Pengakuan •
TCP menyediakan mekanisme kendali aliran.
•
Kendali aliran memastikan endpoint TCP dapat menerima dan memproses data secara andal.
•
TCP menangani kendali aliran dengan menyesuaikan laju aliran data antara sumber dan tujuan untuk sesi tertentu.
•
Fungsi kontrol aliran TCP bergantung pada 16-bit kolom header TCP yang disebut ukuran Windows. Ukuran Window adalah jumlah byte yang dapat diterima dan diproses pada satu waktu oleh sebuah sesi perangkat tujuan.
•
TCP sumber dan tujuan setuju pada ukuran Window awal ketika sesi TCP dibentuk.
•
Endpoint TCP dapat menyesuaikan ukuran window selama sesi jika diperlukan.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
34
Kendali Aliran TCP – Penghindaran Kemacetan •
Kemacetan jaringan biasanya berakibat adanya paket yang dibuang.
•
Segmen TCP tidak terkirim memicu transmisi ulang. Transmisi ulang segmen TCP dapat membuat kemacetan menjadi lebih buruk.
•
Sumber dapat memperkirakan tingkat tertentu kemacetan jaringan dengan melihat tingkat di mana segmen TCP dikirim tapi tidak diakui.
•
Sumber tersebut dapat mengurangi jumlah byte yang dikirimkan sebelum menerima pengakuan pada deteksi kemacetan.
•
Sumber itu mengurangi jumlah byte tidak diakui yang dikirim dan bukan ukuran jendela, yang ditentukan oleh tujuan.
•
Tujuan biasanya tidak menyadari kemacetan jaringan dan melihat tidak perlu menyarankan ukuran jendela baru.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
35
Topik 5.2.3: Komunikasi UDP
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
36
Overhead Rendah UDP melawan Keandalan •
UDP adalah protokol sederhana.
•
UDP menyediakan fungsi lapisan transport dasar.
•
UDP memiliki overhead jauh lebih rendah dibandingkan TCP.
•
UDP tidak berorientasi koneksi dan tidak menawarkan mekanisme pengiriman ulang, pengurutan, dan kendali aliran canggih.
•
Aplikasi yang menggunakan UDP masih dapat menggunakan kehandalan, tetapi harus diimplementasikan dalam lapisan aplikasi.
•
Namun, UDP tidak kalah. UDP dirancang untuk menjadi sederhana dan lebih cepat daripada TCP dengan mengorbankan kehandalan.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
37
Penyusunan Kembali Datagram UDP • UDP tidak melacak nomor urut seperti TCP.
• UDP tidak memiliki cara untuk menyusun ulang datagram ke dalam
urutan transmisinya. • UDP hanya mengumpulkan
kembali data dalam urutan yang diterima. • Aplikasi harus
mengidentifikasi urutan yang tepat, jika perlu.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
38
Proses Server UDP • Aplikasi server berbasis UDP juga mempunyai nomor port terkenal atau
terdaftar. • Aplikasi dan layanan UDP berjalan pada server menerima permintaan
klien UDP. • Permintaan yang diterima pada port tertentu akan diteruskan ke aplikasi
yang tepat berdasarkan nomor port.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
39
Proses Server UDP • Komunikasi klien-server UDP juga diprakarsai oleh aplikasi klien.
• Proses klien UDP secara dinamis memilih nomor port dan
menggunakan nomor ini sebagai port sumber. • Port tujuan biasanya nomor port terkenal atau terdaftar yang ditetapkan
untuk proses server. • Pasangan port sumber-tujuan yang sama digunakan di header semua
datagram yang digunakan dalam transaksi. • Data kembali ke klien dari server menggunakan nomor port sumber dan
tujuan ditukar di header datagram.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
40
Topik 5.2.4: TCP atau UDP
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public Cisco Public
41
Aplikasi yang Menggunakan TCP • TCP menangani semua tugas yang berhubungan lapisan transport.
• Hal ini membebaskan aplikasi dari keharusan untuk mengelola setiap
tugas-tugas ini. • Aplikasi cukup mengirimkan
aliran data ke lapisan transport dan menggunakan jasa TCP.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
42
Aplikasi yang menggunakan UDP Ada tiga jenis aplikasi yang paling cocok untuk UDP: • Video dan aplikasi multimedia langsung - Dapat mentolerir beberapa kehilangan data, tetapi memerlukan sedikit atau tidak ada penundaan. Contoh termasuk VoIP dan live streaming video. • Aplikasi permintaan dan balasan sederhana - Aplikasi dengan transaksi sederhana di mana sebuah host mengirimkan permintaan dan mungkin menerima atau tidak menerima balasan. Contoh termasuk DNS dan DHCP. • Aplikasi yang menangani kehandalan sendiri - Komunikasi searah di mana kendali aliran, deteksi kesalahan, pengakuan, dan pemulihan kesalahan tidak diperlukan atau dapat ditangani oleh aplikasi. Contoh termasuk SNMP dan TFTP.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
43
Thank you.
© 2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
44