fathurhoho.id
Fathur Rizki Saragih

Basic IP Routing Concepts and Configuration

By
IP Routing adalah perpindahan paket dari sebuah network ke network yang lainnya dan dilakukan oleh perangkat Layer 3.
Perangkat layer 3 disini adalah router, atau switch dengan kemampuan layer 3 (Multilayer Switch - MLS).
Jika berbicara tentang layer 3, anggap saja itu mengacu kepada router.

Dengan kata lain, perangkat jaringan komputer akan meminta bantuan router untuk mengirimkan paket ke jaringan yang lainnya.
Jika alamat tujuan paket tersebut terhubung langsung (directly connected) dengan router, maka paket bisa langsung dikirim.
Jika tidak, kita harus mengkonfigurasi routing agar alamat-alamat tersebut dapat terdaftar di tabel routing.

Konfigurasi routing bisa dilakukan dengan menggunakan routing protocol static atau dynamic.




Oh iya, kita perlu paham perbedaan antara routing protocol dengan routed protocol.
  • Routing protocol adalah sebuah protocol yang bertugas untuk menentukan jalur terbaik mencapai alamat tujuan, contoh yang sering dipakai adalah Static Route, EIGRP, RIP, OSPF.
  • Sedangkan routed protocol adalah sebuah protocol yang mendefinisikan paket yang nantinya bisa di routing oleh routing protocol diatas.

Konsep Dasar IP Routing

Saya asumsikan kamu sudah memahami tentang: IP Address, dan subnetting. Karena jika tidak, mustahil kamu dapat memahami IP routing.
Paling tidak kamu paham ketika saya menuliskan 192.168.10.0/24, 255.255.255.252, 172.16.20.13, dan seterusnya.
Sehingga..
jika sudah paham subnetting. Kita akan mudah memahami,
Default gateway, sebuah gerbang yang berfungsi sebagai alamat transit, bertugas untuk mengirimkan packet ke tujuan, atau mengirimkannya ke transit-transit yang lain.

Baiklah, berikut topologi yang akan kita gunakan.
IP Routing Process
Basic IP Routing Concepts and Configuration
Saya sarankan untuk menghafal bentuk topologi berikut agar kamu mudah memahami penjelasannya.
Anggaplah semua konfigurasi sudah benar dan setiap perangkat dapat saling komunikasi (ping).
Kita akan mencoba ping melalui PC-A (172.16.20.10) ke PC-B (192.168.10.20).

Step 1 : The source is sending the packet

Ingat, apapun yang saya jelaskan disini semuanya berdasarkan kaidah OSI layer dan TCP/IP.
Jika belum paham silakan baca tulisan saya tentang ini dulu.

Pertama, packet akan dibangun (IP packet), yang didalamnya minimal ada source address dan destination address.
Karena ini ping, maka protocol field nya akan berisi ICMP.
ICMP ini berisi data field, yaitu request dan reply. Detailnya kamu bisa simulasikan menggunakan wireshark.
IP Routing Process - Build a frame
Step 1: Build a frame
Kemudian..
PC-A akan melakukan komparasi, apakah destination address tersebut berada di local subnet, atau remote subnet.
Dalam hal ini, 192.168.10.20 berada di remote subnet. Sehingga PC-A perlu mengirimkan paket tersebut ke gateway.
Bagaimanapun, agar frame dapat dibangun, PC-A membutuhkan alamat mac address dari default gateway.
Maka untuk mendapatkan alamat mac address tersebut, sebelum mengirim IP packet, PC-A mengirimkan ARP Request terlebih dahulu.

Lihat di topologi terdapat switch yang akan membroadcast packet ARP.
Jika kamu belum paham kenapa switch membroadcast pesan ini, silakan baca tulisan saya tentang ethernet networking.
R1 yang merasa IP tersebut miliknya akan membalas dengan mengirim ARP reply. Setelah itu mac address gateway akan di simpan dalam tabel PC-A, kemudian paket akan dikirim berdasarkan data frame diatas.

Yang perlu diperhatikan disini adalah, destination IP address tidak berubah, melainkan tetap IP milik PC-B.
Yah,
destination address di IP header tidak akan berubah, berbeda dengan frame.

Destination mac address tidak akan pernah diisi dengan alamat mac address perangkat yang berada pada remote network, harus terkoneksi secara langsung dengan pengirimnya.

Okay.
Selanjutnya.

Step 2: The packet in the journey

Are you following me so far?
Jadi.. semua transmisi data itu dikirim melalui media, entah itu wireless, wired, terserah, yang jelas harus melalui media alias layer physical.

Jadi, sebelum semuanya menjadi nilai-nilai bit di layer fisik, semuanya melewati proses enkapsulasi dan de-enkapsulasi.PC-A telah mengenkapsulasi data-data tadi dan mengirimnya ke gateway (R1).
Look up the IP header and encapsulating
Step 2: Routing de-encasulating the packet and compare with its routing table
Setelah packet sampai ke R1, maka dia perlu membongkar (de-enkapsulasi) bungkusan packet tersebut, dan melihat alamat tujuan paket tersebut.
PC-B (192.168.10.20) terdaftar di routing table R1 dan route nya melalui 10.10.10.2 (R2).

Maka setelah packet dibongkar, R1 membungkusnya kembali dan mengganti header di frame.
Disini tidak lagi membutuhkan destination mac address, karena di topologi saya menggunakan kabel serial.
Network Interface Card serial tidak memiliki mac address. Instead it's using wan encapsulation dalam hal ini HDLC. (Engga saya jelasin).

Intinya disini adalah data diterima dari PC-A berbentuk bits, lalu deenkapsulasi data tersebut menjadi frame.
Di dalam frame tersebut ada informasi packet, di dalam packet tersebut ada informasi alamat tujuan packet dan protocol (dalam hal ini ICMP), yang mana berisi nilai TTL (time to live).
Jika TTL ini bernilai nol, maka packet akan di drop.
Anggap saja TTL masih belum nol, R1 mengurangi nilai TTL tersebut (kurang -1).

Dan membungkusnya kembali menjadi frame --> bit --> kemudian dikirimkan ke route sesuai di tabel routing.

Step 3: The destination is replying the packet

Ketika R2 menerima packet dari R1.
Proses masih mirip seperti sebelumnya, R2 akan menginterogasi isi packet header, dan mengurangi nilai TTL.
Kemudian melihat destination address di routing table.

R2 memiliki route menuju ke destination address, yakni directly connected ke interface nya (asumsikan ethernet0/0).
Karena R2 perlu mengganti alamat destination (mac address) di frame, maka R2 mengirimkan ARP request (baca step 1).
PC-B membalas pesan ARP tersebut dan packet dikirimkan.

Sampai disini, packet berhasil dikirim.
Tapi sebenarnya belum selesai disitu.
Ping atau ICMP membutuhkan reply (echo reply), sehingga PC-B harus membalas packet tersebut.

Hal ini berhasil jika, kita mengkonfigurasi default gateway dengan benar di PC-B.
Yes,,
Karena disini PC-B akan mengganti isi packet, dan mengubah ip address tujuan menjadi IP PC-A.

Ingat step 1.
Jika destination address berada di remote subnet, maka packet perlu dikirimkan ke gateway.
Begitu juga setelah packet sampai di R2, dia harus memiliki route menuju PC-A.

Konfigurasi Dasar Routing

Setelah memahami proses IP routing, sekarang kita akan membahas bagaimana cara mengkonfigurasi IP routing.
Jika destination address dari packet tersebut terhubung langsung ke router, packet bisa langsung dikirim.
Jika tidak, kita perlu mengkonfigurasinya.

Dengan kata lain, kita harus memberitahu router kemana packet tersebut akan diteruskan.
Topologinya sama, hanya saya tambahkan 2 buah VPCS yang terhubung ke masing-masing router.
Simple Basic IP Routing Topologi
Topologi
Perangkat yang saya gunakan:
  • Client: Linux Microcode - 1 ethernet interface
    Kamu bisa menggantinya dengan client apapun, yang lebih ringan gunakan VPCS di GNS3.
    Jika menggunakan packet tracer, ga pelu nyari lagi. Udah ada laptop atau PC, tinggal pilih yang paling nyaman.
  • Switch: Ethernet Switch - Bawaan GNS3
    Di packet tracer kamu bisa menggunakan switch 2960.
    Jika menggunakan GNS3, bisa ganti dengan switch yang lain, namun sebenarnya tidak perlu. Karena kita tidak butuh konfigurasi apa-apa di switch ini.
  • Router: IOU - 4 serial interfaces + 4 ethernet interfaces
    Kamu bisa menggunakan IOS router biasa seperti 2970, 3725, 7200.
    Saya pilih IOU karena paling ringan.

Konfigurasi di Client PC

Kita mulai dari topologi sebelah kiri. Pertama kita akan konfigurasi IP address di PC-A dan VPCS.
Pastikan kamu sudah paham fungsi gateway.
Jika kita tidak mengkonfigurasi gateway di client ini, mereka tetap bisa saling berkomunikasi, karena masih dalam subnet yang sama.

Oleh karena itu, jika ingin berkomunikasi ke beda subnet seperti network 10.10.10.0/30 dan 192.168.10.0/25, kita harus mengkonfigurasi alamat gateway, gunakan IP ethernet 0/0 pada R1 sebagai alamat gateway di PC-A dan PC-1.

Konfigurasi di Client Microcore Linux

PC-A
[email protected]:~$ sudo ifconfig eth0 172.16.20.10 netmask 255.255.255.0
[email protected]:~$ sudo route add default gw 172.16.20.254

Verifikasi IP address dengan command:
[email protected]:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:81:68:C3:07:00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:27702 (27.0 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Verifikasi konfigurasi gateway dengan command:
[email protected]:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.20.254 0.0.0.0 UG 0 0 0 eth0
127.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 lo
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Jika melakukan kesalahan konfigurasi IP Address, kamu dapat mengkonfigurasi ulang ip addressnya.
Namun jika gateway, hapus terlebih dahulu konfigurasi gateway yang lama dengan perintah:
[email protected]:~$ sudo route del default gw
Lalu verifikasi lagi dengan $ route -n
Lakukan dan sesuaikan konfigurasi di PC-B.

Konfigurasi di Client VPCS

PC-1
pc-1> ip 172.16.20.20/24 172.16.20.254
Checking for duplicate address...
PC1 : 172.16.20.20 255.255.255.0 gateway 172.16.20.254

Verifikasi dengan:
pc-1> show ip
NAME : PC\-1[1]
IP/MASK : 172.16.20.20/24
GATEWAY : 172.16.20.254
DNS :
MAC : 00:50:79:66:68:00
LPORT : 10018
RHOST:PORT : 127.0.0.1:10019
MTU: : 1500

Lakukan dan sesuaikan konfigurasi di PC-2.
Selesai.
Selanjutnya kita akan konfigurasi R1 dan R2.

Konfigurasi Routing

Disini kita akan menggunakan static routing. Seperti yang telah saya jelaskan, routing dapat dilakukan dengan routing protocol dynamic atau static.
Saya akan menjelaskannya di lain kesempatan.

Berikut konfigurasi di R1.
Pertama, konfigurasi IP address di masing-masing interface ethernet dan serial.

Konfigurasi IP address di router Cisco

R1>en
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#int e0/0
R1(config-if)#ip add 172.16.20.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#
*Aug 17 05:23:14.849: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*Aug 17 05:23:15.850: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up
R1(config-if)#int serial 1/0
R1(config-if)#ip add 10.10.10.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#
*Aug 17 05:23:32.191: %LINK-3-UPDOWN: Interface Serial1/0, changed state to up
*Aug 17 05:23:33.195: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to up

Verifikasi dengan:
R1(config-if)#end
R1#show ip i
*Aug 17 05:23:36.569: %SYS-5-CONFIG_I: Configured from console by console
R1#show ip int br
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 172.16.20.254 YES NVRAM up up
Ethernet0/1 unassigned YES NVRAM administratively down down
Ethernet0/2 unassigned YES NVRAM administratively down down
Ethernet0/3 unassigned YES NVRAM administratively down down
Serial1/0 10.10.10.1 YES manual up up
Serial1/1 unassigned YES NVRAM administratively down down
Serial1/2 unassigned YES NVRAM administratively down down
Serial1/3 unassigned YES NVRAM administratively down down

Konfigurasi Routing Static di router Cisco

Selanjutnya adalah konfigurasi routing. Kita gunakan routing static seperti berikut:
R1(config)#ip route
R1(config)#ip route 192.168.10.0 255.255.255.128 10.10.10.2


atau
R1(config)#ip route
R1(config)#ip route 192.168.10.0 255.255.255.128 serial 1/0


Basic Routing Configuration
Routing Configuration
Dengan kata lain, kita memberi instruksi kepada router:
"Hey router, jika ente nerima packet dengan tujuan 192.168.10.0/25, tolong forward packet itu ke IP si R2, atau forward paket itu ke serial1/0 ente.".

Setelah konfigurasi, router pun menambahkan alamat tersebut ke routing table nya.
Verifikasi dengan:
R1#show ip route

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.10.10.0/24 is directly connected, Serial1/0
L 10.10.10.1/32 is directly connected, Serial1/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.20.0/24 is directly connected, Ethernet0/0
L 172.16.20.254/32 is directly connected, Ethernet0/0
192.168.10.0/25 is subnetted, 1 subnets
S 192.168.10.0 [1/0] via 10.10.10.2


Perhatikan baris akhir dengan flag "S" , artinya baris route tersebut menggunakan protocol routing static, dan route addressnya mengarah ke 10.10.10.2.
Jika konfigurasi kita lakukan dengan exit interface, maka akan tertera interface keluaran dari route tersebut.

Terahir, lakukan dan sesuaikan konfigurasi di R2.

Sedikit tentang ARP di tulisan ini

Mungkin kamu mengikuti artikel ini beserta analisanya menggunakan wireshark atau simulation mode di packet tracer.
Pada step 1 proses routing diatas, mac address dari pesan ARP reply akan disimpan di PC atau Router.
Cara melihatnya adalah dengan:
- Client microcore: $ arp -a
- Cisco router: # show arp

Tentu saja jika ingin mengulang analisa ARP, terlebih dahulu kamu harus menghapusnya dari tabel arp masing-masing perangkat.

Menghapus list mac address di ARP table Linux

[email protected]:~$ arp -a
? (172.16.20.254) at aa:bb:cc:00:01:00 [ether] on eth0
[email protected]:~$ sudo arp -d 172.16.20.254
[email protected]:~$ arp -a
? (172.16.20.254) at on eth0

Perintah diatas untuk menghapus particular entry dari ARP table.
Jika ingin menghapus semuanya, gunakan perintah:
[email protected]:~$ sudo ip -s -s neigh flush all
172.16.20.254 dev eth0 lladdr aa:bb:cc:00:01:00 ref 1 used 13/13/13 probes 4 REACHABLE

*** Round 1, deleting 1 entries ***
*** Flush is complete after 1 round ***

Menghapus list mac address di ARP table Cisco router

R1#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.16.20.10 0 0081.68f8.9400 ARPA Ethernet0/0
Internet 172.16.20.254 - aabb.cc00.0100 ARPA Ethernet0/0


Sebelum dihapus, saya ingin menjelaskan output tersebut.
Baris pertama adalah mac address milik PC-A yang sudah cached.
Sedangkan baris kedua, perhatikan tanda [-], itu artinya interface e0/0 tersebut terhubung ke broadcast device, atau dengan kata lain switch, sehingga outputnya seperti itu.

Menghapusnya cukup dengan menggunakan perintah:
- Keseluruhan:
R1#clear arp
- Particular IP:
R1#clear ip arp 172.16.20.10

..dah
sampai disitu dulu.
Selanjutnya kita akan membahas tentang Routing Protocol, Distance Vector Issue dan perbedaannya dengan Link State, Route Selection, dan lainnya secara lebih mendalam.
InsyaAllah ^ ^

Now ..
You turn!!

#Challenge! Static Routing Configuration

Challenge Lab - IP routing basic
Challenge! Static Routing Configuration



Konfigurasi lab berikut sesuai skenario yang ditentukan.
Server di topologi sebenarnya hanya Microcore Linux yang saya ganti simbolnya. Kamu bisa menggunakan perangkat apapun yang bersesuaian.
Fathur Rizki Saragih

Tak Hijau Lagi Kampungku

By
Di sepanjang perjalanan saya tak henti-hentinya melamun.
Menikmati perjalanan, indahnya pemandangan dan sejuknya udara pegunungan.
Hari ini saya dan teman-teman mengulang kegiatan yang setiap tahunnya kami lakukan.

Yes.
Liburan lalu, kami. Saya dan teman-teman SMA mengulang kembali kebiasaan-kebiasaan kami setiap tahunnya.
Bukit simarjarunjung dan danau toba adalah tempat favorit.

area-bis
Fathur Rizki Saragih

Cara Remote Serial Console Perangkat Cisco di Linux

By
Jika menggunakan sistem operasi Windows, kita dengan mudah dapat meremote switch atau router cisco, atau perangkat apapun yang menggunakan kabel serial untuk mengkonfigurasinya secara langsung.
Cukup dengan menggunakan aplikasi Putty, SecureCRT, atau program emulasi yang lain.
Caranya seperti berikut:

Cara Console Perangkat Cisco di Windows

  1. Pilih COM yang sesuai, nomor port ini bisa diketahui dengan melihat device manager
  2. Protocol serial, 8 nilai data bits, parity none, dan stop bits bernilai 1.
    Dengan tidak mencentang apapun pada bagian flow control.
  3. Enter, selesai :))
Sekarang.
Bagaimana jika ingin meremote perangkat Cisco di Linux?

Tulisan ini dibuat menggunakan :
- Ubuntu 16.04 LTS & Fedora 26 Workstation
- Cisco Catalyst Switch 3750 Series

Cara Console Perangkat Cisco di Linux

Saya asumsikan kita sudah memiliki kabel serial. Cisco biasa menyertakan kabel ini ketika kita membeli perangkatnya.
Laptop sekarang biasanya tidak lagi memiliki port serial, sehingga kita membutuhkan Serial-to-USB Converter.

Saya mempraktekkan hal ini dengan Cisco 3750 Catalyst Switch.
Menariknya, Catalyst 3750 memiliki port Rj45 dan juga USB seri B untuk koneksi serial.

usb-serie-b-port-console
Cisco 3750 USB Serie B Console Port
console-port-3750-catalyst
Cisco 3750 RJ45 Console Port
Bedanya hanya kecepatan port USB seri B ini dapat mencapai 115,200 Kbps, sangat bermanfaat jika suatu saat ingin upgrade IOS melalui XModem.

Baiklah.
Di linux kita akan menggunakan aplikasi 'minicom' yang konfigurasinya akan sedikit berbeda dengan Putty, Hyperterminal dll seperti di Windows.
Tentu semuanya dikonfigurasi melalui CLI, bukan GUI.

Pertama, install minicom dengan:

Ubuntu 16.04:
$ sudo apt install minicom Fedora 26:
$ sudo dnf install minicom

Kedua, ketahui lokasi port serial yang kita gunakan.

Gunakan perintah: 
$ dmesg | grep tty
usb-to-serial-location-linux
Serial Cable Port Location
Gambar diatas terlihat ada 2 kabel serial yang terhubung ke laptop saya, karena memang saya menggunakan keduanya, lokasinya yakni:
- /dev/ttyUSB0
- /dev/ttyACM0

Setelah itu, kamu dapat membaca menu help minicom dengan: $ minicom -help
atau langsung saja dengan menggunakan setup mode: 
$ sudo minicom -s
minicom-setup-mode
Minicom Setup Mode
Saya asumsikan kabel terhubung di /dev/ttyUSB0

minicom-serial-port-config
Minicom Serial Port Setup
Gunakan arrow key untuk berpindah kebawah dan keatas.
Gunakan huruf A, B, C dan seterusnya untuk memilih menu.
ESC untuk exit, dan ENTER untuk save.
Save setup as dfl jika ingin menyimpan ke pengaturan default, atau save as <beri nama file>.
Setelah itu pilih Exit from Minicom.

Terakhir

$ sudo minicom
Komputer akan terhubung dengan perangkat yang akan di remote.

linux-minicom
Remote Serial with Minicom in Linux
Sekian cara meremote perangkat Cisco di Linux.
Semoga bermanfaat.
Fathur Rizki Saragih

TCP/IP Networking Model

By
Di dunia jaringan komputer, kita mengenal 2 model yang menjadi standar, yakni TCP/IP dan OSI Layer, atau disebut juga networking model.
Yah, dua hal yang benar-benar harus dipahami secara matang jika kamu ingin memahami sepenuhnya dunia jaringan komputer. 

Hal yang menjadi inti pada tulisan ini adalah;
  • Terkadang kita bingung apa dan untuk apa itu TCP/IP dan OSI layer
  • Apa kaitan antara TCP/IP dan OSI layer
  • Apa fungsi TCP/IP
  • Sedikit penjelasan application layer dan tranport layer
dan pertanyaan-pertanyaan sejenis lainnya yang tidak jarang saya temukan di forum-forum atau group diskusi jaringan komputer. 


Baik..
Apa itu Networking Model?

Dalam memahami konsep jaringan komputer, kita bisa menganalogikannya dengan sebuah blueprint, atau arsitektur plan atas sebuah bangunan. 
Bayangkan kita akan membangun sebuah rumah yang cukup besar, akan ada banyak orang yang mengerjakan pembangunan tersebut, dari lantai, kelistrikan, pengecatan, dan lain-lain. 

Agar bangunan selesai sesuai rencana, semua yang mereka kerjakan harus mengacu kepada dokumen perencanaan pembangunan tadi.
atau kita sebut saja blueprint. 

Pada dasarnya, networking model itu mengacu kepada sekumpulan dokumen, dimana setiap dokumen tersebut akan menjelaskan setiap fungsi yang dibutuhkan oleh sebuah jaringan. 
Beberapa dokumen akan mendefinsikan protokol, rules-rules logic yang harus diikuti perangkat lunak maupun perangkat keras agar dapat saling berkomunikasi.

Jadi,
Fungsi TCP/IP adalah untuk, memungkinkan komunikasi antar 2 komputer dengan kondisi;
  • Terkonfigurasi dengan perangkat lunak atau perangkat keras apapun, 
  • Terhubung dengan media apapun, baik kabel, nirkabel, modem, dial-up, dan lain-lain.

Sejarah TCP/IP

Tahun 1970-an, setiap vendor menggunakan protokol proprietary mereka untuk produk mereka masing-masing. Seperti IBM mempublikasi System Network Architecture (NSA), atau DECNet atau Digital Equipment Corporation. 

Maka lahirlah cetusan dari ISO untuk mengeluarkan standard yakni OSI yang terdiri dari 7 layer. 
OSI layer ini menjadi standar komunikasi jaringan komputer pertama yang ada, sekaligus menjadi solusi yang paling cemerlang untuk permasalahan diatas. 

Disamping itu, Departmen of Defense (DoD) juga mengembangkan standar yang tidak se-formal dan se-kompleks OSI Layer. 
Project ini dilakukan oleh voluntir, para peneliti dari berbagai universitas dan dilakukan di UC Barkeley (saat ini kita kenal dengan Barkeley Software Distribution atau BSD) di California, kemudian terbentuklah TCP/IP. 

TCP/IP ini bekerja dengan baik, kemudian TCP/IP dikemas dalam rilis BSD berikutnya sebagai shareware untuk universitas-universitas dan institusi lainnya. 
dan hasilnya menjadi kesuksesan luar biasa untuk teknologi internet. 

Perbandingan TCP/IP dengan OSI Layer

Karena bersifat lebih terbuka, dan simpel, TCP/IP menjadi jauh lebih berkembang. 
Era 1990-an, setiap vendor mengikuti standar OSI Layer dan TCP/IP, namun era 2000 hingga sekarang, TCP/IP cenderung menjadi pilihan. 

Gambarannya seperti berikut:

tcp-ip-networking-model
TCP/IP as Networking Model Nowadays

Jadi..
Saat ini dunia jaringan komputer menggunakan satu networking model, yakni TCP/IP.
Menarik? 

Yah, hal ini dikarenakan, TCP/IP bersifat lebih terbuka, less-formal, tidak kompleks.
Dengan kata lain, OSI layer lebih ke sebuah ide standarisasi, setiap implementasi yang dilakukan standar lain selalu mengacu ke OSI layer karena lebih kompleks dan detail, namun TCP/IP dalam penerapannya lebih banyak digunakan.
Bagaimanapun, TCP/IP dan OSI Layer saling berkaitan.

Untuk mendefinisikan sebuah protokol, TCP/IP menggunakan dokumentasi yang dikenal dengan RFC (Requests For Comments).
Setiap protokol pada TCP/IP selalu mengacu pada OSI atau yang sudah dibuat sebelumnya, seperti contoh Institute of Electrical and Electronic Engineers (IEEE) telah mendefiniasikan Ethernet LANS, dan TCP/IP tidak mendefinisikannya lagi di RFC, hanya mengacunya ke IEEE. 


Lalu apa perbedaan antara TCP/IP dengan OSI Layer?
TCP/IP hanya menggunakan 4 layer, sedang OSI menggunakan 7 layer. 

tcp-ip-vs-osi
TCP/IP Model and OSI Model

Kenapa harus pakai layer atau lapisan?
Tujuannya agar memudahkan orang mengerti model tersebut.

Sesuai dengan fungsi TCP/IP di awal tulisan, model ini akan mengatur standar komunikasi perangkat keras apapun, dengan perangkat lunak apapun, dan dengan media apapun.
Sehingga perlu dibagi-bagi kategorinya, setiap kategori ini nantinya berisi aturan-aturan atau protocol yang saling berhubungan antara satu dengan lainnya.

TCP/IP Layer (Original) terdiri dari 4 layer, namun TCP/IP Updated terdiri dari 5 layer yang membagi layer Link menjadi Data Link dan Physical [source].

TCP/IP Application Layer

Aplikasi adalah layer teratas dari TCP/IP, yang bertugas untuk menyediakan layanan dari setiap aplikasi yang berjalan di komputer.

Jangan salah paham.

Web browser bukanlah salah satu contoh service yang berjalan di application layer, namun sebenarnya web browser hanyalah sebuah aplikasi, yang membutuhkan protocol HTTP yang berjalan di application layer.

HTTP ini yang mengatur bagaimana browser dapat melakukan request halaman web tertentu dari sebuah web server.

Mekanisme Protokol HTTP

HTTP atau Hypertext Transfer Protocol (port 80), contoh sederhananya adalah, kamu saat ini sedang menggunakan web browser di handphone atau laptop untuk mengakses tulisan ini, yang tersimpan di web server (blog ini berada di server google). 
Web browser yang kamu gunakan tersebut menggunakan protocol HTTP. 

http-mechanism
Mekanisme HTTP
  1. Client mengirimkan pesan, yang berisi HTTP header.
    Protocol membaca pesan "get" yang ada di header tersebut, dan mengirimkannya ke server.
  2. Server menanggapi request, dan membalas pesan tersebut dengan menyertakan HTTP header juga, yang berisi "OK" berarti siap dan sudah mengirimkan sebagian isi dari content laman web yang diminta.
  3. Server melanjutkan pengiriman lagi hingga selesai, tanpa menyertakan HTTP header lagi. 
Disamping HTTP kita juga mengenal HTTPS (Hypertext Transfer Protocol Secure) versi HTTPS yang lebih aman dikarenakan protocol ini menggunakan SSL (Secure Socket Layer). 

Biasanya dikenal juga dengan sebutan S-HTTP atau SHTTP (s for secure).
Protokol ini menjadi standar yang diakui secara de facto sejak Microsoft mendukung HTTPS. 

Dengan protokol ini, kamu bisa berselancar dengan aman. 
Aman dalam arti, ketika melakukan transaksi misalnya di sebuah situs jual beli atau banking atau situs-situs lainnya dimana kamu menginputkan data-data yang penting. 

Domain Name Service (DNS)

Kembali pada mekanisme HTTP diatas, ketika kamu mengakses halaman fathurhoho.id, sebenarnya browser tidak melakukan transaksi langsung ke alamat tersebut.

Kenapa?!

Ingat, sebuah komputer saling berkomunikasi di jaringan harus memiliki sebuah alamat, yakni IP Address (pada layer Network).
Sehinga..

Sebelum halaman web tersebut berhasil ditampilkan di browser, client harus mengetahui terlebih dahulu alamat IP dari laman web yang akan diakses.
Sederhananya, jika kamu ingin mengetahui halaman web dari fathurhoho.id, just simply ping the domain!

C:\Users\fathurhoho>ping fathurhoho.id

Pinging fathurhoho.id [104.18.43.121] with 32 bytes of data:
Reply from 104.18.43.121: bytes=32 time=216ms TTL=54
Reply from 104.18.43.121: bytes=32 time=215ms TTL=54
Reply from 104.18.43.121: bytes=32 time=222ms TTL=54
Reply from 104.18.43.121: bytes=32 time=211ms TTL=54

Ping statistics for 104.18.43.121:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 211ms, Maximum = 222ms, Average = 216ms


Disinilah fungsi DNS tersebut, untuk menterjemahkan alamat domain (fathurhoho.id) menjadi alamat IP.
Ingat kembali seperti penjelasan saya di tulisan ini, bahwa mekanisme komunikasi 2 komputer yang berbeda, mengikuti standar networking model TCP/IP, dan dimulai dari layer teratas, atau layer aplikasi.

Penjelasannya sebagai berikut:

  1. Terjadi komunikasi client server, yang pertama dilihat adalah IP address, jika IP address tidak disertakan, maka komputer akan bekerja sesuai dengan port yang di request. 
  2. Client melakukan komunikasi dengan protokol HTTP, dengan mengetikkan alamat domain di browser. 
  3. Alamat domain tersebut perlu di resolve terlebih dahulu menjadi alamat IP. 
  4. Client akan mengirimkan request ke DNS server untuk mengetahui alamat IP dari sebuah domain.
  5. Setelah DNS mengirimkan IP dari domain yang diminta, maka client mulai melakukan transaksi ke HTTP server.
Sebuah DNS server memiliki catatan yang berisi daftar domain dan alamat IP mereka masing-masing dan mengirimkannya jika ada client yang me-request.


TCP/IP Transport Layer

Fungsi transport layer adalah, menyediakan service untuk layer diatasnya, yakni application layer.
Jadi, harus diketahui dulu application layer apa yang digunakan, apakah HTTP, DNS, FTP, Telnet, SMTP, atau yang lainnya.

Terdapat 2 protokol yang berada pada layer Transport, yaitu;
TCP (Transport Control Protocol) dan UDP (User Datagram Protocol).

Beberapa kriteria yang dimiliki oleh TCP namun tidak ada di UDP adalah:

  • Reliable, pesan dipastikan dapat sampai dengan utuh. 
  • Connection oriented, sedangkan UDP bersifat connectionless.
  • Acknowledgments, server dan client harus establishing connection dulu sebelum melakukan komunikasi, atau dikenal dengan tree hand shake. 
  • Windowing flow control, dilakukan agar menjaga data tetap reliable.
  • Menggunakan virtual circuits dalam koneksinya. 
Jadi, 
Saya akan menggunakan mekanisme HTTP dan DNS diatas.


User Datagram Protocol (UDP)

Ketika client melakukan request ke DNS server untuk menterjemahkan alamat domain menjadi alamat IP, ini terjadi secara connectionless, dan tidak ada acknowledgment. 
Artinya, request terjadi begitu saja, dan server memberi balasan.

Setelah data balasan terkirim, selesai.
Tidak ada sejenis percakapan seperti "Hi client, apakah data yang kukirimkan telah sampai dengan baik?"

Oh ya, fitur diatas bukanlah kekurangn atau kelebihan antara TCP dengan UDP.
Jika seorang developer ingin aplikasinya bekerja dengan cepat, tidak perlu reliable, maka ia cukup menggunakan UDP, begitu juga sebaliknya. 

Terdapat situasi dimana DNS menggunakan TCP, bukanlah UDP. Salah satunya ketika packet size melebihi 512 bytes, dan lain-lain. [source

Transport Control Protocol (TCP)

Berbeda dengan DNS, HTTP menggunakan TCP agar data yang dapat terkirim dengan sempurna.
Ingat kembali mekanisme HTTP diatas.

  1. Setelah client mendapatkan alamat IP dari domain yang ingin diakses, dia akan melakukan request ke HTTP server.
  2. Pesan segment akan berisi request SYNC (synchronization). 
  3. Server akan membalas dengan segment SYN/ACK (acknowlegement).
  4. Client membalas kembali dengan ACK, lalu koneksi akan dibentuk, dan data akan dikirimkan.
tcp-mechanism
TCP Three Way Handshake
Ingat, pada layer ini kita menyebut data unit tersebut dengan Segment.

Setelah koneksi dibentuk, data akan dikirimkan. 
Selama pengiriman data ini, digunakan sequencing agar memastikan data terkirim dan diterima sesuai dan tidak acak-acakan.

Pesan ACK memastikan bahwa, data tersebut sudah diterima dengan baik, ada kalanya terjadi error, atau buffer si penerima sedang penuh, disinilah fungsi flow control untuk memperbaikinya, bisa juga disebut dengan TCP Error Recovery.

Same-Layer dan Adjacent-Layer Interactions

Same-layer interaction, seperti contoh mekanisme HTTP diatas, yakni sebuah komputer yang berkomunikasi dengan layer yang sama dengan komputer lain, menggunakan sebuah protocol (dengan menyertakan header).

sedangkan

Adjacent-layer interaction, seperti contoh mekanisme TCP diatas, yakni sebuah layer yang memberikan service untuk layer diatasnya. HTTP yang menginginkan error-recovery, menggunakan layer dibawahnya, yakni TCP/IP.

dah
sampai disitu dulu.

Kesimpulan

Pemahaman networking model secara sempurna memang menjadi syarat yang sangat wajib jika kita ingin membahas jaringan komputer.
Diatas saya sudah memberi penjelasan dan pengertian tentang TCP/IP serta sedikit tentang layer Application dan Transport.
Prakteknya nanti akan sering ditemui jika kita akan mengkonfigurasi perangkat security, seperti firewall, atau menerapkan access list di router.

Hal lain yang perlu diketahui adalah port number.
Pada skenario requesting web page diatas, client tidak menyertakan alamat IP tujuan, hanya domain saja. Oleh karena itu, komputer melihat port number dari HTTP.
Agar lebih jelasnya, kamu dapat mensimulasikan hal ini.

Saya sudah menulisnya di Pengenalan OSI Layer dan Cara Memahaminya.
Setiap protokol di TCP/IP memiliki port number masing-masing. Kamu dapat menelusurinya dengan kata kunci "well known port numbers"

Selanjutnya, masih ada TCP/IP Network Layer, dan TCP/IP Link Layer (Data Link dan Physical).
Sedikit penjelasan mengenai data link sudah saya jelaskan di tulisan Ethernet Networking.

Terima kasih ^ ^

Fathur Rizki Saragih

Ethernet Networking

By
Sebelum lanjut ke pembahasan TCP/IP dan IP Addressing, tulisan ini bertujuan untuk mereview tulisan sebelumnya yakni tentang Basic Internetworking.
Walaupun saat ini sudah banyak diimplementasikan teknologi wireless,
Teknologi ethernet ini menjadi sangat penting karena memang ethernet sudah digunakan sejak lama di dunia jaringan komputer, khususnya LAN, kira-kira sudah sekitar 30 tahun.


Ngomong-ngomong..
Apa itu LAN?

Mungkin kita berfikir bahwa sebuah jaringan akan disebut LAN jika seperti sebuah bangunan kampus, kantor, yang terdiri dari beberapa lantai dan terkoneksi satu dengan yang lain.
Padahal, sederhananya adalah ketika 2 buah komputer terhubung dengan ethernet, ini sudah pantas disebut dengan LAN.
Jadi tidak ada bedanya antara 2 komputer, atau ratusan komputer yang terhubung.


Jaringan Ethernet, Collision Domain dan Broadcast Domain

Ethernet adalah sebuah standar protokol komunikasi dalam jaringan komputer yang menggunakan sebuah media untuk memungkinkan semua host yang terhubung dalam jaringan agar dapat berkomunikasi, dengan bandwidth yang sama.
Ethernet menggunakan layer 1 fisik dan layer 2 data link.
Oleh karena itu, kali ini saya akan membahas layer 2 data link, dan mac address.

Kita harus benar-benar terbiasa dengan 2 term yang sudah dibahas pada tulisan sebelumnya, yakni Collision Domain dan Broadcast Domain.

hub-collision-broadcast
Jaringan Hub Membentuk Satu Collision Domain berada dalam Satu Broadcast Domain

Pada tulisan sebelumnya saya sudah menjelaskan bahwa, collision domain adalah keadaan dimana suatu perangkat mengirim frame ke fisik perangkat (hub), maka perangkat-perangkat lain yang terkoneksi dengan hub tersebut harus menghentikan semua aktifitasnya untuk "pay attention" terhadap frame tersebut.
Hal ini dikarenakan pada jaringan hub, beberapa transmisi data tidak dapat berjalan secara simultan, atau disebut dengan half-duplex.

Semua host yang terhubung ke hub akan berada dalam satu collision domain yang sama.

Selanjutnya,
broadcast domain.

switch-networking
Jaringan Switch: Memecah Collision Domain dan Membentuk Sebuah Broadcast Domain

Topologi diatas adalah design jaringan yang sering kita temui saat ini.
Sebagai gambaran, ada beberapa jenis trafik network, yaitu Broadcast, Multicast, Anycast, dan Unicast.
Ke 4 jenis trafik diatas tergantung pada arsitektur network, yang akan saya bahas di lain waktu.

Sekarang kita hanya perlu mengingat bahwa, pada dasarnya jenis trafik broadcast terjadi di jaringan switch.
Kenapa?
Karena switch itu sendiri memang berfungsi untuk memungkinkan semua perangkat yang terhubung dengannya bisa saling sharing dengan medium yang sama.

Jadi, switch ini berjalan di layer 2 data link, dan bekerja berdasarkan mac address.
Artinya, jika mac address ini tidak ada, maka switch perlu untuk mencarinya.
Disini switch akan menyebar sebuah request ke seluruh port yang dia miliki. Semua perangkat yang berada dalam broadcast domain yang sama, harus menghentikan semua aktifitasnya demi mendengarkan broadcast ini.

Sedangkan pada jaringan switch, collision domain akan dipecah untuk setiap masing-masing port nya.
Berdasarkan topologi diatas, kita bisa melihat bahwa terdapat 4 buah collision domain.
Hal ini jauh lebih baik dengan jaringan hub sebelumnya.

Cukup sampai disini, kita akan sedikit mengulas tentang collision domain.

CSMA/CD

Jaringan ethernet menggunakan protokol yang dinamakan Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Protokol ini membantu perangkat untuk berbagi bandwidth dengan cara mencegah setiap perangkat mengirim trafik secara bersamaan.
Dengan kata lain, CSMA/CD memastikan bahwa dalam satu waktu hanya boleh 1 perangkat saja yang mengirim trafik.
Lebih detailnya seperti gambar berikut.

csma-cd-listening-port
Protokol CSMA/CD 

Kemudian setiap perangkat akan dikirim "signal jamming" yang berisi random clock.
Ketika clock setiap perangkat berbeda, maka perangkat dapat mengirim trafik kembali.
Tentunya hal ini terjadi secara sangat cepat, sehingga tidak begitu terlihat dampaknya saat jaringan anda hanya berisi 5 sampai 10 komputer dengan aktifitas yang rendah.
Bayangkan jika perangkat ini digunakan di jaringan enterprise!
Selain itu, jika collision ini terjadi setelah 10x lebih pada port hub, maka akan terjadi time out dan perangkat gagal untuk mengirim trafik.


Jadi, kita sangat dituntut untuk mengantisipasi penuh keadaan diatas.

Half Duplex dan Full Duplex

Banyak yang bingung dalam membedakan collision domain, dan half duplex. Termasuk saya sendiri.
Apakah kamu pernah mendengar "kabel coaxial"?
Kabel ini yang saya perlukan untuk menghubungkan TV ke antena.

Dulu, kabel ini juga digunakan di jaringan komputer. Sekarang sudah tidak lagi.
Term half duplex ini juga sudah sangat jadul, namun bagaimanapun dalam persiapan CCNA ini sering sekali disinggung.
Bahkan jika kamu pernah menggunakan image Cisco VIRL ketika simulasi router dan switch cisco, setiap port nya tidak otomatis berjalan di full duplex.
Sehingga kita benar-benar dituntut untuk memahaminya.

Baiklah, sederhananya, half duplex itu adalah kapasitas sebuah media, baik itu coaxial maupun UTP.
Kita sepakat bahwa di jaringan hub, semua perangkat akan berjalan di half-duplex, artinya hanya satu perangkat saja yang bisa mengirim trafik dalam satu waktu.
Jika lebih, maka kondisi ini disebut dengan collision!
... dan untuk mengatasi collision, digunakan protokol CSMA/CD. Jika collision berlangsung selama 10x lebih percobaan transmisi, maka setiap perangkat gagal mengirim trafik.

Clear sudah?

Maka kita lanjut ke mac address.

Ethernet Networking pada Layer 2 

Ketika berbicara data link, pasti berkaitan dengan yang namanya frame, dan juga mac address.
Maksudnya..
Contohnya saja, switch, bekerja pada layer 2.
Untuk membentuk sebuah frame, switch perlu mengetahui alamat mac address kemana frame tersebut akan dikirimkan.

Perhatikan topologi berikut, PC-A akan melakukan ping ke PC-B.

ping-scenario


Tentu saja dengan mudah kita menebak hasilnya:

[email protected]:~$ ping 192.168.100.20
PING 192.168.100.20 (192.168.100.20): 56 data bytes
64 bytes from 192.168.100.20: seq=0 ttl=64 time=1.843 ms
64 bytes from 192.168.100.20: seq=1 ttl=64 time=2.101 ms
64 bytes from 192.168.100.20: seq=2 ttl=64 time=1.939 ms
64 bytes from 192.168.100.20: seq=3 ttl=64 time=1.372 ms
^C
--- 192.168.100.20 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.372/1.813/2.101 ms

Namun apa yang sebenarnya terjadi sebelum paket ICMP itu berhasil dikirim dan menghasilkan reply?
Saya menyertakan alamat mac address pada topologi diatas, mac address ini bisa kita ketahui dengan perintah ifconfig, ipconfig /all, atau arp -a di terminal atau di command prompt jika menggunakan windows.

Oh iya, ini bisa kamu praktekkan sendiri. Saat ini saya menggunakan GNS3 dan menganalisa frame nya menggunakan wireshark.

PC-A harus mengetahui mac address PC-B

Bagaimana caranya?
Perhatikan gambar berikut.

arp-request
ARP Request

Sebelum paket ICMP dibentuk, maka PC harus membentuk yang disebut dengan frame. Frame ini berisi alamat mac address dan untuk mendapatkan alamat mac address, maka digunakan protokol ARP atau Address Resolution Protocol.

Protocol ini berfungsi untuk menterjemahkan alamat IP (layer network) menjadi alamat mac address (layer data link) dengan cara mengirim ARP request.
Detailnya kira-kira seperti berikut:
00:8A:B0:0C:A5:00 (PC-A) mengirim broadcast ARP yang berisi pesan "Who has 192.168.100.20"?

Karena pesan ini bersifat broadcast, maka ini akan dikirim ke semua port pada PC-1.

Mari kita tebak, bagaimana jika diantara PC-1 dan PC-2 terdapat sebuah switch?
Maka switch tersebut ikut membroadcast ulang pesan tersebut.
Jelas sudah tentang broadcast domain?

Selanjutnya..

PC-B membalas pesan ARP

Karena pemilik 192.168.100.20 adalah PC-B, maka ia akan membalas pesan tersebut, atau ARP reply.
Bagaimana jika pemiliknya tidak ditemukan?
Maka frame gagal dibentuk, dan paket ICMP akan di drop.

arp-reply
ARP Reply

Terlihat pada gambar bahwa, destination mac address bukanlah broadcast lagi, melainkan berisi mac address PC-A dan pesan tersebut berisi informasi tentang mac address PC-B.
Maka paket ICMP akan dibentuk dan siap untuk dikirim.

Nah, belum selesai sampai disitu.
Mari kita perhatikan baris yang saya highlight pada gambar tersebut, yaitu detail tentang destination dan source mac address.

MAC Address

MAC address diberikan untuk setiap NIC (network interface card) perangkat. Berisi 48 bit atau 6 byte dan formatnya ditulis menggunakan heksadesimal.

mac-address-format

  1.  I/G atau Individual/Group. Perhatikan hasil capture wireshark diatas.
    Jika bernilai 0, artinya mac address tersebut adalah milik salah satu perangkat yang ada di jaringan.
    Sebaliknya jika bernilai 1, ini berarti broadcast atau multicast.
  2. G/L atau Global Local. Kadang disebut juga U/L, U berarti universal. Biasanya ini bernilai 0, yang artinya mac address tersebut masih sesuai dengan yang didapat dari IEEE. Kita bisa saja mengganti mac address, maka nilai G/L ini akan menjadi 1.
    Tapi..
    Ketika kita mengganti mac address, ini hanya unik di dalam network kita sendiri, tidak secara global.
  3. 24 bit terakhir adalah nilai yang diberikan oleh setiap vendor. Nilai ini yang menjadikan perangkat memiliki mac address yang unik antara vendor satu dengan yang lainnya.

Sampai disini, kita dituntut untuk memahami cara menkonversi bilang desimal ke heksadesimal atau sebalinya.
Ini tidak saya bahas karena begitu banyak resource diluar yang dapat kita gunakan.


Baiklah, diatas saya sudah menjelaskan tentang broadcast domain, collision domain, half duplex dan full duplex serta sedikit menyinggung tentang ARP.
Perlu di ingat dalam ethernet networking kita perlu juga memahami enkapsulasi, ethernet frame, dan juga jenis kabel yang digunakan dalam jaringan komputer atau ethernet pada layer physical.

InsyaAllah akan dibahas di lain kesempatan. ^ ^

Fathur Rizki Saragih

Pengenalan OSI Layer dan Cara Memahaminya

By
Awal perkembangan jaringan komputer terbilang cukup kacau balau. Saat itu setiap vendor memiliki solusi proprietary mereka sendiri.
Artinya, sebuah komputer hanya dapat berkomunikasi dengan komputer lain dengan merek yang sama.
Perangkat IBM hanya bisa dengan IBM saja, Apple dengan Apple saja.

Bayangkan jika hal ini masih terjadi sampai sekarang, komputer saya akan bekerja dengan syarat, keyboard, screen, audio, ethernet port, baterai, harus di produksi oleh vendor yang sama .. serta hanya bisa berkomunikasi dengan komputer yang lain dengan vendor yang sama pula.

Wow!

Inilah yang melatarbelakangi lahirnya (Open System Interconnection) OSI Model, yang dibuat oleh International Organization for Standardization (ISO).
Sebuah standar yang terdiri dari beberapa lapisan, dimana jika suatu vendor ingin mengembangkan produknya, mereka harus mengikuti aturan pada setiap layer ini agar produknya bisa berkomunikasi dengan perangkat vendor yang lain.

Seven Layer OSI

Mungkin sampai disini teman-teman masih bingung kenapa OSI layer ini begitu penting di jaringan komputer, dan apakah perlu untuk menghapal OSI layer?
Jawabannya, ya! Sangat penting!

Agar lebih mudah, kamu bisa menggunakan trik menghapal seperti:
"All People Seems to Need Data Processing"
atau
"People Do Not to See Pamella Anderson"
atau..
se-kreatifnya kamu aja deh.

Application

Disini berada aplikasi yang biasa kita gunakan seperti, browser (HTTP), e-mail, transfer file (FTP), dan lain sebagainya.

Presentation

Presentation layer berfungsi untuk menyediakan, mempresentasikan data ke layer application. Misal dalam karakter, bisa saja komputer menggunakan format yang berbeda-beda, ada ASCII , atau EBCDIC.
Maka layer ini akan menformat data tersebut sehingga kedua komputer memperoleh karakter yang sama.

Session

Saat kita mengakses sebuah web, kita akan menciptakan yang namanya session. Layer ini yang bertugas dalam pembentukan session, mengelolanya, hingga memutusnya.
Kadang kita berfikir ini tidak relevant.
Namun pada kenyataannya, web bisa saja di akses oleh ratusan bahkan jutaan lebih user dalam satu waktu dan aktifitas ini harus dibagi-bagi menjadi beberapa session.

Transport

Ketika kita mendownload sebuah file dari internet, file tersebut sebenarnya dikirim dalam bentuk segment kemudian di trasnportasikan ke komputer kita.
Di layer ini, ada 2 jenis sublayer lagi, yaitu:
 - TCP, pengiriman data bersifat reliable, (dijamin sampai)
 - UDP, pengiriman data bersifat unreliable.

Network

Di layer inilah IP Address berada. IP Addres (Internet Protocol) address disebut dengan "routed protocol" yang akan di routing dengan "routing protocol".
Seperti RIP, EIGRP, OSPF, BGP, dan lain-lain.
Setiap perangkat jaringan harus memiliki alamat IP, yang unik, berbeda satu dengan lainnya.

Data Link

Data link bekerja untuk menyediakan transmisi fisik data dan menangani error, topologi jaringan , dan flow control.
Artinya data link memastikan bahwa pesan akan tersampaikan ke perangkat yang benar, berdasarkan alamat hardware yang telah di translasikan dari layer network dalam bentuk IP address dan dikemas menjadi frame, lalu di konversi menjadi bit agar bisa dikirim melalui layer phsycal.

Physical

Di layer Physical, frame dari data link akan dikonversi menjadi bits. Bits ini berisi electrical pulse, yang bernilai "on" 1 atau "off" 0. Disini lah jenis-jenis kabel, dan konektor RJ45 berada.

Bagaimanapun, saya tidak menyarankan menghapal mati OSI layer. Tapi lebih dari dari sekedar menghapal, kita harus benar-benar memiliki pemahaman yang solid tentang OSI layer.
Dibawah akan saya jelaskan bahwa OSI layer bukan hanya sebatas teori saja.

Memahaminya bisa dari atas kebawah, atau sebaliknya. Seorang IT Networking biasanya lebih fokus ke 4 network bawah saja, yakni Physical, Data Link, Network, dan Transort.
3 layer atas biasanya lebih fokus seorang developer.
Namun bukan berarti ini menjadi tidak penting untuk dipahami. :D


Komunikasi Client Server

Berikut skenario sederhana tentang OSI Layer yang saya kutip dari buku "How to Master CCNA - Renee Molenaar".

  1. Kita membuka browser dan mendownload sebuah file dari webserver. Ketika kita mengetikkan alamat URL dari sebuah website, komputer akan meminta halaman web tersebut ke server. Disini kita menggunakan protokol HTTP yang berada di layer application.
  2. Layer presentation akan menstruktur informasi dari aplikasi tersebut menjadi berbagai format.
  3. Layer session akan memisahkan seluruh session yang berbeda.
  4. Tergantung apa jenis aplikasi yang digunakan, apakah TCP , atau UDP. Dalam hal ini, HTTP memiliki komunikasi yang reliable sehingga menggunakan TCP.
  5. Komputer yang kita gunakan, harus memiliki sebuah IP Address, contohnya 192.168.1.1, dan akan membangun sebuah IP Packet. Packet ini berisi semua data dari layer application, presentation, dan session. Dia juga menspesifikasikan jenis transport yang digunakan, IP Address sumber (alamat IP komputer), dan IP Address tujuan (webserver).
  6. Packet ini akan ditaruh di frame ethernet. Frame ini memiliki mac address sumber, dan mac address tujuan.
  7. Terakhir, semuanya akan dikonversi menjadi bit dan dikirim melalui media baik itu kabel ataupun nirkabel.


Studi Praktek OSI Layer

Perlu diingat bahwa OSI layer bekerja secara berurutan, dari layer yang paling atas, hingga yang paling bawah, atau juga sebaliknya.
Jadi, tidak boleh ada layer yang dilewati.

Anggap saja kasusnya seperti kantor pos.
Jika kita mengirim surat, tanpa menyertakan alamat tujuan, tentu paket tersebut tidak akan sampai.
Begitu juga dengan OSI Layer, prosesnya tidak bisa dari layer application, langsung menuju ke data link tanpa melewati layer yang dibawah nya terlebih dahulu.

Jangan hawatir jika kamu masih bingung dengan semua penjelasan diatas.
Agar lebih mudah dalam memahaminya, kita akan mendemonstrasikan komunikasi client server dan mengamati PDU (Protocol Data Unit) di setiap layer.

Okay, langsung saja, saya akan menggunakan topologi seperti berikut:

Oh ya!
Ini bisa kamu ikuti dengan menggunakan aplikasi packet tracer. So, let's fire up your PC.

Baca juga: Cara menginstall packet tracer

Berikut topologi yang akan kita gunakan.

belajar-osi-layer
Belajar OSI Layer
Cara terbaik sebenarnya untuk mengamati perjalanan paket adalah dengan menggunakan aplikasi network analyzer seperti Wireshark.
Namun artikel kali ini saya hanya menjelaskan gambaran secara umum sebuah komunikasi client server, dalam hal ini akses http.

Sebagai perbandingan, kamu dapat mensimulasikan praktek ini menggunakan wireshark, dengan langsung mengakses sebuah situs dan mengcapture network adapter yang kamu gunakan (ethernet atau wireless).

Sebagai awal pembelajaran, mensimulasikan jaringan sangat cukup dilakukan dengan packet tracer.
Kita mulai dengan mengakses situs web.cisco.com melalui laptop sesuai topologi.

Silakan klik "laptop" kemudian masuk ke tab desktop. Terdapat sebuah icon web browser dimana kita bisa menginputkan alamat url atau alamat ip address yang ingin kita akses.
Hasilnya akan seperti ini:

http-scenario-packet-tracer
Hasil

Lalu.
Apa menariknya? :D


Agar menjadi menarik, mari kita lakukan pengamatan menggunakan "simulation mode".
Ingat!
Fitur inilah salah satu alasan mengapa kita sangat disarankan menggunakan packet tracer. Tidak perlu berlelah-lelah dan pusing dengan tampilan di wireshark.

Silakan kamu klik simulation mode tepat pada pojok kanan bawah aplikasi, atau dapat menggunakan shortcut "SHIFT+S".
Jangan lupa untuk menentukan filternya, mark pada bagian : dns, http, tcp, dan udp.

Dengan tetap berada pada browser, lalu enter situs yang ingin kita akses.
Laman web tidak akan tampil hingga kita meng-click capture/forward pada field simulation mode.

Karena prosesnya lumayan panjang, maka akan saya ringkas di dalam sebuah video sebagai berikut:



Berikut ringkasannya.

1. Laptop harus mengetahui berapa alamat IP dari web.cisco.com


udp-connection

Jika kamu benar-benar memperhatikan gambar diatas, dibawah halaman PDU akan terdapat ringkasan proses setiap layer.
Masih ingat tentang analogi kantor pos diatas?

Dalam mengirim paket, kita harus tau alamat tujuan si penerima. Begitu juga ketika mengakses web.
Laptop harus tau alamat IP Address sebuah server yang ingin di akses.
Maka laptop akan mengirim DNS request yang berfungsi untuk mencari alamat IP dari web.cisco.com.


2. DNS Server sekaligus HTTP Server akan me-reply semua request dari client


DNS server menyimpan sejenis catatan yang berisi alamat domain dan alamat IP akan membalas request dari laptop.
Setelah laptop mengetahui alamat IP dari web.cisco.com maka laptop melanjutkan proses dengan mengirim http request ke alamat tersebut.
Dalam hal ini, DNS server dan HTTP server ada di server yang sama.

3. Berbeda dengan DNS, sebelum membentuk koneksi HTTP, client dan server harus membentuk sebuah komunikasi yang reliable, yaitu TCP.


reliable-connection


Jika kita amati lagi, sebelum laptop mengirim paket http, akan terlihat bahwa laptop terlebih dahulu mengirim paket TCP.
Ini artinya, HTTP membutuhkan komunikasi yang reliable.
Bedanya, sebelum TCP terbentuk, akan ada proses yang dinamakan "3 way handshake" yakni sebuah percakapan antar 2 perangkat bahwa mereka akan membuat sebuah komunikasi.

Baik, diatas adalah penjelasan singkat tentang skenario ketika kita ingin mengkses sebuah web.
Aktifitas ini nantinya akan sangat sering kamu lakukan di packet tracer, sehingga bagaimanapun kamu harus benar-benar mahir menjalankan simulation mode di packet tracer.

Selanjutnya, dimana OSI layer-nya?

OSI layer tersebut ada disetiap sesi yang ada di simulation mode diatas.
Terdapat outbound dan inbound layer.

Berikut penjelasannya:

  • Sekali lagi, kita tidak bisa melangkahi satu layer pun dari ke-7 layer diatas. 
  • Setiap layer akan bekerja berurutan, setiap layer memiliki yang namanya PDU atau Protocol Data Unit. Jika kamu klik setiap paket diatas, akan terlihat di sebuah perangkat, PDU apa yang sedang berjalan, dan berada di Layer ke berapa.
    Application - Presentation - Session = Data
    Transport = Segment
    Network = Packet
    Data Link = Frame
    Physical = Bits
  • Proses pertukaran PDU dari layer application ke bawah, ini disebut dengan enkapsulasi. Sebaliknya, disebut dengan de-enkapsulasi. 

Sampai disini, kamu tidak dituntut untuk memahami semua detil yang ada di setiap layer.
Hal yang perlu dipahami adalah bagaimana alur perpindahan paket dari perangkat ke perangkat, dan proses enkapsulasi atau deenkapsulasi yang terjadi.

Dengan kata lain, hal ini hanya bisa dipahami dengan praktek.
So, semangat!

Saya akan menjelaskan lebih detil pada artikel tentang TCP/IP, IP Address, TCP dan UDP pada tulisan selanjutnya.
Insya Allah.


Note: File .pkt dapat kamu download di channel Belajar Networking (Telegram)

Back to top