Showing posts with label டிரான்ஸ்போர்ட் லேயர். Show all posts
Showing posts with label டிரான்ஸ்போர்ட் லேயர். Show all posts

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), அவை நாம் பயன்படுத்தும் மென்பொருளின் தேவைக்கேற்பவும், தகவல்களின் பயன்பாட்டுக்கேற்பவும் மாறுபடும்.

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

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