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 එකකින් අහන්නකො. බුදු සරණයි.

Sunday, November 28, 2010

TCP – Transmission Control Protocol

හදිස්සියෙන් උනත් පොඩි දෙයක් ගැන ලියල යන්න හිතුන. හෙට mid exam එකකුත් තියනවනෙ. හරි හරි ඔන්න එහෙනම්,

Subject : CST 341-3 Data Communication And Networking

Chapter : OSI Model

Title : TCP

TCP කියන්නෙ Network එකක් හරහා data packet යැවීමට භාවිතා කරන වාඩාත් විශ්වාසදායි protocol එකක්. අහල ඇතිනෙ UDP ඒක මේ තරම් විශ්වාස කරන්න පුළුවන් කෙනෙක් නෙමේ. කොහෙන්ද පටන් ගන්නෙ,

මුලින්ම අපි හිතමු A හා B කියල පරිගණක දෙකක් දත්ත පැකට් හුවමාරු කරගන්න උත්සහ කරගන්නව කියල. A ඕන වෙනව B දත්ත පැකට් යවන්න. දැන් A මුලින්ම B යවනව Synchronize Packet එකක්. ඒකෙන් කියන්නෙ මම ලග(A) දත්ත පැකට් ටිකක් තියනව ඔයාට එවන්න ඔයා දන් ඒකට ලෑස්තිත කියල. ඉතින් ඒකට පිළිතුරු විදියට B යවනව Acknowledgment Packet එකක් සහ Synchronize Packet එකක්. කෙන් කියන්නෙ හරි මම ලෑස්තියි, ඔයා ලෑසිතිද කියල. ඉතින් A කොහොමත් ලෑස්ති පිටනෙ හිටියෙ, ඒනිසා එයා යවනව Acknowledgment Packet එකක් B. දැන් වැඩේ හරි. කියන්නෙ දෙන්න සෙට්. Connection Establish. ඔන්න ඔය පොඩි වැඩේට තමයි Three Way Shakes-hand කියල සුද්ද කිවුවෙ.

දැන් දෙන්නම රෙඩි. මුලින්ම A පළවෙනි පැකට් එක B යවනව. එතකොට B ඒක අරගෙන, හරි මට 1 ලැබුන දැන් 2 එවන්න කියනව. ඉතින් ඒක අහපු A 2,3 කියන පැකටි දෙකම B යවනව. දැන් B පැකටි දෙකම අරගෙන හරි මට දැන් 4 එවන්න කියනව. ඉතින් A 4,5,6,7 පැකටි ටික ඔක්කොම යවනව. ටික ගන්න B උත්තර දෙන්නෙ මට 8 එවන්න කියල. පේන්නෙ නැද්ද නිකන් කූඩාරමට ඔටුවෙක් රිංගනව වගේ. මුලින් එවුවෙ පැකටි එකයි. ඊට පස්සෙ 2යි. දැන් 4යි. ඔව් ඔව් මේ TCP එහෙම තමයි. ටික ටික පැකටි ගාන වැඩි කරනව. ඔන්න ඔය එක පාරකට යවන පැකටි ගානට තමයි Window size කියන්නෙ.

හරි. මම මුලින් කිවුව නේද මේත විශ්වාස දායක විදියක් කියල. ඇයි?? අපි හිතමු A යවනව පැකටි 11,12,13,14,15,16,17 ඔක්කොම B. හැබැයි B ලැබෙන්නෙ 12 වෙනකන් විතරයි. මොකක් හරි අවුලක් වෙලා අනිත් ඒව නැති වෙනව. දැන් B මොකද කියන්නෙ? එයා කියනව මට 13 එවන්න කියල. අනේ පවු A ආපහු 13,14,15,16,17,18,19 පැකටි ටික යවන්න වෙනව. ඒකින්නෙ 13 ඉදන් ඉදිරියට. ඔන්න ඔහොම තමයි එයාල දත්ත පැකටි මග හලා ගන්නෙ නැතුව යවන්නෙ. හැබැයි මේකට ටිකක් කාලය යනව. ඒක නිසා මේ TCP කියන Protocol එක යොදගෙන්නෙ වේගයට වඩා නිවරදිබව වැදගත් වන තැන්වලදි තමයි. උදාහරණයක් විදියට e-mail එකක් යවන එක. එතනදි භාවිතා කරන්නෙ TCP. මොකද, විශ්වාසදායක ලෙස දත්ත යැවීම වැදගත්. හැබැයි අපි හිතමු අපි කාත් එක්ක හරි Voice Chat කරනව කියල. එතකොට මේත හරියන්නෙ නෑ. මොකද ඒක Real time වෙන්න ඕන දෙයක්. එතකොට භාවිතා කරන්නෙ UDP - User Datagram Protocol කියල එකක්. ඒක මේ වගේ වෙලාව කන්නෙ නෑ. හැබැයි නැති වෙච්ච පැකටි හොයන්න යන්නෙත් නෑ. දැන් තේරෙනව නේද Chat කරන කොට සමහර ඒව ඇහෙන්නෙ නැතිව යන්නෙ කොහොමද කියල..

... තවත් දෙයක් අමතක වුනානෙ. මම කිවුවනෙ දැන් A තමන් යවන පැකටි ගාන ටික ටික වැඩි කරනව කියල. මුලින් 1යි ඊලගට 2යි 3යි 5යි 10යි 20යි........ ඉතින් ඔහොම වැඩි වෙනකොට එක වෙලාවක් එනව B ටිකක් තරහ යන.(අපිටත් ඔය වැඩ ටිකක් වැඩි වුනාම තරහ යන්නෙ.) එතකොට B, A කියනව ටිකක් හිමින් එවනවද? අනේ මගේ Buffer එකේ ඉඩ නෑ කියල. ඉතින් A කරන්නෙ අර එක වරකට යවන පැකට් ගාන ටිකක් අඩු කරනව. කියන්නෙ Window Size එක ටිකක් අඩු වුනා. දැන් වේගෙත් වැඩ්නම් A ඒක තවත් අඩු කරනව. ඔහොම ටික වෙලාවක් යනකොට B කියනව "A තව පැකට් ටිකක් වැඩිපුර එවුවට කමක් නෑ" කියල. ඉතින් A ආපහු පැකටි ගාන වැඩි කරනව. ඒකියන්නෙ Window Size එක වැඩි කරනව. ඔන්න ඔය සෙල්ලමට තමයි Windowing කියන්නෙ. (ඕක ලගදිත් මගෙන් කවුරරු හරි ඇහුව. මට මතක නෑ කවුද කියල)

හරි එහෙනම්, අදට ඈති නේද?? හෙට exam නෙ. .. මේකෙ PDF එකක් දාන්නනම් වෙලාවක් නෑ. තරහ නැතුව මේක කොපි කරගෙන pdf එකක් හදා ගන්නවද?හැම දාම වගේ ඔන්න අදත් ඔබේ අදහස් මට වටිනව. බුදු සරණයි.



Friday, November 26, 2010

Happy Birth Day


තවමත් මතකයි ඒ සොදුරු අතීතය..

සෙල්ලම් කරපු හැටි
රණ්ඩු වුන හැටි..
අම්මගෙන් බැනුම් අහපු හැටි...

මතකද ඉස්සර උපන් දිනේ දවසට
නැන්ද හදල දෙන කේක් එකට
දෙන්න එක්ක එකතු වෙලා වැඩ දානව....
අන්තිමට කේක් එකට වඩා අයිසින්

ඈයි මගේ අතේ එල්ලිලා උපන් දිනය දවසට පන්සල් ගිය හැටි..
ගෙදර ඈවිත් කේක් කපල මට කවපු හැටි..
තවත් එකක් කිය කිය කැමරාව අරන් මගේ පස්සෙන් ආපු හැටි...
අද වගේ මතකයි.

ඒත් අද
පොත් ගොඩයි, වැඩ ගොඩයි, කාලයයි අතරෙ මේ අයිය හිරවෙලා
නෑ ඉ​ඩක් දකින්නටවත් සුදු නංගියගෙ මූණ
උපන් දිනය දවසෙවත්

සමාවෙන්න අයියට........

(ප.ලි. අද කේෂාන්ගෙ සුදු නංගියගෙ උපන් දිනය)

Thursday, November 25, 2010

8086 Data Path – Control Word


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

Subject:CST303 Computer System Architecture

Chapter:Microprocessor Architecture - 8086

Title :8086 Data Path - Control Word

Related Title :8086 Data Path - How Its Work


මම එදා කිවුවනේද R1 <-- R2 + R3 කියන Operation එක 8086 වල වෙන විදියග මම එතකොට කිවුව මතකද 8086 ඈතුලෙ අපි කියන කියන විදියට MUX Select කර කර එහා මෙහා signal අරන් යන පිස්සෙක ගැන. එයා තමයි මේ Control Word එහෙමත් නැත්නම් Control Signal කියන්නෙ. ඒක ඈත්තටම signal එකක්. බොක්කෙන්ම කියනවනම් මේක 16-bit binary value, each bit indicate particular control signal.

හරි එහෙනම් මේ එකින් එක මොනවද කියල බලමු. DA කියන්නෙ Destination Register Address කියන එකනෙ. කියන්නෙ ගමනාන්තය. අපේ උදාහරණයේ නම් මේ ගමනාන්ත Register එක R1 නේද? දැන් පොඩ්ඩක් බලන්න ඒක ON කරන්නෙ කොහොමද කියලග Decoder එකට Input කරන්න ඕනෙ 01 නේද? එහෙනම් DA වල අගය 01, හැබැයි ඒකෙ දිග 3-bit වෙන්න ඕනෙ. නිසා DA වල අගය අපි ලියන්නෙ 001 කියල.

විදියටම AA කියන්නෙ A Address. කියන්නෙ පේ උදාහරණයේ නම් R2ගෙ Address එක නේද?? ඒක ON කරන්න Decoder එකට 10 signal එක දෙන්න ඕනෙ. එහෙනම් AA වල අගය 010, මතකයි නේද, මේ සිග්නල් එකත් 3-bit. එතකොට BA, B Address උදාහරණයට අනුව R3, කොහොමද R3 ඔන් කරන්නෙ. හරියටම හරි.... ඔය කියන්නෙ. බොරුවට බෑ වගේ ඉදලනෙ. හරි දැන් BA = 011.

ඊලග පියවර MB, මේක MUX B වල Select input එක. මගේ කලින් ලිපියෙ විදියට MUX B වල input එක 1යි නේද? එහෙනම් මෙතන MB වල අගය 1යි. ඒවගේම MD කියන්නෙ MUX D. ඒකට input කරන්නෙ 0 නේද? ඈයි කියල මතක නෑ වගේමනම් පරන ලිපිය බලන්නකො. එතකොට MD=0. අන්තිම එක R/W. කියන්නෙ Read or Write Operation කියන එකනෙ. අපේ උදාහරණය R1 <-- R2 + R3 write operation එකක් නේද? එහෙනම් එතන අගය 1යි. ඈයි .............. අනේ මටනම් ඒකට කරන්න දෙයක් නෑ. මොකද ඒක ගනිපු තීරණයක්නේ. ඕවට මේ අහිංසක කේෂාන් සම්බන්ද නෑ.... Read Operation වලට 0ත් Write Operation වලට 1ත් දාන්න කියල තමයි පැරැන්නන් කියල තියෙන්නෙ. පැරැන්නො කිවුවට මෙයාල අලුත් අය.

අනේ අනේ කේෂාන් (ඈයි අනේ අනේ කියන්නෙ නයනිවත් ඈවිත්ද??? හපොයි කෝ කෝ මට දුවන්න පාරක් පෙන්නන්න) හරි ලේසියෙන් අර FS කියන එක මග හැරිය නේද?? (මොකද Scroll කරල උඩ ටික බලන්න හදන්නෙ. එහෙම එකක් තිබුනද කියලවත් මතක නැද්ද??) නෑ නෑ කේෂාන් කවදාවත්ම එහෙම subject එකේ දේවල් මග හැරල යන්නෙ නෑ. මීට කලින් කියපු ටික එකිනෙකට සම්බන්ද නිසයි එකපාරට කියාගෙන ගියේ. හරි දැන් FS, කියන්නෙ Function Set කියන එකනෙ. කියන්නෙ ALU එකට අර G Select වලින් දෙන Input එකනේද??? හරි දැන් මෙතන තියෙන්නෙ එකතු කිරීමක් නේ. එහෙනම් කියන්න බලන්න G Select වලට දෙන්න ඕන අගය. හරි හරි ඉතින් තෑ ගහන්න එපා. 2 තමයි දෙන්න ඕන අගය. කියන්නෙ FS වල අගය 0010. ඈයි එයා 4-bitනෙ. ඔන්න එහෙනම් සම්පූර්ණ Control Signal එක බැලුවනම්.

දැන් මේක 8086 ඈතුලට ආවම එයා මේක කොටස් වලට කඩාගෙන මම අර පහුගිය ලිපියෙ කියපු විදියට වැඩ කිඩ ටික ඔක්කොම කරනව. බලන්න එයා හරිම දස්සයි නේද?????? එහෙනම් සුපුරුදු පරිදිම ගැටලු, හොද නරක, අඩුපාඩු පෙන්නනකන් මම බලාගෙන ඉන්නව.

මේ තියෙන්නෙ තේකක් බි බීම කියවන්න......

බුදු සරණයි.

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