آشنایی با مفهوم Host در پروتکل TCP/IP
هاست را در فارسی به «میزبان» ترجمه میکنند. حال باید دید که «میزبان TCP/IP» به چه معنی است.
درواقع به هر سیستم در شبکه از TCP/IP برای ارتباط استفاده کند اصطلاحا یک TCP/IP Host میگوییم.
مثال 1: کلیه رایانههای شخصی در یک شبکه که پروتکل TCP/IP روی آنها تنظیم و فعال شده اعم از اینکه کلاینت باشد یا سرور، هر کدام برای خود یک Host مستقل به حساب میآیند.
مثال 2: یک روتر را میتوان یک TCP/IP Host بهشمار آورد، به دلیل اینکه میتوان TCP/IP را روی آن پیکربندی و فعال کرد و روتر را از طریق آن کنترل کرد.
مثال 3: برخی از سوئیچهای حرفهای توانایی پیکربندی و کنترل خود را از طریق TCP/IP به مدیر شبکه میدهند، پس این سوئیچها نیز TCP/IP Host هستند.
مثال 4: برخی از UPSها توانایی اتصال مستقیم به شبکه را دارند. میتوان از طریق یک رایانه شخصی و پروتکل TCP/IP آنها را کنترل کرد. چنین UPS هایی درواقع مثال دیگری از TCP/IP Host هستند.
مثال 5: چاپگرهایی هستند که مستقیما به شبکه متصل شده و رایانههای شخصی میتوانند کارهای چاپی خود را از طریق TCP/IP به آنها ارسال کنند، پس این چاپگرها نیز بیانگر TCP/IP Host هستند.
هر Host در TCP/IP دارای دو مشخصه اصلی و بارز است. به عبارت دیگر هر Host را میتوان با دو خصوصیت از بقیه Hostها تفکیک کرد. این دو مشخصه عبارتند از:
- نام (Host Name = TCP/IP Name)
- آدرس (Host Address = IP Address)
اگر بخواهیم اصل ماجرا را در نظر بگیریم، آدرس در اولویت قرار داشته و هر Host باید حداقل یک آدرس منحصربهفرد داشته باشد. مشخصه «نام» برای سهولت در کار کاربران بوده اما برای پروتکل TCP/IP چندان مهم نیست. درواقع هنگامی که یک کاربر برای برقراری ارتباط با یک TCP/IP Host از «نام» استفاده میکند (مثلا http://www.yahoo.com) پروتکل TCP/IP به زحمت افتاده و باید آدرس مربوط به نام را پیدا کند چون مهم برای او IP Address است. به عبارت دیگر پروتکل با مکانیزمهایی که بعدا مورد بحث قرار میگیرد ابتدا اسم را به IP تبدیل کرده (مثلا آدرس http://www.sanjesh.org میشود 92.242.195.1) و بعد ارتباط با سایت آغاز میشود.
Host Name
گفتیم که برای سهولت بیشتر کاربران، برای اکثر «میزبانهای مهم» (Host) یک یا چند نام انتخاب میشود. بدیهی است که این نامها باید از قوانینی تبعیت کرده و ضمنا مورد تایید «مراکز ثبت اسامی» نیز قرار بگیرند، به زبان دیگر باید اسم را ثبت (Register) کرد. چنانچه اسم یک Host ثبت نشود در آن صورت استفاده از نام معمولا محدود به کاربردهای داخلی شده و اغلب کاربران «خارج از شبکه داخلی» نام را نمیشناسند چرا که رسما ثبت نشده است.
مثال: فرض کنید کسی در محدوده خانوادگی خود یا میان دوستان و آشنایان نام «نرگس» را برای خود انتخاب کند اما نام شناسامهای وی «فرزانه» باشد. طبیعی است هنگامی که میخواهد خود را رسما به همه معرفی کند «اسم شناسنامهای» خودش که در اداره ثبت احوال درج شده به کار میبرد زیرا همگان «اداره ثبت احوال» را به عنوان «مرکز معتبر ثبت اسامی» قبول دارند. اما افراد خانواده وی یا دوستان نزدیک وی میتوانند با نام مستعار او را صدا بزنند.
اکنون نگاهی دقیقتر به قالب اسامی داشته باشیم، بهطور کلی میتوانیم دو قالب را برای نامگذاری تصور کنیم. با دقت به مثالهای زیر موضوع روشن میشود:
قالب اول: هر یک از اسامی زیر بهعنوان یک Host Name میتواند در پروتکل TCP/IP استفاده شود:
- Narges
- Reza
- Server22
- Client80
- PC1
- C1
- C2
- Palang
- Moon
- Star
قالب دوم:
- yahoo.com
- yahoo.com
- neda.net.ir
- dlink.com
- sanjesh.org
- tamin.org
- sharif.edu
- sharif.ac.ir
- itrc.ac.ir
- nist.gov
- dci.ir
به روشنی پیداست که قالب دوم کاملتر است، اصطلاحا اگر اسمی در قالب اول باشد به آن اسم مستعار Alias یا Unqualified و اگر در قالب دوم باشد به آن FQDN (سرنام عبارت Fully Qualified Domain Name) میگویند.
معمولا اسامی قالب اول در محدوده داخلی شبکهها استفاده شده، نیازی به ثبت ندارند اما اسامی قالب دوم عمدتا ثبت شده و در این صورت چه در محدوده داخلی و چه افراد خارج از شبکه داخلی میتوانند از آنها برای مراجعه به Host استفاده کنند.
اگر بخواهیم بگوییم یک اسم در قالب دوم (FQDN) معمولا از چه قسمتهایی تشکیل میشود، در جواب میتوان گفت به ترتیب از سمت چپ:
الف) نام یا سرویسی که Host ارائه میدهد یا نقشی که Host بازی میکند.
- www = Web Server
- mail = Mail Server
- ftp = FTP Server
- time = Time Server
- news = News (NNTP) Server
ب) نام شرکت، سازمان، مجموعه یا شخصی که Host بدان تعلق دارد (Company Name).
- yahoo
- gooogle
- IRIB
- Bank-Keshavarzi
ج) حوزه فعالیت میزبان (Activities).
- com
- net
- org
- gov
- edu
- ac
- info
- biz
- tv
د) وابستگی منطقهای و محلی اعم از فرهنگی، اجتماعی، … یا زبان استفاده شده در سایت (Locality).
- ir = Iran
- tr = Turkey
- uk = United Kingdom
- us = United States
- ca = Canada
در یک FQDN چنانچه بخش ابتدایی سمت چپ را که (بیانگر نام سرویس است) کنار بگذاریم، به مجموع بقیه قسمتها Domain گفته میشود که شامل نام شرکت، حوزه فعالیت و کشور میشود.
بنابراینFQDN بطور کلی از دو بخش تشکیل شده:
به زیرمجموعههای یک Domain اصطلاحا SubDomain میگویند. در عمل معمولا از SubDomain برای نشان دادن شرکتها، زیرگروهها یا ساختارهای فرعی در یک مجموعه بزرگ استفاده میشود.
یک شرکت بزرگ رایانهای را در نظر بگیرید که علاوه بر شرکت اصلی، از سه شرکت زیرمجموعه برای فعالیتهای سختافزار، نرمافزار و شبکه استفاده میکند. برای شرکت اصلی، یک Domain به نام a.net را در نظر گرفته آن را ثبت میکنیم. حال با توجه به گستردگی فعالیتهای شرکت بزرگ رایانهای و طبیعتا شرکتهای زیرمجموعه، بد نیست که برای هر کدام از زیرمجموعهها نیز یک Domain در نظر بگیریم:
- برای شرکت سختافزار a.net
- برای شرکت نرمافزار a.net
- برای شرکت شبکه a.net
هر یک از Domain های فوق را اصطلاحا SubDomain از a.net مینامیم.
IP Address
در پروتکل TCP/IP دو نوع آدرس برای IP وجود دارد:
- آدرس IP نسخه 4 که به آن IPv4 میگویند.
- آدرس IP نسخه 6 که به آن IPv6 میگویند.
در این مقاله ما به تشریح کامل IPv4 خواهیم پرداخت.
استانداردهای اینترنت برای انواع آدرسهای IPv4 عبارتند از:
- Unicast
- Multicast
- Broadcast
Unicast
برای یک رابط شبکه در یک زیرشبکه اختصاص مییابد (یک مخاطب) برای ارتباط یک به یک استفاده میشود مانند آدرس یک منزل در شهر به عنوان یک گیرنده.
Multicast
یه یک یا چند رابط شبکه واقع ئر زیرشبکههای مختلف اختصاص مییابد (چند مخاطب) و برای ارتباط یک به چند استفاده میشود.
Broadcast
به تمام رابطهای شبکه در یک زیرشبکه اختصاص داده میشود (برای تمام مخاطبهای یک زیرشبکه) و برای ارتباط یک به همه در یک زیرشبکه مورد استفاده قرار میگیرد.
آدرسهای Unicast در IPv4
آدرسهای Unicast در IPv4 محل قرار گرفتن مخاطب را در شبکه تعیین میکنند، مانند آدرس منزل یک شخص در یک شهر. بنابراین آدرسهای Unicast در IPv4 باید در سطح جهان منحصر به فرد بوده و دارای قالب یکسان باشد (البته میتوان برای چند شبکه مستقل که قرار نیست با هم در ارتباط باشند آدرسهای IP یکسانی در نظر گرفت).
هر آدرس IPv4 دارای دو بخش زیرشبکه و ID میزبان به صورت زیر میباشد:
Subnet prefix (پیشوند زیرشبکه) به عنوان شناسه شبکه (Network identifier) یا آدرس شبکه (Network Address) شناخته میشود و تمام گرههای شبکه در یک زیرشبکه باید Subnet prefix یکسانی بوده و پیشوند زیرشبکه باید در کل شبکههای TCP/IP منحصر به فرد باشد با توجه به مطالب فوق میتوان IPv4 Address = Subnet prefix + Host ID را بهصورت زیر تعریف نمود:
Host ID (ID میزبان) غالبا بهعنوان آدرس میزبان (Host Address) شناخته میشود و برای شناسایی گرهها در زیرشبکه به کار میرود. ID میزبان نیز باید در یک زیرشبکه منحصر به فرد باشد. میتوان به جای Host ID از Node ID نیز استفاده نمود.
IP Address در مجموعه یک عدد 32 بیتی یا 4 بایتی است که به فرم w.x.y.z تنظیم میشود. بهطوری که ممکن است از 4 بایت ممکن یک تا 3 بایت برای پیشوند زیرشبکه و یا یک تا 3 بایت برای IP میزبان در نظر گرفته میشود.
کلاسهای آدرس در IPv4
آدرسهای IPv4 دارای کلاسهای نختلفی است که میزان بیت یا بایت اختصاص یافته به پیشوند زیرشبکه و Host ID را مشخص میکند. این کلاسها همچنین تعداد شبکهها و تعداد میزبانها را نیز تعیین میکنند. بهطور کلی، پنج نوع کلاس در IPv4 داریم که با نامهای کلاس A، B، C،D و E شناخته میشود. کلاس A، B و C برای Unicast میباشد. کلاس D برای Multicast رزرو شده و کلاس E نیز برای کارهای آزمایشگاهی رزرو شده است.
کلاس A
برای شبکههایی که دارای میزبانهای خیلی زیاد هستند مورد استفاده قرار میگیرد، بهطوریکه 8 بیت اول برای پیشوند زیرشبکه و 24 بیت باقیمانده برای میزبان مورد استفاده قرار میگیرد قالب آدرسدهی در کلاس A بهصورت زیر است:
کلاس A تا 16777214 میزبان را میتواند آدرسدهی کند و بهجای هر Host در قالب آدرسدهی میتوان از اعداد 1 تا 254 را استفاده نمود. توجه داشته باشید درواقع اعداد اختصاص یافته به هر Host در قالب کلی از 0 تا 255 میباشد ولی اعداد 0 و 255 در شرایط خاص استفاده میشود.
کلاس A تا 126 شبکه را پشتیبانی میکند یعنی به جای Network میتوان از اعداد 1 تا 126 را استفاده نمود. در کلاس A اولین بیت سمت چپ همیشه باید صفر باشد با توجه به صفر بودن اولین بیت سمت چپ پس ما 7 بیت داریم که میتوانند 1 باشند بنابراین 127 شبکه خواهیم داشت اما چون عدد 127 برای Loop back ذخیره شده است ما فقط میتوانیم تا عدد 126 را برای کلاس A استفاده نماییم.
کلاس B
کلاس B برای شبکههای متوسط تا بزرگ مورد استفاده قرار میگیرد بهطوریکه 16 بیت اول برای شبکه و 16 بیت باقیمانده برای میزبان مورد استفاده قرار میگیرد. قالب آدرسدهی در کلاس B بهصورت زیر است:
در کلاس B اولین بیت سمت چپ در Network ID همیشه 1 و دومین بیت همیشه 0 میباشد. یعنی بایت اول در حالت حداکثری برابر 10111111 میباشد (یعنی عدد 191) پس نتیجه میگیریم که در کلاس B اولین بایت یا همان w میتواند اعداد 128 تا 191 باشد.
کلاس B تا 16384 شبکه را پشتیبانی میکند همچنین میتوان در کلاس B تا 65534 میزبان را آدرسدهی نمود.
کلاس C
کلاس C برای آدرسدهی شبکههای کوچک استفاده میشود بهطوریکه 24 بیت (3 بایت) اول برای شبکه و 8 بیت (1 بایت) باقیمانده برای میزبان مورد استفاده قرار میگیرد. قالب آدرسدهی در کلاس C بهصورت زیر است:
در کلاس C اولین و دومین بیت سمت چپ در Network ID همیشه 1 و سومین بیت همیشه 0 میباشد، یعنی بایت اول در حالت حداکثری برابر 11011111 میباشد (یعنی عدد 223) پس نتیجه میگیریم که در کلاس C اولین بایت یا همان w میتواند اعداد 192 تا 223 باشد.
کلاس C تا 2097152 شبکه را پشتیبانی میکند. همچنین در این کلاس میتوان تا 254 میزبان را آدرسدهی نمود.
کلاس D
همانطور که قبلا اشاره شد کلاس D برای Multicast رزرو شده است. 4 بیت اول در کلاس D بهصورت 1110 میباشد یعنی بایت اول در حالت حداکثری برابر 11101111 میباشد (یعنی عدد 239) پس نتیجه میگیریم که در کلاس D اولین بایت یا همان w میتواند اعداد 224 تا 239 باشد یعنی کلاس D از رنج 224.0.0.0 تا 239.255.255.255 میباشد.
کلاس E
برای کارهای آزمایشگاهی (تحقیقاتی) رزرو شده است 4 بیت اول در کلاس D همیشه بهصورت 1111 میباشد.
IPv4 از آدرس چندپخشی (Multicast) برای ارائه بستههای اطلاعاتی از یک منبع به چند مقصد استفاده میکند. همچنین IPv4 آدرسهای Broadcast را برای ارائه بستههای اطلاعاتی از یک منبع به همه رابطها بر روی شبکه به کار میبرد.
آدرسهای ویژه در IPv4
آدرس 0.0.0.0 به آدرس IPv4 نامشخص معروف میباشد و فقط برای آدرس منبع، زمانی که گره با IPv4 پیکربندی نشده باشد و با استفاده از سرویس DHCP بخواهد IPv4 خود را بهدست آورد مورد استفاده قرار میگیرد.
آدرس 127.0.0.1 به نام آدرس back Loop معروف میباشد و یک گره را برای ارسال بستهها به خودش فعال میکند.
ماسک زیرشبکه یا Subnet Mask
ماسک زیرشبکه برای نشان دادن شناسه مربوط به شبکه و همچنین شناسه مربوط به میزبان میباشد. که بیتهای هر بخش آن یا همه صفر یا همه 1 هستند (یعنی اعداد 0 و 255) بهطوریکه برای تعیین شناسه شبکه، به ازایهر بخش آدرس شبکه؛ عدد 255 قرار میگیرد و به ازای هر بخش میزبان عدد صفر جایگزین میشود و عدد 255 به مفهوم ثابت بودن آدرس IP در یک زیرشبکه میباشد و عدد 0 به مفهوم عدد متغیر 1 تا 254 میباشد. ضمنا با استتفاده از ماسک زیرشبکه میتوان کلاس شبکه را تعیین نمود.
حتما مشاهده کردهاید که هنگام وارد کردن IP بخشی نیز برای وارد کردن آدرس Default Gateway داریم. این آدرس معمولا دو کاربرد اصلی دارد:
آدرس کامپیوتری که اینترنت را برای کلاینت Share کرده است.
هنگامی که یک کامپیوتر در شبکه به اینترنت وصل است و باید اینترنت را در اختیار بقیه قرار دهد چنین حالتی پیش میآید. البته همیشه به این سادگی و فقط با تنطیم Gateway کارها انجام نمیشود اما این یکی از سادهترین حالتهاست.
آدرس پورت روتر در سمتی از سگمنت که کلاینت در آن قرار دارد تا بدینوسیله به روتر وصل شود و در نتیجه با سگمنتهای دیگر ارتباط برقرار کند.
نوع کلاس مورد استفاده برای آدرسدهی شبکه خود بستگی به تعداد Host های بهکار رفته در شبکه دارد.
IPv6
IPv6 به جای 32 بیت از 128 بیت برای آدرسدهی IP استفاده میکند و درواقع از 8 بخش 16 بیتی تشکیل شده است و مقداردهی آن بهصورت هگزادسیمال میباشد و با علامت : از یکدیگر جدا میشوند:
FE80: BA98: 7654: 3210: FEDC: BA98: 7654: 3210
آدرسدهی در IPv6 به دو قسمت تقسیم میشود بهطوری که 64 بیت اول (8 بخش اول) برای آدرسدهی شبکه و 64 بیت دوم (8 بخش دوم) برای آدرسدهی میزبان استفاده میشود:
بخش آدرسدهی شبکه در واقع همان Prefix Subnet (پیشوند زیرشبکه) میباشد.
IPv6 ایمنتر از IPv4 میباشد. پروتکل IPv6 قادر به حمایت از 50 اکتیلیون (هر اکتیلیون معادل یک عدد 1 به همراه 48 صفر است) آدرس IP است.
درباره فرشید نوتاش حقیقت
همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرمافزارهای آزاد/ متنباز و سیستمعامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.
نوشتههای بیشتر از فرشید نوتاش حقیقتاین سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
دیدگاهتان را بنویسید