Transport Layer Services
Candra Setiawan
Fakultas Ilmu Komputer Universitas Sriwijaya
Router dan Osi Model
Router mengontrol traffic pada Network Layer, router merupakan OSI Layer 3 Device. Router bisa mengontrol traffic flow dengan
menggunakan informasi yang terdapat pada Transport dan Session layer. Kita bisa
menggunakan telnet untuk mengakses router secara remote, sedangkan telnet merupakan fungsi yang terdapat layer 7 dari OSI Model.
Transport Layer Services
Kita bisa mendapatkan informasi dari
satu system ke system yang lain, dimana system terletak pada logical network
yang sama, sehingga akan
memunculkan suatu pertanyaan, “setelah kita mendapatkannya, sebenarnya
proses ini bisa terjadi?” dan Ini
merupakan peranan dari Transport layer
Transport Layer mengatur etik dari
komunikasi. Ia tidak cukup dimana kita bisa mendapatkan informasi ini dari satu sistem ke lainnya, kita juga harus
memastikan bahwa kedua sistem
beroperasi pada level yang sesuai/sama
Ada dua bentuk etik dari komunikasi:
Connection-Oriented Connectionless
Connection-Oriented Communication
Sebuah komunikasi connection-oriented saling bertukar informasi dalam
mengontrol pengiriman data, yang
disebut dengan handshake, sebelum mengirim data. Connection Oriented exchange juga memastikan data yang dikirim akan diterima pada destination.
Fungsi ini berhubungan dengan Tranport layer field, dimana direfer sebagai
sebuah flag pada IP atau sebagai
connection control field pada IPX. Hanya komunikasi connection Oriented yang
menggunakan field ini.
Ketika IP menjalankan Routing protocol, TCP digunakan untuk membuat
komunikasi connection oriented, IPX menggunakan SPX, dan Appletalk
menggunakan ATP dalam menyediakan fungsi ini.
Pada saat sesi komunikasi dimulai, application layer yang spesifik membutuhkan untuk
menggunakan connection oriented protocol.
Contohnya adalah Telnet, Telnet adalah
sebuah aplikasi, ketika telnet session dimulai, application layer akan me-request TCP
sebagai layanan transport untuk memastikan hubungan yang reliable. Kita akan melihat
bagaimana session ini dibangun untuk melihat kerja dari handshake.
The TCP Three-Packet Handshake
Di asumsikan kita ingin mentelnet system dengan nama thor.foobar.com, pada
station, kita ketik telnet thor.foobar.com untuk membangun sebuah remote
connection, request akan diteruskan ke transport layer, TCP dipilih untuk
menghubungkan dua system sehingga connection oriented bisa dibangun.
Transport layer akan mengatur synchronization (SYN) flag ke nilai 1 dan membiarkan flag lain pada nilai O. IP menggunakan multiple flag
fields dan menggunakan binary system untuk mengatur value-value ini. Ini maksudnya
bahwa possible value pada IP flag adalah hanya 1 dan O. IPX dan AT menggunakan hexadecimal value, dan pada bentuk frame mereka hanya berisi satu flag field. Sehingga satu field pada IPX dan AT bisa berisi lebih dari dua value.
Dengan mengatur SYN menjadi 1 dan field lain menjadi 0, kita akan memberi tahu system
penerima (thor.foobar.com) untuk mengetahui bahwa kita ingin membuat suatu
communication session baru dengan system tersebut. Request ini akan di passed down melalui OSI Layer, dilewatkan melalui kabel
menuju remote system, dan akan di up through melalui OSI layer pada thor.foobar.com.
Jika layanan telnet tersedia pada remote system, request ini akan di acknowledge dan dikirim balik menuju transport layer.
Transport layer akan mengatur SYN Flag menjadi 1 seperti yang dikirim oleh
system yang mentelnet, dan
acknowledgment (ACK) flag menjadi 1.
Sehingga memberi tahu system yang
akan mentelnet bahwa transmissionnya telah diterima dan dinyatakan OK untuk mengirimkan data. Request ini akan di passed down dan akan dikirim melalui kabel menuju system yang akan
mentelnet.
Sistem yang akan mentelnet kemudian mengatur SYN flag menjadi 0 dan ACK flag menjadi 1 dan mengirim frame ini kembali ke thor. Sehingga thor tahu
bahwa acknowledgenya telah diterima dan system yang mentelnet akan
mengirim data. Data kemudian ditransfer, setiap packet yang diterima maka akan memperoleh acknowledge
Connection Oriented Analogy
Contoh yang terbaik adalah pada saat kita menelpon kekasih anda ☺
Anda men-dial no telepon kekasih anda (SYN=1, ACK=0)
kekasih anda menjawab telepon dan mengatakan, “Hello” (SYN=1, ACK=1) Anda menjawab dengan mengatakan,
“Hello honey…ini Aa” (SYN=0, ACK=1)
Kemudian anda memulai proses komunikasi tentang rencana makan malam, setiap anda habis berbicara kekasih anda akan menjawab pembicaraan tersebut (ACK) sekaligus
memberi tahu bahwa ia mengerti apa yang anda bicarakan dan sekaligus juga
menandakan bahwa pembicaraan masih terus berlangsung dan belum diputus/hang-up.
Ketika percakapan selesai, maka anda berdua akan saling mengatakan
goodbye, dimana itu merupakan suatu handshake bahwa percakapan telah selesai dan menyatakan OK untuk mengakhiri pembicaraan/hang-up.
Connection Oriented menyediakan suatu session communication yang reliable.
Data tidak akan diteruskan menuju application layer bila ada frame yang tidak lengkap sampai retransmission
frame dilakukan dan frame dikirim ulang.
Connectionless Communication
Connectionless protocol tidak
membutuhkan sebuah handshake atau acknowledge untuk setiap pengiriman packet. Ketika kita menggunakan
connectionless transport, connectionless transport akan membuat usaha
terbaik/best effort untuk mengirim data dan itu juga tergantung pada kestabilan dari protocol yang membawanya.
IP’s User Datagram Protocol (UDP) dan IPX’s NetWare Core Protocol (NCP) adalah contoh dari connectioless transport. Kedua protocol tergantung pada connectionless
communication untuk mentransfer routing dan information server. Appletalk tidak
menggunakan connectionless communications untuk membuat data session, AppleTalk
menggunakan connectionless communication ketika mengumumkan server dengan Name Binding Protocol-nya
Connectionless Example
Contoh dari connectionless
communication, bisa kita lihat pada
Network File System (NFS) pada gambar dibawah ini. NFS adalah layanan untuk file sharing melalui IP, dimana
menggunakan UDP sebagai transport protocolnya. Seluruh acknowledgments terdapat pada form request dan berfungsi sebagai informasi tambahan.
Destination system berasumsi bahwa
packet terakhir telah diterima jika source system meminta information tambahan.
Dan jika Loki tidak menerima balasan dari Thor untuk informasi yang
dimintanya, NFS tetap me-request informasi lagi.
Connectionless tidak membutuhkan
sejumlah yang besar dari retranmisssion data, ini merupakan metode yang sangat efisien dari komunikasi karena tidak perlu menghasilkan acknowledgment yang
tidak diperlukan
No Size Source Destination Layer Summary
1 198 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call lookup ???/games.tar.gz
2 174 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Lookup for games.tar.gz
3 182 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call Get File Attributes for games.tar.gz
4 142 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Get File Attributes
5 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 0; 1024 bytes
6 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
7 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 1024; 1024 bytes
8 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
9 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 2048; 1024 bytes
10 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
11 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 3072; 1024 bytes
12 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
13 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 4096; 1024 bytes
14 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
15 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 5120; 1024 bytes
16 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
17 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 6144; 1024 bytes
18 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
19 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 7168; 1024 bytes
20 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
21 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 8192; 1024 bytes
22 1.170 THOR.FOOBAR.COM LOKI.FOOBAR.COM Nfs Reply Read From File; 1024 bytes
23 194 LOKI.FOOBAR.COM THOR.FOOBAR.COM Nfs Call read From File games.tar.gz;Offset 9216; 1024 bytes
A Connectionless Analogy
Analogy lain yang membedakan tipe
komunikasi ini dengan connection oriented adalah, anda menelpon kekasih anda untuk makan malam, dan ketika anda menelponnya, ternyata yang menjawab adalah mesin
penjawab, anda pun meninggalkan pesan,
tidak seperti contoh pada connection oriented dimana pacar anda menjawab telepon anda secara langsung, disini anda tergantung
dengan:
kemampuan anda dalam mendial nomor telpon yang benar
Mesin yang menyimpan pesan
Kegagalan dari listrik sehingga bisa menyebabkan kehilangan pesan yang disimpan pada mesin.
Rentang waktu kekasih anda akan mengambil pesan tersebut mulai dari waktu anda
meninggalkan pesan dan waktu untuk rencana makan malam
Seperti yang kita lihat, kita tidak
mempunyai konfirmasi yang nyata bahwa kekasih anda secara actual akan
menerima pesan tersebut.
Connection Oriented vs Connectionless
Sehingga timbul suatu pertanyaan, mana transport yang lebih baik? Jawabannya adalah tergantung dari Spesifik
Application Layer, Contoh adalah telnet, telnet menggunakan TCP, dan kita tidak bisa memaksakan telnet untuk
menggunakan UDP, karena system
penerima akan melakukan sebuah TCP handshake.
Ketika program untuk network dibuat, maka programmer akan memilih mana transport yang sesuai dengan
kebutuhannya. Banyak aplikasi sekarang yang menggunakan connection oriented transport, sehingga ada dua alasan untuk ini.
Alasan pertama menyangkut kondisi pada saat pembuatan program, telnet sejak lama
menggunakan TCP sebagai transport.
Memindahkannya untuk menggunakan UDP sekarang ini sesuatu yang memungkinkan
tetapi akan menyebabkan kekacauan karena system-system yang menggunakan telnet pun harus di-upgrade untuk menggunakan UDP.
Alasan lain adalah ketidakmengertian kapan sebuah connection oriented diperlukan
Summary
Pada materi ini kita telah membahas
basics dari network communication. Kita telah mendiskusikan prinsip dari
transmisi dan bagaimana informasi ditransfer dari satu system ke system lain. Kita juga telah mendiskusikan
bagaimana OSI membuat simple dari
suatu system komunikasi yang complex
Pada materi lanjutan kita akan
membahas tentang logical topologies, kita akan melihat option apa yang
tersedia pada LAN dan WAN, dan
bagaimana memilih topologi yang benar sesuai dengan yang kita butuhkan.