Beranda > Routing TCP/IP Volume 1 > Host-to-Host Layer

Host-to-Host Layer

Jika Internet Layer bertanggungjawab pada jalur logik antar network, host-to-host layer (sering disebut transport layer) bertanggungjawab pada jalur logik penuh antar network pada network yang berlainan. Dari sudut pandang lain, host-to-host layer adalah interface untuk layer lebih rendah pada protocol suite, membuat aplikasi bebas dari permasalahan bagaimana sebenarnya data mereka diantarkan.

TCP

Transmission Control Protocol, atau TCP, dideskripsikan dalam RFC 793, memberikan layanan yang handal, connection-oriented bagi aplikasi. Dengan kata lain, TCP menyediakan penampilan mirip koneksi point-to-point.

Koneksi Point-to-point memiliki ciri khas sebagai berikut :

  • Hanya memiliki satu jalur tujuan. Paket yang memasuki salah satu ujung jalur tidak akan hilang karena tidak ada tujuan lain selain ujung yang satunya lagi.
  • Paket datang secara terurut seperti saat dikirimkan.

TCP memberikan penampilan seperti koneksi point-to-point, meski kenyataanya koneksinya bukan point-to-point. TCP internet layer menggunakan servis yang connectionless, dan pengantaran data dengan usaha terbaik.

Internet layer tidak menjamin bahwa semua paket akan mengambil rute yang sama, karena itu tidak ada jaminan paket-paket yang dikirimkan tiba dengan urutan yang sama seperti saat dikirimkan, bahkan tidak menjamin bahwa paket tersebut pasti sampai pada tujuan.

Pada sisi lain, telepon adalah layanan connection-oriented. Data harus sampai berurutan dan dapat diandalkan. Seperti halnya telephon call, TCP harus menjalin koneksi terlebih dahulu, baru kemudian mentransfer data, dan akhirnya memutus koneksi setelah transfer data selesai.

TCP menggunakan 3 mekanisme dasar untuk memenuhi layanan connection-oriented :

  • Paket-paket diberi label dengan nomor urutan (sequence number) sehingga servis TCP pada penerima dapat menyusun paket kembali dengan urutan yang tepat seperti saat sebelum dikirimkan.
  • TCP menggunakan sistem ACK (acknowledgment),checksum, dan pengatur waktu untuk memberikan kehandalan. Penerima bisa memberitahu pengirim saat mengetahui ada paket yang belum datang atau terjadi error, atau pengirim bisa saja berasumsi bahwa paket yang dia kirimkan belum sampai ketujuan jika dalam rentang waktu tertentu penerima tidak memberikan acknowledgment. Pada kedua kasus tersebut, pengirim akan mengirim ulang paket tersebut.
  • TCP menggunakan mekanisme yang disebut windowing untuk meregulasi aliran paket; windowing mengurangi kemungkinan paket dibuang karena buffer penerima terlalu penuh.

TCP melampirkan header pada data application layer; header mengandung field-field untuk nomor urut (sequence number) dan informasi-informasi yang diperlukan untuk mekanisme ini, dan juga berisi field-field untuk address yang dinamakan port numbers (nomor port), yang mengidentifikasikan aplikasi sumber dan aplikasi tujuan dari data. Data aplikasi dengan lampiran TCP Headernya kemudian dibungkus/dienkapsulasi kedalam paket IP untuk pengiriman.

tcp-header-format

Source dan Destination Port adalah field 16-bit yang menentukan aplikasi sumber dan aplikasi tujuan data. Seperti angka-angka lain yang dipakai oleh TCP/IP RFC 1700 mendeskripsikan semua nomor port yang sering digunakan dan yang tidak. Port number untuk aplikasi ini, ketika dipasangkan dengan IP address dari host aplikasi, disebut sebagai socket. Socket secara unik mengidentifikasikan setiap aplikasi dalam network.

Sequence Number adalah angka 32-bit untuk menunjukkan letak/urutan dimana data yang sudah dienkapsulasi diletakkan dalam data stream dari pengirim. Misalnya, jika sequence number sebuah segment adalah 1343 dan segment terdiri dari 512 octet data, maka segment berikutnya seharusnya memiliki sequence number sebesar 1343 + 512 + 1 = 1856.

Acknowledgment Number adalah field 32-bit yang menunjukkan sequence number berikutnya yang pengirim tunggu dari penerima. Jika sebuah host menerima sebuah acknowledgment number yang tidak sesuai dengan sequence number berikutnya yang seharusnya ia kirim, maka host berasumsi bahwa paket ada yang hilang.

Header Length, kadang disebut Data Offset, adalah field 4-bit yang mengindikasikan panjang header dalam 32-bit words. Field ini diperlukan untuk mengenali permulaan suatu data karena panjang dari field options bervariasi.

Reserved, field 4-bit yang selalu di set 0.

Flags adalah delapan bit 1 yang digunakan untuk mengontrol aliran dan koneksi data. Flags dari kiri ke kanan adalah Congestion Window Reduced (CWR), ECN-Echo (ECE), Urgent (URG), Acknowledgment (ACK), Push (PSH), Reset (RST), Synchronize (SYN), dan Final (FIN).

Window Size adalah field 16-bit yang digunakan untuk mengontrol aliran data. Field ini menentukan jumlah oktet, dimulai dengan oktet yang diindikasikan oleh Acknowledgment Number, yang akan diterima oleh pengirim segment dari komputer seberang sebelum komputer pengirim berhenti mentransmisikan data dan menunggu acknowledgment.

Checksum berupa 16 bits, mencakup header dan data yang terenkapsulasi, memungkinkan untuk mendeteksi error.

Urgent Pointer adalah field yang digunakan hanya saat flag URG di set. Angka 16-bit akan ditambahkan pada sequence number untuk mengindikasikan berakhirnya data urgent.

Options, seperti namanya, menunjukkan pilihan yang dibutuhkan oleh proses TCP pengirim. Option yang paling sering digunakan adalah ukuran Maximum Segment, yang memberitahukan penerima ukuran segment terbesar yang pengirim sepakati. Field sisanya diisi dengan 0 untuk memastikan header length adalah kelipatan dari 32 octet.

UDP

User Datagram Protocol, didefinisikan dalam RFC 768, menyediakan layanan pengiriman connectionless. Kelihatannya mungkin perlu dipertanyakan jika ada aplikasi yang lebih memilih cara ini daripada TCP yang connection-oriented. Namun, Kelebihan UDP adalah UDP tidak memerlukan waktu untuk menjalin koneksi, data langsung saja dikirimkan. Aplikasi yang mengirimkan data pendek akan menyadari kelebihan kinerja UDP daripada TCP.

Gambar dibawah menunjukkan kelebihan lain dari UDP: header yang jauh lebih kecil daripada TCP. Field Source Port dan Destination Port adalah field yang sama seperti pada TCP header; UDP length menunjukkan panjang dari keseluruhan segment dalam octets. Checksum mencakup seluruh segment, tapi tidak seperti TCP, checksum disini optional; saat field checksum tidak digunakan, maka fieldnya di set menjadi 0 semua

udp-header-format

  1. Juni 4, 2012 pukul 3:41 pm

    🙂 terima kasih informasinya. sangat membantu… 🙂

  1. No trackbacks yet.

Tinggalkan komentar