Rahmady Liyantanto liyantanto88@gmail.com 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 byte stream Application byte stream segments Transmitter Send buffer Receiver Receive buffer ACKs 13
Data 20 bytes of TCP header TCP 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 srtt 0 = 0 det, rttvar 0 = 3 det, juga RTO 1 = srtt 1 + 2rttvar 2 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 0 127 128 191 192 223 Jumlah network 126 kelas A (0 dan 127 dicadangkan) 16.384 kelas B 2.097.152 kelas C Jumlah host IP 16.777.214 IP address pada tiap kelas A 65.532 IP address pada tiap kelas B 254 IP address pada 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