Google Analytics

Saya memakai Anaytics lebih dulu dibanding Webmaster dan sempat diselingi kekecewaan. Kejutan pertama adalah tampilan di Analytics yang disajikan menggunakan Flash. Terasa janggal untuk gaya Google yang lebih menyukai teks dan elemen HTML “apa adanya”. Flash adalah pertanda buruk dan terus terang sering saya awali dengan praduga bersalah. Flash itu pula yang saya jauhi dari FlickrBadge — lebih baik saya tunjuk-tanpa-tender JavaScript. Gara-gara spekulasi Google dengan mensyaratkan Macromedia Flash Player 8, grafik mereka yang seharusnya indah menjadi ompong sonder legenda di Ubuntu. Siapa yang patut dipersalahkan jika pemutar Flash untuk Linux tertinggal satu versi terhadap Microsoft Windows?

Lebih fatal lagi: dengan koneksi keroyokan ala kantoran, petak-petak Flash tersebut melompong di siang bolong…

Walaupun saya tetap berkompromi: skrip Analytics saya pasang lagi, toh ada kemungkinan saya memerlukan laporan yang sudah dikelompokkan untuk eksekutif, pemasar, dan tuan Web. Budi Putra pernah bercerita cara dia mempresentasikan pengunjung blognya a.l. cukup dengan menyajikan materi di Google Analytics.

Demikianlah Google. Seperti yang sudah-sudah, saya acung jempol untuk mereka karena sering menyuguhkan kemudahan untuk pekerja teknis.

Google Webmaster Tools

Akhirnya kita dapat terbantu untuk keperluan selanjutnya, berupa seperangkat layanan pengelolaan web dari Google. Saya pasang fasilitas Sitemap (peta situs) yang tersedia di Google Webmaster Tools. Sitemap menggunakan beberapa teknik untuk membantu Google menentukan halaman web yang dianggap “penting”. Intinya: terdapat mekanisme yang menghubungkan antara persepsi pengelola web tentang kondisi situsnya dengan kepentingan Google menyajikan hasil pencarian yang lebih baik. Protokol Sitemap mengakomodasi informasi tambahan tentang bagian-bagian situs Web, seperti dijelaskan di halaman Using the Sitemap Protocol.

Saya pasang Sitemap Generator dari Google untuk menghasilkan berkas Sitemap dengan pertimbangan produk tersebut dari Google dan Python yang disyaratkan tersedia di tempat hosting. Agar penyediaan Sitemap dimutakhirkan secara reguler, cron di Linux sangat membantu.

Blog ini disimpan dalam bentuk berkas statik (bagian dinamik yang menggunakan PHP sangat minor), untuk itu saya pilih pendekatan Directory Paths digabung dengan Access Logs. Pertimbangan saya: selain senarai URL, log pengunjung dapat dijadikan masukan perihal halaman yang dianggap “populer”. Penyusunan example_config.xml, yaitu berkas konfigurasi untuk Sitemap, relatif mudah dilakukan.

Akan halnya beberapa wiki yang dijalankan di atas MoinMoin, saya memilih pendekatan Access Logs karena halaman dinamis yang dihasilkan berbeda dengan struktur di direktori penyimpanan fisiknya. Barangkali ada kemungkinan lain? Saya belum mempertimbangkan terlalu jauh untuk situs Web dinamik.

Agar tidak terlalu membebani server Web, saya bedakan rentang pemutakhiran Sitemap. Toh, pengunjung wiki lebih sedikit dibanding blog ini.

Setelah semua siap, tinggal melengkapi prosedur administrasi di Google. Verifikasi kepemilikan situs dan pemasangan tautan berkas Sitemap yang telah dipasang.

Semua beres dan setelah beberapa hari dipasang, bagian yang menarik adalah kecepatan situs Web dalam merespon rayap Google. Di bawah ini ditampilkan hasil untuk #direktif, Weling, dan Senarai Padanan Istilah.

Google adalah

Pada awal kompetisi ketat di antara mesin pencari, Google sudah sangat memudahkan pengelola web mengirimkan URL untuk didatangi rayap (crawler) Google. Sebagian mesin pencari lain mengandalkan layanan berbayar hanya untuk setor URL, sehingga proses pengenalan situs Web ke mesin pencari terkadang dijadikan satu paket dengan layanan tempat hosting.

Perolehan URL situs baru kian membaik dan menurut saya untuk saat ini pengelola situs Web tidak perlu mengirim URL situs baru mereka ke mesin pencari. Tautan dari halaman lain ke tempat baru tersebut boleh dikata tak akan lama mengundang bot Google untuk datang menjenguk. Alat bantu blog juga melakukan sejumlah notifikasi (lewat ping entri baru) ke layanan yang berkait dengan blog dan ini sudah cukup untuk mengajak aneka bot lain.

Dengan kata lain: urusan setor URL sudah beres dan sangat mudah!

teknologi komunikasi

Beberapa Konsep DasarSebelum kita membahas lebih lanjut ada baiknya kita urai kembali konsep-konsep dasar yang harus dipahami sebelum masuk ke NAT. Diantaranya adalah TCP/IP, Gateway/Router, dan Firewall.TCP/IPProtokol yang menjadi standar dan dipakai hampir oleh seluruh komunitas Internet adalah TCP/IP (Transmission Control Protocol/Internet Protocol).


Agar komputer bisa berkomunikasi dengan komputer lainnya, maka menurut aturan TCP/IP, komputer tersebut harus memiliki suatu address yang unik. Alamat tersebut dinamakan IP address. IP Address memiliki format sbb: aaa.bbb.ccc.ddd. Contohnya: 167.205.19.33Yang penting adalah bahwa untuk berkomunikasi di Internet, komputer harus memiliki IP address yang legal. Legal dalam hal ini artinya adalah bahwa alamat tersebut dikenali oleh semua router di dunia dan diketahui bahwa alamat tersebut tidak ada duplikatnya di tempat lain. IP address legal biasanya diperoleh dengan menghubungi InterNIC.Suatu jaringan internal bisa saja menggunakan IP address sembarang.

Namun untuk tersambung ke Internet, jaringan itu tetap harus menggunakan IP address legal. Jika masalah routing tidak dibereskan (tidak menggunakan IP address legal), maka saat sistem kita mengirim paket data ke sistem lain, sistem tujuan itu tidak akan bisa mengembalikan paket data tersebut, sehingga komunikasi tidak akan terjadi.Dalam berkomunikasi di Internet/antar jaringan komputer dibutuhkan gateway/router sebagai jembatan yang menghubungkan simpul-simpul antar jaringan sehingga paket data bisa diantar sampai ke tujuan.

Gateway/RouterGateway adalah komputer yang memiliki minimal 2 buah network interface untuk menghubungkan 2 buah jaringan atau lebih. Di Internet suatu alamat bisa ditempuh lewat gateway-gateway yang memberikan jalan/rute ke arah mana yang harus dilalui supaya paket data sampai ke tujuan. Kebanyakan gateway menjalankan routing daemon (program yang meng-update secara dinamis tabel routing). Karena itu gateway juga biasanya berfungsi sebagai router. Gateway/router bisa berbentuk Router box seperti yang di produksi Cisco, 3COM, dll atau bisa juga berupa komputer yang menjalankan Network Operating System plus routing daemon. Misalkan PC yang dipasang Unix FreeBSD dan menjalankan program Routed atau Gated. Namun dalam pemakaian Natd, routing daemon tidak perlu dijalankan, jadi cukup dipasang gateway saja.Karena gateway/router mengatur lalu lintas paket data antar jaringan, maka di dalamnya bisa dipasangi mekanisme pembatasan atau pengamanan (filtering) paket-paket data.

Mekanisme ini disebut Firewall.FirewallSebenarnya Firewall adalah suatu program yang dijalankan di gateway/router yang bertugas memeriksa setiap paket data yang lewat kemudian membandingkannya dengan rule yang diterapkan dan akhirnya memutuskan apakah paket data tersebut boleh diteruskan atau ditolak. Tujuan dasarnya adalah sebagai security yang melindungi jaringan internal dari ancaman dari luar. Namun dalam tulisan ini Firewall digunakan sebagai basis untuk menjalankan Network Address Translation (NAT).Dalam FreeBSD, program yang dijalankan sebagai Firewall adalah ipfw. Sebelum dapat menjalankan ipfw, kernel GENERIC harus dimodifikasi supaya mendukung fungsi firewall. Ipfw mengatur lalu lintas paket data berdasarkan IP asal, IP tujuan, nomor port, dan jenis protocol. Untuk menjalankan NAT, option IPDIVERT harus diaktifkan dalam kernel.DIVERT (mekanisme diversi paket kernel)Socket divert sebenarnya sama saja dengan socket IP biasa, kecuali bahwa socket divert bisa di bind ke port divert khusus lewat bind system call. IP address dalam bind tidak diperhatikan, hanya nomor port-nya yang diperhatikan. Sebuah socket divert yang dibind ke port divert akan menerima semua paket yang didiversikan pada port tersebut oleh mekanisme di kernel yang dijalankan oleh implementasi filtering dan program ipfw. Mekanisme ini yang dimanfaatkan nantinya oleh Network Address Translator.Itulah beberapa bahasan awal yang akan mengantar kita ke pembahasan inti selanjutnya.Network Address Translation (NAT)Dalam FreeBSD, mekanisme Network Address Translation (NAT) dijalankan oleh program Natd yang bekerja sebagai daemon. Network Address Translation Daemon (Natd) menyediakan solusi untuk permasalahan penghematan ini dengan cara menyembunyikan IP address jaringan internal, dengan membuat paket yang di-generate di dalam terlihat seolah-olah dihasilkan dari mesin yang memiliki IP address legal. Natd memberikan konektivitas ke dunia luar tanpa harus menggunakan IP address legal dalam jaringan internal.Natd menyediakan fasilitas Network Address Translation untuk digunakan dengan socket divert. Natd mengubah semua paket yang ditujukan ke host lain sedemikian sehingga source IP addressnya berasal dari mesin Natd. Untuk setiap paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat transaksi ini.Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP address legal, dilanggar.NAT bekerja dengan jalan mengkonversikan IP-IP address ke satu atau lebih IP address lain. IP address yang dikonversi adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang menjadi hasil konversi terletak di luar jaringan internal tersebut dan merupakan IP address legal yang valid/routable.Mekanisme NATSebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field yang penting di sini adalah MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal dan tujuan.Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP address tujuan.

Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan nomor port tujuan yang spesifik, misalnya port 80 (untuk web).Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan nomor port yang dipilih.Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP address jaringan internal yang mengirim paket melewatinya. Lalu men-set tabel nomor port yang akan digunakan oleh IP address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd melakukan hal-hal sebagai berikut:1. Mencatat IP address dan port asal dalam tabel translasi2.

Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid3. Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut dengan nomor port khusus ini.Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan IP address tujuan dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.Perbedaan dengan sistem ProxyHampir mirip dengan NAT, suatu jaringan kecil dengan proxy bisa menempatkan beberapa mesin untuk mengakses web dibelakang sebuah mesin yang memiliki IP address valid.
Ini juga merupakan langkah penghematan biaya dibanding harus menyewa beberapa account dari ISP dan memasang modem & sambungan telepon pada tiap mesin.Namun demikian, proxy server ini tidak sesuai untuk jaringan yang lebih besar. Bagaimanapun, menambah hard disk dan RAM pada server proxy supaya proxy berjalan efisien tidak selalu dapat dilakukan (karena constraint biaya). Lagi pula, persentase web page yang bisa dilayani oleh cache proxy akan makin menurun sejalan dengan semakin menipisnya ruang kosong di hard disk, sehingga penggunaan cache proxy menjadi tidak lebih baik dari pada sambungan langsung.

Tambahan lagi, tiap koneksi bersamaan akan meng-generate proses tambahan dalam proxy. Tiap proses ini harus menggunakan disk I/O channel yang sama, dan saat disk I/O channel jenuh, maka terjadilah bottle neck.NAT menawarkan solusi yang lebih fleksibel dan scalable. NAT menghilangkan keharusan mengkonfigurasi proxy/sock dalam tiap client. NAT lebih cepat dan mampu menangani trafik network untuk beribu-ribu user secara simultan.Selain itu, translasi alamat yang diterapkan dalam NAT, membuat para cracker di Internet tidak mungkin menyerang langsung sistem-sistem di dalam jaringan internal. Intruder harus menyerang dan memperoleh akses ke mesin NAT dulu sebelum menyiapkan serangan ke mesin-mesin di jaringan internal. Penting di ketahui bahwa, sementara dengan NAT jaringan internal terproteksi, namun untuk masalah security, tetap saja diperlukan paket filtering dan metoda pengamanan lainnya dalam mesin NAT.