Rahmady Liyantanto
[email protected] liyantanto.wordpress.com
Komunikasi Data D3 Manajemen Informatika Universitas Trunojoyo
¡
Sebelum TCP/IP digunakan sebagai standart untuk komunikasi data, OSI (Open System Interconnection) lebih dulu digunakan dan dikembangkan walaupun pada saat yang bersamaan TCP/IP sudah mulai diteliti dan dikembangkan.
¡
Arsitektur TCP/IP sendiri mulai diteliti dan dikembangkan oleh Departemen Pertahanan Amerika Serikat (US Department of Defense) pada tahun 1973. Proyek penelitian ini muncul dikarenakan adanya maksud untuk menghubungkan sejumlah networks yang berbeda yang mana networks tersebut dibangun oleh beberapa vendor yang berbeda kedalam suatu jaringan yang berada pada jaringan yang lebih banyak dan luas (network of networks/internet).
¡
Kemudian, pada tahun 1977 diadakan suatu pengujian terhadap arsitektur TCP/IP. Selanjutnya, pada tahun 1983, TCP/IP menjadi protokol resmi untuk ARPANET dan kemudian protokol TCP/IP begitu mendominasi dan menjadi protokol yang paling populer dan banyak digunakan sebagai standart untuk komunikasi data.
4
¡
Internet Protocol (IP) adalah network layer (Layer 3) protocol yang membawa informasi alamat dan kontrol informasi kemana saja data di bawa.
¡
Transmission Control Protocol (TCP) menjamin kehandalan transmisi data pada Internet Protocol (IP)
¡
TCP berada pada transport layer (Layer 4) Open Systems Interconnection (OSI) reference model.
¡ ¡ ¡ ¡ ¡
Connection-oriented reliable byte stream TCP connection management TCP flow control TCP congestion control TCP error control
6
¡
¡ ¡
Flow Control :
Algoritma utk mencegah pengirim ‘membanjiri’ (overrun) penerima dg informasi Congestion Control : Algoritma utk mencegah pengirim membuat overload jaringan Error Control : Algoritma utk recovery atau ‘menghilangkan’ efek dari kehilangan paket
7
¡
TCP = Transmission Control protocol § Connection-oriented protocol § Menyediakan unicast reliable end-to-end byte stream melalui
unreliable internetwork
8
Sebelum transfer data, TCP membangun suatu koneksi § Satu entitas TCP menunggu untuk koneksi (server) § Entitas TCP lain (client) mengkontak server ¡ Prosedur aktual untuk set-up koneksi lebih kompleks ¡ Tiap koneksi adalah full duplex ¡
9
¡
Byte stream dipecah kedlm potongan-potongan disebut segment § Penerima mengirimkan acknowledgment utk segment § TCP menjaga suatu timer. Jika Ack tdk diterima dlm waktu
timeout segment diretransmisikan
¡
Deteksi Error
§ TCP mempunyai checksum utk header dan data. Segment dg
invalid checksum dibuang § Tiap byte yg ditransmisikan mempunyai nomor sequence
10
¡ ¡
Ke layer yg lebih rendah, TCP menyerahkan data dlm blok, segment Ke layer yg lebih tinggi, TCP menyerahkan data sbg deretan byte dan tdk mengidentifikasi batas antar byte
11
¡
Connection-oriented transport protocol § menyediakan transport dari source port ke destination port
¡ ¡
Beroperasi diatas IP Stream-oriented (sebagai lawan dari message-oriented) § deretan byte data diterima dari sending application bersama-sama
dengan informasi untuk header § TCP men-segmentasi deretan data dan menambahkan header ▪ secara umum TCP menentukan kapan untuk mengakhiri segmen dan transmit ▪ user dapat memaksa segmentasi dan transport via push function § process sebaliknya terjadi pada TCP process di penerima
12
Application
Application byte stream
byte stream
segments Transmitter
Receiver Receive buffer
Send buffer ACKs
13
Data
TCP 20 bytes of TCP header Header
20 bytes of IP header
IP Heade r
14
¡
Segment TCP memp. header 20 byte dg byte data ³ 0
15
¡
Options
16
Source port mengindikasikan source TCP user Destination port mengindikasikan receiving TCP user Sequence number menunjukan posisi pada byte data pertama dari segmen (byte-counter untuk koneksi) ¡ Acknowledgement number ack secara piggybacking menunjukan byte data berikutnya yang diharapkan ¡ Data offset menunjukan panjang header dalam 32-bit words ¡ ¡ ¡
17
¡
Flags § URG flag digunakan untuk menginformasikan TCP user tujuan data urgent datang § PSH (push) flag mengindikasikan source user meminta segmentasi pada akhir penyerahan data saat ini dan transmisi semua segment pada buffer pengirim (sampai dengan termasuk segment saat ini) ▪ juga memaksa receiving TCP process untuk secara segera meneruskan segment saat ini dan juga yang lainnya pada buffer penerima ke user tujuan
18
¡
Checksum § diaplikasikan ke seluruh segment dan ‘pseudoheader’ ▪ pseudoheader mencakup beberapa field dari IP header: source dan destination IP address, protocol, segment length ▪ memberikan proteksi terhadap kesalahan pengiriman oleh IP--mis., corruption of destination IP address
0
8
16
31
Source IP address Destination IP address 00000000
Protocol=6
TCP segment length
19
¡ ¡ ¡ ¡
TCP mengimplementasikan sliding window flow control Acknowledgment terpisah dari setting ukuran window di pengirim Acknowledgment tdk secara otomatis menaikan ukuran window Acknowledgment adalah akumulatif
20
¡
Penerima mengembalikan dua parameter ke pengirim
Interpreatsi adalah: § Saya siap menerima data baru dg SeqNo = AckNo, AckNo+1, ….., AckNo+win-1 ¡ Penerima dp meng-Ack data tanpa membuka window ¡ Penerima dp mengubah ukuran window tanpa meng-Ack data ¡
21
22
TCP mengimplementasikan varian dari skim retransmisi Go-Back-N TCP menjaga Retransmission Timer utk tiap koneksi: § Timer dimulai saat transmisi. Timeout menyebabkan retransmisi ¡ TCP menggandengkan error control dan congestion control (yaitu dg mengasumsikan error disebabkan oleh congestion) ¡ TCP memungkinlan accelerated retransmission (Fast Retransmit) ¡ ¡
23
¡
Retransmission Timer § Setting Retransmission Timer sangat penting utk efisiensi § Timeout terlalu kecil ® Menyebabkan retransmisi yg tdk perlu § Timeout terlalu besar ® Menunggu cukup lama sebelum suatu
retransmisi dp dilakukan § Masalahnya delay dlm jaringan tidak tetap § Karenanya Retransmission Timer harus adaptive
24
Mekanisme retransmisi TCP adaptive ¡ Retransmission timer di-set berdasarkan pengukuran round trip time (RTT) yg dilakukan TCP ¡
RTT didasarkan pd perbedaan waktu antara transmisi segment dan Ack Tetapi: TCP tdk meng-Ack tiap segment Tiap koneksi hanya punya satu timer 25
¡ ¡ ¡
Retransmission timer di-set ke harga Retransmission Timeout (RTO) RTO dikalkulasi berdasarkan pengukuran RTT Pengukuran RTT di-’haluskan’ dg estimator srtt dan rttvar :
Gain di-set ke a = 1/4 dan b = 1/8 ¡ srtt0 = 0 det, rttvar0 = 3 det, juga RTO1 = srtt1 + 2rttvar2 ¡
26
¡
Jika Ack utk segment yg diretranmisi tiba, pengirim tdk tahu apakah Ack utk yg original atau retransmisi Algoritma Karn: Jangan update srtt pd segment yg telah diretransmisi. Tiap saat TCP retransmit, diset
27
¡ ¡
IP address adalah sumber daya yang terbatas Perlu dihemat dengan alokasi yang jelas dan terencana
32 bit, 4 blok (1 blok = 8 bit), tiap blok dipisahkan dengan “.” (dot) ¡ Ilustrasi : xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ¡
X adalah 0 atau 1 (biner)
¡
Contoh IP
§ Biner : 11000000.10101000.10.1 § Decimal : 192.168.2.1
¡
IP : alamat host § 192.168.2.1
¡
Netmask : pembatas network § 255.255.255.0
¡
Broadcast : alamat network § 192.168.2.255
¡ ¡ ¡
IP : 192.168.2.1 Netmask : 255.255.255.0 Broadcast : 192.168.2.255
¡ ¡
Biasa juga ditulis 192.168.2.0/24 “24” berasal dari jlh bit netmask : Ø 11111111.11111111.11111111.00000000
Karakteristik
Kelas A
Kelas B
Kelas C
Bit pertama
0
10
110
Panjang NetID
8 bit
16 bit
24 bit
Panjang HostID 24 bit
16 bit
8 bit
Byte pertama
128 – 191
192 – 223
0 – 127
Jumlah network 126 kelas A (0 dan 16.384 kelas B 127 dicadangkan) Jumlah host IP
2.097.152 kelas C
16.777.214 IP address 65.532 IP address 254 IP address pada pada tiap kelas A pada tiap kelas B tiap kelas C
Karakteristik
Kelas D
Kelas E
4 Bit pertama
1110
1111
Bit multicast
28 bit
-
Byte Inisial
224 – 247
248 – 255
Bit cadangan
-
28 bit
Jumlah
268.435.455 kelas D
268.435.455 kelas E
Deskripsi
Digunakan untuk multicast
dicadangkan utk keperluan eksperimental