Jul 24

Skima Ethernet adalah Carrirer Sense Multiple Access with Collision Detection(CSMA/CD). CSMA bermaksud banyak mesin mempuyai akses terhadap Ethernet pada masa yang sama.

Semua mesin menentukan network dalam state idle dengan mengecam(sense) tiada gelombang pada carrier(utp cable)

Andaikan pc A ingin menghantar isyarat(frame) pada pc B yang bersambung menggunakan hub.
langkah 1-
Sebelum menghantar sebarang isyarat, network kad pc A perlu sensor carrier(dlm kes biasa adalah utp cable) dan memastikan tiada sebarang message sedang ditransmit (proses carrier sense).

langkah-2
Setelah confirm network idle, baru message dihantar. Setiap transmisi hanya guna masa yg sebentar(kerana setiap frame ada saiz maksimum).

Semasa penghantaran, signal tidak sampai ke semua nod(NIC pc) serentak. Ini adalah kerana kelajuan signal tersebut adalah lebih kurang 70% dari laju cahaya. Jadi mungkin terdapat pc yang terima agak lambat. Kesan dari ini, berlaku kemungkinan terdapat pc C yg cuba menghantar isyarat serentak dgn pc A. Kejadian ini dinamakan collision.

Setiap nic pada pc, selain bertanggungjawab menghantar signal, ia juga perlu mengesan samada berlaku collision. Jika ini berlaku, nic akan menghentikan penghantaran signal serta merta, menunggu pada satu kadar masa tertentu(rawak) sebelum memulakan langkah 1 kembali.

Jika terdapat 24 host pada LAN yang disambungkan pada 1 hub, masa mendapatkan giliran untuk hantar signal akan dibahagi kepada 24. Ini kerana dalam satu-satu masa, hanya 1 nic boleh hantar signal. Kemungkinan berlaku pelanggaran(collision) adalah agak tinggi.

Andaikan anda ingin menambah pc pada LAN.
Jika anda menggunakan 2 hub untuk menambahkan bilangan pc dalam LAN.

(hub 1

  • 23 port utp bersambung dengan 23 pc
  • 1 port utp bersambung dengan hub2

hub 2-

  • 23 port bersambung dengan 23 pc yg lain)

-kemungkinan berlaku pelanggaran adalah semakin tinggi.
-jarak laluan signal bertambah
- masa pembahagian penggunaan ethernet di bahagi kepada 46. (Sebelum pc A hantar signal, ia perlu pastikan kesemua 45 pc yg lain tidak menghantar signal)

Dlm keadaan ini adalah amat sesuai di letakkan bridge diantara hub 1 dan hub 2. Dengan pemasangan ini collision pada network hub 1 tidak akan beri kesan pada network hub 2, kerana bridge hanya akan forwardkan frame yang telah selesai diterima.(Bridge tidak akan forwardkan noise, errors atau frame yang rosak pada segmen yang lain)

Bridge akan memisahkan LAN kepada 2 segmen. Ini bermaksud jika pc A hendak hantar signal, ia hanya perlu pastikan 23 pc lain(yg bersambung pada hub 1) dan brige(E1/port 1) tidak menghantar sebarang signal. Pada masa yg sama jika terdapat host pada hub 2 yang ingin menghantar signal, ianya dibolehkan.

Selain itu bridge juga boleh bertindak bijak dengan menentukan frame mana yang perlu diforward ke segmen sebelah. Bila frame tiba dari Ethernet E1(port 1) ia(bridge) akan simpan maklumat alamat sumber frame dalam jadual E1. Dan bila frame tiba di E2, ia akan simpan alamat sumber di jadual E2. Berdasarkan maklumat dalam jadual ini, bridge boleh buat keputusan samada frame perlu di forward ke segmen sebelah atau tidak.

Bridge biasanya digunakan untuk menyambungkan 2 Ethernet(LAN).

Switched pula mempunyai persamaan dengan Bridge, cuma ianya mempunyai lebih dari satu port. Oleh itu switch boleh sambungkan lebih dari 2 ethernet. Pada masa kini jarang orang yang gunakan bridge kerana switch sudah boleh didapati pada harga yang rendah.

Sebelum ini saya kurang jelas apa beza bridge dan switch, dan kini setelah baca buku internetworking with TCP/IP oleh douglas E comer, barulah faham. Mana tau, mungkin ada rakan lain diluar sana yang sebelum ini sama seperti saya, masa belajar dulu, tidak jelas antara hub, bridge dan switch, harap-harap maklumat ini memberi kefahaman dan manfaat kepada kita.
Majulah IT untuk rakyat malaysia :).

written by cperdana

Jul 08

Dengan kes-kes terbaru kebelakangan ini yang mana hackers selalu berjaya memecah masuk ke server-server web hosting dan menyuntik IFRAME(http://isc.sans.org/diary.html?storyid=3078) secara borong(mass) pasti merisaukan kebanyakkan kita yang mempunyai akaun di web hosting server.
Menurut seorang pakar yang ditemubual dari myCert(http://www.mycert.org.my/), ini adalah akibat dari permisi yang lemah pada fail/direktori yang disetkan pengguna.
Kebanyakkan pengguna menurut beliau tidak memahami bahaya membiarkan permisi world writable pada sesuatu fail.

#ls -l
-rw-r–rwx 1 dminda dminda 6424 Jun 24 15:26 index.html

permisi di atas dengan mudah membiarkan pengguna lain yang mempunyai akaun di server yang sama untuk mengubah kandungan fail tersebut.

Kita boleh menggunakan arahan find -perm untuk mengenalpasti fail yang mempunyai permisi word writable seperti dibawah.
format:

find [path..] [expression]

find /home/dminda/public_html -perm -006

-perm -006 boleh diterjemahkan kepada berikut.
006 -> ——rw-
tanda -(negatif) sebelum 006 boleh diterjemahkan kepada: ******rw* yang mana * adalah wildcard.
Oleh itu ia akan mencari semua fail yang mempunyai permisi o=rw tanpa mengira bit-bit yang lain.

#ls -l
d——rw- 3 dminda dminda 4096 Apr 29 20:51 projek/
d——r-x 4 dminda dminda 4096 Jan 1 2007 public_ftp/
-rwxr-x— 34 dminda dminda 4096 Jul 4 17:21 public.html
-rwxrwxrwx 3 dminda dminda 4096 Mar 16 11:36 setor.html
-rwxr-xr-x 6 dminda dminda 4096 May 2 17:31 ayam.php
-r—-xrwx 5 dminda dminda 4096 Jun 21 21:38 itik.php
-rwxr-x-wx 8 dminda dminda 4096 May 9 08:32 kucing.txt
drwxrwx–x 8 dminda dminda 4096 Mar 26 00:46 timah/
#find . -perm 006
./projek/
./setor.html
./itik.php

Sebenarnya penggunaan find adalah lebih luas dan kompleks dari contoh di atas. Untuk option -perm sahaja mempunyai pelbagai variasi.
-perm 006
-perm +006
-perm -006
-perm /006
Keempat-empat baris diatas mempunyai maksud yang berlainan jika digunakan dalam arahan find. Sila rujuk manual untuk maklumat lanjut.

written by cperdana

Jul 01

This is probably not really important  for a lot of people, but my significant other and I agreed that its about time we get a vcd/dvd player. This is to increase the life expectancy of our PCs at home.

The fastest and it seems to me the easiest way to get this done is using ‘devede‘ . It’s pretty much a front-end for some other applications like mencoder, vcdimager, dvdauthor, etc. Another alternative is ‘tovid‘, but I didn’t have time to check it out.

For those who like the command-line route (or you do stuff remotely on your torrent server :-) ), here’s my own note on making vcd/svcd.

Before that you might want to get the jargons straightened out as you’ll come across them. You can start here.

(1) Convert the .avi to mpeg with ffmpeg
 
$ ffmpeg -i video.avi -target ntsc-vcd video.mpg

Some of the videos I have got are in widescreen format. So to retain the black bars on the top and the bottom, you got to apply some padding to it. If this is not done then you’ll find the video stretched.

$ffmpeg -i video.avi -target ntsc-vcd -s 352×176 -padtop 32 -padbottom 32 video.mpg

Apparently there’s a formula to apply for the values of s, padtop and padbottom depending on your system (ntsc vs pal thingy)

(2) Split the mpg file, if required.

In some cases, the mpg file created will be quite large and may not fit in a single CD. Since vcdimager, will not work with anything above 700MB, you really need to split the mpg.

$mpgtx -2 video.mpg -b  video

This will create  to files - video-1.mpg and video-2.mpg respectively. Now  I’ve encountered some problems with doing the above if you’re producing svcd (-target ntsc-svcd) with ffmpeg. vcdimager seems to have problem reading the 2nd portion of the mpeg even though there is no problem rendering it with mplayer. I’ll just use devede for now if I need to make svcd.

(3) Make the VCD

$vcdimager -t vcd2 -c video.cue -b video.bin video.mpg

This will produce two files of course, video.bin and video.cue . The *.cue file is just a text file containing some information, the *bin file is the video itself. Go ahead and try:  mplayer video.bin and you should be able to watch the video.

(4) Burn the files.

$cdrdao write –device /dev/cdrw video.cue

cdrdao will figure out where to get video.bin from the information extracted from the cue file.

If you have wodim, a cdrecord replacement,  you could also do:

$wodim dev=/dev/cdrw -dao  cuefile=video.cue

I pretty much extracted the steps in 1-4  above from gentoo-wiki.

written by adli

my pass