වරායක් සහ සොකට් එකක් අතර වෙනස කුමක්ද?


947

මෙය මගේ සංවිධානයේ මෘදුකාංග ඉංජිනේරුවරයෙකු විසින් මතු කරන ලද ප්‍රශ්නයකි. පුළුල්ම අර්ථ දැක්වීම ගැන මම උනන්දු වෙමි.


20
නැවත අවධාරණය කිරීම සඳහා, සොකට් ජාල IO ට පමණක් සීමා නොවේ. විවිධ යෙදුම් අතර දත්ත ප්‍රවාහය සඳහා ඒවා සෑම තරාතිරමකම තිබේ.
ඔලි

Answers:


1001

සාරාංශය

TCP සොකට් යනු විශේෂිත TCP සම්බන්ධතාවයක හෝ සවන්දීමේ තත්වයේ සන්දර්භය තුළ IP ලිපිනයක් සහ වරායක් මගින් අර්ථ දක්වා ඇති අවසාන ලක්ෂ්‍ය අවස්ථාවකි .

වරාය යනු සේවා අන්ත ලක්ෂ්‍යයක් නිර්වචනය කරන අථත්‍යකරණ හඳුනාගැනුමකි (සේවා නිදර්ශන එන්ඩ්පොයින්ට් හෝ සැසි හඳුනාගැනුමට වඩා වෙනස්).

TCP සොකට් එකක් සම්බන්ධතාවයක් නොවේ , එය විශේෂිත සම්බන්ධතාවයක අවසාන ලක්ෂ්‍යයයි.

සේවා අන්ත ලක්ෂ්‍යයකට සමගාමී සම්බන්ධතා තිබිය හැකිය , මන්දයත් එහි දේශීය හා දුරස්ථ අන්ත ලක්ෂ්‍යයන් මගින් සම්බන්ධතාවයක් හඳුනාගෙන ඇති අතර එමඟින් විශේෂිත සේවා අවස්ථාවකට ගමනාගමනය යොමු කිරීමට ඉඩ සලසයි.

දී ඇති ලිපිනය / වරාය සංයෝජනය සඳහා එක් සවන්දීමේ සොකට් එකක් පමණක් තිබිය හැකිය .

ප්‍රදර්ශනය

මෙය සිත්ගන්නාසුලු ප්‍රශ්නයක් වූ අතර මා ඇතුළතින් දන්නා බව සිතූ කරුණු ගණනාවක් නැවත විමර්ශනය කිරීමට මට සිදුවිය. "සොකට්" වැනි නමක් ස්වයං පැහැදිලි කිරීමක් වනු ඇතැයි ඔබ සිතනු ඇත: එය පැහැදිලිවම තෝරාගෙන ඇත්තේ ඔබ ජාල කේබලයක් සවි කරන අවසාන ලක්ෂ්‍යයේ නිරූපණයන් සඳහා වන අතර ශක්තිමත් ක්‍රියාකාරී සමාන්තරයන් ඇත. කෙසේවෙතත්, ජාල විග්‍රහයේදී “සොකට්” යන වචනය කොතරම් ගමන් මලු රැගෙන යනවාද යන්න නැවත පරීක්ෂා කිරීම අවශ්‍ය වේ.

හැකි පුළුල්ම අර්ථයෙන් ගත් කල, වරායක් යනු ඇතුළුවීමේ හෝ ප්‍රගතියේ ලක්ෂ්‍යයකි. ජාලකරණ සන්දර්භයක් තුළ භාවිතා නොකලද, පෝර්ට් යන ප්‍රංශ වචනයේ තේරුම දොර හෝ දොරටුවයි . වරාය යනු ඔබ දත්ත නැව්ගත කළත් විශාල වානේ බහාලුම් වේවා යන්න ප්‍රවාහන අන්ත ලක්ෂ්‍යයන් බව තවදුරටත් අවධාරණය කරයි.

මෙම සාකච්ඡාවේ අරමුණ සඳහා මම TCP-IP ජාල වල සන්දර්භය වෙත සලකා බැලීම සීමා කරමි. ඕඑස්අයි මාදිලිය ඉතා හොඳින් ක්‍රියාත්මක වන නමුත් කිසි විටෙකත් එය සම්පූර්ණයෙන් ක්‍රියාත්මක කර නොමැත.

IP ලිපිනයක් සහ වරායක සංයෝජනය අන්ත ලක්ෂ්‍යයක් ලෙස හැඳින්වෙන අතර සමහර විට එය සොකට් ලෙසද හැඳින්වේ. මෙම භාවිතය ආරම්භ වන්නේ මුල් TCP පිරිවිතර RFC793 සමඟ ය.

TCP සම්බන්ධතාවයක් අර්ථ දැක්වෙන්නේ අන්ත ලක්ෂ්‍ය දෙකකින් හෝ සොකට් වලින් ය .

අවසාන ලක්ෂ්‍යයක් (සොකට්) අර්ථ දැක්වෙන්නේ ජාල ලිපිනයක් සහ වරාය හඳුනාගැනීමේ සංයෝජනයෙනි . ලිපිනය / වරාය සොකට් එකක් සම්පූර්ණයෙන් හඳුනා නොගන්නා බව සලකන්න (මේ පිළිබඳ වැඩි විස්තර පසුව).

වරායන්හි පරමාර්ථය වන්නේ දී ඇති ජාල ලිපිනයක බහු අන්ත ලක්ෂ්‍යයන් වෙන්කර හඳුනා ගැනීමයි. වරාය යනු අථත්‍යකරණය කළ අන්ත ලක්ෂ්‍යයක් යැයි ඔබට පැවසිය හැකිය. මෙම අථත්‍යකරණය තනි ජාල අතුරුමුහුණතක් මත සමගාමී සම්බන්ධතා කිහිපයක් ඇති කරයි.

අන්තර්ජාලය තුළ එක් එක් ටීසීපී සම්බන්ධතාවය අද්විතීය ලෙස හදුනා ගන්නා අන්ත ලක්ෂ්‍ය දෙක නියම කරන්නේ සොකට් යුගලය (ග්‍රාහක අයිපී ලිපිනය, ග්‍රාහක වරාය අංකය, සේවාදායක අයිපී ලිපිනය සහ සේවාදායක වරාය අංකය යන 4-ටුපල්) ය. ( TCP-IP ඉලස්ට්‍රේටඩ් වෙළුම 1 , ඩබ්ලිව්. රිචඩ් ස්ටීවන්ස්)

බොහෝ සී-ව්‍යුත්පන්න භාෂාවල, සොකට් පන්තියේ නිදසුනක් මත TCP සම්බන්ධතා ස්ථාපිත කර ඇති අතර ඒවා උපයෝගී කරගනී. නෙට්වර්ක්ස්ට්‍රීම් පංතියක නිදසුනක් ලෙස ඉහළ මට්ටමේ සාරාංශයක් මත ක්‍රියා කිරීම සාමාන්‍ය දෙයක් වුවද, මෙය සාමාන්‍යයෙන් සොකට් වස්තුවකට යොමු කිරීමක් නිරාවරණය කරයි. කෝඩරයට මෙම සොකට් වස්තුව සම්බන්ධතාවය නිරූපණය කරන බව පෙනේ, මන්දයත් සම්බන්ධතාවය නිර්මාණය වී ඇති අතර සොකට් වස්තුවේ ක්‍රම උපයෝගී කර ගනිමිනි.

C # හි, TCP සම්බන්ධතාවයක් ඇති කිරීම සඳහා (පවතින සවන්දෙන්නෙකුට) පළමුව ඔබ TcpClient එකක් සාදන්න . ඔබ TcpClient ඉදිකිරීම්කරුට අන්ත ලක්ෂ්‍යයක් සඳහන් නොකරන්නේ නම් එය පෙරනිමි භාවිතා කරයි - එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින් දේශීය අන්ත ලක්ෂ්‍යය අර්ථ දැක්වේ. ඉන්පසු ඔබ විසින් නිර්මාණය කරන ලද සම්බන්ධක ක්‍රමයට සම්බන්ධ වන්න. මෙම ක්‍රමයට අනෙක් අන්ත ලක්ෂ්‍යය විස්තර කරන පරාමිතියක් අවශ්‍ය වේ.

මේ සියල්ල ටිකක් අවුල් සහගත වන අතර සොකට් එකක් යනු සම්බන්ධතාවයක් යැයි විශ්වාස කිරීමට ඔබව යොමු කරයි. රිචඩ් ඩෝර්මන් ප්‍රශ්නය අසන තුරු මම මෙම වැරදි වැටහීම යටතේ වැඩ කරමින් සිටියෙමි.

කියවීම සහ සිතීම පිළිබඳ බොහෝ දේ කර ඇති මට දැන් ඒත්තු ගැන්වී ඇත්තේ දේශීය එන්ඩ්පොයින්ට් සහ දුරස්ථ එන්පොයින්ට් යන තර්ක දෙකක් ගෙන යන ඉදිකිරීම්කරුවෙකු සමඟ පන්ති ටීසීපී සම්බන්ධතාවයක් පැවැත්වීම වඩා අර්ථවත් වනු ඇති බවයි . දේශීය එන්ඩ්පොයින්ට් සඳහා පෙරනිමි පිළිගත හැකි විට ඔබට දුරස්ථ එන්පොයින්ට් යන තනි තර්කයකට සහය දැක්විය හැකිය . බහු හෝම් පරිගණකවල මෙය අපැහැදිලි ය, නමුත් දුරස්ථ අන්ත ලක්ෂ්‍යයට කෙටිම මාර්ගය සහිත අතුරුමුහුණත තෝරා ගැනීමෙන් රවුටින් වගුව භාවිතයෙන් අපැහැදිලි බව විසඳිය හැකිය.

වෙනත් ආකාරවලින් ද පැහැදිලි බව වැඩි කරනු ඇත. IP ලිපිනය සහ වරාය සංයෝජනයෙන් සොකට් එකක් හඳුනා නොගනී :

[...] දේශීය හා විදේශීය ලිපිනයන්ගෙන් සමන්විත වන අගයන් හතරම භාවිතා කරමින් TCP එන එන කොටස්: ගමනාන්ත IP ලිපිනය, ගමනාන්ත වරාය අංකය, ප්‍රභව IP ලිපිනය සහ ප්‍රභව වරාය අංකය. ගමනාන්ත වරාය දෙස බැලීමෙන් පමණක් පැමිණෙන ක්‍රියාවලියක් ලැබෙන්නේ කුමන ක්‍රියාවලියටද යන්න TCP හට තීරණය කළ නොහැක. එසේම, [ලබා දී ඇති වරාය අංකයක] [විවිධ] අන්ත ලක්ෂ්‍යයන්ගෙන් එකක් වන්නේ පැමිණෙන සම්බන්ධතා ඉල්ලීම් ලැබෙනු ඇති අතර එය සවන්දීමේ තත්වයේ පවතී. (p255, TCP-IP ඉලස්ට්‍රේටඩ් වෙළුම 1 , ඩබ්ලිව්. රිචඩ් ස්ටීවන්ස්)

ඔබට පෙනෙන පරිදි, ජාල සේවාවක් සඳහා එකම ලිපිනය / වරාය සහිත සොකට් ගණනාවක් තිබීම බොහෝ දුරට ඉඩ ඇති නමුත් විශේෂිත ලිපිනයක් / වරාය සංයෝජනයක් මත එක් සවන්දීමේ සොකට් එකක් පමණි. සාමාන්‍ය පුස්තකාල ක්‍රියාත්මක කිරීම් සොකට් පංතියක් ඉදිරිපත් කරයි, උදාහරණයක් ලෙස සම්බන්ධතාවයක් නිර්මාණය කිරීමට සහ කළමනාකරණය කිරීමට භාවිතා කරයි. මෙය අතිශයින්ම අවාසනාවන්ත ය, මන්ද එය ව්‍යාකූලත්වයට හේතු වන අතර සංකල්ප දෙක පුළුල් ලෙස ව්‍යාකූල වීමට හේතු වේ.

හග්රාවාල් මාව විශ්වාස නොකරයි (අදහස් බලන්න) ඉතින් මෙන්න නියම නියැදියකි. මම වෙබ් බ්‍රව්සරයක් http://dilbert.com වෙත සම්බන්ධ කර පසුව ධාවනය කළෙමි netstat -an -p tcp. නිමැවුමේ අවසාන පේළි හය තුළ සොකට් එකක් අද්විතීයව හඳුනා ගැනීමට ලිපිනය සහ වරාය ප්‍රමාණවත් නොවන බවට උදාහරණ දෙකක් අඩංගු වේ. 192.168.1.3 (මගේ වැඩපොළ) සහ 54.252.94.236:80 (දුරස්ථ HTTP සේවාදායකය) අතර පැහැදිලි සම්බන්ධතා දෙකක් තිබේ.

  TCP    192.168.1.3:63240      54.252.94.236:80       SYN_SENT
  TCP    192.168.1.3:63241      54.252.94.236:80       SYN_SENT
  TCP    192.168.1.3:63242      207.38.110.62:80       SYN_SENT
  TCP    192.168.1.3:63243      207.38.110.62:80       SYN_SENT
  TCP    192.168.1.3:64161      65.54.225.168:443      ESTABLISHED

සොකට් යනු සම්බන්ධතාවයේ අවසාන ලක්ෂ්‍යය බැවින්, ලිපිනය / වරාය සංයෝජනය සහිත සොකට් දෙකක් සහ ලිපිනය / වරාය සංයෝජනය 207.38.110.62:80සමඟ තවත් දෙකක් 54.252.94.236:80තිබේ.

මම හිතන්නේ හග්රාවාල්ගේ වරදවා වටහා ගැනීම පැන නගින්නේ “හඳුනා ගැනීම” යන වචනය මා ඉතා පරිස්සමින් භාවිතා කිරීමෙනි. මම අදහස් කළේ "සම්පූර්ණයෙන්ම, නිසැකවම හා අද්විතීය ලෙස හඳුනා ගනී". ඉහත නියැදියේ ලිපිනය / වරාය සංයෝජනය සමඟ අන්ත ලක්ෂ්‍ය දෙකක් 54.252.94.236:80ඇත. ඔබ සතුව ඇත්තේ ලිපිනය සහ වරාය නම්, මෙම සොකට් වෙන් වෙන් වශයෙන් පැවසීමට ඔබට ප්‍රමාණවත් තොරතුරු නොමැත. සොකට් එකක් හඳුනා ගැනීමට එය ප්‍රමාණවත් තොරතුරු නොවේ .

අතිරේක

RFC793 හි 2.7 වගන්තියේ දෙවන ඡේදයේ සඳහන් වේ

සම්බන්ධතාවයක් කෙළවරේ ඇති සොකට් යුගලය මගින් නිශ්චිතව දක්වා ඇත. දේශීය සොකට් එකක් විවිධ විදේශීය සොකට් සමඟ බොහෝ සම්බන්ධතා සඳහා සහභාගී විය හැකිය.

සොකට් පිළිබඳ මෙම අර්ථ දැක්වීම ක්‍රමලේඛන දෘෂ්ටිකෝණයකින් උපකාරී නොවේ, මන්ද එය සොකට් වස්තුවකට සමාන නොවන නිසා එය විශේෂිත සම්බන්ධතාවයක අවසාන ලක්ෂ්‍යයයි. ක්‍රමලේඛකයෙකුට සහ මෙම ප්‍රශ්නයේ බොහෝ ප්‍රේක්ෂකයින් ක්‍රමලේඛකයින් වන අතර මෙය ඉතා වැදගත් ක්‍රියාකාරී වෙනසක් වේ.

යොමුව

  1. ටීසීපී-අයිපී ඉලස්ට්‍රේටඩ් වෙළුම 1 ප්‍රොටෝකෝල , ඩබ්ලිව්. රිචඩ් ස්ටීවන්ස්, 1994 ඇඩිසන් වෙස්ලි

  2. RFC793 , තොරතුරු විද්‍යා ආයතනය, දකුණු කැලිෆෝනියා විශ්ව විද්‍යාලය DARPA සඳහා

  3. RFC147 , සොකට් එකක අර්ථ දැක්වීම, ජොයෙල් එම්. විනෙට්, ලින්කන් රසායනාගාරය


7
සමහර විට, සොකට් සහ වරාය යන වචන සඳහා සැබෑ ලෝක ප්‍රතිසමයක් ප්‍රශ්නයට ඉහළින් ඡන්දය දුන් අයට උපකාරී වනු ඇත. තවමත් විශිෂ්ට පැහැදිලි කිරීමක්!
rohitverma

6
alrationalcoder - සම්පූර්ණ පිළිතුර කියවන්න. යම් දෙයකින් නිර්වචනය කිරීම සහ එය හඳුනා ගැනීම අතර වෙනසක් ඇත. උදාහරණයක් ලෙස පන්තියක අවස්ථා පන්තිය විසින් අර්ථ දක්වා ඇත. ඒවා අර්ධ වශයෙන් නමුත් සම්පූර්ණයෙන් හඳුනාගෙන නොමැත.
පීටර් වොන්

6
මෙම ප්‍රකාශයට මා එකඟ නොවන නිසා මම ඡන්දය ප්‍රකාශ නොකළෙමි - " අයිපී ලිපිනය සහ වරාය සංයෝජනයෙන් සොකට් එකක් හඳුනා නොගනී: " .. ටීසීපී ආර්එෆ්සී කියවන්න - tools.ietf.org/html/rfc793 .. එය ඉතා පැහැදිලිය සොකට් යනු අයිපී සහ වරාය සංයෝජනයකි, ඔබ අයිපී සහ පෝට් ගැන දන්නේ නම් ඔබ සොකට් එකක් හෝ එන්ඩ්පොයින්ට් එකක් හඳුනාගෙන ඇත, ඔබ සොකට් යුගලයක් දන්නේ නම් එනම් සේවාදායක අයිපී + පෝට් සහ සර්වර් අයිපී + පෝට් එක නම් ඔබ අද්විතීය සම්බන්ධතාවයක් හඳුනාගෙන ඇත ..
හග්රවාල්

6
"ඉහත නියැදියේ 54.252.94.236:80 ලිපිනය / වරාය සංයෝජනය සහිත අන්ත ලක්ෂ්‍ය දෙකක් ඇත. ඔබ සතුව ඇත්තේ ලිපිනය සහ වරාය නම්, මෙම සොකට් වෙන් වෙන් වශයෙන් පැවසීමට ඔබට ප්‍රමාණවත් තොරතුරු නොමැත. එය හඳුනා ගැනීමට ප්‍රමාණවත් තොරතුරු නොමැත තව්ව." එකම සොකට් නොවේ, නමුත් විවිධ සම්බන්ධතා, ඔබට ඇති සම්බන්ධතා දෙක අතර ඔබට සොකට් 3 ක්, ස්ථාන 2 ක් සහ එකම සේවාදායක සොකට් එකක් සම්බන්ධ වී ඇත; නැතහොත් ඒවා ඇත්ත වශයෙන්ම වෙනස් සොකට් දෙකක්ද? ඒවා එක හා සමාන බැවින් ඒවා වෙන් වෙන් වශයෙන් නොකියනු ඇත, නමුත් සම්බන්ධතා වෙන් වෙන් වශයෙන් පැවසීමට ඔබට විවිධ දේශීය සොකට් අවශ්‍ය වේ.
ඇන්ඩ rew ක්ලවින්

6
-1 ඔබේ පිළිතුර වැරදිය. ඔබ: "TCP සොකට් එකක් ... නිශ්චිත සම්බන්ධතාවයක අවසාන ලක්ෂ්‍යය ." RFC 793 : "සොකට් එකවර බහු සම්බන්ධතා වලදී භාවිතා කළ හැකිය ." ඔබ භාවිතා කරන පුස්තකාල මොනවාදැයි මට විශ්වාස නැත, නමුත් මා භාවිතා කළ පුස්තකාලවල සොකට් වස්තු IP සහ වරාය මගින් අද්විතීය ලෙස අර්ථ දක්වා ඇති අතර සෑම දුරස්ථ සොකට් සඳහාම සම්බන්ධතා වස්තු බිහි කර ඇත.
සාස්

187

සොකට් එකක් කරුණු තුනකින් සමන්විත වේ:

  1. IP ලිපිනයක්
  2. ප්‍රවාහන ප්‍රොටෝකෝලයක්
  3. වරාය අංකයක්

වරාය යනු උපාංගයක තාර්කික ගේට්ටුවක් සංකේතවත් කරන 1 සිට 65535 දක්වා වූ අංකයකි. සේවාදායකයා සහ සේවාදායකයා අතර සෑම සම්බන්ධතාවකටම අද්විතීය සොකට් එකක් අවශ්‍ය වේ.

උදාහරණයක් වශයෙන්:

  • 1030 යනු වරායකි.
  • (10.1.1.2, ටී.සී.පී., වරාය 1030) යනු සොකට්ටුවකි.

83
සොකට් එකකින් කරුණු පහකින් සමන්විත වේ : {ප්‍රොටෝකෝලය, දේශීය ලිපිනය, දේශීය වරාය, දුරස්ථ ලිපිනය, දුරස්ථ වරාය}.
ලෝර්න් හි මාක්විස්

19
@ ඊ.ජේ.පී නැත, නැවතත්. වැඩි විස්තර සඳහා තෝරාගත් පිළිතුර බලන්න.
කෙහෙලාන් ක්‍රම්

2
OraKorayTugay එය IP ශීර්ෂයේ ඇත. TCP ස්තරයට එය නොපෙනේ යැයි ඔබ සිතන්නේ කුමක් ද?
මාර්ක්විස් ඔෆ් ලෝර්න්

1
JEJP මට වඩාත්ම ඡන්දය දුන් පිළිතුරෙන් දැකිය හැකි පරිදි සොකට් එකක් යනු සම්බන්ධතාවයම නොවන නමුත් එය සම්බන්ධතාවයේ අවසාන ලක්ෂ්‍යය වන අතර එය දේශීය හා දුරස්ථ වරායන් සහ අයිපී ලිපින ඇතුළත් කළ හැක්කේ කෙසේද? සොකට් එකක් නියෝජනය කරන්නේ සම්බන්ධතාවයේ එක් පැත්තක් පමණි, එනම් දේශීය වරාය සහ දේශීය අයිපී ලිපිනය හෝ දුරස්ථ වරාය සහ දුරස්ථ අයිපී ඇක්‍රස් ය. මම වැරදියි නම් කරුණාකර මාව නිවැරදි කරන්න.
ආර්බීටී

7
JEJP තවමත් RFC 793: "සොකට් යුගලයක් එක් එක් සම්බන්ධතාවය අද්විතීය ලෙස හඳුනා ගනී. එනම්, සොකට් එකවරම බහු සම්බන්ධතා වලදී භාවිතා කළ හැකිය." සොකට් එකක් දැනටමත් කරුණු පහකින් සමන්විත නම්, මගේ උපුටා දැක්වීමේදී "සොකට් යුගලයක්" ඇත්තේ කෙසේද?
ගබ් 是 好人

104

සොකට් එකක් ජාල යෙදුම් දෙකක් අතර තනි සම්බන්ධතාවයක් නියෝජනය කරයි. මෙම යෙදුම් දෙක නාමිකව විවිධ පරිගණකවල ක්‍රියාත්මක වන නමුත් සොකට් තනි පරිගණකයක අන්තර් සැකසුම් සන්නිවේදනය සඳහා ද භාවිතා කළ හැකිය. යෙදුම් එකිනෙකා සමඟ සන්නිවේදනය කිරීම සඳහා බහු සොකට් නිර්මාණය කළ හැකිය. සොකට් ද්විපාර්ශ්වික වේ, එයින් අදහස් වන්නේ සම්බන්ධතාවයේ දෙපැත්තටම දත්ත යැවීමට සහ ලැබීමට හැකියාව ඇති බවයි. එබැවින් OSI ආකෘතියේ ඕනෑම මට්ටමකින් 2 සිට ඉහළට න්‍යායාත්මකව සොකට් එකක් සෑදිය හැකිය. ක්‍රමලේඛකයින් බොහෝ විට ජාල වැඩසටහන් වල සොකට් භාවිතා කරයි, වක්‍රව වුවද. වින්සොක් වැනි ක්‍රමලේඛන පුස්තකාල සොකට් ක්‍රමලේඛනයේ පහත් මට්ටමේ තොරතුරු බොහොමයක් සඟවයි. 1980 දශකයේ මුල් භාගයේ සිට සොකට් බහුලව භාවිතා වේ.

වරායක් ජාල සන්නිවේදනය සඳහා අන්ත ලක්ෂ්‍යයක් හෝ “නාලිකාවක්” නියෝජනය කරයි. වරාය අංක එකම පරිගණකයේ විවිධ යෙදුම් එකිනෙකට මැදිහත් නොවී ජාල සම්පත් භාවිතා කිරීමට ඉඩ දෙයි. වරාය අංක බහුලව දක්නට ලැබෙන්නේ ජාල වැඩසටහන් වල, විශේෂයෙන් සොකට් ක්‍රමලේඛනයේ ය. සමහර විට, වරාය අංක අනියම් පරිශීලකයාට දෘශ්‍යමාන වේ. උදාහරණයක් ලෙස, පුද්ගලයෙකු අන්තර්ජාලයට පිවිසෙන සමහර වෙබ් අඩවි පහත දැක්වෙන ආකාරයේ URL භාවිතා කරයි:

http://www.mairie-metz.fr:8080/ මෙම උදාහරණයේ දී, 8080 අංකය වෙබ් සේවාදායකයට සම්බන්ධ වීමට වෙබ් බ්‍රව්සරය භාවිතා කරන වරාය අංකයට යොමු වේ. සාමාන්‍යයෙන්, වෙබ් අඩවියක් වරාය අංක 80 භාවිතා කරන අතර මෙම අංකය URL සමඟ ඇතුළත් කිරීම අවශ්‍ය නොවේ (එය විය හැකි වුවද).

IP ජාලකරණයේදී, වරාය අංක න්‍යායාත්මකව 0 සිට 65535 දක්වා පරාසයක පැවතිය හැකිය. බොහෝ ජනප්‍රිය ජාල යෙදුම්, පරාසයේ පහළ කෙළවරේ (HTTP සඳහා 80 වැනි) වරාය අංක භාවිතා කරයි.

සටහන: වරාය යන පදය ජාල තාක්‍ෂණයේ තවත් අංශ කිහිපයක් ගැන සඳහන් කරයි. අනුක්‍රමික, සමාන්තර සහ USB වරායන් වැනි පර්යන්ත උපාංග සඳහා භෞතික සම්බන්ධතා ලක්ෂ්‍යයක් වරායකට යොමු කළ හැකිය. වරාය යන පදය කේන්ද්‍රස්ථානයක්, ස්විචයක් හෝ රවුටරයක් ​​වැනි ඇතැම් ඊතර්නෙට් සම්බන්ධතා ස්ථාන වෙත යොමු වේ.

ref http://compnetworking.about.com/od/basicnetworkingconcepts/l/bldef_port.htm

ref http://compnetworking.about.com/od/itinformationtechnology/l/bldef_socket.htm


2
OSI ආකෘතියේ 2 වන ස්ථරය නෝඩ් අතර සම්බන්ධතාවයකි, එයට ක්‍රියාවලි සම්බන්ධ කිරීමේ යාන්ත්‍රණයක් නොමැත. OSI l2 හි පවතින සොකට් එකක් ඔබට සලකා බැලිය හැකි යැයි මම විශ්වාස නොකරමි.
ඇන්ටෝනියෝ හේලි

20
පරිපථයක් යනු සම්බන්ධතාවයකි - සොකට් යනු අන්ත ලක්ෂ්‍යයකි. සම්බන්ධතාවයක් සොකට් 2 කින් සමන්විත වේ.
මාර්ක් බ්‍රැකට්

" සොකට් එකක් ජාල යෙදුම් දෙකක් අතර තනි සම්බන්ධතාවයක් නිරූපණය කරයි. " එය RFC 793 ට නොගැලපේ , සම්ප්‍රේෂණ පාලන ප්‍රොටෝකෝලය මෙසේ පැහැදිලි කරයි: " එක් ධාරකයක බොහෝ ක්‍රියාදාමයන්ට එකවර TCP සන්නිවේදන පහසුකම් භාවිතා කිරීමට ඉඩ දීම සඳහා, TCP ලිපින මාලාවක් සපයයි හෝ එක් එක් ධාරකය තුළ ඇති වරාය. අන්තර්ජාල සන්නිවේදන ස්ථරයේ ජාලය හා ධාරක ලිපින සමඟ සංයුක්තව, මෙය සොකට් එකක් සාදයි. සොකට් යුගලයක් එක් එක් සම්බන්ධතාවය අද්විතීය ලෙස හඳුනා ගනී.
රොන් මාපින්

89

යම් ප්‍රතිසමයක් සමඟ

සොකට් සඳහා දැනටමත් බොහෝ තාක්ෂණික දේවල් ලබා දී ඇතත් ... අයිපී, වරාය සහ සොකට් අතර වෙනස යමෙකුට තවමත් දැනිය නොහැකි නම් , මගේ පිළිතුර එක් කිරීමට මම කැමතියි.

එස් සේවාදායකයක් සලකා බලන්න ,

හා කියන්න , පුද්ගලයා X Y, Z සේවා (චැට් සේවා කියන්නේ) අවශ්ය බව දක්වා සේවාදායකය එස්

එවිට

IP ලිපිනය කියයි -> කවුද? X, Y, Z සම්බන්ධ කර ගැනීමට අවශ්‍ය චැට් සර්වර් 'එස්' ද?

හරි, ඔබට "සේවාදායකයා කවුද"

නමුත් 'එස්' සේවාදායකය වෙනත් පුද්ගලයින්ට වෙනත් සේවාවන් සපයන්නේ යැයි සිතමු, 'එස්' ඒ, බී, සී පුද්ගලයන්ට ගබඩා සේවා සපයයි

එවිට

වරාය කියයි ---> මොන? ඔබට (X, Y, Z) සේවය අවශ්‍ය වන්නේ චැට් සේවාව මිස ගබඩා කිරීමේ සේවාව නොවේ

හරි .., ඔබ 'චැට් සේවාව' යනු ඔබට අවශ්‍ය දේ මිස ගබඩාව නොවන බව දැන ගැනීමට ඔබ සේවාදායකය කරයි

ඒත්

ඔබ තිදෙනා වන අතර සේවාදායකයාට මේ තුනම වෙනස් ලෙස හඳුනා ගැනීමට අවශ්‍ය විය හැකිය

සොකට් එක එනවා

දැන් සොකට් කියනවා -> මොන එකද? විශේෂිත සම්බන්ධතාවය

එනම්, කියන්න,

X පුද්ගලයා සඳහා සොකට් 1

Y පුද්ගලයා සඳහා සොකට් 2

සහ Z පුද්ගලයා සඳහා සොකට් 3

එය තවමත් ව්‍යාකූලත්වයට පත්වූ කෙනෙකුට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි :)


2
ඉතින් X, Y, Z එකම වරායට, එනම් එකම සේවාවට සම්බන්ධ වන නමුත් සේවාදායක පැත්තේ විවිධ සොකට් තිබේද? එබැවින්, X විසින් සේවාදායකයට යම් පැකට්ටුවක් යවන විට, එය කියනු ඇත්තේ: 'මට (ප්‍රොටෝකෝලය, X හි IP, X වරාය, S හි IP, S වරාය) සොකට් එක සොයා ගෙන චැට් යෙදුමට යවන්න. සමහර යෙදුම්-විශේෂිත වස්තු සහ සොකට් වස්තු අතර බන්ධනයක් තිබිය යුතු යැයි මම සිතමි. උදාහරණයක් ලෙස, මම සොකට් -1 වෙතින් යම් දත්ත ලබා ගත් විට, එය පරිශීලක පණිවිඩයක් ලෙස පෙන්වීමට මට අවශ්‍යය, නමුත් යෙදුමට සොකට් ඒ වෙතින් ලැබෙන පණිවිඩ පරිශීලක-එක්ස් වෙතින් දැනගත යුතුය.
මොනොලිත්

46

පළමුවෙන්ම, මම හිතන්නේ අපි A සිට B දක්වා පැකට්ටුවක් ලබා ගන්නේ කුමක් ද යන්න පිළිබඳ මඳ අවබෝධයකින් ආරම්භ කළ යුතුය.

ජාලයක් සඳහා පොදු අර්ථ දැක්වීමක් වන්නේ ඕඑස්අයි මාදිලිය භාවිතා කිරීමයි. එමඟින් ජාලයක් අරමුණ අනුව ස්ථර ගණනාවකට වෙන් කරයි. වැදගත් ඒවා කිහිපයක් තිබේ, ඒවා අපි මෙහි ආවරණය කරන්නෙමු:

  • මෙම දත්ත සම්බන්ධතාවක් ස්ථරය . මෙම ස්ථරය එක් ජාල උපාංගයකින් තවත් දත්ත පැකට් ලබා ගැනීම සඳහා වගකිව යුතු අතර එය සම්ප්‍රේෂණය කරන ස්ථරයට ඉහළින් පිහිටා ඇත. එය MAC ලිපින ගැන කථා කරන අතර ඔවුන්ගේ MAC (දෘඩාංග) ලිපිනය මත පදනම්ව ධාරකයන් සොයා ගන්නේ කෙසේදැයි දනී, නමුත් ඊට වඩා දෙයක් නැත.
  • මෙම ජාල ස්ථරය යන්ත්ර හරහා සහ එවැනි භෞතික උපාංග ලෙස භෞතික මායිම්, ඔබට ප්රවාහන දත්ත කිරීමට ඉඩ ඇති ස්ථරය වේ. භෞතික ස්ථරයට කෙසේ හෝ සම්බන්ධ වන අතිරේක ලිපින පදනම් කරගත් යාන්ත්‍රණයකට ජාල ස්ථරය අත්‍යවශ්‍යයෙන්ම සහාය විය යුතුය; අන්තර්ජාල කෙටුම්පත (IPv4) ඇතුළත් කරන්න. IP ලිපිනයකට ඔබේ පැකට්ටුව A සිට B දක්වා අන්තර්ජාලය හරහා ලබා ගත හැකි නමුත් තනි හොප් හරහා ගමන් කරන්නේ කෙසේද යන්න ගැන කිසිවක් දන්නේ නැත. මාර්ගගත තොරතුරු වලට අනුකූලව ඉහත ස්ථරය මඟින් මෙය හසුරුවනු ලැබේ.
  • මෙම ප්රවාහන ස්ථරය . මෙම ස්ථරය A සිට B දක්වා තොරතුරු ලබා ගන්නා ආකාරය සහ එම හැසිරීම පිළිබඳ යම් සීමාවන්, චෙක්පත් හෝ දෝෂ නිර්වචනය කිරීමේ වගකීම දරයි. උදාහරණයක් ලෙස, TCP පැකට්ටුවකට අමතර තොරතුරු එකතු කරන අතර එමඟින් පැකට් නැතිවී ඇත්දැයි නිගමනය කළ හැකිය.

TCP වෙනත් දේ අතර වරාය සංකල්පය අඩංගු වේ . අන්තර්ජාල සොකට් ( AF_INET) බන්ධනය කළ හැකි එකම IP ලිපිනයෙහි මේවා effectively ලදායී ලෙස වෙනස් දත්ත ලක්ෂ්‍ය වේ.

එය සිදු වන විට, යූඩීපී සහ අනෙකුත් ප්‍රවාහන ස්ථර ප්‍රොටෝකෝල ද එසේමය . ඔවුන්ට තාක්‍ෂණිකව වරායන් විශේෂාංග කිරීමට අවශ්‍ය නැත , නමුත් මෙම වරායන් මඟින් ඉහත ස්ථර වල ඇති බහු යෙදුම් සඳහා එකම පරිගණකයක් භාවිතා කරමින් පිටතට යන සම්බන්ධතා ලබා ගැනීමට (සහ සැබවින්ම) ක්‍රමයක් සපයයි.

එය අපව TCP හෝ UDP සම්බන්ධතාවයේ ව්‍යුහයට ගෙන එයි. සෑම එකක්ම ප්‍රභව වරායක් සහ ලිපිනයක් සහ ඉලක්කගත වරායක් සහ ලිපිනයක් දක්වයි. මෙය ඕනෑම සැසියකදී, ඉලක්කගත යෙදුමට ප්‍රතිචාර දැක්වීමට මෙන්ම ප්‍රභවයෙන් ලැබීමට හැකි වේ.

එබැවින් වරාය යනු එකම ලිපිනය බෙදා ගැනීමට සමගාමී සම්බන්ධතා කිහිපයකට ඉඩ දීම සඳහා පිරිවිතර-අනිවාර්ය ක්‍රමයකි.

දැන්, ඔබ යෙදුම් දෘෂ්ටි කෝණයකින් බාහිර ලෝකයට සන්නිවේදනය කරන්නේ කෙසේදැයි අපි සොයා බැලිය යුතුය. මෙය සිදු කිරීම සඳහා, ඔබ ඔබේ මෙහෙයුම් පද්ධතියෙන් කාරුණිකව විමසිය යුතු අතර බොහෝ මෙහෙයුම් පද්ධති බර්ක්ලි සොකට් දේවල් කරන ක්‍රමයට සහය දක්වන බැවින්, මෙවැනි යෙදුමකින් වරාය සම්බන්ධ සොකට් සෑදිය හැකි බව අපට පෙනේ:

int fd = socket(AF_INET, SOCK_STREAM, 0); // tcp socket
int fd = socket(AF_INET, SOCK_DGRAM, 0); // udp socket
// later we bind...

මහා! එබැවින් sockaddrව්යුහයන් තුළ, අපි අපගේ වරාය සහ බාම් නියම කරමු! වැඩේ ඉවරයි! හොඳයි, පාහේ, හැර:

int fd = socket(AF_UNIX, SOCK_STREAM, 0);

ද හැකි ය. උර්ග්, එය කාර්යයන්හි ස්පැනරයක් විසි කරයි!

හරි, ඇත්තෙන්ම එය එසේ වී නැහැ. අප කළ යුත්තේ සුදුසු අර්ථකථන කිහිපයක් ඉදිරිපත් කිරීම පමණි:

  • අන්තර්ජාල සොකට් එකක් යනු සේවාවක් මඟින් දත්ත ලබා දිය හැකි IP ලිපිනයක්, ප්‍රොටෝකෝලයක් සහ ඒ හා සම්බන්ධිත වරාය අංකයේ එකතුවකි. එබැවින් tcp port 80, stackoverflow.com යනු අන්තර්ජාල සොකට්ටුවකි.
  • යුනික්ස් සොකට් යනු ගොනු පද්ධතිය තුළ නිරූපණය වන අයිපීසී අන්ත ලක්ෂ්‍යයකි, උදා /var/run/database.sock.
  • සොකට් ඒපීඅයි යනු සොකට්ටුවකට දත්ත කියවීමට හා ලිවීමට යෙදුමක් ඉල්ලා සිටින ක්‍රමයකි.

වොයිලා! එය දේවල් පිළිවෙලට කරයි. ඉතින් අපේ යෝජනා ක්‍රමයේදී,

  • වරාය යනු සංඛ්‍යාත්මක හඳුනාගැනීමක් වන අතර එය ප්‍රවාහන ස්ථර ප්‍රොටෝකෝලයක කොටසක් ලෙස ලබා දී ඇති ඉල්ලීමට ප්‍රතිචාර දැක්විය යුතු සේවා අංකය හඳුනා ගනී.

එබැවින් ඇත්ත වශයෙන්ම වරාය යනු අන්තර්ජාල සොකට් එකක් සෑදීමේ අවශ්‍යතාවන්ගේ උප කුලකයකි. අවාසනාවකට මෙන්, සොකට් යන වචනයේ තේරුම විවිධ අදහස් කිහිපයකට යොමුවී ඇත. එබැවින් ව්‍යාකූලත්වයට එකතු කිරීම සඳහා ඔබේ ඊළඟ ව්‍යාපෘති සොකට් එක නම් කරන්නැයි මම ඔබට හදවතින්ම උපදෙස් දෙමි;)


මේ නිසා උණ්ඩ නොයන අතර පවර්පොයින්ට් අතහැර නොයනු ඇත. ඔවුන් වැඩ කරනවා!
අනුරග් කාලියා

Tcp-ip සහ ජාල සන්නිවේදනය පිළිබඳ ඉතා හොඳ හැඳින්වීමක්. ආරම්භකයින්, මෙය පළමුව කියවන්න.
කොලින්

35

සාමාන්යයෙන්, ඔබට න්යායාත්මක ගොඩක් ලැබෙනු ඇත, නමුත් මෙම සංකල්ප දෙක වෙන්කර හඳුනා ගැනීමට පහසුම ක්රමයක් පහත පරිදි වේ:

සේවාවක් ලබා ගැනීම සඳහා ඔබට සේවා අංකයක් අවශ්‍ය වේ. මෙම සේවා අංකය වරාය ලෙස හැඳින්වේ. ඒ තරම් සරළයි.

උදාහරණයක් ලෙස, සේවාවක් ලෙස HTTP 80 වරායේ ක්‍රියාත්මක වේ.

දැන්, බොහෝ දෙනෙකුට සේවාව ඉල්ලා සිටිය හැකි අතර සේවාදායක-සේවාදායකයෙන් සම්බන්ධතාවයක් ස්ථාපිත කර ඇත. සම්බන්ධතා ගොඩක් ඇත. සෑම සම්බන්ධතාවයක්ම සේවාදායකයෙකු නියෝජනය කරයි. සෑම සම්බන්ධතාවයක්ම පවත්වා ගැනීම සඳහා, සේවාදායකයා සිය සේවාදායකයා නඩත්තු කිරීම සඳහා එක් සම්බන්ධතාවයකට සොකට් එකක් සාදයි.


සෑම සොකට්ටුවකටම තමන්ගේම වරායක් අවශ්‍යද?
සඳුදා කඩදාසි

නියමයි. කඳුකර දැනුමක් ඉදිරිපත් කිරීමට වඩාත්ම සරල ක්‍රමය.
අසීෆ් මෙහමූඩ්

5
ඔබේ ප්‍රකාශය නිවැරදිදැයි මට විශ්වාස නැත: "සේවාදායකයා සිය සේවාදායකයා නඩත්තු කිරීම සඳහා එක් සම්බන්ධතාවයකට සොකට් සාදයි".
රුෂි අග්‍රවාල්

1
@ රුෂි අග්‍රවාල් එවිට මම ඔබට යෝජනා කරන්නේ එය සොයා බලන්න. විශේෂයෙන්, මිනිසා පිළිගන්න
මාර්ක්විස් ඔෆ් ලෝර්න්

1
මෙයින් ගම්‍ය වන්නේ සේවාදායකයා තම සේවාදායකයා නඩත්තු කිරීම සඳහා එක් සම්බන්ධතාවයකට නිර්මාණය කරන සෑම සොකට්ටුවකටම එකම වරාය අංකයක් (HTTP සම්බන්ධතා අඛණ්ඩව පවත්වාගෙන යාම සඳහා වරාය 80 වැනි) තිබිය හැකි නමුත් සේවාදායකයින්ගේ විවිධ IP ලිපිනයන් සමඟ සම්බන්ධතා ඉල්ලීම් යවනු ලැබේ. හරිද?
රන්දිකා විෂ්මන්

33

සොකට් = අයිපී ලිපිනය + වරායක් (සංඛ්‍යාත්මක ලිපිනය)
ඔවුන් එක්ව යන්ත්‍රයක ජාල සම්බන්ධතාවයක් සඳහා අවසාන ලක්ෂ්‍යයක් හඳුනා ගනී. (මම ජාල 101 ක් දැම්මාද?)


7
ඔබේ අර්ථ දැක්වීමට වඩා වරායට පුළුල් අර්ථයක් ඇතැයි මම විශ්වාස කරමි.
රිචඩ් ඩෝර්මන්

2
සොකට් TCP / IP තොගයට පමණක් යටත් නොවේ. පොදුවේ යුනික්ස් ඩොමේන් සොකට් හෝ අන්තර් ක්‍රියාවලි සන්නිවේදන සොකට් බලන්න.
matthias krull

මෙම පිළිතුර ගැන විශ්වාස නැත. වරායක් පැවරීමකින් තොරව සොකට් හරහා වෙනත් ක්‍රියාවලියක් සමඟ සන්නිවේදනය කිරීමට ඔබට HTTP භාවිතා කළ හැකිය.
SeF

26

පළාත් සභා 2 ක් අතර ඇති සම්බන්ධය සමඟ සොකට්ටුවට සමාන පිළිතුරු රාශියක් ඇති බව පෙනේ .. මම සිතන්නේ එය සම්පූර්ණයෙන්ම වැරදිය. සොකට් එකක් සෑම විටම 1 පරිගණකයේ අවසාන ලක්ෂ්‍යය වී ඇති අතර එය සම්බන්ධ විය හැකි හෝ නොවිය හැකිය - නිසැකවම අපි සියල්ලෝම යම් අවස්ථාවක සවන්දෙන්නන් හෝ යූඩීපී සොකට් * භාවිතා කර ඇත්තෙමු. වැදගත් කොටස වන්නේ එය ආමන්ත්‍රණය කළ හැකි සහ ක්‍රියාකාරී වීමයි. 1.1.1.1:1234 ට පණිවුඩයක් යැවීම වැඩ කරන්නේ නැත, මන්ද එම අන්ත ලක්ෂ්‍යය සඳහා සොකට් එකක් අර්ථ දක්වා නැත.

සොකට් ප්‍රොටොකෝල් විශේෂිත වේ - එබැවින් TCP / IP සහ UDP / IP යන දෙකම භාවිතා කරන සුවිශේෂත්වය ක්‍රියාත්මක කිරීම * (ipaddress: port), උදා., IPX (Network, Node, සහ ... ahem, socket) වලට වඩා වෙනස් නමුත් වෙනස් ය සාමාන්‍ය "සොකට්" යෙදුමට වඩා සොකට්. IPX සොකට් අංක IP වරායට සමාන වේ). එහෙත්, ඒවා සියල්ලම අද්විතීය ආමන්ත්‍රණය කළ හැකි අවසාන ලක්ෂ්‍යයක් ඉදිරිපත් කරයි.

අයිපී ප්‍රමුඛ ප්‍රොටෝකෝලය බවට පත්ව ඇති හෙයින්, වරායක් (ජාලකරණ අර්ථයෙන්) යූඩීපී හෝ ටීසීපී වරාය අංකයක් සමඟ සමපාත වේ - එය සොකට් ලිපිනයේ කොටසකි.

  • යූඩීපී සම්බන්ධතාවය අඩුයි - එයින් අදහස් කරන්නේ අන්ත ලක්ෂ්‍ය දෙක අතර අථත්‍ය පරිපථයක් මෙතෙක් නිර්මාණය වී නොමැති බවයි. කෙසේ වෙතත්, අපි තවමත් යූඩීපී සොකට්වල අවසාන ලක්ෂ්‍යය ලෙස හඳුන්වමු. ඒපීඅයි ශ්‍රිත මගින් පැහැදිලි වන්නේ දෙකම වෙනස් ආකාරයේ සොකට් බවයි - SOCK_DGRAMඑය යූඩීපී (පණිවිඩයක් යැවීම) සහ SOCK_STREAMටීසීපී (අථත්‍ය පරිපථයක් නිර්මාණය කිරීම) ය.

  • තාක්ෂණික වශයෙන්, IP ශීර්ෂය IP ලිපිනය දරන අතර, IP (UDP හෝ TCP) හි ඇති ප්‍රොටෝකෝලය වරාය අංකය දරයි. මෙමඟින් වෙනත් ප්‍රොටෝකෝල (උදා: වරාය අංක නොමැති, නමුත් IP ලිපින තොරතුරු ඇති ICMP ) තිබිය හැක.


25

කෙටි කෙටි පිළිතුර.

වරාය ලෙස විස්තර කළ හැකි අභ්යන්තර ලිපිනය වැඩසටහනක් හෝ ක්රියාවලියක් හෝ හඳුනා ගැනීමේ සත්කාරක තුළ.

අඩි, ලෙස විස්තර කළ හැකි අතුරු මුහුණත් වැඩසටහන් එක්කෝ කොබැඳි නැත්නම් ස්ථානීකව නොපවතියි අන්තර්ජාලය, අනෙකුත් වැඩසටහන් හෝ ක්රියාවලීන් සමඟ සන්නිවේදනය කිරීම සඳහා වැඩසටහනක් ඉඩ, හෝ.


3
වරාය විස්තරයේ 'අභ්‍යන්තර' යන වචනය මට 'පොදු නොවන' ලෙස පෙනේ.
ජොනස් එන්

ඉතින් අපට කිව හැකිද: වරාය තුළ සොකට් ධාවනය වේද? නැත්නම් වරාය සොකට් ඇතුළත ද?
ගුචෝ සී

UcGuchoCa සොකට් හෝ වරාය කිසිසේත් ක්‍රියාත්මක නොවන බව අපට පැවසිය නොහැක. ඔබ ඉල්ලන දේ පැහැදිලි නැත.
මාර්ක්විස් ඔෆ් ලෝර්න්

17

මේවා මූලික ජාල සංකල්ප වන බැවින් විස්තරාත්මකව තේරුම් ගැනීමට පහසු සහ පුළුල් ආකාරයකින් මම ඒවා පැහැදිලි කරමි.

  • සොකට් එකක් දුරකථනයක් වැනි ය (එනම් සන්නිවේදනය සඳහා අවසානය සිට අවසානය දක්වා උපාංගය)
  • IP යනු ඔබගේ දුරකථන අංකය හා සමානයි (එනම් ඔබේ සොකට් එකේ ලිපිනය)
  • වරාය යනු ඔබට කථා කිරීමට අවශ්‍ය පුද්ගලයා හා සමානයි (එනම් ඔබට එම ලිපිනයෙන් ඇණවුම් කිරීමට අවශ්‍ය සේවාව)
  • සොකට් එකක් සේවාදායකයෙකු හෝ සේවාදායක සොකට් එකක් විය හැකිය (එනම් සමාගමක පාරිභෝගික සහාය ඇති දුරකථනය සේවාදායකයක් වන නමුත් ඔබේ නිවසේ දුරකථන බොහෝ දුරට සේවාදායකයා වේ)

එබැවින් ජාලකරණයේ සොකට් යනු යුගලයකට (ip, port) = (ලිපිනය, සේවාව) බැඳී ඇති අතථ්‍ය සන්නිවේදන උපකරණයකි.

සටහන:

  • යන්ත්‍රයකට, පරිගණකයකට, ධාරකයකට, ජංගම දුරකථනයකට හෝ පරිගණකයකට බහු ලිපින, විවෘත වරායන් සහ බහු සොකට් තිබිය හැකිය. කාර්යාලයකදී මෙන් ඔබට බහු දුරකථන අංක සහිත දුරකථන සහ කථා කිරීමට බහු පුද්ගලයින් සිටිය හැකිය.
  • විවෘත / ක්‍රියාකාරී වරායක පැවැත්මට ඔබට සොකට් එකක් බැඳ තිබිය යුතුය, මන්ද එය වරායට ප්‍රවේශ විය හැකි සොකට්ටුවයි. කෙසේ වෙතත්, ඔබට දැනට භාවිතයට නොගත් වරායන් තිබිය හැකිය.
  • සේවාදායක සොකට්ටුවක ඔබට එය (වරායක්, යන්ත්‍රයක නිශ්චිත ලිපිනයක්) හෝ (වරායක්, යන්ත්‍රයක සියලුම ලිපිනයන්) බන්ධනය කළ හැකි බව සලකන්න. දුරකථනය මෙන් ඔබට බොහෝ දුරකථන මාර්ග (දුරකථන අංක) සම්බන්ධ කළ හැකිය. දුරකථනයක් හෝ එක් විශේෂිත දුරකථන මාර්ගයක් දුරකථනයකට ලබා ගත හැකි අතර තවමත් ඔබට මෙම සියලු දුරකථන මාර්ග හරහා හෝ විශේෂිත දුරකථන මාර්ගයක් හරහා පුද්ගලයෙකු වෙත ළඟා විය හැකිය.
  • දුරකථනයේ ඇති ආකාරයට ඔබට වරායන් දෙකක් සමඟ සොකට් එකක් ඇසුරු කිරීමට (බැඳීමට) නොහැක. සාමාන්‍යයෙන් ඔබට දෙදෙනෙකු එකම දුරකථනයක් එකවර භාවිතා කළ නොහැක.
  • උසස්: එකම යන්ත්‍රයක ඔබට එකම වර්ගයේ (සේවාදායකයා හෝ සේවාදායකයා) සහ එකම වරාය සහ අයිපී සහිත සොකට් දෙකක් තිබිය නොහැක. කෙසේ වෙතත්, ඔබ සේවාදායකයෙකු නම් ඔබට සේවාදායකයෙකුට සම්බන්ධතා දෙකක්, සොකට් දෙකක් සමඟ විවෘත කළ හැකිය, මන්ද මෙම එක් එක් සේවාදායකයාගේ සොකට්වල ඇති දේශීය වරාය වෙනස් වේ)

එය ඔබගේ සැකයන් දුරු කරයි යැයි සිතමි


මෙම ප්‍රශ්නය යටතේ සොකට් / වරාය / අයිපී ලිපින වල මෙම සියලු අවබෝධයන් හා සමානකම් දැකීම සිත්ගන්නා කරුණකි. මම මේ පිළිතුරට කැමතියි.
බ්ලඩ්මූන්

වාව්! මොනතරම් හොඳ පැහැදිලි කිරීමක් හා උදාහරණද. මේ සඳහා +1.
පීටර්

16

ඒවා විවිධ වසම් දෙකක පද වේ: 'වරාය' යනු TCP / IP ජාලකරණයේ සංකල්පයකි, 'සොකට්' යනු API (ක්‍රමලේඛන) දෙයකි. වරායක් සහ ධාරක නාමයක් හෝ ජාල ඇඩැප්ටරයක් ​​ගෙන දත්ත යැවීමට හෝ ලැබීමට ඔබට භාවිතා කළ හැකි දත්ත ව්‍යුහයකට ඒවා ඒකාබද්ධ කිරීමෙන් 'සොකට්' සාදනු ලැබේ.


වඩාත්ම පොදු පිළිතුර සඳහා, වැඩ වර්ජනය "වරායක් සහ ධාරක නාමයක් හෝ ජාල ඇඩැප්ටරයක් ​​ගෙන ඒවා a. උදාහරණයක් ලෙස, යුනික්ස් සොකට් යනු (කේතයෙන්) දත්ත ව්‍යුහයක් (හෝ වස්තුවක්) ඔබට දත්ත යැවීමට හෝ ලැබීමට භාවිතා කළ හැකිය.
ජොෂියා යෝඩර්

13

සොකට් ලිපිනය යනු IP ලිපිනයක් සහ වරාය අංකයකි

123.132.213.231         # IP address
               :1234    # port number
123.132.213.231:1234    # socket address

සොකට් 2 ක් එකට බැඳී ඇති විට සම්බන්ධතාවයක් ඇතිවේ.


සොකට් දෙකක් එකට බැඳ තැබීම වැනි දෙයක් නැත. 'බැඳීම' යන වචනයේ තේරුම වරාය සහිත වෙනත් දෙයක්.
ලෝර්න් හි මාක්විස්

12

ඉහළට ඡන්දය දුන් විශිෂ්ට පිළිතුරු කියවීමෙන් පසු, ජාල වැඩසටහන්කරණයට නවකයෙකු වන මට පහත කරුණු අවධාරණය කළ යුතු බව මට පෙනී ගියේය:

TCP-IP සම්බන්ධතා යනු එක් ලිපිනයක් සම්බන්ධ කරන ද්වි-දිශානුගත මාර්ගයන් ය: වරාය සංයෝජනය වෙනත් ලිපිනයක් සමඟ: වරාය සංයෝජනය. එමනිසා, ඔබ ඔබේ දේශීය යන්ත්‍රයෙන් දුරස්ථ සේවාදායකයක වරායකට සම්බන්ධතාවයක් විවෘත කරන සෑම විටම (www.google.com:80 කියන්න), ඔබද ඔබේ යන්ත්‍රයේ නව වරාය අංකයක් සම්බන්ධතාවය සමඟ සම්බන්ධ කරන්නේ, සේවාදායකයාට යැවීමට ඉඩ දීම සඳහා ය. ඔබට නැවත දේවල්, (උදා: 127.0.0.1:65234). ඔබේ යන්ත්‍රයේ සම්බන්ධතා බැලීමට නෙට්ස්ටැට් භාවිතා කිරීම ප්‍රයෝජනවත් විය හැකිය:

> netstat -nWp tcp (on OS X)
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.0.6.49871      17.172.232.57.5223     ESTABLISHED
...

10

සොකට් යනු මෙහෙයුම් පද්ධතියෙන් ජාල සේවා ඉල්ලා සිටීම සඳහා ක්‍රියාවලියක් විසින් භාවිතා කරන විශේෂ වර්ගයේ ගොනු හසුරුවකි. සොකට් ලිපිනය යනු ත්‍රිත්වයයි: {ප්‍රොටෝකෝලය, දේශීය ලිපිනය, දේශීය ක්‍රියාවලිය} එහිදී දේශීය ක්‍රියාවලිය වරාය අංකයකින් හඳුනා ගනී.

TCP / IP කට්ටලයේ, උදාහරණයක් ලෙස:

{tcp, 193.44.234.3, 12345}

සංවාදයක් යනු ක්‍රියාවලීන් දෙකක් අතර සන්නිවේදන සම්බන්ධතාවය වන අතර එමඟින් දෙකක් අතර සම්බන්ධයක් නිරූපණය කෙරේ. සම්බන්ධතාවයක් යනු ක්‍රියාවලීන් දෙක මුළුමනින්ම නියම කරන 5-ටුපල් එකකි: {ප්‍රොටෝකෝලය, දේශීය ලිපිනය, දේශීය ක්‍රියාවලිය, විදේශීය ලිපිනය, විදේශ ක්‍රියාවලිය}

TCP / IP කට්ටලයේ, උදාහරණයක් ලෙස:

{tcp, 193.44.234.3, 1500, 193.44.234.5, 21}

වලංගු සංගමයක් විය හැකිය.

අර්ධ ඇසුරක් වන්නේ: {ප්‍රොටෝකෝලය, දේශීය ලිපිනය, දේශීය ක්‍රියාවලිය}

හෝ

{ප්‍රොටෝකෝලය, විදේශීය ලිපිනය, විදේශ ක්‍රියාවලිය}

එය සම්බන්ධතාවයේ එක් එක් භාගය නියම කරයි.

අර්ධ ඇසුර සොකට් හෝ ප්‍රවාහන ලිපිනය ලෙසද හැඳින්වේ. එනම්, සොකට් යනු ජාලයක නම් කළ හැකි හා ආමන්ත්‍රණය කළ හැකි සන්නිවේදනයේ අවසාන ලක්ෂ්‍යයකි. සොකට් අතුරුමුහුණත සන්නිවේදන ප්‍රොටෝකෝල වෙත යෙදුම් ක්‍රමලේඛ අතුරුමුහුණත් කිහිපයකින් එකකි. සාමාන්‍ය සන්නිවේදන ක්‍රමලේඛ අතුරුමුහුණතක් ලෙස නිර්මාණය කර ඇති මෙය මුලින්ම හඳුන්වා දුන්නේ 4.2BSD යුනික්ස් පද්ධතිය විසිනි. එය ප්‍රමිතිගත කර නොතිබුණද එය තථ්‍ය කර්මාන්ත ප්‍රමිතියක් බවට පත්ව ඇත.


මෙම පිළිතුර මා වෙනුවෙන් කළ පිළිතුරයි. මම හිතන්නේ එය ඇසුරු කිරීම යන වචනය වෙනත් කිසිවෙකු සඳහන් නොකිරීමයි. හොඳ පැහැදිලි කිරීමක්.
තාර්කික

ඔබගේ කිසිදු උදාහරණයක ක්‍රියාවලි අංකයක් නොමැත. ඔබ සොයන වචනය 'වරාය' යන්නයි.
ලෝර්න් හි මාක්විස්

පළමු ඡේදය කියවන්න .. එහි පැහැදිලිව සඳහන් කර ඇත. නිශ්චිත වාක්‍ය ඛණ්ඩයක් උපුටා දක්වමින් ඕනෑම අවිනිශ්චිතතාවයක් ගැන මට දන්වන්න .. වැඩිදියුණු කිරීමට මට උපකාරී වනු ඇත.
ක්‍රිෂ්ණා

8

සොකට් යනු සන්නිවේදන අන්ත ලක්ෂ්‍යයකි. සොකට් එකක් TCP / IP ප්‍රොටෝකෝලය පවුලට directly ජුව සම්බන්ධ නොවේ, එය ඔබේ පද්ධතිය සහාය දක්වන ඕනෑම ප්‍රොටෝකෝලයක් සමඟ භාවිතා කළ හැකිය. සී සොකට් ඒපීඅයි මඟින් ඔබ මුලින්ම සොකට් වස්තුවක් ලබා ගැනීමට අපේක්ෂා කරන අතර පසුව ඔබට දේශීය සොකට් ලිපිනයකට බැඳිය හැකිය (සම්බන්ධතා අඩු ප්‍රොටෝකෝල සඳහා පැමිණෙන ගමනාගමනය කෙලින්ම ලබා ගැනීමට හෝ සම්බන්ධතා නැඹුරු ප්‍රොටෝකෝල සඳහා ලැබෙන සම්බන්ධතා ඉල්ලීම් පිළිගැනීමට) හෝ ඔබට දුරස්ථ සොකට් ලිපිනයකට සම්බන්ධ විය හැකිය (එක් ආකාරයක ප්‍රොටෝකෝලයක් සඳහා). ඔබට දෙකම පාලනය කිරීමට අවශ්‍ය නම් ඔබට දෙකම කළ හැකිය, දේශීය සොකට් ලිපිනය සොකට්ටුවකට බැඳී ඇති අතර දුරස්ථ සොකට් ලිපිනය සොකට්ටුවකට සම්බන්ධ කර ඇත. සම්බන්ධතා අඩු ප්‍රොටෝකෝල සඳහා සොකට් එකක් සම්බන්ධ කිරීම පවා අත්‍යවශ්‍ය නොවේ, නමුත් ඔබ එය නොකරන්නේ නම්, ඔබ ' ඔබට සොකට්ටුව හරහා යැවීමට අවශ්‍ය සෑම පැකට්ටුවක් සමඟම ගමනාන්ත ලිපිනය ලබා දිය යුතුය. මෙම දත්ත යැවිය යුත්තේ කොතැනටදැයි සොකට් දැන ගන්නේ කෙසේද? වාසිය නම් ඔබට විවිධ සොකට් ලිපින වලට පැකට් යැවීමට තනි සොකට් එකක් භාවිතා කළ හැකිය. ඔබේ සොකට් එක වින්‍යාස කර සමහර විට සම්බන්ධ වූ පසු එය ද්වි-දිශා සන්නිවේදන නළයක් ලෙස සලකන්න. කිසියම් ගමනාන්තයකට දත්ත යැවීමට ඔබට එය භාවිතා කළ හැකි අතර සමහර ගමනාන්තයන් ඔබට දත්ත නැවත ඔබ වෙත යැවීමට භාවිතා කළ හැකිය. ඔබ සොකට්ටුවකට ලියන දේ යවා ඇති අතර ලැබී ඇති දේ කියවීම සඳහා ලබා ගත හැකිය. කිසියම් ගමනාන්තයකට දත්ත යැවීමට ඔබට එය භාවිතා කළ හැකි අතර සමහර ගමනාන්තයන් ඔබට දත්ත නැවත ඔබ වෙත යැවීමට භාවිතා කළ හැකිය. ඔබ සොකට්ටුවකට ලියන දේ යවා ඇති අතර ලැබී ඇති දේ කියවීම සඳහා ලබා ගත හැකිය. කිසියම් ගමනාන්තයකට දත්ත යැවීමට ඔබට එය භාවිතා කළ හැකි අතර සමහර ගමනාන්තයන් ඔබට දත්ත නැවත ඔබ වෙත යැවීමට භාවිතා කළ හැකිය. ඔබ සොකට්ටුවකට ලියන දේ යවා ඇති අතර ලැබී ඇති දේ කියවීම සඳහා ලබා ගත හැකිය.

අනෙක් අතට වරාය යනු TCP / IP ප්‍රොටොකෝල් තොගයේ ඇතැම් ප්‍රොටෝකෝලයන්ට පමණි. TCP සහ UDP පැකට් වල වරායන් ඇත. වරාය යනු සරල අංකයකි. ප්‍රභව වරාය සහ ගමනාන්ත වරාය සංයෝජනය මඟින් ධාරකයන් දෙදෙනෙකු අතර සන්නිවේදන නාලිකාවක් හඳුනා ගනී. උදා: ඔබට දෙකම තිබිය හැකි සේවාදායකයක්, සරල HTTP සේවාදායකයක් සහ සරල FTP සේවාදායකයක් තිබිය හැකිය. දැන් එම සේවාදායකයේ ලිපිනය සඳහා පැකට්ටුවක් පැමිණේ නම්, එය HTTP හෝ FTP සේවාදායකයේ පැකට්ටුවක් දැයි දැන ගන්නේ කෙසේද? HTTP සේවාදායකය වරාය 80 සහ FTP සේවාදායකය වරාය 21 හි ක්‍රියාත්මක වන බැවින් එය දැන ගනු ඇත, එබැවින් පැකට්ටුව ගමනාන්ත වරාය 80 සමඟ පැමිණේ නම්, එය HTTP සේවාදායකය සඳහා මිස FTP සේවාදායකය සඳහා නොවේ. පැකට්ටුවට ප්‍රභව වරායක් ඇති බැවින් එවැනි ප්‍රභව වරායක් නොමැතිව සේවාදායකයෙකුට වරකට එක් IP ලිපිනයකට එක් සම්බන්ධතාවයක් පමණක් තිබිය හැකිය. ප්‍රභව වරාය මඟින් සේවාදායකයෙකුට වෙනත් ආකාරයකින් සමාන සම්බන්ධතා වෙන්කර හඳුනාගත හැකිය: ඒවා සියල්ලටම එකම ගමනාන්ත වරාය ඇත, උදා: වරාය 80, එකම ගමනාන්ත IP (සේවාදායකයේ IP) සහ එකම ප්‍රභව IP, ඒවා සියල්ලම එන බැවින් එකම සේවාදායකයා, නමුත් ඔවුන්ට වෙනස් ප්‍රභව වරායන් ඇති බැවින්, සේවාදායකයාට ඒවා එකිනෙකාගෙන් වෙන්කර හඳුනාගත හැකිය. සේවාදායකයා නැවත පිළිතුරු යවන විට, එය ඉල්ලීම පැමිණි වරායට කරනු ඇත, එමඟින් සේවාදායකයාට එකම සේවාදායකයෙන් ලැබෙන විවිධ පිළිතුරු වෙන්කර හඳුනාගත හැකිය.


3
මෙය වැරදිය. සොකට් එකක් යනු අවසාන ලක්ෂ්‍යයක් නොවේ. සොකට් එකක් අර්ථ දැක්වෙන්නේ අන්ත ලක්ෂ්‍ය දෙකකින්. සෑම අන්ත ලක්ෂ්‍යයක්ම ජාල ලිපිනයක් සහ වරායක් මගින් අර්ථ දක්වා ඇත. වරායන්හි පරමාර්ථය වන්නේ එකම ජාල ලිපිනයක බහු අන්ත ලක්ෂ්‍යයන් වෙන්කර හඳුනා ගැනීමයි, එවිට බහු සමගාමී සොකට් සඳහා සහය දැක්විය හැකිය.
පීටර් වොන්

1
RFC793 (මුල් TCP පිරිවිතර) යනු ජාල ලිපිනයක් සහ වරායක් සොකට් එකක් ලෙස සංයෝජනය වන බව මට පෙනේ, එබැවින් ඔබට මෙය ලැබුනේ කොහෙන්දැයි මට පෙනේ, නමුත් එය තවමත් වැරදිය.
පීටර් වොන්

2
පරාවර්තනය මත සාහිත්‍යය පරස්පර විරෝධී වන අතර මම සමාව ඉල්ලමි. අන්ත ලක්ෂ්‍ය දෙකක් (හෝ සොකට්) අතර TCP සම්බන්ධතාවයක් ඇති වන තෙක් ඉතා තදින් කථා කරන සන්නිවේදනයක් සිදු නොවේ, ඒ සෑම එකක්ම ජාල ලිපිනයකින් සහ වරායකින් හඳුනා ගනී. මම අතහරිනවා.
පීටර් වොන්

7

වරාය පහසුම කොටස විය, එය සොකට් සඳහා අද්විතීය හඳුනාගැනීමක් පමණි. සොකට් යනු ක්‍රියාවලි මගින් සම්බන්ධතා ඇති කර ගැනීමට සහ එකිනෙකා සමඟ සන්නිවේදනය කිරීමට භාවිතා කළ හැකි දෙයකි. උස ජෙෆ් සතුව විශාල දුරකථන ප්‍රතිසමයක් ඇති අතර එය පරිපූර්ණ නොවේ, එබැවින් මම එය නිවැරදි කිරීමට තීරණය කළෙමි:

  • ip සහ port ~ දුරකථන අංකය
  • සොකට් ~ දුරකථන උපාංගය
  • සම්බන්ධතාවය ~ දුරකථන ඇමතුම
  • සම්බන්ධතාවය ස්ථාපිත කිරීම a අංකයක් ඇමතීම
  • ක්‍රියාවලි, දුරස්ථ යෙදුම් ~ පුද්ගලයින්
  • පණිවිඩ ~ කථනය

හොඳ පැහැදිලි කිරීමක් (විශේෂයෙන් ඔබ ජාලකරණ පාරිභාෂිතයේ පදනමේ කොටසක් වන දුරකථන මාරු කිරීමේ ඉතිහාසය සලකා බලන විට ..)
oɔɯǝɹ

netstatයම් වේලාවක් දර්ශනයක් දෙස බලන්න . සවන්දීමේ සොකට්ටුවකින් පිළිගත් සියලුම සොකට් එකම වරාය බෙදා ගනී. එර්ගෝ පෝට් යනු සොකට් සඳහා අද්විතීය හඳුනාගැනීමක් නොවේ.
ලෝර්න් හි මාක්විස්

6

යෙදුමක් ජාලය හරහා සන්නිවේදනය කරන ක්‍රියාවලි යුගලයකින් සමන්විත වේ (සේවාදායක-සේවාදායක යුගල). මෙම ක්‍රියාවලීන් සොකට් නම් මෘදුකාංග අතුරුමුහුණතක් හරහා ජාලයට සහ ඉන් පිටතට පණිවිඩ යවයි . "පරිගණක ජාලකරණය: ඉහළට පහළට ප්‍රවේශය" යන පොතේ ඉදිරිපත් කර ඇති ප්‍රතිසමයන් සලකා බලයි. වෙනත් නිවසක් සමඟ සන්නිවේදනය කිරීමට අවශ්ය නිවසක් තිබේ. මෙන්න, නිවසක් ක්රියාවලියකට සමාන වන අතර, සොකට්ටුවකට දොර. යැවීමේ ක්‍රියාවලිය උපකල්පනය කරන්නේ දොරේ අනෙක් පැත්තේ යටිතල පහසුකම් ඇති අතර එමඟින් දත්ත ගමනාන්තයට ප්‍රවාහනය කරනු ඇති බවයි. පණිවිඩය අනෙක් පැත්තට පැමිණි පසු, එය ලබන්නාගේ දොර (සොකට්) හරහා නිවස තුළට ගමන් කරයි (ක්‍රියාවලිය). එකම පොතේ මෙම නිදර්ශනය ඔබට උපකාරී වේ:
රූප විස්තරය මෙහි ඇතුළත් කරන්න
සොකට් යනු ප්‍රවාහන ස්ථරයේ කොටසකි, එය යෙදුම් වලට තාර්කික සන්නිවේදනයක් සපයයි. මෙයින් අදහස් කරන්නේ බොහෝ රවුටර සහ / හෝ ස්විචයන් තිබියදීත්, යෙදුමේ දෘෂ්ටි කෝණයෙන් ධාරකයන් දෙකම එකිනෙකා සමඟ කෙලින්ම සම්බන්ධ වී ඇති බවයි. මේ අනුව සොකට් එකක් යනු සම්බන්ධතාවයක් නොවේ, එය සම්බන්ධතාවයේ අවසාන ලක්ෂ්‍යයයි. ප්‍රවාහන ස්ථර ප්‍රොටෝකෝල ක්‍රියාත්මක කරනු ලබන්නේ ධාරකයන් මත මිස අතරමැදි රවුටර මත නොවේ.
වරායයන්ත්‍රයකට අභ්‍යන්තර ආමන්ත්‍රණය කිරීමේ මාධ්‍යයන් සැපයීම. මූලික ක්‍රියාදාමය වන්නේ වෙනත් ක්‍රියාදාමයන්ට (ඒවායේ දත්ත) බාධා නොකර ජාලය හරහා දත්ත යැවීමට සහ ලැබීමට බහු ක්‍රියාවලියන්ට ඉඩ දීමයි. සියලුම සොකට් සඳහා වරාය අංකයක් ලබා දී ඇත. ඛණ්ඩයක් ධාරකයකු වෙත පැමිණි විට, ප්‍රවාහන ස්ථරය මඟින් ගමනාන්තයේ වරාය අංකය පරීක්ෂා කරයි. එමඟින් එම කොටස අනුරූප සොකට්ටුව වෙත යොමු කරයි. ප්‍රවාහන ස්ථර කොටසක ඇති දත්ත නිවැරදි සොකට්ටුවට ලබා දීමේ මෙම කාර්යය ඩි- මල්ටිපෙක්සිං ලෙස හැඳින්වේ . කොටසේ දත්ත පසුව සොකට්ටුවට අමුණා ඇති ක්‍රියාවලියට යොමු කරනු ලැබේ.


5

සොකට් යනු ඔබේ මෘදුකාංගයේ ව්‍යුහයකි. එය ගොනුවකට වඩා අඩු හෝ අඩු ය; එයට කියවීම සහ ලිවීම වැනි ක්‍රියාකාරකම් ඇත. එය භෞතික දෙයක් නොවේ; එය ඔබේ මෘදුකාංගයට භෞතික දේවල් වෙත යොමු වීමේ මාර්ගයකි.

වරාය යනු උපාංගයට සමාන දෙයකි. සෑම සත්කාරක සමාගමකටම ජාල එකක් හෝ කිහිපයක් ඇත (ඒවා භෞතික වේ); සෑම ජාලයකම ධාරකයෙකුට ලිපිනයක් ඇත. සෑම ලිපිනයකටම වරාය දහස් ගණනක් තිබිය හැකිය.

එක් සොකට්ටුවක් ලිපිනයක වරායක් භාවිතා කිරීම පමණක් විය හැකිය. I / O ගොනු පද්ධතිය සඳහා උපකරණයක් වෙන් කිරීම වැනි සොකට්ටුව වරාය වෙන් කරයි. වරාය වෙන් කළ පසු, වෙනත් කිසිදු සොකට්ටුවකට එම වරායට සම්බන්ධ විය නොහැක. සොකට් එක වසා දැමූ විට වරාය නිදහස් වේ.

TCP / IP පාරිභාෂිතය දෙස බලන්න .


3
සොකට් පිළිබඳ මෙම විස්තරය පදනම් විරහිත ය. සොකට් එකක් යනු ටුපල් යුගලයක් අතර ඇති සම්බන්ධයයි. එහිදී ටුපල් යනු අයිපී ඒඩීඩීආර් සහ වරාය යුගලයකි. මීට අමතරව බොහෝ සොකට් එකම වරායට සම්බන්ධ කළ හැකිය. 80 වන වරාය තුළ වෙබ් සේවාදායකයක් බහු සම්බන්ධතා ලබා ගන්නේ කෙසේදැයි ඔබ සිතන්නේ කෙසේද? මෙය දුර්වල පිළිතුරකි
උස ජෙෆ්

1
සමාවන්න. 80 වන වරායට බහු සොකට් සම්බන්ධ නොවේ. එක් සොකට් එකක් සම්බන්ධ කර ඇති අතර සැබෑ හුවමාරුව සිදුවන අතිරේක සොකට් බිහි වේ. Opengroup.org/onlinepubs/009695399/functions/listen.html බලන්න .
එස්.ලොට්

1
ඇත්ත වශයෙන්ම, opengroup.org/onlinepubs/009695399/functions/connect.html හි විස්තරය වඩා හොඳය. සම්බන්ධතාවයකින් ආපසු ලබා දෙන සම වයස් සොකට් 80 වරායේ නොමැත.
එස්. ලොට්

1
මෙම ලිපිය විස්තර කිහිපයකින් වැරදියි සහ කරුණු කිහිපයකින් නොමඟ යවයි.
පීටර් වොන්

Et පීටර් වොන්: කුමන තොරතුරු? කුමන අංශද? මගේ වැරදිවලින් ඉගෙන ගැනීමට බලාපොරොත්තුවෙන්.
එස්.ලොට්

5

සිට ඔරකල් ජාවා නිබන්ධනය :

සොකට් යනු ජාලය තුළ ක්‍රියාත්මක වන වැඩසටහන් දෙකක් අතර ද්වි-මාර්ග සන්නිවේදන සම්බන්ධතාවයේ එක් අන්ත ලක්ෂ්‍යයකි. සොකට් එකක් වරාය අංකයකට බැඳී ඇති අතර එමඟින් දත්ත යැවීමට නියම කර ඇති යෙදුම TCP ස්තරයට හඳුනාගත හැකිය.


එය නිබන්ධනයක් පමණක් වන අතර නිසැකවම එය සාමාන්‍ය සඳහනක් නොවේ.
මාර්ක්විස් ඔෆ් ලෝර්න්

"සොකට් යනු ද්වි-මාර්ග සන්නිවේදන සම්බන්ධතාවයේ එක් අන්ත ලක්ෂ්‍යයකි" එය සොකට් අර්ථ දැක්වීමක් නොවේද, ජාවා නිබන්ධනයක් නොවේද ??
praagupd

rayprayagupd ඇත්ත වශයෙන්ම එය අර්ථ දැක්වීමකි, නමුත් එය නිබන්ධනයකින් මිස පිරිවිතරයකින් නොවේ.
ලෝර්න්

4

වරාය සහ සොකට් බැංකු ශාඛාවට සමාන කළ හැකිය.

"බැංකුවේ" ගොඩනැගිලි අංකය IP ලිපිනයට සමානය. බැංකුවකට විවිධ අංශ තිබේ:

  1. ඉතිරිකිරීමේ ගිණුම් දෙපාර්තමේන්තුව
  2. පුද්ගලික ණය දෙපාර්තමේන්තුව
  3. නිවාස ණය දෙපාර්තමේන්තුව
  4. දුක්ගැනවිලි දෙපාර්තමේන්තුව

එබැවින් 1 (ඉතුරුම් ගිණුම් දෙපාර්තමේන්තුව), 2 (පුද්ගලික ණය දෙපාර්තමේන්තුව), 3 (නිවාස ණය දෙපාර්තමේන්තුව) සහ 4 (දුක්ගැනවිලි දෙපාර්තමේන්තුව) වරාය වේ.

දැන් අපි කියමු ඔබ ඉතුරුම් ගිණුමක් විවෘත කිරීමට යන්න, ඔබ බැංකුවට (IP ලිපිනය) යන්න, ඉන්පසු ඔබ "ඉතිරිකිරීමේ ගිණුම් දෙපාර්තමේන්තුවට" (වරාය අංක 1) යන්න, එවිට ඔබට "ඉතුරුම් ගිණුම් දෙපාර්තමේන්තුව" යටතේ සේවය කරන එක් සේවකයෙකු හමුවෙයි. ". ගිණුම ආරම්භ කිරීම සඳහා අපි ඔහුට SAVINGACCOUNT_EMPLOYEE1 අමතන්න.

SAVINGACCOUNT_EMPLOYEE1 යනු ඔබේ සොකට් විස්තරය, එබැවින් SAVINGACCOUNT_EMPLOYEE1 සිට SAVINGACCOUNT_EMPLOYEEN දක්වා SAVINGACCOUNT_EMPLOYEE1 තිබිය හැක. මේ සියල්ල සොකට් විස්තර කරන්නන් ය.

ඒ හා සමානව, වෙනත් දෙපාර්තමේන්තු යටතේ සේවා නියුක්තිකයන් සිටින අතර ඒවා සොකට් වලට සමාන වේ.


3

සොකට් යනු දත්ත I / O යාන්ත්‍රණයකි. වරාය යනු සන්නිවේදන ප්‍රොටෝකෝලයක ගිවිසුම් සංකල්පයකි . වරායක් නොමැතිව සොකට් එකක් පැවතිය හැකිය. නිශ්චිත සොකට් එකක් නොමැතිව වරායක් පැවතිය හැකිය (උදා: එකම වරායේ සොකට් කිහිපයක් සක්‍රීය නම්, සමහර ප්‍රොටෝකෝල සඳහා ඉඩ දිය හැකිය).

බොහෝ ප්‍රොටෝකෝල සහිතව, ග්‍රාහකයා පැකට්ටුව වෙත යා යුත්තේ කුමන සොකට්ටුවද යන්න තීරණය කිරීම සඳහා වරායක් භාවිතා කරයි, නමුත් එය සැමවිටම අවශ්‍ය නොවන අතර ලැබෙන සොකට් තේරීම වෙනත් ක්‍රමයකින් කළ හැකිය - වරාය යනු සම්පූර්ණයෙන්ම ප්‍රොටොකෝලය හසුරුවන්නා විසින් භාවිතා කරන මෙවලමකි ජාල උප පද්ධතිය. උදා: ප්‍රොටෝකෝලයක් වරායක් භාවිතා නොකරන්නේ නම්, පැකට් වලට සියලු සවන්දීමේ සොකට් හෝ ඕනෑම සොකට් එකකට යා හැකිය.


3

සාපේක්ෂ TCP / IP පාරිභාෂිතය ප්‍රශ්නයෙන් ගම්‍ය වේ. ගිහියන්ගේ වචන වලින්:

වරාය යනු කිසියම් සිප් කේතයක ඇති නිවසක දුරකථන අංකයට සමානය. නගරයේ ZIP කේතය නගරයේ IP ලිපිනය සහ එම නගරයේ සියලුම නිවාස ලෙස සිතිය හැකිය.

අනෙක් අතට සොකට් එකක් යනු එකිනෙකා සමඟ කතා කරන නිවාස යුගලයක දුරකථන අතර ස්ථාපිත දුරකථන ඇමතුමකට සමානය. එම ඇමතුම් එකම නගරයේ නිවාස හෝ විවිධ නගරවල නිවාස දෙකක් අතර ස්ථාපිත කළ හැකිය. SOCKET යනු එකිනෙකා සමඟ කතා කරන දුරකථන යුගල අතර තාවකාලික ස්ථාපිත මාවතකි.


2
සොකට් යනු අවසාන ලක්ෂ්‍යයකි. එය සම්බන්ධ වීමට පෙර (TCP) හෝ සම්බන්ධතාවයක් නොමැති විට (UDP) පවතී. එර්ගෝ එයම සම්බන්ධතාවය නොවේ.
ලෝර්න් හි මාක්විස්

2

පුළුල් අර්ථයකින් ගත් කල, සොකට් - ඔබේ විදුලි, කේබල් හෝ දුරකථන සොකට් මෙන් සොකට් එකකි. “අවශ්‍ය දේවල්” (බලය, සං signal ාව, තොරතුරු) පිටතට ගොස් පැමිණිය හැකි ස්ථානයක්. එය සවිස්තරාත්මක දේවල් රාශියක් සඟවයි, එය "අවශ්‍ය දේවල්" භාවිතා කිරීම සඳහා අවශ්‍ය නොවේ. මෘදුකාංග උපභාෂාවෙන්, එය ආයතන දෙකක් අතර සන්නිවේදන යාන්ත්‍රණයක් නිර්වචනය කිරීමේ සාමාන්‍ය ක්‍රමයක් සපයයි (එම ආයතන ඕනෑම දෙයක් විය හැකිය - යෙදුම් දෙකක්, භෞතිකව වෙනම උපාංග දෙකක්, මෙහෙයුම් පද්ධතියක් තුළ පරිශීලක සහ කර්නල් අවකාශය යනාදිය)

වරාය යනු අන්ත ලක්ෂ්‍ය වෙනස් කොට සැලකීමකි. එය එක් අන්ත ලක්ෂ්‍යයක් තවත් අන්තයකින් වෙන් කරයි. ජාලකරණ මට්ටමින්, එය එක් යෙදුමක් තවත් යෙදුමකින් වෙනස් කරයි, එවිට ජාල ගබඩාවට තොරතුරු සුදුසු යෙදුමට යැවිය හැකිය.


2

දැනටමත් මෙම ප්‍රශ්නයට න්‍යායාත්මක පිළිතුරු ලබා දී ඇත. මෙම ප්‍රශ්නයට ප්‍රායෝගික උදාහරණයක් දීමට මම කැමතියි, එමඟින් සොකට් සහ වරාය පිළිබඳ ඔබේ අවබෝධය පැහැදිලි වනු ඇත.

මම එය මෙහි සොයාගත්තා

මෙම උදාහරණය විලී වැනි වෙබ් අඩවියකට සම්බන්ධ වීමේ ක්‍රියාවලිය හරහා ඔබව ගෙන යනු ඇත. ඔබ ඔබේ වෙබ් බ්‍රව්සරය (මොසිල්ලා ෆයර්ෆොක්ස් වැනි) විවෘත කර ලිපින තීරුවට www.wiley.com ටයිප් කරන්න. ඔබගේ වෙබ් බ්‍රව්සරය එහි IP ලිපිනය හඳුනා ගැනීම සඳහා www.wiley.com යන නම බැලීමට වසම් නාම පද්ධති (DNS) සේවාදායකයක් භාවිතා කරයි. මෙම උදාහරණය සඳහා ලිපිනය 192.0.2.100 වේ.

ෆයර්ෆොක්ස් 192.0.2.100 ලිපිනයට සහ යෙදුම් ස්ථර වෙබ් සේවාදායකය ක්‍රියාත්මක වන වරායට සම්බන්ධ කරයි. ෆයර්ෆොක්ස් ප්‍රසිද්ධ වරායක් බැවින් අපේක්ෂා කළ යුතු වරාය කුමක්දැයි දනී. වෙබ් සේවාදායකයක් සඳහා සුප්‍රසිද්ධ වරාය වන්නේ TCP port 80 ය.

ෆයර්ෆොක්ස් සම්බන්ධ කිරීමට උත්සාහ කරන ගමනාන්ත සොකට් එක සොකට් ලෙස ලියා ඇත: වරාය, හෝ මෙම උදාහරණයේ 192.0.2.100:80. මෙය සම්බන්ධතාවයේ සේවාදායක පැත්තයි, නමුත් මොසිල්ලා ෆයර්ෆොක්ස් හි ඔබට නැරඹීමට අවශ්‍ය වෙබ් පිටුව යැවිය යුත්තේ කොතැනට දැයි සේවාදායකයාට දැනගත යුතුය, එබැවින් ඔබට සම්බන්ධතාවයේ සේවාදායකයාගේ පැත්ත සඳහා සොකට් එකක් ද ඇත.

සේවාදායක පාර්ශවීය සම්බන්ධතාවය සෑදී ඇත්තේ 192.168.1.25 වැනි ඔබගේ IP ලිපිනය සහ අහඹු ලෙස තෝරාගත් ගතික වරාය අංකයෙනි. ෆයර්ෆොක්ස් හා සම්බන්ධ සොකට් එක 192.168.1.25:49175 වගේ. වෙබ් සේවාදායකයන් TCP port 80 මත ක්‍රියාත්මක වන හෙයින්, මෙම සොකට් දෙකම TCP සොකට් වන අතර, ඔබ UDP වරායක ක්‍රියාත්මක වන සේවාදායකයකට සම්බන්ධ වන්නේ නම්, සේවාදායකය සහ සේවාදායක සොකට් දෙකම UDP සොකට් වේ.


ඉතා දුර්වල ගුණාත්මක උපුටා දැක්වීමක්. තෙවන ඡේදය 'සොකට්' යන වචනය වැරදි ලෙස භාවිතා කරන්නේ එහි අර්ථය 'IP ලිපිනය' ලෙසිනි. එය එසේ නොවේ.
ලෝර්න් හි මාක්විස්

2

සොකට් යනු I / O දත්ත සඳහා පරිශීලක යෙදුම් සඳහා කර්නලය විසින් සපයන ලද සාරාංශයකි. සොකට් වර්ගයක් අර්ථ දැක්වෙන්නේ එය හැසිරවීම, අයිපීසී සන්නිවේදනයක් යනාදියෙනි. එබැවින් යමෙකු ටීසීපී සොකට් එකක් නිර්මාණය කරන්නේ නම් ඔහුට සොකට් සඳහා දත්ත කියවීම සහ සරල ක්‍රම මගින් දත්ත ලිවීම වැනි උපක්‍රම සිදු කළ හැකිය. පැකට් පහළ මට්ටමේ ජාල ප්‍රොටෝකෝල වෙත යොමු කිරීම කර්නලයේ විශේෂිත සොකට් ක්‍රියාත්මක කිරීම මඟින් සිදු කෙරේ. මෙහි ඇති වාසිය නම්, ප්‍රොටෝකෝලය විශේෂිත නයිටිග්‍රිටි හැසිරවීම ගැන පරිශීලකයා කරදර විය යුතු නැති අතර සාමාන්‍ය බෆරයක් වැනි සොකට් වෙත දත්ත කියවා ලිවිය යුතුය. අයිපීසී සම්බන්ධයෙන්ද එය සත්‍ය වේ, පරිශීලකයා සොකට් වෙත දත්ත කියවා ලියන අතර කර්නලය විසින් නිර්මාණය කරන ලද සොකට් වර්ගය මත පදනම්ව සියලුම පහළ මට්ටමේ තොරතුරු හසුරුවයි.

අයිපී සමඟ වරාය කිරීම සොකට්ටුවට ලිපිනයක් සැපයීම හා සමානයි, එය අවශ්‍ය නොවන නමුත් එය ජාල සන්නිවේදනයට උපකාරී වේ.


2

තනි වරායකට බහු බාහිර වෙළඳසැලක් වැනි විවිධ බාහිර අයිපී සමඟ සම්බන්ධිත සොකට් එකක් හෝ කිහිපයක් තිබිය හැකිය.

  TCP    192.168.100.2:9001     155.94.246.179:39255   ESTABLISHED     1312
  TCP    192.168.100.2:9001     171.25.193.9:61832     ESTABLISHED     1312
  TCP    192.168.100.2:9001     178.62.199.226:37912   ESTABLISHED     1312
  TCP    192.168.100.2:9001     188.193.64.150:40900   ESTABLISHED     1312
  TCP    192.168.100.2:9001     198.23.194.149:43970   ESTABLISHED     1312
  TCP    192.168.100.2:9001     198.49.73.11:38842     ESTABLISHED     1312

2

සොකට් යනු යෙදුමේ අතුරුමුහුණත ලෙස භාවිතා කරන ජාලකරණ අන්ත ලක්ෂ්‍යයේ SW වියුක්තකරණයයි. ජාවා හි, සී # එය වස්තුවෙන් නිරූපණය වේ, ලිනක්ස්, යුනික්ස් හි එය ගොනුවකි.

වරාය යනු ඔබට සන්නිවේදනයක් ස්ථාපිත කිරීමට අවශ්‍ය නම් ඔබ විසින් නියම කරන ලද සොකට්ටුවක දේපලකි. සොකට්ටුවකින් පැකට්ටුව ලබා ගැනීම සඳහා ඔබ එය විශේෂිත දේශීය වරාය හා ජාතික හැඳුනුම්පත (දේශීය IP ලිපිනය සමඟ) හෝ සියලුම ජාතික හැඳුනුම්පත් (INADDR_ANY බන්ධන ඇමතුමෙහි දක්වා ඇත) සමඟ බැඳ තැබිය යුතුය. පැකට්ටුව යැවීමට, දුරස්ථ සොකට්ටුවේ වරාය සහ අයිපී නියම කළ යුතුය.


1

සොකට් යනු මූලික වශයෙන් ජාල සන්නිවේදනය සඳහා අවසාන ලක්ෂ්‍යයක් වන අතර එය අවම වශයෙන් IP ලිපිනයක් සහ වරායකින් සමන්විත වේ. ජාවා / සී # සොකට් යනු ද්වි-මාර්ග සම්බන්ධතාවයේ එක් පැත්තක් ඉහළ මට්ටමේ ක්‍රියාත්මක කිරීමකි.

එසේම, ජාවා ප්‍රලේඛනයේ අර්ථ දැක්වීමක් .


ජාවා ටියුරියල් හි, ඔබ අදහස් කළේ.
ලෝර්න් හි මාක්විස්

1

වරාය:

අනුක්‍රමික, සමාන්තර සහ USB වරායන් වැනි පර්යන්ත උපාංග සඳහා භෞතික සම්බන්ධතා ලක්ෂ්‍යයක් වරායකට යොමු කළ හැකිය. වරාය යන පදය සමහර ඊතර්නෙට් සම්බන්ධතා ලක්ෂ්‍යයන්, කේන්ද්‍රස්ථානයක්, ස්විචයක් හෝ රවුටරයක ඇති ඒවා ලෙසද සඳහන් කරයි.

තව්ව:

සොකට් එකක් ජාල යෙදුම් දෙකක් අතර තනි සම්බන්ධතාවයක් නියෝජනය කරයි. මෙම යෙදුම් දෙක නාමිකව විවිධ පරිගණකවල ක්‍රියාත්මක වන නමුත් සොකට් තනි පරිගණකයක අන්තර් සැකසුම් සන්නිවේදනය සඳහා ද භාවිතා කළ හැකිය. යෙදුම් එකිනෙකා සමඟ සන්නිවේදනය කිරීම සඳහා බහු සොකට් නිර්මාණය කළ හැකිය. සොකට් ද්විපාර්ශ්වික වේ, එයින් අදහස් වන්නේ සම්බන්ධතාවයේ දෙපැත්තටම දත්ත යැවීමට සහ ලැබීමට හැකියාව ඇති බවයි.


TCP හෝ UDP වරායක් භෞතික කිසිවක් හෝ ඊතර්නෙට් සම්බන්ධතා ස්ථාන වෙත යොමු නොවේ. ඔබ ප්‍රශ්නයට පිළිතුරු දී නැත.
ලෝර්න් හි මාක්විස්

1

වරාය මඟින් IP ජාල ප්‍රොටෝකෝලය සඳහා TCP සහ UDP ප්‍රවාහනයන්හි සන්නිවේදන අන්ත ලක්ෂ්‍යයක් දක්වයි. සොකට් යනු මෙම ප්‍රොටෝකෝල (සොකට් ඒපීඅයි) ක්‍රියාත්මක කිරීමේදී බහුලව භාවිතා වන සන්නිවේදන අන්ත ලක්ෂ්‍යයක් සඳහා වන මෘදුකාංග සාරාංශයකි. විකල්ප ක්‍රියාත්මක කිරීමක් වන්නේ XTI / TLI API ය.

මෙයද බලන්න:

ස්ටීවන්ස්, ඩබ්ලිව්ආර් 1998, යුනික්ස් ජාල වැඩසටහන්කරණය: ජාලකරණ ඒපීඅයි: සොකට් සහ එක්ස්ටීඅයි; 1 වන වෙළුම, ප්‍රෙන්ටිස් ශාලාව.
ස්ටීවන්ස්, ඩබ්ලිව්ආර්, 1994, ටීසීපී / අයිපී ඉලස්ට්‍රේටඩ්, 1 වන වෙළුම: ප්‍රොටෝකෝල, ඇඩිසන්-වෙස්ලි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.