transport layer protocol

35
Pertemuan-10. Pertemuan-10. Transport Layer Transport Layer Protocol Protocol Jaringan Komputer Jaringan Komputer MOCHAMAD SIRODJUDIN, S.Kom, MM MOCHAMAD SIRODJUDIN, S.Kom, MM www.sirodjudin.com www.sirodjudin.com Teknik Informatika Universitas Yudharta Pasuruan 2012

Upload: ahmad-amiruddin

Post on 25-Jan-2015

344 views

Category:

Technology


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: transport layer protocol

Pertemuan-10.Pertemuan-10.Transport Layer Transport Layer ProtocolProtocol

Jaringan KomputerJaringan Komputer

MOCHAMAD SIRODJUDIN, S.Kom, MMMOCHAMAD SIRODJUDIN, S.Kom, MMwww.sirodjudin.comwww.sirodjudin.com

Teknik InformatikaUniversitas Yudharta Pasuruan2012

Page 2: transport layer protocol

PendahuluanPendahuluan

Protokol pada Transport Layer TCP/IP terdiri atas : TCP dan UDP.

Page 3: transport layer protocol

PendahuluanPendahuluan

UDP adalah protokol yang sifatnya unreliable dan connectionless.

TCP adalah protokol yang sifatnya reliable dan connection-oriented.

Setiap proses pada aplikasi harus mendefinisikan protokol transport mana yang akan digunakan. Contoh: HTTP, FTP, SMTP menggunakan TCP, sedangkan DNS, Internet Telephony menggunakan UDP.

Page 4: transport layer protocol

PendahuluanPendahuluan

Sebuah host dapat memberikan layanan lebih dari satu proses, hal ini terjadi karena Transport Layer mampu memberikan layanan multiplexing dan demultiplexing.

TCP merupakan reliable data transfer karena TCP menjamin pengiriman pesan sampai ditempat tujuan melalui: flow control, congestion control, acknowledgment, timer.

Page 5: transport layer protocol

Multiplexing - DemultiplexingMultiplexing - Demultiplexing Dalam jaringan TCP/IP beberapa

proses dapat dikirimkan secara bersama-sama dari sebuah host melalui multiplexing.

Pada sisi penerima, demultiplexing mengijinkan alokasi pesan pada proses yang sesuai. Lihat Gambar.

Seperti diketahui, masing-masing proses dibedakan berdasarkan nomor Port.

Page 6: transport layer protocol

Ilustrasi Ilustrasi Multiplexing-Multiplexing-DemultiplexingDemultiplexing Source: www.tcpipguide.com

Page 7: transport layer protocol

User Datagram ProtocolUser Datagram Protocol Didefiniskan dalam RFC 768. Pada sisi pengirim:

- UDP mengambil pesan dari proses aplikasi,

- menambahkan sumber dan tujuan port (untuk multiplexing/demultiplexing),

- menambahkan beberapa header kecil,

- mengirimkan segment tersebut ke network layer untuk dikirimkan.

Page 8: transport layer protocol

User Datagram ProtocolUser Datagram Protocol Pada sisi penerima:

- Segment tiba di sisi penerima,- UDP mengidentifikasi alamat port tujuan untuk dapat mengalokasikan pesan pada proses yang sesuai.

Terlihat bahwa UDP tidak menggunakan proses inisialisasi koneksi sebelum sebuah segment dikirimkan. Karena itu UDP disebut sebagai connectionless protocol.

Page 9: transport layer protocol

Struktur Segment UDPStruktur Segment UDP

Source: www.tcpipguide.com

Page 10: transport layer protocol

Alasan Menggunakan UDPAlasan Menggunakan UDP

Tidak ada proses penetapan (establishment) koneksi memperkecil delay.

Memiliki jumlah header lebih kecil daripada TCP memperkecil delay, mempercepat proses transmisi.

Tidak ada kondisi-kondisi tertentu yang harus dilakukan, misalnya congestion control, sequence, acknowledgment seperti halnya pada TCP memperkecil delay.

Page 11: transport layer protocol

UDP ChecksumUDP Checksum Misalkan terdapat 3 buah 16-bit pesan

sbb:011101010101110100011011011001100101100101011011

Ketiga pesan dijumlahkan menjadi: 1110101000011110

Hasil jumlahan ini dioperasikan melalui 1’s komplemen menghasilkan checksum: 0001010111100001.

Page 12: transport layer protocol

UDP ChecksumUDP Checksum

Pada sisi penerima semua 16-bit pesan dijumlahkan bersama-sama dengan checksum.

Apabila tidak ada kesalahan bit pada saat pengiriman hasil penjumlahan akan menjadi: 1111111111111111.

UDP mendeteksi kesalahan, tetapi tidak mengkoreksi kesalahan.

Page 13: transport layer protocol

Transport Control ProtocolTransport Control Protocol

TCP adalah connection-oriented protocol.

TCP menjamin bahwa data yang dikirimkan pasti diterima oleh receiver dengan benar (reliable data transfer).

TCP memberi layanan komunikasi full-duplex.

Koneksi pada TCP merupakan koneksi point-to-point.

Page 14: transport layer protocol

Struktur Struktur Segment Segment TCPTCP Source: www.tcpipguide.com

Page 15: transport layer protocol

Model Koneksi TCPModel Koneksi TCP

Model koneksi TCP protocol terdiri atas 3 fase, yaitu:

- Fase penetapan (establishment) koneksi.

- Fase transaksi pesan.

- Fase penutupan koneksi.

Page 16: transport layer protocol

Fase Penetapan Koneksi Fase Penetapan Koneksi TCPTCP

Sender Receiver

Connection RequestSend SYN=1, Seq=x

Receive SYN=1

Send SYN=1, Seq=y, ACK=x+1

Receive SYN=1, Seq=y, ACK=x+1

Receive SYN=0, Seq=y+1, ACK=x+1

Send Seq=y+1, ACK=x+1

Page 17: transport layer protocol

Fase Penetapan Koneksi Fase Penetapan Koneksi TCPTCP

Fase penetapan koneksi TCP disebut sebagai: three-way handshake.

Tahapan:

1. Sender mengirimkan TCP segment dengan nilai SYN=1. Sender juga mengirimkan informasi sequence number (isn) yang digenerate secara random.

Page 18: transport layer protocol

Fase Penetapan Koneksi Fase Penetapan Koneksi TCPTCP

2. TCP SYN segment diterima oleh receiver. Receiver mengalokasikan buffer memory dan variable untuk koneksi yang diminta serta mengirimkan segment TCP berisi: SYN=1, Acknowledgment field berisi isn dari sender + 1 dan sequence number berisi sembarang angka yang digenerate secara random oleh receiver.

Page 19: transport layer protocol

Fase Penetapan Koneksi Fase Penetapan Koneksi TCPTCP

3. Setelah menerima TCP segment dari receiver, Sender mengirimkan kembali TCP segment ketiga yang berisi SYN=1, sequence number berisi isn dari receiver + 1 dan Acknowledgment field berisi isn dari sender + 1.

Page 20: transport layer protocol

Fase Penutupan Koneksi Fase Penutupan Koneksi TCPTCP

Sender Receiver

Close ConnectionSend FIN=1

Receive FIN=1

Receive ACK

Receive ACK

Send ACK

Send ACK

Close ConnectionSend FIN=1

Timed wait

Close

Page 21: transport layer protocol

Fase Penutupan Koneksi Fase Penutupan Koneksi TCPTCP Sender memulai penutupan koneksi dengan

mengirimkan TCP segment dengan nilai FIN=1.

Receiver mengirimkan TCP segment ACK. Sender menunggu sampai Receiver

mengirimkan TCP segment berikutnya. Sender mengirim TCP segment ACK. Setelah periode waktu tertentu koneksi

tertutup.

Page 22: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

TCP melakukan transaksi pesan dengan menggunakan sliding-window protocol.

Saat pengirim mengirim pesan, misalnya dengan isn=1, receiver mengirim acknowledgment dengan ACK=2. Artinya, pesan dengan isn=1 telah deterima, selanjutnya kirimkan pesan dengan isn=2.

Dan seterusnya sampai semua TCP segment dikirimkan.

Page 23: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Page 24: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Page 25: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Pengiriman TCP segment (pesan) seperti pada contoh di atas menggunakan window size=1.

Model ini disebut juga sebagai Stop-And-Wait.

Kelemahan model ini adalah munculnya delay yang cukup besar karena pesan berikut baru bisa dikirimkan setelah sender menerima ACK.

Page 26: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Model Stop-And-Wait diperbaiki dengan menggunakan model Go-Back-N.

Dengan window size sebesar N, sebanyak N-pesan dapat dikirimkan pada satu saat.

Model ini juga dipakai untuk flow-control.

Page 27: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Page 28: transport layer protocol

Fase Transaksi Pesan TCPFase Transaksi Pesan TCP

Gambar di atas adalah contoh transaksi TCP dengan window size=3.

Sender mengirimkan 3 pesan sekaligus.

Receiver menerima 3 pesan tersebut, selanjutnya receiver mengirimkan ACK=4. Artinya, pesan dengan isn=1,2 dan 3 telah deterima, selanjutnya kirimkan pesan dimulai dengan isn=4. Dan seterusnya.

Page 29: transport layer protocol

Lost SegmentLost Segment

Apa yang harus dilakukan oleh TCP apabila terjadi kehilangan TCP segment di tengah jalan ?

Page 30: transport layer protocol

Lost SegmentLost SegmentSender Receiver

Receive 1ACK 2

Receive ACK 2 Send 2

X (loss)Time Out

Resend 2

Send 1

Receive 2ACK 3

Receive ACK 3 Send 3

Page 31: transport layer protocol

Lost ACKLost ACK

Apa yang harus dilakukan oleh TCP apabila terjadi kehilangan ACK segment di tengah jalan ?

Page 32: transport layer protocol

Lost ACKLost ACKSender Receiver

Receive 1ACK 2

Receive ACK 2 Send 2

X (loss)

Time Out

Resend 2

Send 1

Receive 2ACK 3Receive ACK 3

Send 3

Page 33: transport layer protocol

Prematur Time OutPrematur Time Out

Apa yang terjadi apabila sender menganggap terjadi kehilangan ACK tetapi sebenarnya hanya terjadi delay pengiriman ACK ?

Page 34: transport layer protocol

Prematur Time OutPrematur Time OutSender Receiver

Receive 1ACK 2

Receive ACK 2 Send 2

Time Out

Resend 2

Send 1

Receive 2ACK 3

Receive ACK 3 Send 3

Receive 2(detect duplicate)

ACK 3Receive ACK 3

(do nothing)Receive 3

ACK 4Receive ACK 4

Send 4

Page 35: transport layer protocol

The EndThe End