Kamis, 20 Agustus 2015

NAT (SNAT DAN DNAT)


NAT adalah pengalihan suatu alamat IP ke alamat yang lain. Dan apabila suatu paket dialihkan dengan NAT pada suatu link, maka pada saat ada paket kembali dari tujuan maka link ini akan mengingat darimana asal dari paket itu, sehingga komunikasi akan berjalan seperti biasa.

Kenapa orang-orang menggunakan NAT ?

  1. Koneksi Modem ke Internet.
    Kebanyakan ISP akan memberikan satu alamat IP pada saat anda melakukan dial up ke internet. Anda dapat mengirim paket ke alamat mana saja yang anda inginkan tetapi balasannya hanya akan diterima oleh satu alamat IP yang anda miliki.Apabila anda ingin menggunakan banyak komputer seperti jaringan dalam rumah anda untuk terhubung dengan internet dengan hanya satu kink ini, maka anda membutuhkan NAT.
    Cara ini adalah NAT yang paling umum digunakan sekarang ini, sering disebut sebagai masqurading.
  2. Banyak Server
    Terkadang anda ingin mengubah arah paket yang datang ke jaringan anda. Hal ini disebabkan anda hanya memiliki satu alamat IP, tapi anda ingin semua orang dapat mengakses komputer yang berada di belakang komputer yang memiliki alamat IP yang asli. Apabila anda dapat mengubah tujuan dari paket yang masuk, anda dapat melakukan ini.
    Tipe NAT seperti ini disebut port-forwarding.
  3. Transparent Proxy
    Terkadang anda ingin seakan-akan setiap paket yang melewati komputer anda hanya ditujukan untuk komputer anda sendiri. Hal ini digunakan untuk membuat transparent proxy : Proxy adalah program yang berada di antara jaringan anda dan dunia luar, dan membuat keduanya dapat saling berkomunikasi. Bagian transparannya dikarenakan jaringan anda tidak akan mengetahui bahwa dia menggunakan proxy kecuali proxynya tidak bekerja.
    Program squid dapat dikonfiguraasi untuk bekerja seperti ini, dan hal ini disebut redirection atau transparent proxy.

Dua Tipe NAT

NAT terdiri atas dua macam tipe: Source NAT (SNAT) dan Destination NAT (DNAT) Source NAT adalah ketika anda mengubah alamat asal dari paket pertama dengan kata lain anda merubah dari mana koneksi terjadi. Source NAT selalu dilakukan setelah routing, sebelum paket keluar ke jaringan. Masquerading adalah contoh dari SNAT.
Destination NAT adalah ketika anda mengubah alamat tujuan dari paket pertama dengan kata lain anda merubah ke mana komunikasi terjadi. Destination NAT selalu dilakukan sebelum routing, ketika paket masuk dari jaringan. Port forwarding, load sharing dan transparent proxy semuanya adalah bentuk dari DNAT.

Menggunakan NAT di Linux

Untuk membuat NAt anda harus membuat aturan NAT yang akan memberitahu kernel koneksi apa yang harus diubah. Untuk ini kita menggunakan tool iptables dan membuatnya untuk mengubah tabel NAT dengan memberikan option "-t nat".
Tabel aturan NAT berisi 3 bagian yang disebut "chain", setiap aturan akan diperiksa secara berurutan sampai ada satu yang tepat. Kedua chain disebut PREROUTING (untuk Destination NAT, ketika paket pertama kali masuk), dan POSTROUTING (untuk Source NAT, ketika paket pergi). Yang ketiga, OUTPUT akan diabaikan. Tabel di bawah akan menggambarkannya :
      _____                                     _____
     /     \                                   /     \
   PREROUTING -->[Routing ]----------------->POSTROUTING----->
     \D-NAT/     [Decision]                    \S-NAT/
                     |                            ^
                     |                            |  
                     |                            |
                     |                            |
                     |                            |
                     |                            |
                     |                            |
                     --------> Local Process ------
 
Pada setiap node di atas, ketika paket melewati kita melihat koneksi apa yang diasosiasikan dengannya. Apabila hal itu adalah koneksi yang baru, kita melihat chain pada tabel nat yang berperan untuk mengetahui apa yang akan kita lakukan dengan paket tersebut.

Source NAT

Untuk melakukan Source NAT anda harus merubah asal dari koneksi. Hal ini dilakukan di chain POSTROUTING, pas sebelum keluar. Hal ini sangat penting, dikarenakan berarti tools lain yang di dalam router itu (routing, packet filtering) akan melihat paket itu tidak berubah. Hal ini juga berarti opsi '-o' (outgoing interface) juga bisa digunakan.
Source dispesifikasikan dengan menggunakan '-j SNAT', dan juga opsi '--to-source' untuk menspesifikasikan sebuah alamat IP, range alamat IP dan port atau range port (hanya untuk protokol UDP dan TCP) yang sifatnya optional.
Mengubah alamat asal ke 1.2.3.4
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
Mengubah alamat asal ke 1.2.3.4, 1.2.3.5, or 1.2.3.6
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6
Mengubah alamat asal ke 1.2.3.4, port 1-1023
# iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1.2.3.4:1-1023

Masquerading

Terdapat kasus yang khusus untuk Source NAT yang disebut masquerading, sebaiknya hanya digunakan untuk alamat IP yang dinamik, seperti menggunakan dialup secara standar (untuk alamat IP yang statis, gunakan SNAT si atas). Anda tidak perlu menempatkan alamat asal apabila anda menggunakan masquerading, dikarenakan alamat asal akan memakai alamat dari interface tempat paket itu keluar. Hal ini akan memudahkan apabila ada penggantian alamat IP dari interface tersebut, sehingga keslaahan da[at dihindari.
Masquerade semua paket yang keluar dari ppp0
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Destination NAT

Destination NAT dilakukan pada chain PREROUTING, pas ketika paket masuk, hal ini berarti semua tools di dalam router akan melihat paket akn pergi ke tujuan yang sebenarnya . Hal ini juga berarti bahwa opsi '-i' (incoming interface) bisa digunakan.
Destination NAT dispesifikasikan dengan menggunakan '-j DNAT' dan opsi '--to-destination' menspesifikasikan sebuah alamat IP, range alamat IP dan range dari port (hanya untuk protokol UDP dan TCP) yang sifatnya optional.
Merubah alamat tujuan ke 5.6.7.8
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8
Merubah alamat tujuan ke 5.6.7.8, 5.6.7.9, or 5.6.7.10
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8-5.6.7.10
Merubah alamat tujuan dari lalu lintas web ke 5.6.7.8 port 8080
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 5.6.7.8:8080

Redirection

Terdapat kasus khusus dari Destination NAT yang disebut redirection. Redirection adalah pengarahan dari paket yang masuk dari posrt tertentu diarahkan ke port lain, dimana setiap port menandakan aplikasi jaringan yang berbeda.
Mengirim dari port 80 lalu lintas web ke squid (transparent) proxy
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Dalam hal ini squid harus dikonfigurasi sehingga dia tahu paket yang masuk adalah transparent proxy.



Contoh Penggunaan NAT Pada MikroTik

Source NAT

Jika ingin menyembunyikan jaringan private LAN kita dengan alamat IP 192.168.2.0/24 dibelakang satu alamat IP 110.137.17.43 yang diberikan oleh ISP, kita dapat menggunakan fitur source NAT dengan action masqueradeMasquerade akan mengubah alamat IP dan port asal (source port) dari paket yang berasal dari jaringan 192.168.2.0/24 ke alamat IP 110.137.17.43 sebelum paket keluar dari router.

Contoh aturan yang dapat kita pakai adalah seperti ini:
/ip firewall nat add chain=srcnat action=masquerade out-interface=public

Seluruh koneksi yang keluar dari jaringan 192.168.2.0/24 akan memiliki satu alamat IP yang sama yaitu 110.137.17.43 dan asal port diatas 1024.

Destination NAT

Jika kita ingin menghubungkan satu alamat IP lokal 192.168.2.30 agar dapat diakses dari jaringan internet melalui IP publik 110.137.17.43, maka kita dapat menggunakan fitur destination NAT.

Pertama tambahkan dulu IP address publik ke interface publik:
/ip address add address=110.137.17.43/32 interface=publik

Lalu buat aturan dengan destination NAT yang memungkinkan server internal dapat diakses:
/ip firewall nat add chain=dstnat dst-address=110.137.17.43 action=dst-nat to-address=192.168.2.30

Kebalikannya buat juga aturan yang memungkinkan server internal dapat berbicara dengan jaringan luar yang akan diterjemahkan ke IP 110.137.17.43:
/ip firewall nat add chain=srcnat src-address=192.168.2.30 action=src-nat to address=110.137.17.43

Nah, dengan begini setiap paket yang menuju jaringan lokal melalui alamat IP publik 110.137.17.43 akan dialihkan ke alamat IP lokal 192.168.2.30. Begitu juga sebaliknya setiap paket yang berasal dari alamat IP lokal 192.168.2.30 akan diganti dengan alamat IP publik 110.137.17.43, jadi IP publik yang akan meneruskan paket dari 192.168.2.30 ke jaringan internet.

Mapping 1:1

Jika kita ingin menghubungkan IP publik dengan subnet 11.11.11.0/24 ke lokal dengan subnet 192.168.2.0/24, kita dapat menggunakan destination NAT dengan action netmap. 

Berikut contoh penggunaannya:
/ip firewall nat add chain=dstnat dst-address 11.11.11.0/24 action=netmap to-address=192.168.2.0/24
/ip firewall nat add chain=srcnat dst-address 192.168.2.0/24 action=netmap to address=11.11.11.0/24

Port Mapping

Kita juga dapat mengalihkan permintaan port tertentu ke server internal di dalam jaringan. Atau hal ini sering disebut dengan membuka port:

Berikut caranya:
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 in-interface=local action=dst-nat to-address=192.168.3.1 to-port=80

Perintah diatas akan mengalihkan semua paket yang menuju port 80 dengan protokol tcp yang masuk melalui interface local ke alamat IP 192.168.3.1 port 80.

MASIH BELAJAR NAT

Pengertian Network Address Translation (NAT)?
Network Address Translation (NAT) adalah suatu metoda pokok yang memungkinkan
komputer yang mempunyai address yang tidak terdaftar atau komputer yang menggunakan
address private, untuk bisa mengakses Internet. Ingat pada diskusi IP address sebelumnya
bahwa IP address private tidak bisa di route ke internet (non-routed), hanya dipakai pada
jaringan internal yang berada pada range berikut:

       

Class Type Start Address End Address
Class A
10.0.0.0
10.255.255.254
Class B 172.16.0.0
172.31.255.254
Class C
192.168.0.0
192.168.255.254
    

Untuk setiap paket yang dihasilkan oleh client, implementasi Network Address Translation
(NAT) menggantikan IP address yang terdaftar kepada IP address client yang tidak terdaftar.
Ada tiga macam jenis dasar Network Address Translation (NAT):



  1.  Static NAT                                                                                                                                    Network Address Translation (NAT) menterjemahkan sejumlah IP address tidak terdaftar menjadi sejumlah IP address yang terdaftar sehingga setiap client dipetakkan kepada IP address terdaftar yang dengan jumlah yang sama.                                                                                                                                                                                                                                                                                                          NAT Static Jenis NAT ini merupakan pemborosan IP address terdaftar, karena setiap IP address yang tidak terdaftar (un-registered IP) dipetakan kepada satu IP address terdaftar. Static NAT ini juga tidak seaman jenis NAT lainnya, karena setiap komputer secara permanen diasosiasikan kepada address terdaftar tertentu, sehingga memberikan kesempatan kepada para penyusup dari Internet untuk menuju langsung kepada komputer tertentu pada jaringan private anda menggunakan address terdaftar tersebut.
  2. Dynamic NAT                                                                                                                                 Dynamic Network Address Translation dimaksudkan untuk suatu keadaan dimana anda mempunyai IP address terdaftar yang lebih sedikit dari jumlah IP address un-registered. Dynamic NAT menterjemahkan setiap komputer dengan IP tak terdaftar kepada salah satu IP address terdaftar untuk connect ke internet. Hal ini agak menyulitkan para penyusup untuk menembus komputer didalam jaringan anda karena IP address terdaftar yang diasosiasikan ke komputer selalu berubah secara dinamis, tidak seperti pada NAT statis yang dipetakan sama. Kekurangan utama dari dynamis NAT ini adalah bahwa jika jumlah IP address terdaftar sudah terpakai semuanya, maka untuk komputer yang berusaha connect ke Internet tidak lagi bisa karena IP address terdaftar sudah terpakai semuanya.                                                                                                                        
  3. Masquerading NAT                                                                                                              Masquerading NAT ini menterjemahkan semua IP address tak terdaftar pada jaringan anda dipetakan kepada satu IP address terdaftar. Agar banyak client bisa mengakses Internet secara bersamaan, router NAT menggunakan nomor port untuk bisa membedakan antara paket-2 yang dihasilkan oleh atau ditujukan komputer-2 yang berbeda. Solusi Masquerading ini memberikan keamanan paling bagus dari jenis-2 NAT sebelumnya, kenapa? Karena asosiasi antara client dengan IP tak terdaftar dengan kombinasi IP address terdaftar dan nomor port didalam router NAT hanya berlangsung sesaat terjadi satu kesempatan koneksi saja, setelah itu dilepas.

NAT Masquerading
Keamanan NAT Kebanyakan implementasi NAT sekarang ini mengandalkan pada teknik jenis Masquerading NAT karena meminimalkan jumlah kebutuhan akan IP address terdaftar dan memaksimalkan keamanan yang diberikan olen Network Address Translation (NAT). Akan tetapi perlu dicatat bahwa NAT itu sendiri, walau memakai jenis NAT yang paling aman – Masquerading, bukanlah suatu firewall yang sebenarnya dan tidak memberikan suatu perisai besi keamanan untuk suatu situasi yang beresiko tinggi. NAT pada dasarnya hanya memblokir tamu tak diundang (unsolicited request) dan semua usaha penjajagan atau usaha scanning dari internet, yang berarti suatu pencegahan dari usaha para penyusup untuk mencari file share yang tidak di proteksi atau private Web ataupun FTP server. Akan tetapi, NAT tidak bisa mencegah user di Internet untuk meluncurkan suatu usaha serangan DoS (Denial of Services) terhadap komputer yang ada
dijaringan private anda. Ataupun tidak bisa mencegah usaha-2 lain dengan teknik yang lebih
kompleks untuk melakukan kompromi jaringan.

Network Address Translation dan Stateful Packet Inspection

Beberapa implementasi NAT juga melibatkan tambahan keamanan, biasanya secara umum menggunakan teknik yang disebut Stateful Packet Inspection (SPI). Stateful Packet Inspection adalah istilah generic pada proses dimana NAT router memeriksa paket yang datang dari internet dilakukan lebih teliti dan lebih seksama dari biasanya. Pada umumnya implementasi NAT, router hanya konsen pada IP address dan port dari paket yang melewatinya. Suatu router NAT yang mendukung Stateful
packet inspection memeriksa sampai ke header layer network dan layer transport juga, memeriksa pola yang mempunyai tingkah laku berbahaya, seperti IP spoofing, SYN floods, dan serangan teardrop. Banyak produsen router mengimplementasikan stateful packet inspection dalam berbagai bentuk dan cara, jadi tidak semua router NAT dengan kemampuan Stateful packet inspection ini  mempunyai tingkat perlindungan keamanan yang sama.

Solusi NAT

Seperti didiskusikan sebelumnya, keputusan untuk design jaringan seharusnya
mempertimbangkan berikut ini:
  • Ukuran besarnya jaringan private anda 
  • Kebutuhan akan keamanan jaringan dalam organisasi
NAT adalah solusi yang memadai jika:
  • Akses ke internet dan akses ke jaringan tidak dibatasi berdasarkan user per user. Tentunya anda tidak memberikan akses internet ke semua user dalam jaringan anda bukan?
  • Jaringan private berisi user didalam lingkungan yang tidak bisa di routed.
  • Organisasi anda memerlukan address private untuk komputer-2 pada jaringan private.
Suatu server NAT memerlukan paling tidak 2 interface jaringan.
  • Setiap interface memerlukan IP address, range IP address yang diberikan haruslah berada dalam subnet yang sama dengan jaringan dimana ia terhubung.
  • Subnet mask juga harus sama dengan subnet mask yang diberikan pada segmen jaringan dimana dia terhubung
Suatu server NAT dapat diletakkan pada
jaringan untuk melaksanakan tugas-2 tertentu:
  • Mengisolasi traffic jaringan pada segmen jaringan sumber, tujuan, dan segmen jaringan intermediate
  • Membuat partisi subnet didalam jaringan private, melindungi data confidential.
  • Pertukaran paket jaringan antara jenis segmen jaringan yang berbeda
Didalam design kebanyakan wireless router yang ada dipasaran sekarang ini, sudah banyak yang mengadopsi kemampuan Network Address Translation (NAT) dan Stateful Packet Inspection (SPI) ini kedalam piranti router. Baca juga artikel yang berhubungan dengan NAT pada guideline masalah keamanan firewall. Salam,
Hasil Kopast dari : http://tttahu.blogspot.com/2013/01/pengertian-network-address-translation.html

Network Address Translation (NAT)

                          Pengertian  NAT
                         NAT atau Network Address Translation merupakan salah satu teknologi jaringan yang kini telah menjadi salah satu standar dalam penyusunan suatu topologi ataupun logika dalam sebuah jaringan komputer maupun jaringan data, dalam tulisan ini akan dijelaskan beberapa hal tentang  NAT.
Pengertian  NAT

 NAT atau Network Address Translation merupakan salah satu protocol dalam suatu system jaringan, NAT atau Network Address Translation memungkinkan suatu jaringan dengan ip atau internet protocol yang bersifat prifat atau prifat ip yang sifatnya belum terregistrasi di jaringan internet untuk mengakses jalur internet, hal ini berarti suatu alamat ip dapat mengakses internet dengan menggunakan ip privat atau bukan menggunakan ip public, NAT biasanya dibenamkan dalam sebuah router, NAT juga sering digunakan untuk menggabungkan atau menghubungkan dua jaringan yang berbeda, dan mentranslate atau menerjemahkan ip privat atau bukan ip public dalam jaringan internal ke dalam jaringan yang legal network sehingga memiliki hak untuk melakukan akses data dalam sebuah jaringan. NAT juga dapat menghubungkan banyak computer atau ip dalam suatu jaringan ke jaringan internet hanya dengan satuip, hal ini menjadi salah satu pilihan yang baik dalam melakukan pengamanan jaringan secara global,dikarenakan dengan menggunakan satu ip maka ip privat yang mengakses data tersebut dapat disembunyikan, atau dengan kata lain NAT dapan menyembunyikan ip yang sebenarnya melakukan transfer data dengan menggunakan satu ip yang berada pada router NAT. NAT atau Network Address Translation merupakan salah satu bagian dari layer TCP/IP, dimana TCP/IP sendiri merupakan salah satu protocol yang menjadi standar konvigurasi bagi sebuah computer untuk dapat bekomunikasi dengan computer lain melalui suatu alamat yang disebut dengan IP atau Internet Protocol yang diimplementasikan dengan penamaan alamat IP dengan angka yang dihitung berdasarkan digit biner dari penggabungan empat octetkonfigurasi IP itu sendiri. Dalam penerapannya, tiap-tiap produsen suatu merek memiliki metode atau penamaan masing-masing dari pengelolaan NAT, misalnya pada paket system operasi Free BSD menamakan pengelolaan NAT dengan PF atau Paket Filter, dimana dalam implementasinya NAT bekerja di dalam program Natd dalam sebuah daemon atau virtual, atau dalam Linux NAT bekerja dalam table routing yang dapat diprogram oleh programernya sendiri dengan logika khusus, misalnya salah satu system operasi pengganti router turunan linux adalah Vyatta dan Smoothwall Exspress. Berikut adalah contoh tampilan dari salah satu system operasi router yang menggunakan dua logika NAT yaitu Load Balancing Round Robbin dan Load Balancing Fail Over, system operasi ini merupakan turunan dari FreeBSD yang disebut dengan PF Sense.
Gambar 1
Tampilan Index dari PF Sense



Tipe-Tipe NAT
         NAT atau Network Address Translation memiliki dua tipe, yaitu statis dan dinamis.
NAT Tipe Statis Static NAT atau NAT statis menggunakan table routing yang tetap, atau alokasi translasi alamat ip ditetapkan sesuai dengan alamat asal atau source ke alamat tujuan atau destination, sehingga tidak memungkinkan terjadinya pertukaran data dalam suatu alamat ip bila translasi alamat ipnya belum didaftarkan dalam table nat, contoh bentuk table translasi statis dapat dilihat pada gambar 3. Translasi Static terjadi ketika sebuah alamat lokal(inside) di petakan ke sebuah alamat global/internet (outside). Alamat lokal dan global dipetakan satu lawan satu secara Statik. NAT secara statis akan melakukan request atau pengambilan dan pengiriman paket data sesuai dengan aturan yang telah ditabelkan dalam sebuah NAT, adapun contoh sebuah routing statis dari sebuah jaringan sederhana dapat dilihat pada gambar 2.
Gambar 2
Static Routing dengan mneggunakan static NAT
 
Gambar 3
Contoh simulasi tabel NAT statis dalam sebuah router
 

  NAT       Tipe  Dinamis
 NAT dengan tipe dinamis menggunakan logika balancing, atau menggunakan logika pengaturan beban, dinama dalam tabelnya sendiri telah ditanamkan logika kemungkinan dan pemecahannya, NAT dengan tipe dinamis pada umunya dibagi menjadi dua jenis yaitu NAT dinamis dengan sistem pool dan NAT overload, ada juga tipe yang lain yaitu Overlapping.
NAT Sistem Pool
 NAT dengan sistem pool atau kelompok menggunakan sebuah tabel NAT dengan logika dinamis, dimana logika yang ditanamkan dalam NAT tersebuat pada umumnya merupakan logika Fuzzy atau lika ambang yang nilai translasinya belum pasti, dimana dalam sistem pool, suatu request belum tentu akan melewati jaringan yang sama bila melakukan request yang sama untuk kedua kalinya, Translasi Dinamik terjadi ketika router NAT diset untuk memahami alamat lokal yang harus ditranslasikan, dan kelompok (pool) alamat global yang akan digunakan untuk terhubung ke internet. Proses NAT Dinamik ini dapat memetakan beberapa kelompok alamat lokal ke beberapa kelompok alamat global. Gambaran dari logika Nat dengan sistem pool dapat dilihat pada gambar 4, salah satu aplikasi router NAT yang menggunakan logika pool yaitu PF Sense turunan dari sistem operasi Free BSD, tampilan dari pool yagn dibuat pada PF sense dapat dilihat pada gambar 5

  gambar 5  Gambaran setting pool pada PF Sens
  gambar  4
Gambaran logika NAT dinamiss
Nat dengan sistem pool biasanya sering dimanfaatkan untuk melakukan balancing atau penyeimbangan beban pada jaringan. Tampilan tabel pool pada PF Sense dapat dilihat pada gambar 6.
Gambar 6
Gambaran pool pada PF Sense
NAT Sistem Overloading
 Nat dengan sistem Overloading menggunakan logika dimana request atau permintaan dari banyak client atau banyak alamat dioperkan atau diberikan ke satu alamat ip distribusi. Sejumlah IP lokal/internal dapat ditranslasikan ke satu alamat IP global/outside. Hal ini sangat Sejumlah IP lokal/internal dapat ditranslasikan ke satu alamat IP global/outside. Hal ini sangat menghemat penggunakan alokasi IP dari ISP. Sharing/pemakaian bersama satu alamat IP ini menghemat penggunakan alokasi IP dari ISP. Sharing/pemakaian bersama satu alamat IP ini menggunakan metoda portmultiplexing, atau perubahan port ke packet outbound. Penggabungan sistem overloading dan sistem pool telah dilakukan oleh banyak produsen router dan menghasilkan logika yang banyak digunakan untuk load balancing saat ini yaitu Round Robbin Load Balancing, dimana logika ini melakukan pengiriman request secara berurutan, secara bergantian ke alamat gateaway yang telah ditanamkan dalam tabel NAT sebelumnya, sehingga suatu multirequest dari sebuah alamat ip dapat melalui lebih dari satu alamat distribusi, penerapan ini dapat dilakukan dalam penggunaan DualWan Router, selain itu logika ini juga memiliki logika Fail Over, dimana bila suatu alamat didistribusitidak dapat lagi mengirimkan paket maka paket akan dialihkan ke alamat distribusi yang lain. Berikut gambaran dari sistem Overloading ini

  Gambaran jaringan dengan sistem NAT Overloading
Nat dengan Overloading memiliki logika yang sangat mirip dengan Fail Over, tetapi dalam Overloading alamat ip tetap sama, hanya portnya saja yang berubah, sehingga dalam Overloading setiap alamat ip diberikan satu alamat distribusi tetapi menggunakan port yang berbeda
 
NAT  Sistem  Overlaping
 Nat dengan sistem Overlaping diterapkan bila suatu alamat private dalam suatu jaringan merupakan alamat privat teregistrasi di dalam jaringan lain, maka router NAT harus melakukan look up ke dalam tabel untuk melakukan intercep atau pengubahan konfigurasi pada salah satu alamat jaringan dan merubahnya dengan alamat jaringan lain yang unik, dan khusus, dalam hal ini router NAT harus mampu mentranslasikan alamat jaringan internal sama baiknya dengan melakukan translate jaringan eksternal. Sistem NATOverlaping ini dapat digunakan guna menanggulangi terjadinya ipconflict atau kesamaan ip dalam suatu jaringan. Berikut gambaran dari NATdengan sistem Overlapping
Contoh  Aplikasi NAT atau  Router NAT
Aplikasi router NAT sangatlah banyak, baik itu yang open sourcemaupun closed source, disini akan dibahas mengenai beberapa aplikasi sistem operasi router berbasis NAT dan beberapa fungsi routing yang dimiliki oleh aplikasi tersebut

PF Sense (Paket  Filter)
PF Sense merupakan sebuah sistem operasi router yang dikeluarkan atau dirilis oleh Free BSD, PF Sense merupakan sebuah aplikasi router yang mampu melakukan routing lebih dari tiga jaringan dengan menggunakan lebih dari satu ISP atau internet service Provider, PF Sense menggunakan logika pool dimana pool ini dapat diolah sesuai dengan keinginan kita, dalam PFSense juga disediakan tabel NAT dari masing-masing alamat jaringan atau kartu jaringan yang terinstal, logika translasi yang terdapat dalam PF Sense adalah Load Balancing Round Robbing dan Fail Over, dimana menggabungkan metode pool dan metode Overloading. PF Sense juga dapat berlaku sebagai internet gateway Berikut Gambaran Dari sistem operasi PFSense tersebut.
Gambar 8
Tampilan Index dari PF Sense


 
Gambar 9
Tampilan table NATOutbound pada aplikasi PF Sense
Gambar 10
Tampilan NAT untuk satu interface dan portnya pada PF Sense
 
contoh lainnya adalah : VYATTA,Smooth WAll , dan mikrotik
Contoh Penerapan NAT Pada Jaringan
 NAT dapat diterapkan di semua jenis jaringan, dengan syarat sebuah skema jaringan dilengkapi dengan router yang mendukung NAT, keberadaan NAT menjadi salah satu pilihan untuk menetapkan standar keamanan untuk sebuah konfigurasi jaringan, setiap konfigurasi jaringan berbasis NAT merupakan konfigurasi khusus yang diseting berbeda untuk setiap jenis jaringan, konfigurasi NAT ini sangat khusus dikarenakan konfigurasi NAT sangat tergantung akan topologi jaringan dan konfigurasi jaringan, pada setiap jaringan yang menggunakan NAT dapat juga dikonfigurasikan sesuai dengan keinginan dari penyusun atau orang yang mendesain jaringan tersebut. Berikut disajikan sebuah skema jaringan yang telah kami ujikan dan didesain untuk sebuah kafe internet, kafe internet ini berada di daerah Gunung  Agung bernama Gaul. Net dan menggunakan Pc Router rakitan yang diinstal sistem operasi PF Sense sebagai aplikasi router, dimana desain ini menggunakan suatu logika khusus, dikarenakan penggunaan dua buah ISP yang menggunakan metode Load Balancing dan Fail Over sebagai logika request atau permintaan paket, Router NAT ini juga berfungsi sebagai firewall, dimana dalam tabel NAT, permintaan data ke dalam jaringan internal yang dilakukan oleh IP Privat akan di blok secara otomatis, sehingga jaringan ini bebas hacking atau bebas pembobolan. Berikut tampilan dari desain jaringan tersebut :
 

Gambar 14
Contoh pengaplikasian router NAT dalam jaringan

Dalam jaringan ini menggunakan sistem Load Balancing RoundRobbin, dimana router NAT yang telah diinstal PF Sense melakukan pengoperan request dari komputer dalam jaringan melalui satu IP yaitu yang disebut dengan LAN, sehingga IP client yang sebenarnya tersembunyi, selanjutnya dari interface LAN maka router akan menggunakan NAT Pool yang telah ditanamkan oleh desainer jaringan pada Pool dalam hal ini dua IP ISP dengan satu DNS yang sama dan satu IP LAN yang mengkoneksikan router ke jaringan internal, bila satu ip client memiliki multirequest atau melakukan permintaan data secara berurutan melalui paket yang berbeda, maka oleh NAT permintaan tersebut akan dibagikan ke dua alamat ISP secara berurutan atau array sesuai dengan tabel pool yang ada, sehingga satu ip client mampu atau diperbolehkan menggunakan kedua alamat ISP untuk request yang berbeda, hal ini akan menyebabkan peningkatan kecepatan dua kali lipat pada client tersebut. Dan bila terjadi kegagalan pengiriman request ke salah satu alamat ISP maka request tersebut akan coba diberikan ke alamat ISP yang satunya yang telah terdaftar dalam pool, metode ini disebut dengan Fail Over


Kesimpulan

Dari pembahasan di atas dapat disimpulkan bahwa : 
1.NAT Merupakan salah satu jenis protokol jaringan, yang menggunakan logika pemprograman berdasarkan tabel NAT yang dibuat sebelumnya. 
2.NAT Merupakan protokol jaringan yang bersifat khusus, dikarenakan NAT memiliki translasi yang berbeda untuk tiap-tiap tipe jaringan. 
3.NAT Merupakan salah satu metode perlindungan atau security jaringan yang baik dan handal, dikarenakan banyaknya metode konfigurasi yang dimiliki. 
4.NAT Berfungsi sebagai traffic atau pengontrol arus data dalam jaringan, atau lebih sebagai polisi dalam sebuah traffic light. 
5.NAT Memilikidua jenis yaitu statis dan dinamis. 
6.Aplikasi NAT sangat banyak beredar di masyarakat, dan bisa didapatkan dengan mudah.
 7.NAT dapat diaplikasikan dalam banyak jenis jaringan, baik itu jaringan bersifat besar (lebih dari 1 network atau jaringan) ataupun yang sederhana (atau yang hanya terdiri dari satu jaringan)
 

TCP dan UDP (Penjelasan dan Perbedaannya)

1. TCP

Pengertian TCP

Transmission Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network (jaringan). TCP merupakan suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable).
TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data.

Awal Keberadaan TCP

Konsep TCP/IP berawal dari kebutuhan DoD (Departement of Defense) AS akan suatu komunikasi di antara berbagai variasi komputer yg telah ada. Komputer-komputer DoD ini seringkali harus berhubungan antara satu organisasi peneliti dg organisasi peneliti lainnya, dan harus tetap berhubungan sehingga pertahanan negara tetap berjalan selama terjadi bencana, seperti ledakan nuklir. Oleh karenanya pada tahun 1969 dimulailah penelitian terhadap serangkaian protokol TCP/IP. Di antara tujuan-tujuan penelitian ini adalah sebagai berikut :
  1. Terciptanya protokol-protokol umum, DoD memerlukan suatu protokol yg dapat ditentukan untuk semua jaringan.
  2. Meningkatkan efisiensi komunikasi data.
  3. Dapat dipadukan dengan teknologi WAN (Wide Area Network) yg telah ada.
  4. Mudah dikonfigurasikan.

Karakteristik TCP

Karakteristik dari TCP antara lain yaitu :
  1. Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim.
  2. Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
  3. Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk
  4. Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
  5. Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
  6. Mengirimkan paket secara “one-to-one“: hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.

Cara Kerja TCP/IP

Adapun langkah-langkah cara kerja dari protokol TCP/IP ini adalah :
  1. Pertama, datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) dimana data tersebut akan dikirimkan.
  2. Pada lapisan TCP, data tersebut lalu “dibungkus” dengan informasi header yang dibutuhkan. Misalnya seperti cara mengarahkan data tersebut ke tujuannya, cara merangkai kembali kebagian-bagian data tersebut jika sudah sampai pada tujuannya, dan sebagainya.
  3. Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
  4. IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
  5. IP lalu mengarahkan datagram tersebut ke tujuannya.
  6. Komputer penerima melakukan proses-proses perhitungan, ia memeriksa perhitungan checksum yang sama dengan data yang diterima.
  7. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman dan datagram akan dikirimkan kembali.

Kelebihan TCP/IP

Beberapa kelebihan TCP/IP dibandingkan protokol yang lain antara lain:
  1. TCP/IP adalah protokol yang bisa diarahkan. Artinya ia bisa mengirimkan datagram melalui rute-rute yang telah ditentukan sebelumnya. Hal ini dapat mengurangi kepadatan lalu lintas pada jaringan, serta dapat membantu jika jaringan mengalami kegagalan, TCP/IP dapat mengarahkan data melalui jalur lain.
  2. Memiliki mekanisme pengiriman data yang handal dan efisien.
  3. Bersifat open platform atau platform independent yaitu tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu.
  4. Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang menjalankan pada sistem-sistem operasi yang berbeda pula.
  5. TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon.
  6. TCP/IP menggunakan skema pengalamatan yang umum, maka semua sistem dapat mengirimkan data ke alamat sistem yang lain.

Kegunaan TCP

Beberapa kegunaan dari TCP yaitu :
  1. Menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
  2. protokol transport berjalan pada end systems
  3. Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna (username) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, lias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP)
  4. Remote login. Network terminal Protokol (telnet) memungkinkan pengguna komputer dapat melakukan log in ke dalam suatu komputer didalam suatu jaringan. Jadi hal ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.( lihat RFC 854 dan 855 untuk spesifikasi telnet lebih lanjut)
  5. Computer mail. Digunakan untuk menerapkan sistem elektronik mail.
  6. Network File System (NFS). Pelayanan akses file-file jarak jauh yg memungkinkan klien-klien untuk mengakses file-file pada komputer jaringan jarak jauh walaupun file tersebut disimpan secara lokal. (lihat RFC 1001 dan 1002 untuk keterangan lebih lanjut)
  7. remote execution. Memungkinkan pengguna komputer untuk menjalankan suatu program didalam komputer yg berbeda. Biasanya berguna jika pengguna menggunakan komputer yg terbatas, sedangkan ia memerlukan sumber yg banyak dalam suatu system komputer. Ada beberapa jenis remote execution, ada yg berupa perintah-perintah dasar saja, yaitu yg dapat dijalankan dalam system komputer yg sama dan ada pula yg menggunakan “prosedure remote call system”, yg memungkinkan program untuk memanggil subroutine yg akan dijalankan di system komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah “rsh” dan “rexec”)
  8. name servers. Nama database alamat yg digunakan pada internet (lihat RFC 822 dan 823 yg menjelaskan mengenai penggunaan protokol name server yg bertujuan untuk menentukan nama host di internet.)

Manajemen Koneksi TCP :

Pada saat Setup Koneksi

  1. Client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial.
  2. Server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK.
    • ACK yang menyatakan telah menerima SYN.
    • Mengalokasikan buffer.
    • Menghasilkan sequence number untuk ke client.

Pada saat Menutup Koneksi

  1. Client mengirim kontrol TCP FIN ke server
  2. Server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.
  3. Client menerima FIN dan membalas ACK
    • Masuk pada masa menunggu balasan ACK terhadap dari server
  4. Server menerima ACK dan koneksi tertutup.

Header TCP

Ukuran dari header TCP adalah bervariasi, yang terdiri atas beberapa field yang ditunjukkan dalam gambar dan tabel berikut. Ukuran TCP header paling kecil (ketika tidak ada tambahan opsi TCP) adalah 20 byte. headerTCP-2

Port TCP

Port TCP mampu mengindikasikan sebuah lokasi tertentu untuk menyampaikan segmen-segmen TCP yang dikirimkan yang diidentifikasi dengan TCP Port Number. Nomor-nomor di bawah angka 1024 merupakan port yang umum digunakan dan ditetapkan oleh IANA (Internet Assigned Number Authority). Tabel berikut ini menyebutkan beberapa port TCP yang telah umum digunakan.
Port TCP merupakan hal yang berbeda dibandingkan dengan port UDP, meskipun mereka memiliki nomor port yang sama. Port TCP merepresentasikan satu sisi dari sebuah koneksi TCP untuk protokol lapisan aplikasi, sementara port UDP merepresentasikan sebuah antrean pesan UDP untuk protokol lapisan aplikasi. Selain itu, protokol lapisan aplikasi yang menggunakan port TCP dan port UDP dalam nomor yang sama juga tidak harus sama. Sebagai contoh protokol Extended Filename Server (EFS) menggunakan port TCP dengan nomor 520, dan protokol Routing Information Protocol (RIP) menggunakan port UDP juga dengan nomor 520. Jelas, dua protokol tersebut sangatlah berbeda! Karenanya, untuk menyebutkan sebuah nomor port, sebutkan juga jenis port yang digunakannya, karena hal tersebut mampu membingungkan (ambigu). PORTtcp-1

Aplikasi yang Menggunakan TCP

1. World Wide Web

Aplikasi ini pada prinsipnya mirip dengan aplikasi gopher, yakni penyediaan database yang dapat diakses tidak hanya berupa text, namun dapat berupa gambar/image, suara, video. penyajiannya pun dapat dilakukan secara live. Dengan demikian, jenis informasi yang dapat disediakan sangat banyak dan dapat dibuat dengan tampilan yang lebih menarik. Hal ini dimungkinkan karena Web menggunakan teknologi hypertext. Karena itu, protokol yang digunakan untuk aplikasi ini dikenal dengan nama Hypertext-transfer-protocol (HTTP).

2. Archie

Aplikasi FTP memungkinkan kita mentransfer file dari manapun di seluruh dunia. Hal itu dengan anggapan bahwa kita telah mengetahui lokasi di mana file yang kita cari berada. Namun jika kita belum mengetahui di mana file yang kita cari berada, kita memerlukan aplikasi untuk membantu kita mencari di mana file tersebut berada.
Cara kerja Archie dapat dijelaskan sebagai berikut. Server Archie secara berkala melakukan anonymous ftp ke sejumlah FTP Server dan mengambil informasi daftar seluruh file yang ada pada FTP Server tersebut. Daftar ini disusun berdasarkan letak file dalam direktori/sub direktori, sehingga mudah untuk menemukan file tersebut. File-file yang berisi daftar file tiap FTP Server ini merupakan database dari Archie Server. Jika ada query ke Archie Server yang menanyakan suatu file, server mencari dalam daftar tadi dan mengirimkan seluruh jawaban yang berkaitan dengan file tersebut. Informasi yang diberikan adalah alamat FTP Server yang memiliki file tersebut dan letak file tersebut dalam struktur direktori.

3. Wide Area Information Services (WAIS)

WAIS merupakan salah satu servis pada internet yang memungkinkan kita mencari melalaui materi yang terindeks dan menemukan dokumen/artikel berdasarkan isi artikel tersebut. Jadi pada dasarnya, WAIS memberikan layanan untuk mencari artikel yang berisi kata-kata kunci yang kita ajukan sebagai dasar pencarian.
Aplikasi WAIS biasanya berbasis text. Untuk membuat suatu dokumen dapat dicari melalaui WAIS Server, harus dibuat terlebih dahulu index dari dokumen tersebut. Setiap kata dalam dokumen tersebut diurut dan dihitung jumlahnya. Jika ada query dari client, index akan diperiksa dan hasilnya, yakni dokumen yang memiliki kata-kata tersebut ditampilkan. Karena kemungkinan ada banyak dokumen yang memiliki kata-kata yang kita ajukan, maka beberapa dokumen yang memiliki kata kunci tersebut diberi skor/nilai. Dokumen yang paling banyak mengandung kata-kata kunci akan mendapat skor tertinggi. Dengan demikian, user mendapatkan informasi kemungkinan terbesar dari bebarapa dokumen yang mengandung kumpulan kata yang diajukannya.

4. FAX di Internet

Mesin FAX sebagai pengirim dan penerima berita tertulis melalaui telepon saat ini hampir dimiliki oleh semua kantor. Melalaui gateway Internet FAX, pengiriman FAX dapat dilakukan melalaui e-mail. Gateway akan menerjemahkan pesan e-mail tersebut dan menghubungi mesin FAX tujuan melalui jalur telepon secara otomatis. Tentu saja, akses untuk ini terbatas (private).

2. UDP

Pengertian UDP

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.

Karakteristik UDP

Karakteristik dari UDP antara lain, yaitu :
  1. Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
  2. Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
  3. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. HeaderUDP berisi field Source Process Identification dan Destination Process Identification.
  4. UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.

Kegunaan UDP:

UDP sering digunakan dalam beberapa tugas berikut:
  1. Protokol yang “ringan” (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
  2. Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
  3. Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
  4. Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.

Kelemahan UDP

  1. UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
  2. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
  3. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

Header UDP

Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap.

Port UDP

Seperti halnya TCP, UDP juga memiliki saluran untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan beberapa UDP port yang telah dikenal secara luas.

Kelemahan UDP

  1. UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
  2. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
  3. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

Aplikasi yang Menggunakan UDP:

Digunakan untuk multimedia streaming, yang sangat memberikan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segment
Contoh protokol aplikasi yang menggunakan UDP :
  • DNS (Domain Name System) 53
  • SNMP, (Simple Network Management Protocol) 161, 162
  • TFTP (Trivial File Transfer Protocol) 69
  • SunRPC port 111.

3. Perbedaan TCP dan UDP

Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.

Tabel Perbedaan TCP dan UDP

Dibawah ini merupakan tabel perbedaan TCP dan UDP :
No TCP UDP
1. Beroperasi berdasarkan konsep koneksi. Tidak berdasarkan konsep koneksi, jadi harus membuat kode sendiri.
2. Jaminan pengiriman-penerimaan data akan reliable dan teratur. Tidak ada jaminan bahwa pengiriman dan penerimaan data akan reliable dan teratur, sehingga paket data mungkin dapat kurang, terduplikat, atau bahkan tidak sampai sama sekali.
3. Secara otomatis memecah data ke dalam paket-paket. Pemecahan ke dalam paket-paket dan proses pengirimannya dilakukan secara manual.
4. Tidak akan mengirimkan data terlalu cepat sehingga memberikan jaminan koneksi internet dapat menanganinya. Harus membuat kepastian mengenai proses transfer data agar tidak terlalu cepat sehingga internet masih dapat menanganinya.
5. Mudah untuk digunakan, transfer paket data seperti menulis dan membaca file. Jika paket ada yang hilang, perlu dipikirkan di mana letak kesalahan yang terjadi dan mengirim ulang data yang diperlukan.

Secara garis besar perbedaan TCP dan UDP adalah :
No TCP UDP
1. Dapat diandalkan Jika sambungan terputus ketika mengrim sebuah pesan maka server akan meminta bagian yang hilang. Jadi tidak akan terjadi data yang korup ketika mentransfer sebuah data. Tidak dapat diandalkan Jika mengirimkan suatu pesan atau data, kita tidak akan tahu apakah sudah terkirim atau belum dan apakah sebagian dari pesan tersebut hilang atau tidak ketika proses pengiriman. Jadi akan ada kemungkinan terjadinya data yang korup.
2. Berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. TCP akan mengirimkannya secara berurutan. Tidak perlu khawatir data tiba dengan  urutan yang salah. Tidak berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. Tidak dapat dipastikan data mana yang akan datang terlebih dahulu.
3. Berorientasi sambungan (connection-oriented)Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination). Connectionless (tanpa koneksi)
Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
4. Ringan (Heavyweight) Ketika tingkat level terendah dari TCP tercapai dalam urutan yang salah,permintaan pengiriman ulang data harus dikirm. dan bagian lainya harus dikembalikan semua. Sehingga membutuhkan proses untuk menyatukannya Ringan (Lightweight) Tidak ada permintaan pesan, tidak ada trak koneksi dan yang lainnya, hanya menjalankan dan melupakannya. Ini berarti itu jauh lebih cepat dan kartu jaringan / OS hanya melakukan sedikit pekerjaan untuk menerjemahkan kembali data dari paket.
5.
Streaming Data /paket dibaca sebagai satu alur data. tanpa mengetahui batas setiap data berakhir dan data yang lain mulai. Ada kemungkinan beberapa paket data dibaca per satu panggilan data. 
Datagrams Paket dikirim secara individu dan dijamin utuh ketika tiba. Satu paket dibaca per satu  panggilan.
5.
Contoh World Wide Web (Apache TCP port 80), e-mail (SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) and Secure Shell (OpenSSH port 22) etc.
Contoh Domain Name System (DNS UDP port 53), streaming media applications such as IPTV or movies, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and online multiplayer games etc

Hasil Kopast dari : http://irpantips4u.blogspot.com/2012/11/tcp-dan-udp-penjelasan-dan-perbedaannya.html