Friday, December 17, 2010

අද කේෂාන් ගොඩක් සතුට්න්... ඇයි කියල දන්නවද?

හදිස්සියෙන් උනත් පොඩි දෙයක් ලියල යන්න හිතුන. වැඩ ටිකක් හිරවෙලා නිසා Post එකක් ලියා ගන්න වෙලාවක් නැති වුනා. වැඩි දෙයක් නෑ. අද කේෂාන්ට හරිම සතුටුයි. ඇයි කියල දන්නෙ නෑ නේද??.

හරි හරි මම කෙලින්ම කියන්නම්කො. කේෂාන් කොහොමත් ඉතින් Open Source වැඩ වලට ටිකක් කැමතියිනෙ. ඉතින් කේෂාන් අපේ පැන්ඩගෙ මග පෙන්වීම යටතෙ Foss User Magazine එකට දායක වෙන විදියක් හදා ගත්ත. ඉතින් තියන වැඩ අස්සෙම කොහොම කොහොම හරි වෙලාවක් හොයාගෙන පොඩි Article එකක් ලියල යැවුව. ඔන්න ඉතින් ඒ Article එක හොදයි කියල ඒයාල තීරණය කරල ඒක මේ මාසෙ කලාපයට දාල. ඉතින් කේෂාන්ට සතුටු නැද්ද? මේ දැනුත් හිනා වෙනව.....

අපේ පැන්ඩ ඈතුළු මට උදවු කරපු හැමෝටම ස්තූතියි. මෙන්න මේ Link එකෙන් Magazine එක අරගෙන මගේ Article එක ඈතුළු අනිත් ඒවත් කියවන්නකො. එහෙනම් මම යන්නම්. ලබන සතියෙ භාරදෙන්න ඕන Assignment 2ක් තියනව. මේ දවස්වල Nonstop වැඩනෙ.

Saturday, December 11, 2010

Basic Switching - Part II

ඔන්න අද කලින් ලියපු Article එකේ ඉතුරු ටික කියන්න තමයි මේ හදන්නෙ. අර switch එකක් වැඩ කරන විදිය ගැන. ඒක කියෙවුවෙ නැත්නම් මෙන්න මෙතනින් ගිහින් කියවලම එන්නකො. මොකද නැත්නම් මේකෙ තියන සමහර දේවල් එච්චරම තේරෙන එකක් නෑ. හරි මතකයි නේද PC-A PC-C ට Data Packet එකක් යවපු විදිය, ඒ වගේම ඒකට පිළිතුරු ලැබුණු විදිය. ආ තව Mac Address Table (MAT) එකේ තියන දේවල් ටික. ඔය පහල තියෙන්නෙ අදාල රූපෙ තමයි. MAT එකත් එක්කම දැම්ම. දැන් බලමු PC-A PC-B ට Data Packet එකක් යවන්නෙ කොහොමද කියල...
මුලින්ම A යවන පැකට් එක switch එකට එනව. එයා ඒක Layer 2 වෙනකන් Open කරගෙන Source Mac එක කියවනව. හැබැයි ඉගන ගන්න දෙයක් නෑ.ඇයි දැනටමත් එයා A ගැන දන්නවනෙ. ඊලගට කියවන්නෙ Destination Address එක. ඒක B ගෙ. හැබැයි switch එක ඒක දන්නෙ නෑ. ඉතින් එයා මොකද කරන්නෙ. හරි හරි පරන ලිපියෙත් තිබුනෙ... switch එක මේ data packet එක Flood කරනව. හරි කියන්න බලන්න මොන PORT වලටද Flood කරන්නෙ කියල.

PORT2 වලට යවන්නෙ නෑ ඈයි ඒකෙන්නෙ ආවෙ.. හරි
PORT4 වලට යවනව.. හරි
PORT8 වලට යවනව.. හරිPORT6 වලට යවන්නෙ නෑ. ඇයි ඒකෙ ඉන්නෙ C කියල switch එක දන්නවනෙ.... හම්.... කියන්න කනගාටුයි. ඒකනම් වැරදියි.

මේ switch එක ඔය data packet එක PORT4, PORT6, PORT8 කියන පොට් 3ටම යවනව. (Flood) පෙඩ්ඩක් අවුල් වගේ නේද??? ඇයි පෝට්6ට යවන්නෙ. ඒකෙ ඉන්නෙ C කියල දැන දැනත්. අපරාදෙනෙ. නෑ පොඩ්ඩක් හිතන්න. switch එක දන්නව PC - C ඉන්නෙ PORT6 වල කියල. හැබැයි ඒකෙන් කියන්නෙ නෑ නේද PORT6 වල ඉන්නෙ PC-C ව විතරයි කියල.හරියට ඔය කියල මාළුව ඉන්නෙ මේ ඇලේ තමයි. හැබැයි මේ ඇලේ ඉන්නෙ ඔය මාළුව විතරක් නෙමේ. අන්න ඒක නිසා එයා data packet එක PORT6ටත් යවනව. ඔන්න ඔයටික තමයි කේෂාන්ට කියන්න ඕන වුනේ. දැන් ඉතින් Reply කරන ටික ඉස්සර වගේමයි. B reply කරනව. ඒ පැකටි එකේ Source address එකෙන් switch එක ඉගන ගන්නව PC-B ඉන්නෙ PORT4 වල කියල. දැන් MAT එකේ පේලි 3යි.

තවත් දෙයක්. දැන් ටිකකට කලින් කිවුව නේද PORT6 වල C හිටියට එතන ඉන්නෙ එයා විතරක්ම නොවෙන්න පුළුවන් කියල... එතකොට එක පෝට් එකට PC ගොඩක් Connect කරන්න පුළුවන්ද???? පුළුවන්නෙ Hub එකක් හරහ. මම ඊලගට කියන්න හදන්නෙ ඒවගේ දෙයක් තමයි. මෙන්න මේ රූපෙ ටිකක් බලන්නකො. කලින් එකට වඩා ටිකක් වෙනස්. ඔය පහල තියන අළුත් උපකරණය Hub එකක්. Hub එක වැඩකරන්නෙ Layer01 වල. එයාට බෑ එන Data Packet වල MAC Address එකවත් කියවන්න. ඉතින් මෙයා කරන්නෙ Flooding විතරයි. ඒකියන්නෙ එක පෝඩ් එකකින් එන Data Packet අනිත් හැම පෝට් එකකටම යවනව. දැන් දැක්කද Switch එකෙයි Hub එකෙයි වෙනස. අපි Switch එකක් connect කරපු ගමන්ම එයා නික්න Hub එක්ක වගේමයි. ඒත් එයා ටික ටික ඉගනගෙන Data හරියට එහා මෙහා යවනව. හැබැයා hub එක එහෙම නෑ. හැමදාම Flooding....

හරි හරි මම දැන් කියන්න ගියේ.. මේ අළුත් රූපය අනුව Data Packet එකක් PC-A සිට PC-E වලට යන්නෙ කොහොමද කියල පොඩ්ඩක් කියල දෙන්න. ඔන්න මුලින්ම Data Packet එක PC-A වලින් HUB එකට එනව, HUB එක මොකද කරන්නෙ, ඒ Data Packet එක එයාගෙ අනිත් පෝට් වලින් PORT1 PORT5 එලියට යවනව. ඇයි මෙයා දන්නෙ ඒක විතරනෙ... PORT1 න් ඒක Eට ලැබෙනව. ඊට අමතරව ඒක Switch එකටත් ලැබෙනව. අනේ ඉතින් switch එක පුරුදු පරිදි ඔය Data Packet එක Open කරල බලනව Source MAC එක. ආ ඒක A ගෙනෙ. ආවෙ PORT2 න්නෙ. ඉගන ගන්න දෙයක් නැතෝ.... යවන්න ඔනෙ කාටද කියල Destination Address එක කියවල බලනව. ඒක එයා දන්නෙ නෑ. ඉතින් මොකද කරන්නෙ .. හරියටම හරි. PORT2 න් හැර අනිත් හැම එකෙන්ම Flood කරනව. ඉතින් ඔය Data Packet එක B,D,E කියන 3ටම ලැබෙනව. හැබැයි ඒක එයාලට අයිති නැති නිසා එයාල Reply කරන්නෙ නෑ.මොකද ඒක එයාලට නෙමේනෙ.

ඔය අතරතුර අර Hub එක යවපු data Packet එක E ට ලැබෙනවනෙ. මතකයි නේද? මේ දැන් කිවුවෙ. ඉතින් E එකට Reply කරනව. ඒක Hub එකට එනව. එයා ඒක PORT3 න් Aටත් PORT5න් switch එකටත් යවනව. හරි reply එක Aට ආවනෙ. ඉතින් වැඩේ හරි. එතකොට අර switch එකට ගිය එක ඒකට මොකද වෙන්නෙ. හරි හරි මතකද බැලුව. කටිටියට මතකයි නේද?? ඔන්න ඒ E ගෙන් ආපු Reply එක switch එකටත් ගියානෙ. එයා පුරුදු පරිදි ඒක Open කරල Source MAC එක කියවනව. ඒක E ගෙ නෙ. PORT එක 2. ඔන්න දැන් Switch එක ඉගන ගන්නව මගේ PORT2 වල E ඉන්නව කියල.දැක්කද ඒක පෝට් එකේ PC 2ක් මම ඉස්සෙල්ලත් කිවුවෙ. දැන් Switch එක මොකද කරන්නෙ ඉගන ගත්තනෙ දැන් බලනව Destination MAC එක ඒක A ගෙනෙ. ඉතින් මොකද කරන්නෙ. A ඉන්නෙ PORT2 වල කියල මෙයා දන්නවනෙ. එහෙනම් ඒක ආපහු PORT2 න් A ට යවාවි නේද????? කියන්න කණගාටුයි ඒ පාරනම් වැරදියි. Switch එක එහෙම කරන්නෙ නෑ. එයා ටිකක් කල්පනා කරනව. මේක මට ආවෙත් PORT2න් දැන් මට යවන්න වෙන්නෙත් PORT2න් (හැබැයි Destination MAC එකයි Source MAC එකයි නම් වෙනස්). මෙතන මෙකක් හරි හොරයක් තියනව. මම මේකට සම්බන්ධ වෙන්න ඕනෙ නෑ වගේ. ඔන්න ඔහොම හිතල එයා ඒ Data Packet එක ඇතෑරල දානව, එහෙමත් නැත්නම් drop කරනව. ඔන්න ඕකට තමයි Filtering කියන්නෙ. දැන් තේරුනා නේද? Switch එක ගත්ත තීරණය හරි. ඇයි කොහොමත් Reply Packet එක Aට ලැබිලත් ඉවරයිනේ Hub එකෙන්.

ඔන්න මම පොරොන්දු උන විදියටම Switch Operations ටික කියල දුන්න.Address Learning, Flooding, Forwarding, Filtering ඔක්කෝම කියල දුන්න.Loop Avoidance හැර. ඒක ටිකක් ලොකුයි. (නෑ එච්චරමත් නෑ) හැබැයි දැන්නම් කේෂාන්ට ඒක මතක නෑ. ඒකෙදි කරන්නෙ Network එක ඈතුලෙ මොනව හරි Loop තියනවද බලල ඒව නැති කරල දාන ඒක. නැත්නම් Switch එකට බඩුම තමයි. ඔය STP - Spanning Tree Protocol (IEEE 802.1d) එහෙමත් තියෙන්නෙ ඔය යටතෙ තමයි. CCNAවලට කරාට දැන්නම් ඔළුවෙ මුකුත්ම නෑනෙ. පොඩ්ඩක් Note එක බැලුවොත් නම් මතක් වෙයි. බලමුකො වෙලාව තියන විදියට. Exam එහෙමත් ලං වෙනවනෙ. හරි එහෙනම් සුපුරුදු පරිදි ගල් මුල් ඔක්කොම Comment වලින් එවන්නකො. බුදු සරණයි...

Monday, December 6, 2010

Basic Switching - Address Learning

පොඩි විවේකයකින් පස්සෙ ඔන්න තවත් පොඩි පාඩමක්. අදත් subject එකනම් networking තමයි. switch එක ගැන පොඩි විස්තර ටිකක් තමයි කියන්න යන්නෙ. මුලින්ම කටිටියම දන්නවද මොකක්ද මේ switch එකක් කියන්නෙ කියල. දන්නෙ නැද්ද?? කමක් නෑ එහෙනම් මේක කියවන්නකො.

සරලවම කියලනවනම් switch එකකින් පුළුවන් network එකක තියල end devices ඒ කියන්නෙ PCs වගේ, කිහිපයක් එකිනෙකට connect කරන්න. ඒකට සම්බන්ධ උපකරණ අතර දත්ත switch කිරීම තමයි මෙයා කරන්නෙ. බලන්නකො ඉතින් දාල තියන නම කොචිචර ගැලපෙනවද කියල.

මෙන්න මේ රූපෙ පොඩ්ඩක් බලන්නකො. ඔය මැද තියෙන්නෙ switch එකනෙ. එකෙ වර්ගය තමයි Cisco 2950, ඒකෙ තියන පෝට් ගාන තමයි ඉස්සරහින් ලියල තියෙන්නෙ.(24) ඒ කියන්නෙ උපකරණ 24ක් මේ switch එකට එකවර සම්බන්ධ කරන්න පුළුවන්. වටේට හයිකරල තියෙන්නෙ PCs' Switch එකේ ඒව connect වෙන port number එක තමයි ඔය නිල්පාටින් ලියල තියෙන්නෙ. ඒ කියන්නෙ PORT 2 ට සම්බන්ධ කරල තියෙන්නෙ PC-A, ඒ විදියටම PORT4 - PC-B PORT6 - PC-C PORT8 - PC-D සම්බන්ධ කරල තියනව.

අද මම කියන්න හදන්නෙ මෙන්න මේ switch එකක මූලික functions ගැන. ඒ මොනවද දන්නවද??
  1. Address Learning
  2. Forwarding
  3. Filtering
  4. Loop Avoidance

ඔන්න ඔය ටික තමයි මේ switch එකකට කරන්න පුළුවන්. හරිම සරලයි නේද?? හරි එහෙනම් එකින් එක පටන් ගමු. මුලින්ම Address Learning.

ඔන්න මම මුලින්ම කිවුවනෙ මේ switch එකට පුළුවන් කියල එක PC එකක ඉදන් එන data තවත් එකකට යොමු කරන්න. ඉතින් මේක කරන්නෙ කොහොමද? උදාහරණයක් විදියට අපි හිතමු A සිට C ට දත්ත පැකට් එකක් යවන්න ඕන කියල. ඔයාල දන්නවද මේ දත්ත පැකට් එකක යවන්න ඔන දත්ත වලට අමතරව තව ගොඩක් දේවල් තියනව. ඒ අතරින් අපිට දැන් වැදගත් වෙන්නෙ මේ දත්ත පැකට් එකේ තියන යවන්නාගේ ලිපිනය (Source Mac Address) හා ලබන්නාගෙ ලිපිනය (Destination Mac Address) කියන දෙක තමයි. මොකද switch එක වැඩ කරන්නෙ මේ දෙන්න එක්ක (Layer 2) තමයි. මේවට අමතරව තවත් දත්ත ගොඩක් මේ පැකට් එකක තියනව. හරි මුලින්ම දත්ත පැකටි එක A සිට PORT2 හරහා switch එකට ඈතුළු වෙනව. දැන් switch එක මොකද කරන්නෙ?? කො කියන්න බලන්න. "ඒක C ට යවනව..." හපොයි එච්චර ලේසියෙන් යන්නෙ නෑ. ඊට කලින් වැඩ ගොඩක් තියනව.

තවත් වැදගත් දෙයක්. හැම switch එකකම MAT (MAC Address Table) කියල එකක් ඒ switch එක විසින් නිර්මාණය කරගන්නව. ඒකෙ තියෙන්නෙ ඒ switch එකට සම්බන්ධ උපකරන වල MAC address එක හා අදාල පොට් එක. ඒ කියන්නෙ තමන්ගෙ එක එක පොට් වල ඉන්න අයගෙ MAC Address. (MAC address එක කියන්නෙ සෑම පරිගණකයකටම අනන්ය වූ අංකයක්. මේක ඈතුලත් වෙන්නෙ Network Card එකේ. ඒක අපිට වෙනස් කරන්න බෑ. මේක IP Address එකත් එක්ක පටලගන්න එපා)

දැන් data packet එක PORT2 හරහා switch එකට එනව. ඒ ආපුගමන් switch එක කරන්නෙ ඒ පැකට් එකේ source mac address එක කියවනව. දැන් බලන්න ඒක මොකක්ද? Aගෙ MAC එක නේද? (ඈයි A නෙ එවුවෙ.) හරි ඔන්න දැන් switch එක යමක් ඉගන ගන්නව. මොකක්ද??? තමන්ගෙ PORT2 ඉන්න කෙනාගෙ MAC address එක මේක තමයි කියල. ඊට පස්සෙ ඒක තමන්ගෙ MAC Address Table එකට දාගන්නව තමන්ගෙ පෝට් 2 ඉන්නෙ Aකියල. හරි ඔන්න MAT එකේ එක row එකක් පිරුන.

ඊලගට switch එක අර data packet එකේ destination mac address එක කියවනව. (ඒක කාගෙද C ගෙනෙ.) කියවල ඉවර වෙලා මෙයා තමන්ගෙ MAC Address Table එකේ පොඩ්ඩක් හොයනව කො මේ C ඉන්නෙ මොන පෝට් එකේද කියල? හැබැයි MAT තාම C ගැන විස්තරයක් නෑනෙ. (මතකයි නේද MAT එකේ තාම තියෙන්නෙ PORT2 <- PCA කියල විතරයි.) ඔන්න ඉතින් දැන් switch එකට C හොයා ගන්න බැරි වුන නිසා එයා කරන්නෙ මේ Data Packet එක තමන්ගෙ ඉතිරි පෝට් (ඒ කියන්නෙ මේක ඈතුලට ආපු පෝට් එක හැර අනිත් ඒව) වලින් එලියට යවනව. ඒ කියන්නෙ පෝට් 4, 6, සහ 8 කියන ඒවයින්. ඔන්න ඕකට තමයි Flooding කියන්නෙ.

ඉතින් එතකොට PC-B PC-C PC-D කියල තුන් දෙනාම මේ Data Packet එක ලභා ගන්නව. හැබැයි PCB හා PCD දැනගන්නව මේක තමන්ට නෙමේ කියල ඉතින් එයාල නිකන් ඉන්නව. හැබැයි PC-C මේ data packet එක ලභාගෙන ආ මට මේක හම්බ වුනා කියල return එකක් යවනව Aට. ඒකත් පොඩි Data packet එකක්. පොඩ්ඩක් හිතන්න මේ return data packet එකේ Source Address එකයි Destination Address එකයි මොනවද කියල??? Source Address එක C ගෙ MAC Address එක නේද? ඒවගේම Destination Address එක A ගෙ MAC Address එක නේද? ඈයි මේ return packet එන යන්නෙ C සිට A ටනෙ.

හරි ඔන්න දැන් මේ Return Packet එක පෝට් 6 හරහා switch එකට එනව. දැන් switch එක මොකද කරන්නෙ. කලින් දේමයි. ඒ කියන්නෙ.... මේ පැකට් එකෙත් Source Address එක කියවල බලනව. ඒක C ගෙනෙ. දැන් switch එක ඉගන ගන්නව තමන්ගෙ පෝට් 6 ඉන්නෙ C කියල. එයා ඒකත් එයාගෙ Mac Address Table එකට හිමීට දාගන්නව. දැන් මොනවද මේ Table එකේ තියෙන්නෙ. (PORT2 <- PC-A PORT6 <- PC-C ) හරි ඊ ලගට switch එක මෙකක්ද බලන්නෙ. Return Packet එකේ Destination address එක. එක කියවල බලනව. ඒකෙ තියෙන්නෙ A ගෙ Address එකනෙ. ඊ ලගට මෙයා හොරාට MAC Address Table එකත් බලනව කෝ මේ A ඉන්නෙ කොහෙද කියල. ඒකෙන් හොයා ගන්නව A ඉන්නෙ පොට් 2කේ කියල. ඉතින් මෙයා මේ data packet එක පෝට් 2න් එලියට එවනව. එතකෙට ඒක හරියටම ලැබෙන්නෙ Aට විතරයි. බලන්න කලින් වගේ හැමෝටම යවන්න වුනේ නෑනෙ. ඔන්න ඕකට තමයි Forwarding කියන්නෙ.

නිකන් පැටලිලා වගේ නම් ආපහු සැරයක් කියවන්න. එච්චරම අමාරු නෑ. දැන් පෙඩ්ඩක් හිතන්න ආපු data packet එකක් A සිට C ට යවනව කියල. කලින් වගේම packet එක පෝට්2 න් switch එකට ඈතුළු වෙනව. switch එක ඒකෙ Source MAC එක කියවනව. ඒක A ගෙ. ඒකෙන් මෙයාට ඉගන ගන්න දෙයන් නෑ. මොකද මෙයා දැනටමත් දන්නව පෝට්2 A ඉන්නව තියල. ඈයි Mac Address Table එකේ තියෙනවනෙ. එහෙනම් MAT එක Update වෙන්න දෙයක් නෑ. හරි Destination Address එක බලනව. ඒක C ගෙ. C ඉන්නෙ මොන පෝට් එකේද කියල Table එකෙන් හොයාගෙන හරියට යවනව. ඉස්සෙල්ල වගෙ Flood කරන්න ඕනෙ නෑ. දැන් ඒක C ට හම්බ වුනාම එයා Return Data Packet එකක් යවනව. ඒක switch එකට පෝට් 6න් එනව. switch එක ඒකෙ Source Mac Address එක කියවල බලනව. හැබැයි අලුතෙන් ඉගන ගන්න දෙයක් නෑ. Destination Mac Address එක කියවල බලනව. MAT එකෙන් ඒක හොයාගෙන හරියට Aට යවනව. දැක්කද switch එක ඉගන ගන්න ඉක්මන. ඔන්න ඹය Address හා Port match කරගන්න එකට තමයි Address Learning කිවුවෙ.

තවත් පොඩ් ඒ වුනාට ගොඩක් වැදගත් දෙයක්. මේ ඉගන ගන්න වැඩ පිලිවෙලේ මොකක් හරි විශේෂ දෙයක් දැක්කෙ නැද්ද? හොදට බලන්න........ ආ හම්බවුනා නේද?? හරියටම හරි. ඒක තමයි.

SWITCH එක ඉගන ගන්නෙ Source MAC Address වලින් විතරයි. එයා Destination MAC Address වලින් ඉගන ගන්නෙ නෑ.

අදට ඈති නේද? ටිකක් සංකීර්ණයි වගේ තමයි. ඒත් දෙපාරක් විතර කියවන්න. එතකොට තේරුම් ගන්න පුළුවන්. ඊ ලගට පොඩ්ඩක් කල්පනා කරල බලන්න Data Packet එකක A සිට Bට යන්නෙ කොහොමද කියල?? ඉතුරු ටික ඊලග එකෙන් හොදේ.... තේරෙන්නෙ නෑ වගේනම් comment එකකින් අහන්නකො. බුදු සරණයි.

ටිකක් ඡනප්‍රිය ඒව