Friday 30 November 2012

10 Besar Tools Keamanan Jaringan

Berikut ini saya akan memberikan info/rekomendasi tool keamanan jaringan yg paling top, oke, dan tidak diragukan lagi kemampuan dan kualitasnya. Bagi anda yg hobi dalam jaringan komputer mungkin tool-tool ini tidak asing lagi!!!


Diurutan pertama saya memberikan tool Nessus. Peringkat ini berdasarkan survey oleh insecure.org, spesial for nmap. Karena survey ini dilakukan di mailing listnya nmap.

1. Nessus : Premier UNIX vulnerability assessment tool
2. Wireshark : Sniffing the glue that holds the Internet together
3. Snort : Everyone's favorite open source IDS
4. Netcat : The network Swiss army knife
5. Metasploit Framework : Hack the Planet
6. Hping2 : A network probing utility like ping on steroids
7. Kismet : A powerful wireless sniffer
8. Tcpdump : The classic sniffer for network monitoring and data acquisition
9. Cain and Abel : The top password recovery tool for Windows
10. John the Ripper : A powerful, flexible, and fast multi-platform password hash cracker

Wednesday 14 November 2012

Model OSI

Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer model).

Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi.

Model referensi ini pada awalnya ditujukan sebagai basis untuk mengembangkan protokol-protokol jaringan, meski pada kenyataannya inisatif ini mengalami kegagalan. Kegagalan itu disebabkan oleh beberapa faktor berikut:
  • Standar model referensi ini, jika dibandingkan dengan model referensi DARPA (Model Internet) yang dikembangkan oleh Internet Engineering Task Force (IETF), sangat berdekatan. Model DARPA adalah model basis protokol TCP/IP yang populer digunakan.
  • Model referensi ini dianggap sangat kompleks. Beberapa fungsi (seperti halnya metode komunikasi connectionless) dianggap kurang bagus, sementara fungsi lainnya (seperti flow control dan koreksi kesalahan) diulang-ulang pada beberapa lapisan.
  • Pertumbuhan Internet dan protokol TCP/IP (sebuah protokol jaringan dunia nyata) membuat OSI Reference Model menjadi kurang diminati.
Pemerintah Amerika Serikat mencoba untuk mendukung protokol OSI Reference Model dalam solusi jaringan pemerintah pada tahun 1980-an, dengan mengimplementasikan beberapa standar yang disebut dengan Government Open Systems Interconnection Profile (GOSIP). Meski demikian. usaha ini akhirnya ditinggalkan pada tahun 1995, dan implementasi jaringan yang menggunakan OSI Reference model jarang dijumpai di luar Eropa.

OSI Reference Model pun akhirnya dilihat sebagai sebuah model ideal dari koneksi logis yang harus terjadi agar komunikasi data dalam jaringan dapat berlangsung. Beberapa protokol yang digunakan dalam dunia nyata, semacam TCP/IP, DECnet dan IBM Systems Network Architecture (SNA) memetakan tumpukan protokol (protocol stack) mereka ke OSI Reference Model. OSI Reference Model pun digunakan sebagai titik awal untuk mempelajari bagaimana beberapa protokol jaringan di dalam sebuah kumpulan protokol dapat berfungsi dan berinteraksi.


















Keterangan:
  • Layer 1 (Physical layer), Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
  • Layer 2 (Data-link layer), Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).
  • Layer 3 (Network layer), Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.
  • Layer 4 (Transport layer), Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan.
  • Layer 5 (Session layer), Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.
  • Layer 6 (Presentation layer), Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol (RDP)).
  • Layer 7 (Application layer), Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, dan NFS.
Fungsi dari tiap lapisan model OSI
  1. Lapisan fisik berkaitan dengan transmisi aliran bit yang tidak terstruktur melalui media fisik; menangani karakteristik mekanik, elektrik, fungsional dan prosedural untuk mengakses media fisik.
  2. Lapisan data link menyediakan transfer informasi yang handal dengan melewati link fisik dengan mengaktifkan, memelihara dan menon-aktifkan link,; mengirim blok data (frame) dengan sinkronisasi, kendali kesalahan dan kendali aliran data yang penting.
  3. Lapisan network menyediakan pelayanan untuk lapisan - lapisan yang lebih tinggi dengan kebebasan dari transmisi data dan teknologi switching yang digunakan untuk menghubungkan sistem; bertanggung jawab untuk membuka, memelihara dan mengakhiri hubungan; mengatasi fasilitas komunikasi yang terganggu.
  4. Lapisan transport menyediakan transfer data yang handal dan transparan antara titik-titik akhir; menyediakan pengendalian kesalahan dan kendali aliran end-to-end dengan memastikan bahwa unit data dikirim tanpa kesalahan, berurutan, dan tanpa kehilangan duplikasi.
  5. Lapisan session menyediakan struktur kendali untuk komunikasi antar aplikasi (seperti satu arah, dua arah bergantian dan dua arah bersamaan); membuka, mengatur dan mengakhiri koneksi (session) antar aplikasi yang bekerja sama.
  6. Lapisan presentasi menyediakan kebebasan untuk proses - proses aplikasi dari perbedaan-perbedaan dalam representasi dan format data (sintaks), contoh teletex, videotex.
  7. Lapisan aplikasi menyediakan akses untuk lingkungan OSI bagi pemakai dan juga menyediakan pelayanan informasi terdistribusi; file transfer dan job transfer.
Adapun prinsip yang digunakan OSI Layer yaitu:
  • Sebuah Layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda.
  • Setiap Layer harus memiliki fungsi-fungsi tertentu.
  • Fungsi layer di bawahnya adalah sebagai pendukung fungsi layer di atasnya.
  • Fungsi setiap Layer harus dipilih dengan teliti sesuai dengan ketentuan standar protocol internasional.
  • Batas-batas Layer diusahakan agar meminimalkan aliran informasi yang melewati interface.
  • Jumlah Layer harus cukup banyak, sehingga fungsi-fungsi yang berbeda tidak perlu disatukan dalam satu Layer diluar keperluannya. Akan tetapi jumlah Layer juga harus diusahakan sesedikit mungkin ehingga arsitektur jaringan tidak menjadi sulit dipakai.
Setelah mengenal beberapa prinsip dari OSI Layer, maka kita mesti mengenal Tujuan dari OSI Layer:
  • Koordinasi berbagai kegiatan.
  • Penyimpanan data.
  • Antar layer berlainan terdapat interface, layer yang sama terdapat protokol.
  • 3 layer pertama adalah interface antara terminal dan jaringan yang dipakai bersama, 4 layer selanjutnya adalah hubungan antara software.
  • Keandalan dan keamanan sistem pendukung perangkat lunak.
  • Manajemen sumber dan proses.
  • Membuat kerangka agar sistem atau jaringan yang mengikutinya dapat saling berkomunikasi dan saling bertukar informasi, sehingga tidak tergantung

You also can read OSI Model In English : http://en.wikipedia.org/wiki/OSI_model


Sumber:

Friday 2 November 2012

TCP dan UDP

Ketika kita mulai mempelajari jaringan timbul sebuah pertanyaan mengenai transmisi atau pengiriman data yang dilakukan oleh jaringan, baik jaringan local maupun intrenet. adapun transmisi atau pengiriman data melalui jaringan dilakukan dengan dua metode yaitu:

TCP (Transmission Control Protocol) 
TCP
adalah protokol yang paling umum digunakan di Internet. Alasan untuk ini adalah karena TCP menawarkan koreksi kesalahan dan kontrol aliran data. Ketika protokol TCP digunakan pastilah "pengiriman data dapat terjamin." Hal ini disebabkan sebagian besar di sebagian metode yang disebut "flow control." Flow control menentukan kapan data harus dikirim kembali, dan menghentikan aliran data paket sebelumnya sampai berhasil ditransfer. Ini bekerja jika paket data yang dikirim mengalami tabrakan data atau hilang. Ketika ini terjadi, klien mengirim ulang permintaan paket dari server sampai seluruh paket lengkap dan identik dengan aslinya.

UDP (User Datagram Protocol)

UDP 
adalah protokol yang umum digunakan antera di Internet. Namun, UDP tidak pernah digunakan untuk mengirim data penting seperti halaman web, dll informasi database,; UDP umumnya digunakan untuk streaming audio dan video. Media streaming seperti Windows Media file audio (. WMA), Real Player (. RM), dan lain-lain menggunakan UDP karena menawarkan kecepatan! Alasan UDP lebih cepat daripada TCP karena tidak ada bentuk kontrol aliran atau koreksi kesalahan. Data yang dikirim melalui Internet dipengaruhi oleh tabrakan, dan kesalahan mungkin akan terjadi. Ingatlah bahwa UDP hanya berkaitan dengan kecepatan. Ini adalah alasan utama mengapa media streaming tidak berkualitas tinggi.
UDP adalah protokol yang umum digunakan antera di Internet. Namun, UDP tidak pernah digunakan untuk mengirim data penting seperti halaman web, dll informasi database,; UDP umumnya digunakan untuk streaming audio dan video. Media streaming seperti Windows Media file audio (. WMA), Real Player (. RM), dan lain-lain menggunakan UDP karena menawarkan kecepatan! Alasan UDP lebih cepat daripada TCP karena tidak ada bentuk kontrol aliran atau koreksi kesalahan. Data yang dikirim melalui Internet dipengaruhi oleh tabrakan, dan kesalahan mungkin akan terjadi. Ingatlah bahwa UDP hanya berkaitan dengan kecepatan. Ini adalah alasan utama mengapa media streaming tidak berkualitas tinggi.

Perbedaan antara TCP dan UDP
 
TCP (Transmission Control Protocol)
  • Beroperasi berdasarkan konsep koneksi. 
  • Jaminan pengiriman-penerimaan data akan reliable dan teratur. 
  • Secara otomatis memecah data ke dalam paket-paket. 
  • Tidak akan mengirimkan data terlalu cepat sehingga memberikan jaminan koneksi internet dapat menanganinya. 
  • Mudah untuk digunakan, transfer paket data seperti menulis dan membaca file.
UDP (User Datagram Protocol)
  • Tidak berdasarkan konsep koneksi, jadi harus membuat kode sendiri. 
  • 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. 
  • Pemecahan ke dalam paket-paket dan proses pengirimannya dilakukan secara manual. 
  • Harus membuat kepastian mengenai proses transfer data agar tidak terlalu cepat sehingga internet masih dapat menanganinya. 
  • Jika paket ada yang hilang, perlu dipikirkan di mana letak kesalahan yang terjadi dan mengirim ulang data yang diperlukan.

Keuntungan dan Kekurangan dari TCP dan UDP!

Keuntungan UDP
  • UDP tidak memerlukan waktu untuk menjalin koneksi, data langsung saja dikirimkan. 
  • UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka packet berikutnya dapat menemukan jalan/rute pengganti yang melewati simpul tersebut.
Kekurangan UDP
  • Segment UDP memiliki kemungkinan untuk hilang. 
  • Paket yang diterima mungkin dalam keadaan yang tidak urut. Jika paket yang diterima tidak urut, paket akan dibuang.
Keuntungan TCP
  • Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen. 
  • metode yang disebutflow control. Flow control menentukan kapan data harus dikirim kembali, dan kapan menghentikan aliran data paket sebelumnya, sampai data tersebut berhasil ditransfer. Flow Control. Pengiriman data yang telah dipecah menjadi paket-paket tersebut harus diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data. 
  • Error Detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa data yang dikirimkan bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang mengandung kesalahan tadi. Namun hal ini dapat menimbulkan delay yang cukup berartii. 
  • Perkembangan protokol TCP/IP menggunakan standar protokol terbuka sehingga tersedia secara luas. Semua orang bisa mengembangkan perangkat lunak untuk dapat berkomunikasi menggunakan protokol ini. Hal ini membuat pemakaian TCP/IP meluas dengan sangat cepat, terutama dari sisi pengadopsian oleh berbagai sistem operasi dan aplikasi jaringan. 
  • Tidak tergantung pada perangkat keras atau sistem operasi jaringan tertentu sehingga TCP/IP cocok untuk menyatukan bermacam macam network, misalnya Ethernet, token ring, dial-up line, X-25 net dan lain lain. 
  • Cara pengalamatan bersifat unik dalam skala global, memungkinkan komputer dapat mengidentifikasi secara unik komputer yang lain dalam seluruh jaringan, walaupun jaringannya sebesar jaringan worldwide Internet. Setiap komputer yang tersambung dengan jaringan TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya. 
  • TCP/IP memiliki fasilitas routing dan jenis-jenis layanan lainnya yang memungkinkan diterapkan pada internetwork. 
  • Adanya Open Protocol Standart, yaitu tersedia secara bebas dan dapat dikembangkan secara independen terhadap jenis hadware computer atau system operasi apapun yang kita gunakan. TCP/IP telah mendapat dukungan yang luas dari beberapa vendor hardware maupun software . Dengan demikian, diharapkan kita dapat dengan mudah menghubungkan berbagai macam protocol yang berbeda dari berbagai platform system operasi. 
  • Terdapat High Level Protocol Standard, yang dapat digunakan untuk melayani user secara luas ,sehingga para pengguna computer dapat menggunakan fasilitas yang ada pada jaringan. 
  • Metode pengalamatan yang umum, sehingga perangkat hardware yang mengunakan TCP/IP dapat menghubungkan alamat perangkat-perangkat computer yang lain berada pada seluruh jaringan computer yang saling terhubung. Bahkan dapat juga dengan hubungan eksternal Internet.
Kekurangan TCP
  • Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). 
  • Service, Interface dan Protokol tidak dibedakan.
  • Tak satu pun yang merupakan model umum.
  • Tidak ada sebutan dari physical dan data link layer.
  • Protokol yang kecil sangat susah diganti. 

TCP (Transmission Control Protocol)
TCP merupakan protokol berorientasi koneksi, koneksi dapat dibuat dari client ke server, dan sejak itu data dapat dikirim sepanjang hubungan itu berlangsung. 
  • Reliable (terpercaya) - ketika Anda mengirim pesan sepanjang soket TCP, Anda tahu itu akan sampai di sana kecuali koneksi gagal sepenuhnya. Jika tersesat sepanjang jalan, server akan kembali meminta bagian yang hilang. Ini berarti integritas lengkap, dan data tidak rusak.
  • Ordered (terorganisir) - jika Anda mengirim dua pesan sepanjang sambungan, satu demi satu, Anda tahu pesan pertama akan sampai di sana pertama. Anda tidak perlu khawatir tentang data tiba dalam urutan yang salah.
  • Heavyweight (berat) - ketika bagian data dari "aliran" TCP tiba di urutan yang salah, maka komputer harus mengirim ulang permintaan yang telah di kirimkan, dan semua data yang tiba harus disatukan kembali secara utuh, sehingga akan sedikit lebih rumit untuk menyatukan kembali data yang telah diterima.
UDP (User Datagram Protocol)
Sebuah pesan sederhana berbasis protokol connectionless. Dengan UDP Anda mengirim pesan (paket) di seluruh jaringan dalam beberapa bagian.
  • Unreliable (tidak terpercaya) - Bila Anda mengirim pesan, Anda tidak tahu apakah itu akan sampai di sana, datayang di kirim bisa saja hilang atautersesat di jalan (jaringan). 
  • Not ordered (tidak terorganisir) - Jika Anda mengirim dua pesan keluar, Anda tidak akan tahu yang mana leih dulu sampai.
  • Lightweight (ringan) - Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll Ini hanya mengirim dan melupakan! Ini berarti itu jauh lebih cepat, dan network card / OS (sistem operasi)  melakukan lebih sedikit pekerjaan untuk menerjemahkan kembali data dari paket.
http://blog.ub.ac.id/sitikurniawati/2012/05/13/165/
http://riyadi-rodriguez.blogspot.com/2011/07/pengertian-serta-perbedaan-tcp-dan-udp.html


Thursday 1 November 2012

Tentang Unix

Unix atau UNIX adalah sebuah sistem operasi komputer yang diawali dari project Multics (Multiplexed Information and Computing Service) pada tahun 1965 yang dilakukan American Telephone and Telegraph AT&T, General Electric (GE), dan Institut Teknologi Massachusetts (MIT), dengan biaya dari Departemen Pertahanan Amerika (Departement of Defence Advenced Research Project, DARPA atau ARPA), UNIX didesain sebagai Sistem operasi yang portable, multi-tasking dan multi-user.
Sistem operasi Unix digunakan secara luas baik sebagai server atau workstation. Arsitektur Unix dan model client/server merupakan elemen yang paling penting dalam perkembangan internet dan mengubah proses komputasi secara terpusat dalam jaringan dari pada proses tunggal di komputer. Linux, merupakan sistem operasi yang diadopsi dari Unix dan tersedia secara bebas mendapat popularitas sebagai alternatif dari sistem operasi proprietary seperti Microsoft Windows.

Sejarah
Unix berkembang dari MULTICS, sebuah proyek sistem operasi yang multiuser. Pada tahun 1969, proyek MULTICS dihentikan oleh AT&T karena terlambat, tidak sesuai dengan jadwal yang telah ditentukan, juga karena jauhnya jarak antara periset yang mengembangkannya, antara laboratorium New Jersey dan MIT.
Pada tahun 1969, Ken Thompson berkerja sama dengan Dennis Ritchie, dua peneliti yang sebelumnya bekerja pada proyek MULTICS, mencoba merealisasikan ide MULTICS menggunakan komputer PDP-7. Peter Neuman menyarankan menggunakan nama Unix untuk sistem yang baru ini. Pada tahun 1971, Unix di-port-kan untuk PDP-11 dari Digital. Kemudian pada tahun 1970, ilmuwan AT&T banyak menambahkan kemampuan UNIX sehingga banyak program-program kecil, yang disebut tools di UNIX, yang mana masing-masing tool digunakan untuk melakukan suatu fungsi.
Tahun 1973, Unix ditulis ulang oleh Ken Thompson dengan menggunakan Bahasa C yang baru dikembangankan oleh Dennis Ritchie. Bahasa C dirancang untuk dapat dibawa portable dari komputer satu ke komputer lainnya.
Tahun 1977, Mike Lesk mengembangkan "ported I/0 library", pustaka untuk mengatasi kesulitan membawa UNIX dari satu komputer ke komputer lain karna perbedaan penanganan sistem masukan dan keluaran dari setiap komputer. Unix pertama kali dibawa kedalam laboratorium Interdata 8/32, komputer mikro yang sama dengan PDP-11. Tahun 1978, sistem operasi UNIX dibawa kedalam komputer mini VAX. Hingga saat ini, Unix masih banyak sebagai sistem eksperimental.
Awal 1973 lebih dari 16 AT&T atau Western Electric di luar laboratorium Bell menjalankan sistem operasi Unix, Unix kemudian menyebar. Perusahaan-perusahaan mulai melakukan port terhadap Unix untuk mesinnya sehingga bermunculan beberapa varian Unix. Tahun 1977 sedikitnya 500 tempat menggunakan sistem operasi Unix, 125 diantaranya adalah perguruan tinggi dan lebih dari 10 negara asing. Pada tahun 1977 juga keluar Unix Versi 6 yang memiliki dukungan komersial.
Universitas California di Berkeley membayar 400 (dalam satuan dollar) untuk mendapatkan sumber Unix yang didalamnya terdapat kode sumber Unix yang lengkap. Bill joy dan Chuck Haley, lulusan dari Berkeley, mulai mengubah. Tahun 1978 Bill Joy mengeluarkan 30 salinan koleksi program dan modifikasi Unix dengan biaya pengganti media dan pengiriman seharga 50 (dalam satuan dollar). Lebih dari 6 tahun Berkeley mendapat dana dari ARPA untuk mengembangkan Unix yang kemudian disebut dengan BSD Unix. banyak pengembangan yang telah dilakukan seperti multitasking, penamaan file dengan jumlah karakter sampai dengan 255 karakter, dan kemampuan untuk digunakan di komputer lokal. pada tahun yang sama AT&T tetap mengembangkan Unix versinya, dan mulai khawatir akan kepopuleran BSD Unix. AT&T mengembangkan produk komersial Unix, yang disebut UNIX System V dan menyatakan sebagai standart Unix, dan menyatakan bahwa BSD Unix bukan merupakan produk Unix yang standart dan tidak kompetible, Pernyataan ini dikeluarkan oleh AT&T untuk meredam kepopuleran BSD Unix, juga karna hak cipta ada pada AT&T, BSD Unix dinyatakan sebagai BSD 4.2. dengan lisensi Berkeley dengan AT&T Universitas dapat secara bebas.

Prinsip Pemograman Unix
UNIX memiliki suatu budaya pemrograman yang menarik. Salah satunya adalah yang seperti dikatakan oleh Douglas Mcllroy:
“Buatlah program yang hanya melakukan satu tujuan tetapi benar-benar melakukannya dengan baik. Buatlah program-program yang saling bekerja sama. Buatlah program dengan interface teks, karena teks adalah interface yang universal”.

Sumber:
http://id.wikipedia.org/wiki/Unix

Sistem File UNIX

Atribut File
Setiap sistem dalam manajemen file mempunyai sistem atribusi yang berbeda beda, namun pada dasarnya di linux mempunyai atribut seperti berikut ini:
  1. Nama: Nama berkas simbolik ini adalah informasi satu-satunya yang disimpan dalamformat yang dapat dibaca oleh pengguna.
  2. Indentifiers: Tanda unik ini yang biasanya merupakan sebuah angka, mengenali berkas didalam sebuah berkas; tidak dapat dibaca oleh pengguna.
  3. Tipe: Informasi ini diperlukan untuk sistem-sistem yang mendukung tipe berbeda, misal: .tar.gz pada kompresi, .tex pada dokumen latex.
  4. Lokasi: Informasi ini adalah sebuah penunjuk pada sebuah device tersebut, misal: Harddisk, UFD (Usb Flashdisk), floppy, DVD Rom, dll.
  5. Ukuran: Ukuran dari sebuah berkas (dalam bytes, words, atau, blocks) dan mungkin ukuran maksimum dalam atribut juga.
  6. Permission: Informasi yang menentukan siapa yang dapat melakukan read, write, execute, dan lainnya.
  7. Waktu dan identifikasi pengguna : informasi ini dapat disimpan untuk pembuatan berkas, modifikasi terakhir, dan penggunaan terakhir. Data-data ini dapat berguna untuk proteksi, keamanan, dan monitoring pengggunaan.Inode adalah Informasi yang mengidentifikasikan suatu file secara unik. Inode mengidentifikasikan lokasi tempat file disimpan, dan karakteristik dari file tersebut. (owner, date, dsb); tetapi nama file tidak disimpan sebagai bagian dari inode.

Operasi File
Fungsi dari berkas adalah untuk menyimpan data dan mengizinkan kita membacanya.Dalam proses ini ada beberapa operasi yang dapat dilakukan berkas. Ada pun operasi-operasi dasar yang dilakukan berkas, yaitu:
  1. Membuat Berkas (Create): Kita perlu dua langkah untuk membuat suatu berkas. Pertama, kita harus temukan tempat didalam sistem berkas. Kedua, sebuah entri untuk berkas yang baru harus dibuat dalam direktori. Entri dalam direktori tersebut merekam nama dari berkas dan lokasinya dalam sistem berkas.
  2. Menulis sebuah berkas (Write): Untuk menulis sebuah berkas, kita membuat sebuah system call yang menyebutkan nama berkas dan informasi yang akan ditulis kedalam berkas.
  3. Membaca Sebuah berkas (Read): Untuk membaca sebuah berkas menggunakan sebuah system call yang menyebut nama berkas yang dimana dalam blok memori berikutnya dari sebuah berkas harus diposisikan.
  4. Memposisikan Sebuah Berkas (Reposition): Direktori dicari untuk entri yang sesuai dan current-file-position diberi sebuah nilai. Operasi ini di dalam berkas tidak perlu melibatkan M/K, selain itu juga diketahui sebagai file seek.
  5. Menghapus Berkas (Delete): Untuk menghapus sebuah berkas kita mencari dalam direktori untuk nama berkas tersebut. Setelah ditemukan, kita melepaskan semua spasi berkas sehingga dapat digunakan kembali oleh berkas-berkas lainnya dan menghapus entry direktori.
  6. Menghapus Sebagian Isi Berkas (Truncate): User mungkin mau menghapus isi dari sebuah berkas, namun menyimpan atributnya. Daripada memaksa pengguna untuk menghapus berkas tersebut dan membuatnya kembali, fungsi ini tidak akan menggantiatribut, kecuali panjang berkas dan mendefinisikan ulang panjang berkastersebut menjadi nol.
Keenam operasi diatas merupakan operasi-operasi dasar dari sebuah berkas yang nantinya dapat dikombinasikan untuk membentuk operasi-operasi baru lainnya. Contohnya, apabila kita ingin menyalin sebuah berkas, maka kita memakai operasi create untuk membuat berkas baru, read untuk membaca berkas yang lama, dan write untuk menulisnya pada berkas yang baru.


Second Extended File System (EXT2)
EXT2 adalah file sistem yang ampuh di linux. EXT2 juga merupakan salah satu filesistem yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT2 filesistem, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yangsama dan meski pun panjangnya bervariasi diantara
EXT2 file sistem, besar blok tersebutditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar blok adalah1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kitamembuang setengah blok per file.EXT2 mendefinisikan topologi file sistem dengan memberikan arti bahwa setiapfile pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipefile. Setiap file dalam EXT2 file sistem terdiri dari inode tunggal dan setiap inodemempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabelinode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer keinode masing-masing isi direktori tersebut.


Pembagian Block dalam EXT2
Keterangan dari gambar di atas setiap partisi terbagi menjadi:
  • Boot Block, yang merupakan blok pertama, dipakai untuk booting, sehingga tidak diurusi oleh Ext2FS.
  • Block Group, sebanyak n buah. Setiap block group berukuran sama dan terdiridari:
    • Super Block, disimpan dalam struktur ext2_super_block.
    • Group Descriptor, disimpan dalam bentuk xt2_group_desc.
    • Data Block Bitmap.
    • Inode Bitmap.
    • Inode Table, terdiri dari kumpulan block yang berurutan, dan masing-masing blok mengandung sejumlah inode yang terlah terdefinisi sebelumnya. Semua inodememiliki ukuran sama.
  • Data Blocks, menyimpan data sebenarnya dari file.
I-node dalam EXT2

Inode adalah kerangka dasar yang membangun EXT2. Inode dari setiap kumpulan blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan system dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum.MODE: mengandung dia informasi, inode apa dan izin akses yang dimiliki user. OWNER INFO: user atau grop yang memiliki file atau direktori SIZE: besar file dalam bytes TIMESTAMPS: kapan waktu pembuatan inode dan waktu terakhir dimodifikasi. DATABLOKS: pointer ke blok yang mengandung data.EXT2 inode juga dapat menunjuk pada device khusus, yang mana device khusus ini bukan merupakan file, tatapi dapat menangani program sehingga program dapat mengakses ke device. Semua file device di dalam direktori /dev dapat membantu program mengakses device.

Third Extended File System (EXT3)
EXT3 adalah peningkatan dari EXT2 file sistem. Peningkatan ini memiliki beberapa keuntungan, diantaranya:
  • Setelah kegagalan sumber daya, ”unclean shutdown”, atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk  besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file system setelah terjadi ”unclean shutdown” tidak tergantung dariukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yangdigunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.
  • Integritas, data EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau ”uncleanshutdown”. EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
  • Kecepatanm daripada menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bias memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin. 
  • Mudah dilakukan migrasi. Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.