Senin, 01 Agustus 2016

OSI Layer

Pada saat kita memulai langkah ke dalam ilmu jaringan komputer, hal yang pertama kali kita pelajari biasanya adalah TCP/IP. TCP/IP bisa di analogikan seperti bahasa. Ketika manusia bertukar informasi, manusia akan berbicara dengan bahasa yang bisa dimengerti oleh pembicara maupun pendengar. Begitu juga halnya dengan komputer atau host dalam sebuah jaringan. Agar komunikasi dan pertukaran informasi bisa terjalin dengan baik, dibutuhkan bahasa sama. Walaupun merek host jaringan tersebut berbeda - beda, host masih bisa berkomunikasi dengan host lain karena menggunakan standart komunikasi yang sama, yakni TCP/IP. Protokol internet pertama kali dirancang pada tahun 1980-an. Akan tetapi di tahun 1990-an dimana internet semakin populer dan host yang semakin banyak, mulai bemunculan protokol yang hanya bisa digunakan oleh kalangan tertentu, atau protokol yang dibuat oleh pabrik tertentu yang belum tentu kompatibel dengan protokol lain dari pabrik yang lain pula. Sehingga pada akhirnya badan International Standart Organization (ISO) membuat standarisasi protokol yang saat ini dikenal dengan protokol model Open System Interconnection atau disingkat OSI. Model OSI ini manjadi referensi dan konsep dasar teori tentang cara kerja sebuah protokol. Dalam perkembangannya TCP/IP digunakan sebagai standart de facto.

OSI Layer
Ketika ISO (International Standart Organization) membuat standarisasi protokol, maka terciptalah sebuah standar model referensi yang berisi cara kerja protokol. Model referensi yang kemudian disebut dengan Open System Interconnection (OSI). Berdasarkan dokumen rekomendasi X.200, standart OSI ini memiliki 7 layer. Tiap layer ini memiliki definisi fungsi yang berbeda. 
 

Layer 7 : Application Layer
Merupakan layer dimana terjadi interaksi antarmuka end user dengan aplikasi yang bekerja menggunakan fungsionalitas jaringan, melakukan pengaturan bagaimana aplikasi bekerja menggunakan resource jaringan, untuk kemudian memberika pesan ketika terjadi kesalahan. Beberapa service dan protokol yang berada di layer ini misalnya HTTP, FTP, SMTP, dll.

Layer 6 : Presentation Layer     
Layer ini bekerja dengan mentranslasikan format data yang hendak ditransmisikan oleh aplikasi melalui jaringan, ke dalam format yang bisa ditransmisikan oleh jaringan. Pada layer ini juga data akan di-enkripsi atau di-deskripsi.

Layer 5 : Session Layer
Session layer akan mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Di layer ini ada protocol Name Recognition,NFS & SMB.

Layer 4 : Transport Layer
Layer ini akan melakukan pemecahan data ke dalam paket-paket data serta memberikan nomor urut pada paket-paket data tersebut sehingga dapat disusun kembali  ketika sudah sampai pada sisi tujuan. Selain itu, pada layer ini, akan menentukan protokol yang akan digunakan untuk mentransmisi data, misalkan protokol TCP. Protokol ini akan mengirimkan paket data, sekaligus akan memastikan bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang atau rusak di tengah jalan.

Layer 3 : Network Layer 

Network layer akan membuat header untuk paket-paket yang berisi informasi IP, baik IP pengirim data maupun IP tujuan data. Pada kondisi tertentu, layer ini juga akan melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.

Layer 2 : Data-link Layer    
Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).

Layer 1 : Physical Layer
Layer Physcal berkerja dengan mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

Proses pengiriman data melewati tiap layer ini bisa kita analogikan seperti ketika kita mengirim surat. Isi surat adalah data yang akan kita kirim (layer 7 -> 5). Kemudian sesuai standart pengiriman, isi surat tersebut kita masukkan kedalam sebuah amplop (layer - 4). Agar surat kita bisa terkirim, kita perlu menambahkan alamat kemana surat tersebut akan dikirim, juga siapa pengirim surat tadi (layer - 3). Selanjutnya surat tersebut kita serahkan ke pihak ekspedisi, dan pihak ekspedisi yang nanti akan mengirimkan surat kita tadi (layer -  2&1).

Packet Header
Pada ulasan sebelumnya kita membahas bagaimana proses sebuah data ditransmisi, sekarang kita akan mencoba membongkar sebuah data. Apa isi sebiah data sehingga data tersebut bisa di transmisikan. ketika kita analogikan mengirim data di internet itu seperti mengirim POS, bisa dikatakan data adalah isi surat tersebut, kemudian paket header adalah amplop, perangko, alamat, dan kelengkapan lainnya. Paket header ini memberikan beberapa informasi tambahan. Jika kita bedah sebuah paket data yang ditrasnmisikan menggunakan ipv4, maka isi dari paket data tersebut bisa kita lihat seperti gambar berikut :



IPVer : Menyimpan informasi versi IP yang digunakan (IPv4 atau IPv6).
IHL (IP Header Leght) : Informasi panjang keseluruhan header paket data. Minimum panjang IP header adalah 20 bits, dan maximum panjang adalah 24 bits.
TOS : Adalah sebuah field dalam header IPv4 yang memiliki panjang 8 bit dan digunakan untuk menandakan jenis Quality of Service (QoS) yang digunakan oleh datagram yang bersangkutan untuk disampaikan ke router-router internetwork. Implementasi TOS ini biasanya saat kita melakukan limitasi HIT di web proxy mikrotik atau service VOIP.
16 Bit Total Length : Isian 16 bits ini memberikan informasi ukuran keseluruhan paket(fragment)termasuk header dan data. Informasi ditampilkan dalam format bytes
16 Bit Identification, Fragment Offset Flag/Length : Pada saat ip packet berjalan di internet, paket ini mungkin akan melewati beberapa router yang tidak bisa menghandle ukuran packet, misalnya nilai Maximum transmission unit (MTU) yang dimilikinya lebih kecil dibandingkan ukuran datagram IP, maka paket akan di pecah atau di fragmentasi menjadi paket - paket yang lebih kecil untuk kemudian akan disusun kembali setelahnya. Parameter ini yang akan digunakan untuk fragmentasi dan penyusunan kembali.
TTL : Ada kemungkinan sebuah IP packet berjalan tanpa tujuan di jaringan Internet. Contoh kasus misalnya adanya kesalahan routing atau routing loop. Agar paket ini tidak berputar-putar di jaringan internet selamanya, nilai TTL ini akan dikurangi setiap kali paket data melewati router. Ketika nilai TTL sebuah paket data sudah habis atau memiliki nilai 0, maka paket tersebut akan di drop atau dibuang.
Protocol : Berisi informasi protokol apa yang digunakan untuk melakukan transmisi data.
16 Bit Header Checksum : informasi nilai yang dihitung berdasarkan kalkulasi content IP header. Digunakan untuk menentukan apakah ada error pada saat dilakukannya transmissi data.
32 Bit Source IP Address : 32 bits informasi sumber IP paket data.
32 Bit Destination IP Address : 32 bits informasi IP yang dituju paket data.
Options (if any) : Parameter ini termasuk jarang digunakan, memiliki panjang yang bervariasi, dari 0 sampai kelipatan 32 bits. Parameter ini bisa digunakan untuk menyimpan sebuah nilai untuk opsi security, Record Route, Time Stamp, dll.
Data : Berisi data yang ditransmisikan.

Dari informasi paket header diatas, pada akhirnya sebuah data bisa dikirim dari satu host ke host yang lain. 

Pengikut