Home

Network Basic Theory 5 (Transport Layer Protocols)

1 Comment

Inti dari transport Layer adalah untuk untuk mengatur pertukaran data dari setiap aplikasi ke masing2 end devices yang saling terhubung

Fungsi lain dari Transport Layer adalah :

  • Memungkinkan setiap aplikasi untuk berkomunikasi dengan jaringan melalui alat/end device yang sama
  • Jika diperlukan, menjaga data diterima dengan baik oleh aplikasi yang membutuhkan (reliable & connection oriented conversation)
  • Menerapkan error-handling mechanism
  • Encapsulasi/Decapsulasi (segment/de-segment) data…membuat data rekonstruksi/dekonstruksi
  • Mengawasi komunikasi individual antar setiap aplikasi di host sumber dan di host
  • Mengidintifikasi data aplikasi yang berbeda…which is Port Number
  • Flow Control

*bayangkan kita pake video steaming….yang kita terima adalah data e-mail, kita lagi e-mail…yang kita terima adalah data dari aplikasi lain…disini lah transport layer bekerja…ensure the right data delivers to the right application that needed

————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————

Supporting Reliable Communication

3 hal dasar dari reliabilitas transport layer :

  1. Tracking transmitted data
  2. Acknowledging received data
  3. Retransmitting an unacknowledged data

Aplikasi apa aja sih yang butuh reliabilitas dalam transfer data ??

  • Email (lo bayangin klo data email yg lo terima ngaco alias error)
  • Web Page (lo lagi baca manga online, gambarnya ga keluar ato setengah2 *angry*)
  • Database
  • Etc…

Yang ga terlalu butuh reliabilitas apa aja ??

  • VoIP
  • Video Streaming (VoIP dan Streaming…kalau data segment ada yang hilang…akibatnya Cuma delay alias buffering)
  • DNS (Domain Name System)
  • Etc…

*ya tetep aja kalau ilangnya banyak bufferingnya lama doooonk ?!?!? ya itu si DL (derita loe) *kidding*

————————————————————————————————————————————————————————————

UDP and TCP

  • User Datagram Protocol (UDP)
    • UDP is a simple, connectionless protocol, described in RFC 768. It has the advantage of providing for low *overhead data delivery. The pieces of communication in UDP are called datagrams. These datagrams are sent as “best effort” by this Transport layer protocol.
      • Applications that use UDP : VoIP, DNS, Streaming Media
  • Transfer Control Protocol (TCP)
    • TCP is a connection-oriented protocol, described in RFC 793. TCP incurs additional overhead to gain functions. Additional functions specified by TCP are the same order delivery, reliable delivery, and flow control. Each TCP segment has 20 bytes of overhead in the header encapsulating the Application layer data, whereas each UDP segment only has 8 bytes of overhead.
      • Applications that use TCP : E-mail, Web Browser, File Transfer

*overhead maksud gampangnya bisa kita liat gambar diatas, lebih banyak data yang dikirim…lebih besar juga makan bandwidth

Dilihat dari gambar diatas…gw akan jelasin beberapa (dari TCP nya aja)

Sequence Number : nomor urut paket (kan klo dipecah2 gimana cara nyambungnya klo ga ada nomor urutnya??)

Ack Number : its say “okay..your packet is delivered…thanks”

Checksum : flow control…error engga ?? data yang di terima komplit engga ?

Option : gw kurang tau ini…tapi mungkin..ya opsi2 tambahannya kali yah J

The combination of the Transport layer port number and the Network layer IP address assigned to the host uniquely identifies a particular process running on a specific host device. This combination is called a socket

For example, an HTTP web page request being sent to a web server (port 80) running on a host with a Layer 3 IPv4 address of 192.168.1.20 would be destined to 192.168.1.20:80. ß THIS CALLED SOCKET !!

“Petugas” yang mengatur Port Number adalah organisasi yang dinamakan Internet Assigned Numbers Authority (IANA).

Ada 3 tipe port number :

  1. Well Known Port (port 0 sampai 1023), yaitu port2 yang biasa dipakai dalam transfer data sehari2 seperti e-mail port, chat port, web browser port, dll
  2. Registered Port (port 1024 sampai 49151), These port numbers are assigned to user processes or applications. These processes are primarily individual applications that a user has chosen to install rather than common applications that would receive a Well Known Port. When not used for a server resource, these ports may also be used dynamically selected by a client as its source port.
  3. Dynamic and/or Private Port : (port 49152 sampai 65535), Also known as Ephemeral Ports, these are usually assigned dynamically to client applications when initiating a connection. It is not very common for a client to connect to a service using a Dynamic or Private Port (although some peer-to-peer file sharing programs do).

A current list of port numbers can be found at IANA Website

————————————————————————————————————————————————————————————

Sekarang kita coba untuk melihat port number dan tipe koneksinya (UDP atau TCP ? ) melalui fitur Netstat di command prompt

  1. Tipe koneksi : TCP
  2. Source Port Number : 3126…diliat dari tipe port diatas, berarti ini adalah registered port
  3. Address host
  4. Destionation Port Number : HTTP
  5. Connection State
  6. Dan satu lagi 207.138.126.152:http ßSocket

————————————————————————————————————————————————————————————

Perbedaan TCP dan UDP

Penjelasan :

  • TCP terdiri dari 32 bit (lihat paling atas…bit 0-15-31)
  • Source Port Number : port tempat data asal di kirimkan (kata Cisco biasanya port random dari angka 1023 keatas)
  • Destination Port Number : port tempat aplikasi tujuan
  • Sequence Number : nomor paket…biar pas sampai ke tempat tujuan, ngurutinnya gampang, kan multiplexing (liat lagi Network Basic Theory 2), alias di pecah2 pas mo dikirim, biar beban jaringan ga berat
  • Ack Number : specified next octet “expected” by receiver…alias klo packet pertama sudah, packet kedua yang akan di tunggu, disinilah “ack” fungsinya…”ok…paket pertama sudah diterima…paket kedua nya gw tunggu ya..”
  • H. Length : Header Length…seberapa besar length alias byte yang dipakai untuk segment header
  • Reserved : reserved for future use…I guess 😀
  • Flags : menandakan session management…penjelasan nanti dibawa
  • Window Size : seberapa banyak oktet yang akan dikirim sebelum menunggu tanda “ack”… baca lebih lanjut penjelasannya dibawah tentang window size(berikut gambar)
  • TCP Checksum : used for error-checking
  • Urgent Pointer : URG…same…don’t know very much
  • Option : jika ada data2 tambahan
  • Data : data segment nya…data aplikasi nya tentu saja

One way to improve security on a server is to restrict server access to only those ports associated with the services and applications that should be accessible to authorized requestors.

————————————————————————————————————————————————————————————

Membangun Komunikasi antar device : The Three Way Handshake

  • Establishes that the destination device is present on the network
  • Verifies that the destination device has an active service and is accepting requests on the destination port number that the initiating client intends to use for the session
  • Informs the destination device that the source client intends to establish a communication session on that port number

Dalam koneksi TCP, host yang berfungsi sebagai client meng-inisialisasi session ke server. The three steps in TCP connection establishment are:

  1. Client yang meng-inisialisasi mengirimkan sebuah segment yang berisi initial sequence value (nilai sequence awal), yang mana berfungsi untuk merequest ke server untuk memulai sesi komunikasi…“bos…hallo…bisa ngobrol sebentar ga ?!?!”
  2. Server merespon dengan mengirimkan segment yang berisi ack value yang nilainya sama dengan received sequence value ditambah 1, dan juga ditambah dengan synchronizing sequence value dari server itu sendiri. Kenapa ditambah 1 ??? karena pas dikirim balik, ga ada segment yang perlu di acknowledged. Acknowledgement sepeti ini memungkinkan client untuk mengikat respon balik yang berasal dari original segment yang dikirim ke server…“iya…kenapa..gw merespon ni…mo ngapain ente ??”
  3. Client yang meng-inisialisasi merespond dengan acknowledgement value yang setara dengan sequence value yang di terima dari server ditambah 1. Selesai deh process meng-establish connection

To understand the three-way handshake process, it is important to look at the various values that the two hosts exchange. Within the TCP segment header, there are six 1-bit fields that contain control information used to manage the TCP processes. Those fields are:

  • URG – Urgent pointer field significant
  • ACK – Acknowledgement field significant
  • PSH – Push function
  • RST – Reset the connection
  • SYN – Synchronize sequence numbers
  • FIN – No more data from sender

Field2 bit ini lah yang disebut FLAGS… the value of one of these fields is only 1 bit and, therefore, has only two values: 1 or 0. When a bit value is set to 1, it indicates what control information is contained in the segment.

Gambar diatas adalah process terminasi session.

Untuk lebih jelas tentang three way handshake….

pakailah wireshark J

————————————————————————————————————————————————————————————

The initial window size is determined during the session startup via the three-way handshake.

Taken from Tcpipguide.com, What is Window Size…In a connection between a client and a server, the client tells the server the number of bytes it is willing to receive at one time from the server; this is the client’s receive window, which becomes the server’s send window. Likewise, the server tells the client how many bytes of data it is willing to take from the client at one time; this is the server’s receive window and the client’s send window.


—————————————————————————————————————————————————————————

UDP…User Datagram Protocol

Seperti yang sudah dijelaskan yang sudah2…UDP tidak menyediakan fungsi reliability, *jadi ga penting donk pake ini??

Well, TCP memakan banyak overhead….klo orang awam bilang…terlalu banyak makan bandwidth…kita perlu yang simple2 aja…contoh nya :

  • Domain Name System (DNS)
  • Simple Network Management Protocol (SNMP)
  • Dynamic Host Configuration Protocol (DHCP)
  • Routing Information Protocol (RIP)
  • Trivial File Transfer Protocol (TFTP)
  • Online games…yes..ONLINE GAME…klo pake TCP…rasain aja sendiri LAG nya (ga pake TCP aja kadang suka lag hahaha)

Oke ?? sudah mengerti ?? untuk2 contoh2 aplikasi diatas…memakai UDP sangat efisien dan juga efektif (aplikasi2 tersebut ga butuh acknowledgement dalam transfer data…GA PENTING katanya J )

Note : Trivia…istilah segment kadang2 bisa di artikan sebagai datagram juga loh dalam UDP

*wokeh..selesai untuk Transport layer

Next…Network Layer…its gonnna be a looong day (baca: long read…hahaha)

Network Basic Theory 2 (Element, Devices, and Media/Medium)

1 Comment

Element of Communication

Ga pake babibu…here’s the general pic.

So, gambar diatas adalah “general idea” daripada komunikasi (baik komunikasi verbal ataupun computer)

Ketika kita ingin menyampaikan pesan dari computer satu ke yang lain, kita harus meng-“encode” dahulu pesan yang akan kita kirim, encode disini adalah supaya pesan yang kita akan sampaikan dapat terbaca oleh transmitter dan mengirimkannya. Setelah di encode maka pesan diteruskan oleh transmitter ke medium penghantar. Dari medium penghantar ini akan meneruskan ke Receiver dan Decoder (kebalikannya dari encoder dan transmitter).

Contoh nyata: jika dalam komunikasi verbal, kata2 yang akan dikeluarkan oleh otak kita akan di “encode”, oleh mulut kata2 yang akan disampaikan di transmit alias disampaikan , medium penghantarnya adalah udara disekitar kita, lalu di receive oleh telinga lawan bicara dan di decode di otaknya.

(kadang gw nyebut packet, kadang gw nyebut message, kadang gw nyebut pesan….ya sudahlah…pesan saja, repot nulis pesan/message trus hahaha)

Begitu pula dalam jaringan, computer akan men-encode pesan kita lalu mentransmittnya melalui alat dalam jaringan(bisa modem, bisa router, bisa switch, dll) dan dihantarkan melalui kabel atau nir-kabel (wire or wireless)

———————————————————————————————————————————————————————–

Segmentasi dan Multiplexing

Di dunia nyata, transmit packet/data seperti video ato email bisa dikirim ke jaringan dalam suatu bits* stream yang besar, tapi jika seperti ini, berarti alat2 network yang lain ga bisa kirim2an data karena super massive data transfer sedang berjalan pada suatu jaringan, yang akan mengakibatkan delay, lost transmission, dan lain2.

Nah, di dunia computer dikenal namanya Segmentasi (dan juga Multiplexing) untuk membagi data dan pesan menjadi pecahan2 kecil yang bisa dikirim ke jaringan, yang mana ada 2 keuntungan:

  • Dengan mengirimkan pesan yang sudah dipecah2 dari source ke destination, it can be interleaved!! (maksudnya jaringannya bisa di pakai buat komunikasi yang lain atau ngirim pesan yang lain). Nah proses yang digunakan untuk interleaving dinamakan Multiplexing.
  • Yang kedua yaitu meningkatkan reliabilitas dari komunikasi jaringan itu sendiri. Pecahan2 pesan tidak perlu menelusuri rute yang sama persis satu sama lain (ibaratnya yang penting nyampe !! mo box 1 lewat aceh, box 2 lewat Kalimantan, box 3 lewat Sulawesi, pokoknya itu 3 paket sampe ke Jakarta trus diurutin lagi jadi gabungan dari box 123), klo misalnya gagal gimane ? tinggal ngirim pecahan data yang gagal aja, yang laen ga usah

(bits : angka 0 dan 1, nyala dan mati, inilah sinyal yang dikirim ke jaringan, dari angka 0 dan 1 ini membentuk suatu kata atau pesan, iniah yang disebut dengan Bilangan Binary atau DIGITAL, seperti angka 255 dalam biner adalah 11111111, angka 254 dalam biner adalah 11111110, sedang huruf A dalam biner adalah…apa yeee gw lupa…haha )

*gw mau bikin gif nya, biar ada gambaran tentang multiplexing, tapi koq .gif nya kaga jalan ya di wordpress -_-;

The Downside alias sisi negative dari segmentasi dan multiplexing ini adalah KALAU !! (kalau ya..) lo punya 100 halaman misalnya, setiap segmentasi Cuma bisa mecah2 satu halaman, nah proses addressing, labeling, sending, reciving, dll bisa jadi “time consuming” buat sender maupun recipient

———————————————————————————————————————————————————————–

Let’s talk about End Devices

End Device itu adalah tempat tujuan dari pesan atau packet yang dikirim dalam suatu jaringan, yang biasanya adalah alat2 yang sehari2 kita kenal, contoh : PC, Network Printer, VoIP Phone, Security Camera, Smartphone, Dll)

End Device dalam terminology jaringan lebih sering disebut dengan Host

Host bisa sebagai source ataupun destination (cara membedakan antara host destination dengan source host adalah dengan memberikan alamat, yang biasanya berupa IP / Internet Protocol, 192.168.1.1 bla bla bla…J )

Host mempunyai 3 role alias peran, yang pertama adalah sebagai Server (host yang mempunyai software yang memungkinkan dia untuk menyediakan informasi kepada yang membutuhkan), Client (host yang mempunyai software yang memungkinkan dia untuk men-request informasi yang dibutuhkan), dan Both (bisa 2-2 nya)

———————————————————————————————————————————————————————–

Now let’s talk about Intermediary Devices

Yaitu alat2 yang bertugas menentukan arah data dan meneruskannya tanpa mengubah pesan yang ada didalamnya

Contoh : Router, Switch, Communication Server, Firewall, Modem, dan Access Point

Fungsi2 dari Intermediary Devices adalah

  • Regenerate and retransmit data signals
  • Maintain information about what pathways exist through the network and internetwork
  • Notify other devices of errors and communication failures
  • Direct data along alternate pathways when there is a link failure
  • Classify and direct messages according to QoS priorities
  • Permit or deny the flow of data, based on security settings

Wkwkw…canggih kan bahasa inggris gw (padahal copas aja ini ma)

———————————————————————————————————————————————————————–

Let’s continue with the Media

Ada 2 tipe Media : Wire (Fiber Optic, Ethernet, Coaxial) dan Wireless (802.11 a/b/g/n , Wi-Max, LTE, EVDO, HSDPA…wait wait wait…berasa kek jual hape gw *rofl* )

Ada pembahasan sendiri tentang media2 ini…contohnya Ethernet

Anyways…ada beberapa criteria dalam hal pemilihan media dalam jaringan

  • Jarak tempuh sinyal yang bisa dibawa suatu media (fast Ethernet klo ga sala bisa lebih dari 100 meter, setelah itu banyak sinyal yang loss alias bisa2 RTO : request time out)
  • Environtment alias lingkungan dimana media itu di pasang (paling berpengaruh dalam wireless, jgn tempatin di daerah2 yang banyak radio signal seperti microwave, satelit, beberapa hape, dll)
  • Seberapa besar data dan kecepatan yang mesti di transmit (klo mo besar ya pasang fiber optic…bergiga-gia deh dalam 1 detik dia bisa transfer data, tapi ya itu…really expensive)
  • Dan yang terakhir, COST alias biaya penginstallan…yang mana banyak berpengaruh di point ke-3

———————————————————————————————————————————————————————–

It’s now about the SIZE…of a network

Kalau di SMA dikenal namanya LAN, MAN, dan WAN

Aslinya CUMA adalah LAN…dan WAN (MAN sendiri termasuk WAN)

Langsung aja gambarnya ya Cu…(cucu maksudnya… 😀 )

LAN itu kumpulan alat2 jaringan alias networking devices dalam suatu daerah terbatas (rumah, sekolah, kantor, dll)

Sedangkan WAN adalah GABUNGAN DARI LAN

In case klo bener2 gaptek…

LAN : Local Area Network

WAN : Wide Area Network

MAN : Metropolis Area Network

Nah….LAN biasanya disebut Intranet, yaitu sebuah jaringan lokal yang hanya bisa di akses oleh suatu organisasi dengan aturan2 tertentu, WAN bisa di sebut Intranet juga, tapi untuk WAN yang lebih general biasa disebut Internet(working), yaitu sebuah jaringan yang sangat besar yang bisa diakses oleh siapa saja, dan biasanya untuk mengirimkan pesan dari suatu jaringan lokal ke jaringan lokal yang lain yang berbeda ISP (Internet Service Provider)

———————————————————————————————————————————————————————–

3 alat yang bisa menghubungkan device ke jaringan (selain dari media juga tentunya)

  1. Network Interface Card (NIC Card atau LAN Card)

    Alat ini biasanya ada di belakang PC atau disamping laptop

  2. Port

    Konektor untuk menghubungkan media dengan networking device (klo liat gambar diatas…itu tuh…yang bolong bentuknya agak kotak, yang sebelahnya lampu ijo tua)

  3. Interface (well…ini bukan alat, semacam terminology)

    Yaitu port tertentu yang terhubung ke jaringan yang tertentu pula (klo gambar diatas kan port nya cuma 1 tu, nah klo di switch dan router, port nya banyak, dan masing2 port itu ada interface sendiri2)

    Port bisa juga di namakan interface (physical interface), tapi ada juga yang dinamakan virtual interface…nanti kita akan pelajarin

Command yang berguna untuk liat jaringan apa saja yang kita lewati sebelum ke tujuan, kita bisa jalankan RUN
à ketik CMD
àtraceroute [nama website], contoh traceroute www.google.co.id

Next….how about we talk…protocols >:)

Newer Entries