ITS Kampus ITS Sukolilo Surabaya 60111

  Transport Layer Transport Layer

  • – – Electronic Engineering Polytechnic Institut of Surabaya Electronic Engineering Polytechnic Institut of Surabaya

  ITS

  ITS Overview Overview

   Layer Transport bertugas melakukan sesi komunikasi antara komput er  Layer Transport bertugas melakukan sesi komunikasi antara komput er dalam jaringan. Menenrukan bagaimana data ditransmisikan. dalam jaringan. Menenrukan bagaimana data ditransmisikan.

   Dua Protocol Transport Layer yang dipakai :  Dua Protocol Transport Layer yang dipakai :

   Transmission Control Protocol (TCP)  Transmission Control Protocol (TCP)  User Datagram Protocol (UDP).

   User Datagram Protocol (UDP).

    User Datagram Protocol User Datagram Protocol

  

  UDP merupakan connectionless communication, bekerja tidak menjam in

UDP merupakan connectionless communication, bekerja tidak menjam in data sampai ditujuan secara utuh. data sampai ditujuan secara utuh.

    Normalnya untuk mentransmisikan data dalam jumlah kecil pada sat Normalnya untuk mentransmisikan data dalam jumlah kecil pada sat u u waktu. waktu.

  

  Reliabilitasnya/penjaminan data sampai pada penerima tergantung Reliabilitasnya/penjaminan data sampai pada penerima tergantung dari dari

aplikasi. aplikasi.

    Transmission Control Protocol (TCP) Transmission Control Protocol (TCP)

  • oriented dan reliable communication yang artinya data dijamin -   Connection Connection oriented dan reliable communication yang artinya data dijamin

  sampai tujuan sampai tujuan

  

  Untuk menjamin diperlukan komunikasi awal dengan penerima sebelu Untuk menjamin diperlukan komunikasi awal dengan penerima sebelu m m

transfer data dilakukan transfer data dilakukan

   Membutuhkan ack setiap penerimaan data  Membutuhkan ack setiap penerimaan data  Dipakai untuk mentransmisikan data dalam jumlah besar  Dipakai untuk mentransmisikan data dalam jumlah besar

  Overview Overview IP address menentukan tujuan komputer dan Port menentukan aplikasi yang dipakai. aplikasi yang dipakai.

  IP address menentukan tujuan komputer dan Port menentukan

   

   

  generate socket ketika berkomunikasi dengan generate socket ketika berkomunikasi dengan komputer lain komputer lain

  Aplikasi men Aplikasi men

   

    Socket Socket   Merupakan kombinasi dari IP address dan TCP atau UDP port. Merupakan kombinasi dari IP address dan TCP atau UDP port.

  Aplikasi TCP/IP biasanya menggunakan nomor port dibawah 1,024, Aplikasi TCP/IP biasanya menggunakan nomor port dibawah 1,024, dimana setiap aplikasi biasanya nomornya sudah pasti. Port ini dimana setiap aplikasi biasanya nomornya sudah pasti. Port ini biasa disebut "Well biasa disebut "Well

    Port bisa TCP atau UDPt, tergantung pada pemakaian protocol apa Port bisa TCP atau UDPt, tergantung pada pemakaian protocol apa pada layer transport apakah Udp atau TCP pada layer transport apakah Udp atau TCP   Nomor Port antara 0 and 65,535. Nomor Port antara 0 and 65,535.

  Port and Socket Port and Socket

  Port bisa dikatakan internal address yang disediakan untuk aplik Port bisa dikatakan internal address yang disediakan untuk aplik asi asi tertentu pada komputer. Setiap aplikasi mempunyai port yang tertentu pada komputer. Setiap aplikasi mempunyai port yang berbeda berbeda

   

  Port Port

   

  Ada dua komponen yang biasa dipakai selama komunikasi pada Ada dua komponen yang biasa dipakai selama komunikasi pada layer transport yaitu port dan socket layer transport yaitu port dan socket

   

  • Known Ports". Known Ports".

  UDP UDP  

  UDP merupakan protokol connectionless, artinya tidak UDP merupakan protokol connectionless, artinya tidak ada sesi komunikasi awal ketika data ditransmisikan. ada sesi komunikasi awal ketika data ditransmisikan.

   

  UDP merupakan unreliable protokol. Berarti pesan yang UDP merupakan unreliable protokol. Berarti pesan yang dikirim tanpa ada nomor urut dan tanpa dikirim tanpa ada nomor urut dan tanpa acknowledgment dari penerima shg pengirim tidak acknowledgment dari penerima shg pengirim tidak pernah tahu apakah pesa sudah diterima penuh atau pernah tahu apakah pesa sudah diterima penuh atau tidak. Untuk masalah ini ditangani oleh aplikasi tidak. Untuk masalah ini ditangani oleh aplikasi

   

  Jika terjadi Lost paket data harus di Jika terjadi Lost paket data harus di

  retrieve oleh layer retrieve oleh layer diatasnya (aplikasi). diatasnya (aplikasi).

   

  Biasanya message UDP ditransmisikan secara regular Biasanya message UDP ditransmisikan secara regular dalam interval waktu tertentu atau setelah ditentukan dalam interval waktu tertentu atau setelah ditentukan batas waktu habis batas waktu habis

   

  Hanya membutuhkan sedikit resource memori dan Hanya membutuhkan sedikit resource memori dan processor processor

   

  Contoh aplikasi yang menggunakan Protocol UDP Contoh aplikasi yang menggunakan Protocol UDP

  Domain Name System(DNS) dan Dynamic Host Domain Name System(DNS) dan Dynamic Host Configuration Protocol(DHCP).

  Configuration Protocol(DHCP).

  IP Datagram UDP

  IP Datagram UDP

  IP Datagram

  IP Datagram  

  Message UDP ditransmisikan dalam bentuk IP Message UDP ditransmisikan dalam bentuk IP datagrams. datagrams.

   

  Message UDP, terdiri dari : Message UDP, terdiri dari :

   

  IP Header

  IP Header

    UDP header

  UDP header

    Payload

  Payload

   

  IP header terdiri dari Source IP dan Destination

  IP header terdiri dari Source IP dan Destination

  IP :

  IP : 

 Source IP berisi IP address host yang mengirim paket

  Source IP berisi IP address host yang mengirim paket

    Destination IP merisi alamat penerima paket, bisa

  Destination IP merisi alamat penerima paket, bisa broadcast address atau multicast address. broadcast address atau multicast address.

  UDP Header Structure UDP Header Structure

  Struktur Header UDP Struktur Header UDP

    Header UDP header mempunyai panjang yang tetap yaitu 8 bytes, Header UDP header mempunyai panjang yang tetap yaitu 8 bytes, Terdiri dari 4 field : Son Port, Length field dam Checksum Terdiri dari 4 field : Son Port, Length field dam Checksum

    Source Port terdiri dari 2 yang mengidentifikasi Port pengirim y ang Source Port terdiri dari 2 yang mengidentifikasi Port pengirim y ang dipakai untuk mentransmisikan data. Source Port merupakan dipakai untuk mentransmisikan data. Source Port merupakan optional bisa diisi bisa tidak, jika tidak diisi diset 0. Misal pengirim optional bisa diisi bisa tidak, jika tidak diisi diset 0. Misal pengirim data video yang tidak butuh reply/pengiriman balik data video yang tidak butuh reply/pengiriman balik

    Destination Port, berisi Port tujuan yang dikirimi data. Gabunga Destination Port, berisi Port tujuan yang dikirimi data. Gabunga n n Destination IP dan Destination Port membentuk Socket.

  Destination IP dan Destination Port membentuk Socket.

    Length field mengindikasikan panjang Header UDP.

  Length field mengindikasikan panjang Header UDP.

    Checksum field, menyediakan integriti checker. Optional, jika di set 0 Checksum field, menyediakan integriti checker. Optional, jika di set 0 berarti tidak dipakai, Pengirim tidak melakukan proses perhitung an. berarti tidak dipakai, Pengirim tidak melakukan proses perhitung an.

  TCP Overview TCP Overview

  •   TCP merupakan protocol connection TCP merupakan protocol connection oriented, yang artinya data oriented, yang artinya data hanya bisa ditransmisikan setelah ada proses negosiasi terlebih

  hanya bisa ditransmisikan setelah ada proses negosiasi terlebih dahulu antara pengirim dan penerima dahulu antara pengirim dan penerima

   Negosiasi diantaranya berupa : Berapa data yang bisa dikirim dal am  Negosiasi diantaranya berupa : Berapa data yang bisa dikirim dal am satu waktu, nomor urut yang dipakai setiap pengiriman data dll. satu waktu, nomor urut yang dipakai setiap pengiriman data dll.

   TCP biasanya merupakan komunikasi fully duplex, yang artinya  TCP biasanya merupakan komunikasi fully duplex, yang artinya

  Setiap host yang berkomunikasi mempunyai dua chanel logical Setiap host yang berkomunikasi mempunyai dua chanel logical untuk mengirim dan menerima message untuk mengirim dan menerima message   TCP Menyediakan transmisi data yang reliable, dengan cara.

  TCP Menyediakan transmisi data yang reliable, dengan cara.

    Setiap paket data diberi sequence number, dan positive Setiap paket data diberi sequence number, dan positive acknowledgement oleh receiver is expected, jika tidak harus acknowledgement oleh receiver is expected, jika tidak harus retransmite data retransmite data

   Receiver akan membuang jika terjadi duplikasi data, dan  Receiver akan membuang jika terjadi duplikasi data, dan resequences packets jika kedatangan tidak urut resequences packets jika kedatangan tidak urut

  Flow Control Flow Control

   

  Selain itu, TCP mensupport Flow Control untuk Selain itu, TCP mensupport Flow Control untuk menghindari terlalu banyak data yang dikirim pada satu menghindari terlalu banyak data yang dikirim pada satu waktu dan overload pada jaringan router waktu dan overload pada jaringan router

   

  Flow Control artinya harus ada kesepakatan berada Flow Control artinya harus ada kesepakatan berada besar data yang dikirim dalam satu waktu antara besar data yang dikirim dalam satu waktu antara pengirim dan penerima. pengirim dan penerima.

   

  Flow Control mengindikasikan ukuran buffer penerima Flow Control mengindikasikan ukuran buffer penerima yang free yang bisa diisi dalam waktu tertentu yang free yang bisa diisi dalam waktu tertentu

  Struktur TCP Struktur TCP

  • – –

    Acknowledgement Number gterdiri dari 4 byte.

    Flags menentukan tipe informasi pada segment.

  0.

  Diikuti 6 bit reserve untuk penggunaan kedepan, diset Diikuti 6 bit reserve untuk penggunaan kedepan, diset 0.

   

  Data Offset mengindikasikan awal data. Ini berhubungan Data Offset mengindikasikan awal data. Ini berhubungan dengan ukuran TCP header. dengan ukuran TCP header.

   

  Berisi Sequence number berikutnya dari penerima Berisi Sequence number berikutnya dari penerima

   

  Acknowledgement Number gterdiri dari 4 byte.

  Ini digunakan ceking ketika semua byte telah diterima Ini digunakan ceking ketika semua byte telah diterima

  TCP Header TCP Header

   

  4 byte sequence Number yang berisi nomor urut 4 byte sequence Number yang berisi nomor urut transmisi data dalam satu segment transmisi data dalam satu segment

   

  Destination Port. Sama seperti UDP.

  masing untuk Source Port and the masing untuk Source Port and the Destination Port. Sama seperti UDP.

  2 byte masing 2 byte masing

   

  Sequence Number, Ack. Number, Data Offset, Reserver Sequence Number, Ack. Number, Data Offset, Reserver dan Flag. dan Flag.

  TCP header panjangnya bervariasi. Panjang minimal 20 TCP header panjangnya bervariasi. Panjang minimal 20 bytes. Terdiri dari 7 field : Source Port, Destination Port, bytes. Terdiri dari 7 field : Source Port, Destination Port,

   

  Flags menentukan tipe informasi pada segment.

  Flag Flag

  • oriented.

  Tiga tahap komunikasih dahulu Tiga tahap komunikasih dahulu connection set connection set

   

  connection release connection release

   

  data transfer data transfer

   

  up up

   

  Sebelum data ditransmisikan, koneksi yang Sebelum data ditransmisikan, koneksi yang dibuat bisa diset atau dirubah sesuai keadaan. dibuat bisa diset atau dirubah sesuai keadaan.

   

  oriented.

  TCP adalah Protocol connection

    TCP adalah Protocol connection

  Tahapan Komunikasi pada TCP Tahapan Komunikasi pada TCP

  Data yang ditransmisikan bisa dipakai untuk Data yang ditransmisikan bisa dipakai untuk tiga keadaan tadi tiga keadaan tadi

  Three Way Handshake Three Way Handshake

    Koneksi TCP diawali oleh prosedur yang biasa disebut dengan Koneksi TCP diawali oleh prosedur yang biasa disebut dengan

  • Three Way - Handshake. Tujuannya untuk melakukan sinkronisasi
  • Three Way Handshake. Tujuannya untuk melakukan sinkronisasi -

  antara pengirim dan penerima. Hal yang diinformasikan selama antara pengirim dan penerima. Hal yang diinformasikan selama Three Way Handshake adalah Jumlah data yang bisa ditransmisikan Three Way Handshake adalah Jumlah data yang bisa ditransmisikan dalam satu waktu, Sequence number yang dipakai. dalam satu waktu, Sequence number yang dipakai.

    Untuk setup koneksi, host melakukan session inisialisasi dengan Untuk setup koneksi, host melakukan session inisialisasi dengan menset flag syncronisasi ke 1. menset flag syncronisasi ke 1.

    Segment juga berisi sequence number yang mengindikasikan awal Segment juga berisi sequence number yang mengindikasikan awal byte yang ingin dikirim berikutnya. Juga berisi acknowledgement byte yang ingin dikirim berikutnya. Juga berisi acknowledgement yang terdiri dari sequence number berikutnya untuk menerima data . yang terdiri dari sequence number berikutnya untuk menerima data .

   Setelah Three Way Handshake dilakukan baru dianggap session  Setelah Three Way Handshake dilakukan baru dianggap session established, dan koneksi dua arah siap dilaksanakan established, dan koneksi dua arah siap dilaksanakan

  Three Way Handshake Three Way Handshake

  TCP: ----- TCP header ----- Packet 1: source: 130.57.20.10 dest.:130.57.20.1 TCP: Destination port = 524 TCP: Source port = 1026 TCP: Window = 8192 TCP: .... ..1. = SYN TCP: Next expected Seq number= 12953 TCP: Initial sequence number = 12952 Packet 2: source: 130.57.20.1 dest: 130.57.20.10 TCP: Maximum segment size = 1460 (TCP Option) TCP: Checksum = 1303 (correct) TCP: ----- TCP header ----- TCP: Initial sequence number = 2744080 TCP: Destination port = 1026 TCP: Source port = 524 TCP: Acknowledgment number = 12953 TCP: Next expected Seq number= 2744081

    Maksmum TCP: .... ..1. = SYN Maksmum ukuran TCP: Window = 32768 TCP: Checksum = D3B7 (correct) ukuran segment dan TCP: Maximum segment size = 1460 (TCP Option) segment dan ukuran TCP: ----- TCP header ----- Packet 3: source: 130.57.20.10 dest: 130.57.20.1 ukuran windows yang TCP: Source port = 1026 TCP: Destination port = 524 windows yang dinegosiasikan TCP: Sequence number = 12953 dinegosiasikan juga dikirim TCP: ...1 .... = Acknowledgment TCP: Acknowledgment number = 2744081 TCP: Next expected Seq number= 12953 juga dikirim TCP: Checksum = 493D (correct) TCP: Window = 8760

  PAR PAR  

  Setelah koneksi establishe, ini harus dimantain sampai Setelah koneksi establishe, ini harus dimantain sampai salah satu partner komunkasi ingin mengakhir salah satu partner komunkasi ingin mengakhir komunikasi. System Transfer Data didasarkan pada komunikasi. System Transfer Data didasarkan pada mekanisme PAR mekanisme PAR

  Positive Acknowledgement with Positive Acknowledgement with

  Retransmission. Yang artinya bahwa untuk kebenaran Retransmission. Yang artinya bahwa untuk kebenaran data yang diterima maka penerima data harus data yang diterima maka penerima data harus mengirimkan acknowledgement ke pengirim. mengirimkan acknowledgement ke pengirim.

   

  Untuk efisiensi, acknowledgements hanya berisi paket Untuk efisiensi, acknowledgements hanya berisi paket selanjutnya yang harus dikirim, tidak untuk setiap selanjutnya yang harus dikirim, tidak untuk setiap individu paket individu paket

  PAR PAR

  15 16 31 16-bit Source Port Number 16-bit Destination Port Number 32-bit Sequence Number 32 bit Acknowledgement Number 4-bit Header Length 6-bit (Reserved) U R G A C K P S H R S T S Y N F I N 16-bit Window Size 16-bit TCP Checksum 16-bit Urgent Pointer Options (if any) Data (if any)

   

  Paket mungkin didrop sepanjang jalan, time out atau rusak Paket mungkin didrop sepanjang jalan, time out atau rusak

   

  Jika misal 4 Jika misal 4

  , 5, , 5, dan 6 dan 6 dikirim, dikirim, tapi 5 tapi 5 lost, lost, receiver receiver hanya hanya akan memberi ack sampai 4 akan memberi ack sampai 4 , , mengirim ack 5. mengirim ack 5.

   

  Pengirim akan mengirim ulang paket 5 Pengirim akan mengirim ulang paket 5 dan menunggu dan menunggu untuk mendengar dari penerima paket mana yang untuk mendengar dari penerima paket mana yang selanjutnya dikirim selanjutnya dikirim

   

  Receiver mengirim Ack Receiver mengirim Ack

  7, 7, jadi pengirim tahu dapat jadi pengirim tahu dapat memulai lagi mengirim paket ke memulai lagi mengirim paket ke

  7 dan seterusnya 7 dan seterusnya

  TCP Header Sliding Window Sliding Window

   

  Untuk melakukan transmisi data penerima Untuk melakukan transmisi data penerima menyiapkan buffer, untuk mekanisme ini menyiapkan buffer, untuk mekanisme ini

  TCP menggunakan mekanisme sliding TCP menggunakan mekanisme sliding

windows. Setiap host mempunyai akses ke

windows. Setiap host mempunyai akses ke dua windows: satu mengirim data dan dua windows: satu mengirim data dan yang lain menerima data. Ukuran windows yang lain menerima data. Ukuran windows mengindikasikan jumlah buffer yang mengindikasikan jumlah buffer yang disiapkan untuk data disiapkan untuk data

  Sliding Window Sliding Window Contoh Penggunaaan Contoh Penggunaaan

  Transport Layer Transport Layer

  Source Port (unik) untuk mengidentifikasi setiap session sama, mempunyai . Destination port yang sama, tapi berbeda Pada setiap sessioan http antara client dan server yang Dest. Port = 80 Send benar sehingga pengembalian permintaan masuk ke sesi yang Dest. Port = 80 Send http to packets to web http to packets to web www.cisco.com server application www.cisco.com server application

  1030 80 1031 80 Ini menunjukkan contoh dua browser windows dengan URL yang sama. Ini menunjukkan contoh dua browser windows dengan URL yang sama.

  TCP/IP menggunakan source port numbers untuk pengembalian informasi TCP/IP menggunakan source port numbers untuk pengembalian informasi

  TCP or Connection State Source IP Destination IP UDP

  Destination Port Source Port www.google.com www.cisco.com netstat commandAktualnya , ketika kita membuka sebuah halaman html, maka session TCP  Aktualnya , ketika kita membuka sebuah halaman html, maka session TCP dibangun. dibangun.

   Jika membuka beberapa halaman web maka multiple koneksi TCP dibentuk,  Jika membuka beberapa halaman web maka multiple koneksi TCP dibentuk,

setiap koneksi di client akan membentuk port yang berbeda setiap koneksi di client akan membentuk port yang berbeda - - beda, dengan port beda, dengan port

tujuan sama. tujuan sama.

  Hubungan antara Aplikasi, Port dan Hubungan antara Aplikasi, Port dan

  Transport Layer Transport Layer

  16-bit Source Port Number 16-bit Destination Port Number TCP Header 15 16 31 32 bit Acknowledgement Number U A P R S F 32-bit Sequence Number 4-bit Header 6-bit Length (Reserved) 16-bit Window Size 16-bit TCP Checksum 16-bit Urgent Pointer G K H T N N R C S S Y I Options (if any) Data (if any)

    Keduanya TCP Keduanya TCP dan UDP dan UDP menggunakan Port menggunakan Port untuk meneruskan informasi ke layer diatasnya untuk meneruskan informasi ke layer diatasnya