Thursday, January 14, 2010

இணையத்தின் சுவாரஸ்யங்கள் - டிரான்ஸ்போர்ட் லேயர்


தலைப்பில் 'சுவாரஸ்யம்' என்று சொல்லப்பட்டிருக்கிறதே தவிர இது கொஞ்சம் மண்டை காயும் பதிவு (நன்றி: புதுவை சிவா & எப்பூடி) , பொருத்தருளவும் :). இணையத்தின் தகவல்தொடர்புக்கு என்று சில சட்ட திட்டங்கள் உள்ளன(TCP/IP - Transmission control protocol/Internet protocol). இவை வழக்கம் போல அமெரிக்காவின் பாதுகாப்பு அமைச்சகத்தால்(DOD - Department of Defense) வடிவமைக்கப்பட்டு பின்னர் இணையத்திற்கும் பயன்பாட்டுக்குக் கொண்டுவரப்பட்டது.

இந்த சட்டதிட்டங்கள் ஏன், எதற்கு ?. கண்டமேனிக்கு ஆளுக்கொரு விதமா இணையத்தில் தகவல்தொடர்பு வைத்துக்கொண்டால் எப்படி இருக்கும் ?. 100 அல்லது 110 கோடி இந்தியர்களும் ஆளுக்கொரு மொழியில் பேசினால் எப்படி இருக்குமோ அப்படி இருக்கும். ஒருத்தர் மூஞ்சியில் ஒருத்தர் தார் பூசி ஹோலி விளையாடிவிட்டு, தண்டவாளத்தில் தலைவைத்து ஓய்வெடுக்க வேண்டி வரும் :). தகவல்தொடர்பு கட்டுப்பாட்டுக்குள் இருக்காது, மேலும் ஒரு பொதுவான முறை அனைவருக்கும் இருந்தால் மேம்படுத்துதல் மற்றும் தனிநபர் பயன்கள் அதிகரிக்கும். அதற்காகத் தான் TCP/IP கட்டமைக்கப்பட்டன. இந்த TCP/IP வலைத்தொடர்பை நான்கு பகுதிகளாக (layers) பிரித்து, ஒவ்வொரு பகுதியிலும் என்னென்ன வழிமுறைகள் (protocols) பின்பற்ற வேண்டும் என்று வரையறுக்கப்பட்டிருக்கிறது. இணையத்தைப் பயன்படுத்தும் எல்லாருமே ஒவ்வொரு நொடியும் நமக்குத் தெரியாமலேயே இந்த வழிமுறைகளைப் பின்பற்றித்தான் வலைத்தளங்கள், மின்னஞ்சல், வலையரட்டை ஆகியவற்றின் மூலம் தொடர்பு கொள்கிறோம்.

அந்த நாலு பகுதிகள் என்னென்ன? application, transport, internet மற்றும் network interface. அந்த நாலு பகுதிகளில் டிரான்ஸ்போர்ட் லேயர் குறித்து மட்டுமே இப்பகுதியில் பார்க்கப் போகிறோம். கொட்டாவி விடாமல் படித்து முடிக்கும் அன்பர்கள் மற்ற பகுதிகள் குறித்தும் அறிய விருப்பப்பட்டுப் பின்னூட்டத்தில் தெரிவித்தால் மகிழ்ச்சி :). 'அந்த நாலுல முதலும் இல்லாம, கடைசியும் இல்லாம நடுவுல இருக்குற டிரான்ஸ்போர்ட் லேயருக்கு மட்டும் அப்படி ஏன் 'முக்கிய'த்துவம் கொடுத்து தெரிஞ்சிக்கப்போறாம்' என்று உங்களுக்கு இந்நேரம் தோன்றியிருந்தால் சிறப்பு.

உதாரணத்திற்கு உங்கள் அலுவலகத்தில் 100 கணினிகள் கொண்ட வலையமைப்பில் நீங்கள் ஒரு கணினியில் இருந்து கொண்டு ஒரு வலைப்பக்கத்தை உலாவியில் பார்க்கிறீர்கள் என்று வைத்துக்கொள்வோம். எப்படி சரியாக உங்கள் கணினி இணையத்தின் மூலம் வலைத்தளத்தின் சர்வரைத் தொடர்புகொண்டு தகவல்களைப் பெற்று உங்களிடம் கொண்டு வந்து சேர்க்கிறது?, டிரான்ஸ்போர்ட் லேயர் தான் காரணம். நீங்கள் பயன்படுத்தும் உலாவியில் (application) இருந்து வரும் தகவல்களை segment எனப்படும் தகவல்பகுதிகளாக மாற்றி, வலைத்தொடர்புக்கு அனுப்பிவைப்பது டிரான்ஸ்போர்ட் லேயர் தான். அதாவது வலைத்தொடர்பு என்ற கடலுக்குள் உங்கள் காகிதக் கப்பலை கைநீட்டி மிதக்கவிடும் போது கடைசிப்பிடியில் இருக்கும் இரண்டு விரல்கள் போன்றது டிரான்ஸ்போர்ட் லேயர், அதனாலே தான் டிரான்ஸ்போர்ட் லேயரில் செய்யப்படும் சங்கேதக் குறியீடு மாற்று முறைகள் (encryption) முக்கியத்துவம் பெறுகின்றன. இணையத்தில் மிக பாதுகாப்பான வலைத்தொடர்பு முறையாகக் கருதப்படும் HTTPS இணைப்புகள் சங்கேதக் குறியீடு மாற்றுக்கு (encryption stage) தேர்ந்தெடுத்த பகுதி என்ற பெருமை டிரான்ஸ்போர்ட் லேயருக்கு உண்டு.

சரி டிரான்ஸ்போர்ட் லேயருக்குள் என்ன நடக்கிறது?. உங்கள் உலாவியின் மூலம் நீங்கள் உள்ளிடும் தகவல்களை தகவல்பகுதிகளாக (segments) மாற்றுகிறது. அதன் தலைப்பகுதியில் (header) அனுப்புநர் மற்றும் பெறுநரின் வலையிணைப்பு எண்கள் (ip addresses), வலையமைப்பு புள்ளி எண் (port number) ஆகியவற்றை இணைத்து வலைத்தொடர்பில் அனுப்பி வைக்கும். இந்த வலையமைப்புப் புள்ளி எண் மூலமாகவே சரியாக உங்கள் கணினிக்கு நீங்கள் பயன்படுத்து மென்பொருளுக்கு தகவல் வந்து சேர்கிறது. பதில் தகவல் வந்து சேரும் போதும் சரிபார்த்து முழுமையாக இருந்தால், சரியாகக் கிடைத்து விட்டது என்ற தகவலை அனுப்பியவருக்கு அனுப்பி விட்டு, கிடைத்த தகவல்பகுதிகளைத் முழுத்தகவலாக மீள்கட்டமைப்பு செய்து உங்கள் உலாவி/மென்பொருளுக்குத் தருகிறது. தகவல் முழுமையாகப் பெறப்படாவிட்டால் தானாகவே மீண்டும் தகவல் அனுப்பச்சொல்லி வேண்டுகோள் விடுத்துத் திரும்பப் பெறுவதும் (ARR - automatic repeat request), கிடைக்கப்பெறும் தகவல் பகுதிகளை சரியாக வரிசைப்படுத்தி தருவதும் டிரான்ஸ்போர்ட் லேயரின் வேலை.

மேலே சொல்லப்பட்டிருக்கும் வழிமுறைகளுக்குப் (protocol) பெயர் Transmission control protocol(tcp), இதுவே பெரும்பாலானப் பொதுப் பயன்பாட்டுக்குப் பின்பற்றப் படுகின்றன. டிரான்ஸ்போர்ட் லேயருக்கென்று வேறு பல வழிமுறைகளும் உள்ளன (eg: UDP, DCCP.. etc), அவை நாம் பயன்படுத்தும் மென்பொருளின் தேவைக்கேற்பவும், தகவல்களின் பயன்பாட்டுக்கேற்பவும் மாறுபடும்.

ஓரளவிற்குப் புரியும்படி விளக்கியிருக்கிறேன் என்று நம்புகிறேன். பொறுமையுடன் இறுதி வரைப் படித்த நண்பர்களுக்கும், தலைப்பைப் பார்த்து திறந்து பார்க்காமலே பறந்து சென்ற சிட்டுக்குருவிகளுக்கும், படம் மட்டும் பார்க்கும் பொருட்டு வருகை தந்த அன்பர்களுக்கும் மனமார்ந்த பொங்கள் திருநாள் வாழ்த்துக்களைத் தெரிவித்துக் கொள்வதில் சுடுதண்ணி பேருவகைக் கொள்கிறது. மிகச் சாதரணமாகி விட்ட இணையப் பயன்பாட்டில் ஒவ்வொரு அசைவிலும் இது போன்ற எண்ணற்ற தொழில்நுட்பங்கள் திரைமறைவில் நமக்காகத் தலைதெறிக்க ஓடி ஓடி உழைத்துக் கொண்டிருக்கின்றன என்ற உணர்வு உங்களுக்குத் தோன்றினால் அதுவே இப்பதிவின் நோக்கம்.

கல்லூரி நாட்களில் வகுப்பறையின் கடைசி வரிசையில் அலப்பறை செய்து, பரீட்சை நேரத்தில் கையறு நிலையில் தவித்த போது தனது புத்தகத்தின் மூலம் ஞானப்பால் புகட்டிக் காப்பாற்றிய ஆண்ட்ரூ டனன்பாம் அவர்களுக்கு இப்பதிவை சமர்ப்பித்து, தனது நன்றிக்கடனை அடைத்தத் திருப்தியோடு சுடுதண்ணி இப்பதிவை நிறைவு செய்கிறது.




25 comments:

  1. அருமையாக விளக்கமாக எழுதி வருகிறீர்கள். தொடர்ந்து வாசித்து வருகிறேன். நன்றி.

    ReplyDelete
  2. மிக்க நன்றி @ ஏஞ்சல் :)

    ஊக்கத்துக்கு மிக்க நன்றி டிவிஎஸ். தொடர்ந்து வாருங்கள் :)

    ReplyDelete
  3. நல்லா useful எழுதிகிறீர்கள்.. தொடரட்டும் உங்கள் பணி..

    ReplyDelete
  4. கல்லூரி நாட்களில் வகுப்பறையின் கடைசி வரிசையில் அலப்பறை செய்து

    அவர் தானா நீங்கள்? நாங்க ஆங்கில வகுப்பில் மட்டும் தான் புஷ்பலதா என்ற ஆசிரியை அழ வைத்து வேடிக்கை பார்த்ததோடு சரி.

    ReplyDelete
  5. ஊக்கத்துக்கு நன்றி பட்டாபட்டி :)

    அவரே தான்... :D @ ஜோதிஜி.. நன்றி :)

    நன்றி அண்ணாமலையான்.. தொடர்ந்து வாருங்கள் :)

    ReplyDelete
  6. //மிகச் சாதரணமாகி விட்ட இணையப் பயன்பாட்டில் ஒவ்வொரு அசைவிலும் இது போன்ற எண்ணற்ற தொழில்நுட்பங்கள் திரைமறைவில் நமக்காகத் தலைதெறிக்க ஓடி ஓடி உழைத்துக் கொண்டிருக்கின்றன//

    வியந்தது உண்டு !!யோசித்தால் தலை சுற்றும்

    ReplyDelete
  7. நல்ல விளக்கம்!! நன்றிகள் :)

    summary :
    The Transport Layer's responsibilities include end-to-end message transfer capabilities independent of the underlying network, along with error control, segmentation, flow control, congestion control, and application addressing (port numbers)
    [WIKI]

    ReplyDelete
  8. வணக்கம் சுடுதண்ணி அண்ணே
    இந்த பதிவின் மூலம் பல புதிய தகவலை தெரிந்து கொண்டேன் அதை நீங்கள் விளக்கிய விதம் அருமை.

    மற்றும் என் இனிய பொங்கள் வாழ்த்துகள் அண்ணா.

    ReplyDelete
  9. அலுப்பு தட்டாத வாத்தியார் நீங்கள் Mr.சுடு தண்ணி, நன்றிகள், &
    பொங்கல் வாழ்த்துக்கள்.

    ReplyDelete
  10. மிக்க நன்றி நண்பா @ எப்பூடி :).

    ஊக்கத்திற்கும், வாழ்த்துக்களுக்கும் நன்றி தம்பி @ புதுவை சிவா :D.

    மிக்க நன்றி @ சைவகொத்துப்புரோட்டா :).

    மிக்க நன்றி @ அக்பர் ஜா :)

    ReplyDelete
  11. உங்கள் எழுத்து நடை மிகவும் சுவாரஸ்யமாக தொழில் நுட்பங்களை பகிர்கிறது. வாழ்த்துக்கள்.

    தொடர்ந்து எழுதுங்கள்

    ReplyDelete
  12. ஊக்கத்துக்கு மிக்க நன்றி கண்ணா :). தொடர்ந்து வாருங்கள்.

    ReplyDelete
  13. Easy 2 learn...Nice Presentation... Eager to see Next One...

    ReplyDelete
  14. சுவாரஸ்யமான தகவல்கள். அடுத்த பகுதிகளையும் வாசிக்க ஆவல்.

    ReplyDelete
  15. ஒயரும் மஞ்சுவிரட்டும் காக்டெயில் போல கலந்து கட்டி ஆடிவிட்டு எப்பிடிங்க லதானந்த பதிவில் கட்டிப்பிடியைப் பற்றி அப்படி ஒரு அற்புத கேள்வி கேட்க மனம் வந்தது?

    ReplyDelete
  16. அருமையான விளக்கங்கள், நிறைய சொல்லுங்க, தெரிந்துகொள்ளலாம் ... ;)

    ReplyDelete
  17. என‌க்கு கொஞ்ச‌ "சுத்தி விட்ட‌" மாதிரி தான் இருக்கு.

    ReplyDelete
  18. என்னைப் போன்ற வரண்ட மண்டைகளுக்கு இத்தகைய விடயங்கள் புரிவது கஷ்டம். ஆயினும் ஓரளவு தெளிவு கிடைத்த மாதிரி இருக்கிறது.
    பதிவிற்கு மிக்க நன்றி.

    ReplyDelete
  19. நன்றி பாலகுமார் :) தொடர்ந்து வாங்க.

    நன்றி ஜோதிஜி. எல்லாம் இயற்கையின் அற்புதங்கள் :D

    ஊக்கத்துக்கு மிக்க நன்றி மணிப்பக்கம் :)

    நன்றி வடுவூர்குமார் :D. ரொம்ப சுத்தாதீங்க :)

    மருத்துவருக்கு இவ்வளவு அடக்கம் உடம்புக்கு ஆகாது :). தங்கள் வருகையும், பின்னூட்டமும் மிக்க மகிழ்ச்சியளிக்கிறது :).

    ReplyDelete
  20. விரைவில் அந்த வசதியைச் சேர்க்கிறேன் நண்பா. உங்களுக்கும் தெரிவிக்கிறேன் :). தொடர்ந்து வாங்க. நன்றி.

    ReplyDelete
  21. Hi suduthanni,
    I am interested in networking as i am learning iscsi now which operates with tcp/ip. Hence can i contact u for detailed info about networking.
    Thanks
    raja

    ReplyDelete
  22. Hi raja,

    glad to know about ur interest, mail me any time :)

    ReplyDelete