transport layer udptcp

Post on 28-Jan-2015

142 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

ET5044 – T2N – Telematics Lab. ITB

1

TRANSPORT LAYERTRANSPORT LAYERUDPUDPTCPTCP

ET5044 – T2N – Telematics Lab. ITB

2

• Transport layer menyediakan logical

communication antara proses aplikasi yang berjalan pada host yang berbeda

• Protokol transport berjalan di ultimate sender dan ultimate receiver

• Perbedaan antara transport dan network layer :– network layer: data transfer between

end systems

– transport layer: data transfer between processes

• relies on, enhances, network layer services

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

ET5044 – T2N – Telematics Lab. ITB

3

ET5044 – T2N – Telematics Lab. ITB

4

Transport Layer Protocol• User Datagram Protocol (UDP) : unreliable (“best-effort”),

unordered unicast or multicast delivery• Transmission Control Protocol (TCP) : reliable, in-order unicast

delivery– congestion control– flow control– connection setup

• Layer transport tidak menyediakan layanan : – real-time– bandwidth guarantees– reliable multicast

• Proses-proses aplikasi yang berjalan di suatu host, diidentifikasi oleh port

ET5044 – T2N – Telematics Lab. ITB

5

Multiplexing/Demultiplexing• Demultiplexing: Proses memberikan segment yang

diterima ke proses aplikasi yang sesuai– Iingat : segment adalah protocol data unit (PDU) yang

dipertukarkan antar layer transport

applicationtransportnetwork

MP2

applicationtransportnetwork

receiver

HtHnsegment

segment Mapplicationtransportnetwork

P1M

M MP3 P4

segmentheader

application-layerdata

ET5044 – T2N – Telematics Lab. ITB

6

• Multiplexing : mengumpulkan data dari beberapa proses aplikasi lalu membungkusnya (enveloping) dengan menambahkan header (yang nanti akan digunakan pada proses demultiplexing)

• Multiplexing/demultiplexing dilakukan berdasarkan nomor port pengirim dan penerima, serta IP address– Nomor port dari source dan destination dalam setiap

segment

ET5044 – T2N – Telematics Lab. ITB

7

User Datagram Protocol (UDP)• Connectionless, unreliable delivery service menggunakan

protokol IP sebagai pengangkut message• Tidak ada pengiriman acknowledgments (ACKs)• Aplikasi yang menggunakan UDP harus mampu menangani

seluruh masalah yang muncul untuk menjamin transfer data yang andal. Masalah yang harus dihadapi:– Duplicate messages– Lost messages– Delayed and Out-of-Order delivery

• UDP bagus untuk delay-sensitive traffic seperti video dan voice

ET5044 – T2N – Telematics Lab. ITB

8

Nomor Port

ET5044 – T2N – Telematics Lab. ITB

9

ET5044 – T2N – Telematics Lab. ITB

10

Alokasi nomor port

ET5044 – T2N – Telematics Lab. ITB

11

• Well Known Ports (0-1023) di-assigned oleh IANA dan sebagian besar sistem dan hanya digunakan oleh proses sistem (atau root) atau oleh program yang dijalankan oleh privileged users

• Registered Port Numbers (1024-49151) : ada di dalam daftar IANA dan sebagian besar sistem dan dapat digunakan oleh proses user atau program biasa

• Nomor port ini digunakan juga oleh TCP• Lebih lengkap dapat dilihat di :

http://www.iana.org/assignments/port-numbers

ET5044 – T2N – Telematics Lab. ITB

12

Socket Address

ET5044 – T2N – Telematics Lab. ITB

13

Format message UDP• UDP messages (disebut user datagrams) memiliki dua

bagian yang berbeda yaitu :– UDP Headers– UDP Data area

• Header selalu berukuran tetap yaitu 4 octets, yang antara lain berisi informasi port dari source dan destination0 16 31

UDP SOURCE PORT UDP DESTINATION PORT

UDP MESSAGE LENGTH UDP CHECKSUM

DATA

. . .

ET5044 – T2N – Telematics Lab. ITB

14

• SOURCE PORT (16-bits):– Optional; bila tidak digunakan harus berisi nol– Bila digunakan, berisi UDP protocol port number yang menyatakan kemana

jawaban harus ditujukan• DESTINATION PORT (16-bits):

– Nomor port yang diperlukan untuk proses demultiplexing• MESSAGE LENGTH (16-bits):

– Panjang message yang dinyatakan dalam oktet (meliputi header dan data).• Panjang Minimum = 8 (hanya header).

• CHECKSUM (16-bits):– Optional; diset 0 bila tidak digunakan (bisa dibuat nol bila pengiriman

message dilakukan pada LAN (reliable network))– Karena IP tidak menghitung checksum untuk bagian data, maka checksum

untuk UDP perlu dihitung

ET5044 – T2N – Telematics Lab. ITB

15

UDP Pseudo-Header• Digunakan untuk keperluan verifikasi bahwa datagram UDP telah

sampai ke tujuan yang benar – Header UDP hanya menggunakan nomor port, jadi mesin penerima tidak

bisa memverifikasi apakah UDP datagram yang diterima betul-betul ditujukan untuknya (perlu informasi IP address)

• Checksum dihitung setelah terlebih dahulu menambahkan pseudo-header, dan padding(jika diperlukan) . Perhitungan cheksum meliputi pseudo-header, UDP-header, dan data area– Pseudo-header dan padding sendiri tidak ikut dikirimkan (jadi hanya untuk

keperluan perhitungan checksum

• Format UDP Pseudo-header :0 168 31

PADDING PROTOCOL UDP LENGTH

DESTINATION IP ADDRESS

SOURCE IP ADDRESS

ET5044 – T2N – Telematics Lab. ITB

16

• Source IP address (4-octets).• Destination IP address (4-octets).• Padding field filled with zeros (1-octet).• Protocol Type (1-octet), UDP = 17• UDP Length (2-octets)

• Length of the UDP datagram without the pseudo-header

ET5044 – T2N – Telematics Lab. ITB

17

Format datagram UDP yang dilengkapi pseudo-header

ET5044 – T2N – Telematics Lab. ITB

18

• Proses verifikasi yang dilakukan penerima :– Meng-ekstrak Source IP address, Destination IP

address, dan Protocol Type dari datagram IP– Membuat pseudo header dan padding (jika

diperlukan)– Menghitung checksum yang mencakup keseluruhan

pseudo-header, UDP-header, dan data area

ET5044 – T2N – Telematics Lab. ITB

19

UDP encapsulation & decapsulation

ET5044 – T2N – Telematics Lab. ITB

20

Transmission Control Protocol(TCP)

ET5044 – T2N – Telematics Lab. ITB

21

• TCP adalah suatu protokol transport yang independent, general purpose, dan menyediakan reliable-delivery– Independent dan general purpose : tidak terbatas

untuk TCP/IP protocol suite, melainkan bisa digunakan oleh sistem lain

ET5044 – T2N – Telematics Lab. ITB

22

Properties of Reliable Delivery Service• Interface antara program aplikasi dengan TCP/IP

reliable delivery dapat dikarakteristikan oleh 5 faktor :– Stream Orientation - data is considered as a bitstream

divided into bytes– Buffered Transfer – mekanisme transport mem- buffer data

aplikasi sampai suatu saat ukuran datagram yang cukup besar tercapai, lalu menggunakan mekanisme PUSH untuk transfer data

– Virtual Circuit Connection – aplikasi melihat layanan transport yang disediakan sebagai suatu dedicated hardware circuit

– Unstructured Stream – aplikasi harus mengerti isi dari stream– Full-Duplex Connection – transmisi dua arah pada saat yang

bersamaan; tetapi bisa juga half-duplex

ET5044 – T2N – Telematics Lab. ITB

23

Providing Reliability

• Mengirimkan positive acknowledgments (ACKs) bersamaan dengan retransmisi adalah tekni dasar untuk menyediakan reliable transfer

• Sebuah timer dijalankan pada saat transmisi dilakukan dan jika timer expires maka message dikirimkan ulang

ET5044 – T2N – Telematics Lab. ITB

24

Events AtSender Site

Network Messages Events AtReceiver Site

Send Packet 1

Receive ACK 1Send Packet 2

Receive ACK 2

Receive Packet 1Send ACK 1

Receive Packet 2Send ACK 2

ET5044 – T2N – Telematics Lab. ITB

25

• Untuk mencegah kebingungan (confusion) bila ada ACK yang terdelay atau terduplikasi, positive ACK menggunakan nomor urut ACK untuk meng-acknowledge setiap paket yang diterima

• Nomor urut ini bisa unique untuk masing-masing pihak dan dibentuk pada saat connection setup

ET5044 – T2N – Telematics Lab. ITB

26

Send Packet 1Start Timer

Retransmit Packet 1Start Timer

Receive ACK 1Cancel Timer

Receive Packet 1Send ACK 1

Packet should arriveACK should be sentACK would normally

arrive at this time

Timer Expires

Packet lost

Events AtSender Site

Network Messages Events AtReceiver Site

ET5044 – T2N – Telematics Lab. ITB

27

Skema Retransmisi

• Stop and Wait protocols (pada contoh sebelumnya) : tidak efisien

• Go-Back-N protocols : semua paket dikirim ulang bila ada satu paket yang salah

• Selective Retransmission protocols : hanya mengirim ulang paket yang salah menggunakan ACKs dan NAKs (ini yang digunakan TCP)

ET5044 – T2N – Telematics Lab. ITB

28

Sliding Window Protocol• Digunakan pada TCP agar stream transmisi efisien

– Memungkinkan pengiriman lebih dari satu paket sekaligus tanpa harus menunggu ACK dulu

• Dapat merekam jumlah paket yang sudah di-acknowledged maupun yang belum di-acknowledged

• Seluruh paket yang jumlahnya sesuai dengan ukuran window akan dikirimkan sekaligus sehingga ukuran window akan mengecil; ukuran window akan membesar bila sudah diterima ACK

• Kinerja sliding window dipengaruhi ukuran window dan kecepatan proses paket di tujuan

ET5044 – T2N – Telematics Lab. ITB

29

Tiga macam kondisi paket dalam protokol sliding window

SuccessfullyTransmitted(received and

acknowledged)

BeingTransmitted

Not YetTransmitted

ET5044 – T2N – Telematics Lab. ITB

30

Events AtSender Site Network Messages

Events AtReceiver Site

Send Packet 1

Receive ACK 1

Receive ACK 2

Receive Packet 1Send ACK 1

Receive Packet 2Send ACK 2

Send Packet 2

Send Packet 3

Receive ACK 3

Receive Packet 3Send ACK 3

ET5044 – T2N – Telematics Lab. ITB

31

ET5044 – T2N – Telematics Lab. ITB

32

ET5044 – T2N – Telematics Lab. ITB

33

Sliding window with pointer

ET5044 – T2N – Telematics Lab. ITB

34

Window management

ET5044 – T2N – Telematics Lab. ITB

35

Corrupted segments

ET5044 – T2N – Telematics Lab. ITB

36

Lost segment

ET5044 – T2N – Telematics Lab. ITB

37

Lost acknowledgment

ET5044 – T2N – Telematics Lab. ITB

38

TCP mendefinisikan :• Format data dan acknowledgments.• Prosedur bagi host untuk menjamin transmisi

yang reliable• Pembentukan dan pemutusan koneksi• Cara membedakan bermacam tujuan di dalam

suatu mesin tertentu

ET5044 – T2N – Telematics Lab. ITB

39

Connections, Ports, dan Endpoints• Tidak seperti UDP, TCP menggunakan port untuk

menghubungi satu buah objek dengan cara tertentu• TCP menggunakan “koneksi” sebagai abstraksi

fundamental• Koneksi diidentifikasi oleh sepasang endpoints• Endpoints terdiri dari sepasang integer dari (HOST,

PORT), dimana:– HOST adalah IP address dari host– PORT adalah port protokol TCP pada host tersebut

ET5044 – T2N – Telematics Lab. ITB

40

Connections, Ports, dan Endpoints (cont)

• Contoh:– MIT (18.26.0.36, 1069) to– Purdue (128.10.2.3, 25)– CMU (128.2.254.139, 1184) to– Purdue (128.10.2.3, 25)

• Nomor port TCP dapat digunakan secara bersama oleh sejumlah koneksi di dalam suatu mesin yang sama karena setiap koneksi dinyatakan oleh sepasang end points

ET5044 – T2N – Telematics Lab. ITB

41

Passive dan Active Opens• Passive Open – fungsi yang dilakukan oleh program

aplikasi untuk memberi tahu sistem operasi bahwa dia dapat menerima koneksi

• Active Open - fungsi yang dilakukan oleh program aplikasi untuk memberi tahu sistem operasi bahwa dia ingin melakukan koneksi

• Unit pengiriman pada TCP adalah segment• Idealnya, setiap segment dikirimkan menggunakan satu

buah IP datagram• TCP menggunakan suatu bentuk sliding window untuk

menjamin efisiensi transmisi dan menangani flow control• TCP beroperasi pada level oktet dan menggunakan tiga

pointer untuk setiap koneksi

ET5044 – T2N – Telematics Lab. ITB

42

Sent and

ACKed

Sent & Not

Yet ACKed

To be Sent Not Yet

Generated

(waiting for

window slide)

Pointers

ET5044 – T2N – Telematics Lab. ITB

43

Window advertisement

• Disertakan dalam setiap ACK, menyatakan jumlah byte yang masih dapat dan siap diterima oleh penerima

• TCP menggunakan window advertisement untuk melakukan end-to-end flow control, tetapi tidak dapat secara eksplisit mengatasi kongesti

ET5044 – T2N – Telematics Lab. ITB

44

Format segmen TCP

Details later……

ET5044 – T2N – Telematics Lab. ITB

45

Adaptive Retransmission

• TCP mengakomodasi delay pada internet yang bervariasi dengan menggunakan adaptive retransmission algorithm yang memantau kinerja koneksi dan menyesuaikan timer

• Sample Round Trip Time:– Dihitung dari selang waktu antara pengiriman

segmen sampai diperoleh ACK

ET5044 – T2N – Telematics Lab. ITB

46

Congestion Control

•Next Time

ET5044 – T2N – Telematics Lab. ITB

47

Pembentukan koneksi TCP• TCP menggunakan three-way handshake untuk

membentuk dan memutuskan koneksi(menggunakan ACKs dan piggybacking)

• SYN:– Bit-bit Synchronization dikirimkan dalam segments 1

dan 2 dari handshake• ACK:

– Bit-bit Acknowledgment dikirimkan dalam segments 2 dan 3 dari handshake

ET5044 – T2N – Telematics Lab. ITB

48

Events At Site 1A

Network Messages Events At Site 2B

• SendSYN seq=x

• ReceiveSYNACK segment

• Send ACK y+1

• Receive SYN segment• Send

SYN seq=y,ACK x+1

• Receive ACK segment

ET5044 – T2N – Telematics Lab. ITB

49

• A sends: (SYN, seq. # octet X)• B records: (sequence # octet X)

• B sends: (SYN, ACK X+1, seq. # octet Y)

• A records: (sequence # octet Y)

• A sends: (ACK Y+1)• B receives: (ACK Y+1)

ET5044 – T2N – Telematics Lab. ITB

50

ET5044 – T2N – Telematics Lab. ITB

51

• Koneksi full-duplex dapat dibentuk dalam beberapa macam urutan:– Passive wait (A), Active initiate (B).– Active initiate (A), Passive wait (B).– Simultaneous active initiation (A & B).

• TCP mengabaikan request tambahan untuk koneksi yang sama yang sudah dibentuk

ET5044 – T2N – Telematics Lab. ITB

52

Menutup koneksi TCP• TCP menggunakan modified three-way handshake (four-way

handshaking) untuk menutup koneksi secara halus• Setelah mengirimkan data yang tersisa, salah satu pihak akan

mencoba menutup setengah koneksi dengan mengirimkan segmen dengan bit FIN diset

• FIN di-acknowledged dan koneksi diputus setengah (menunggu pemutusan dari pihak lain)

• FIN pertama hanya di-acknowledged• FIN kedua dikirimkan bersama redundant ACK untuk FIN pertama• Mesin yang pertama memutuskan koneksi akan mengirimkan

ACK terakhir yang memutuskan koneksi

ET5044 – T2N – Telematics Lab. ITB

53

(application closes connection)

• Send FIN seq=x

•ReceiveACK segment

• ReceiveFINACK segment

• Send ACK y + 1

• Receive FIN segment(inform application)• Send ACK x + 1

• Receive ACK segment

(app. closes connection)• Send

FIN seq=yACK x +1

Events At Site 1A

Network Messages Events At Site 2B

ET5044 – T2N – Telematics Lab. ITB

54

ET5044 – T2N – Telematics Lab. ITB

55

TCP connection reset

• Jika sebuah segment dikirimkan dengan field CODE yang bit RST dio-set (initiating a connection termination):– Pihak lain akan segera membatalkan koneksi

• An instantaneous abort frees all buffer space allocated for that connection and ceases the full-duplex communication.

ET5044 – T2N – Telematics Lab. ITB

56

Memaksa pengiriman dengan PUSH

• Push (PSH bit)– Dikirimkan pada segmen yang memerlukan

pengiriman segera– Contoh kasus : interactive users (keystroke: usually

used after each one).– Cara untuk segera mengirimkan informasi tanpa

harus disimpan di buffer

ET5044 – T2N – Telematics Lab. ITB

57

Reserved Port Numbers

• Ports less than 256 (integer number) are used for well-known ports.

• Usually ports less than 1023 are used, but only ports less than 256 are standard.

• Meskipun port UDP dan TCP independent satu sama lain, nomor port yang sama dapat digunakan untuk mengakses layanan yang tersedia bagi kedua protokol

ET5044 – T2N – Telematics Lab. ITB

58

• Port number assignment dapat dilihat di : http://www.iana.org/assignments/port-numbers

top related