Professional Documents
Culture Documents
2
فهرست مطالب
دیباچه 4.................................................................................................................
مقدمه 4..................................................................................................................
پروتکل 12.................................................................................................. TCP
پروتکل 19................................................................................................. UDP
مقایسهی پروتکلهای TCPو 28........................................................ UDP
منابع و مآخذ 36..................................................................................................
3
دیباچه
پیش از آن که به قیاس دو پروتکل TCPو UDPبپردازیم ،الزم است تا با مدل
” “TCP/IPاندکی آشنا شویم .پس به عنوان مقدمهی این تحقیق ،به تبیین این مدل
خواهیم پرداخت.
مقدمه
.
مدل TCP/IPچیست؟
TCP/IPمهمترین پروتکل ارتباطی در شبکه های کامپیوتری و به ویژه شبکه اینترنت
می باشد .در اینترنت پروتکل های مختلفی وجود دارد که هر یک وظیفه خاص خود را
4
انجام می دهند .همان طور که انسان ها برای برقراری ارتباط با هم باید از زبان مشترک
استفاده کنند ،کامپیوترها هم برای برقراری ارتباط با هم باید از زبان مشترک استفاده
کنند .در دنیای کامپیوتر و شبکه به این زبان ،پروتکل میگویند .در پروتکل ،قانون
هایی تعریف شده تا کامپیوترها بتوانند با هم به تبادل اطالعات بپردازند .برای برقراری
ارتباط بین کامپیوترها پروتکل های زیادی وجود دارد اما باید از پروتکل هایی استفاده
شود که مورد تایید سازمان استاندارد جهانی باشند ۴ .پروتکل ،این استاندارد را دارند:
.
5
فرایند برقراری یک ارتباط ،شامل فعالیتهای متعددی نظیر :تبدیل نام کامپیوتر به
آدرس IPمعادل ،جانمایی رایانه مقصد ،بستهبندی اطالعات ،آدرس دهی و مسیریابی
دادهها به منظور تراگسیل موفقیتآمیز دادهها به مقصد مورد نظر بوده که توسط
مجموعه پروتکلهای موجود در پشته TCP/IPانجام میگیرد.
پس از انجام عملیات فوق ،داده به همراه اطالعات اضافی (درخواستی برای تأیید
دریافت در مقصد) ،در طول شبکه به حرکت درآمده تا به مقصد مورد نظر برسد.
عملیات فوق ،ارتباطی به محیط انتقال شبکه به منظور انتقال اطالعات نداشته و تحقق
عملیات فوق با رویکردی مستقل نسبت به محیط انتقال انجام خواهد شد.
6
،TCP/IPفرآیندهای الزم به منظور برقراری ارتباط را سازماندهی کرده و در این راستا
از پروتکلهای متعددی در پشته TCP/IPاستفاده میگردد .به منظور افزایش کارایی
در تحقق فرایندهای مورد نظر ،پروتکلها در الیههای متفاوتی سازماندهی شدهاند.
اطالعات مربوط به آدرس دهی در انتها قرار گرفته و بدین ترتیب کامپیوترهای موجود
در شبکه قادر به بررسی آن با سرعت مطلوب خواهند بود .در این راستا ،صرفاً
کامپیوتری که به عنوان کامپیوتر مقصد معرفی شدهاست ،امکان باز نمودن بسته
اطالعاتی و انجام پردازشهای الزم بر روی آن را دارا خواهد بود.
.
7
در شبکه اینترنت اطالعات (داده ها) به بسته های کوچکی به نام Packetتقسیم
بندی میشوند .سپس Packetها از طریق شبکه منتقل می شوند .در اینجا کار IPآن
است که آنها را به میزبان راه دور منتقل کند TCP .در انتهای دیگر بسته ها را دریافت
و وجود خطاها را بررسی میکند ،اگر خطایی رخ داده باشد TCPمیتواند ارسال مجدد
بسته بخصوص را درخواست نماید .بعد از اینکه تمام بسته ها به درستی دریافت شدند،
TCPاز شماره توالی برای ساختن مجدد پیام اصلی استفاده میکند.
به عبارت دیگر کار IPانتقال داده های خام Packetها از یک مکان به مکان دیگر و
کار TCPکنترل امور و تضمین صحت داده هاست.
ویژگیهای TCP/IP
از جمله ویژگی های TCP IPمیتوان امنیت باال ،توسعه پذیری و سازگاری با
محیطهای مختلف را نام برد.
8
TCP/IPچگونه کار میکند؟
.
وظایفی که بر دوش TCP/IPاست را بین ۴الیه تقسیم کردهاند .به طور کلی در مدل
الیه ای ،تقسیم وظایف بین الیه ها اتفاق میافتد .این تقسیم وظایف مانند تقسیم کار
بین اعضای یک تیم است که ضعف و عدم فعالیت درست یک عضو در گروه ،روی تمام
اعضای آن تاثیر منفی میگذارد .پس هر الیه در عین مستقل بودن باید به درستی با
بقیه الیه ها ارتباط برقرار کند .مجموع پروتکل های TCP/IPمنجر به برقراری ارتباط
بین کامپیوترها و دسترسی به اینترنت میشود .امنیت شبکه در الیه های TCP/IPدر
واقع با همین پروتکل ها تامین میشود.
9
.
10
وظیفه الیه اینترنت ،آدرس دهی ،بسته بندی و مسیریابی است .الیه اینترنت شامل
پروتکل های IPو ( ARPتعیین آدرس کارت شبکه کامپیوتر مقصد)( ICMP ،عیب
یابی و گزارش خطا) و IGMPاست.
سرویس های TCP/IPدر الیه اینترنت شامل برقراری ارتباط ،مسیریابی پیام ،تجزیه و
ترکیب Headerپیغامها ،اعتبارسنجی و بررسی خطا و بررسی وضعیت شبکه است.
این الیه مهمترین الیه در شبکه TCP/ IPاست.
هر بستهی ایجاد شده در این الیه برای ارسال به الیهی Transportداده میشود تا
به دست مقصد برسد.
حال که با مدل TCP/IPآشنا شدیم ،نوبت به مقصود اصلی این تحقیق یعنی مقایسهی
پروتکلهای TCPو UDPمیرسد.
پروتکل TCP
.
12
برای برقراری یک ارتباط گفتاری به وسیله اینترنت ،در الیه انتقال از دو پروتکل TCPو
UDPاستفاده میشود.
مهمترین وظیفه پروتکل TCPاطمینان از صحت ارسال اطالعات است .پروتکل فوق
اصطالحاً «ارتباط اتصالگرا» نامیده میشود .علت این امر ایجاد یک ارتباط مجازی بین
کامپیوترهای فرستنده و گیرنده ،قبل از ارسال اطالعات است .پروتکلهایی از این نوع،
امکانات بیشتری را به منظور کنترل خطاهای احتمالی در ارسال اطالعات فراهم نموده
ولی به دلیل افزایش بار عملیاتی سیستم ،کارایی آنان کاهش خواهد یافت .از پروتکل
TCPبه عنوان یک پروتکل قابل اطمینان نیز یاد میشود .به این علت که برای آگاهی
از صحت اطالعات ارسال شده ،اطالعات دیگری نیز به گیرنده فرستاده میشود .در
صورتی که بستههای اطالعاتی به درستی در اختیار فرستنده قرار نگیرند ،فرستنده
مجدداً اقدام به ارسال اطالعات مینماید.
Handshakeچیست؟
.
13
فرض کنید میخواهید با دوست خود ارتباط برقرار کنید .ابتدا دوست خود را صدا کرده
و هنگامی که او برگشت و به شما نگاه کرد ،سالم می کند و احتماال شما هم در جواب
او سالم می گویید .خب در این سناریو و در مرحله اول شما رفیق خود را صدا می زنید،
در مرحله دوم کلمه سالم را از دوست خود دریافت می کنید و در مرحله سوم هم
جواب دوست خود را با سالم می دهید که با این کار ارتباط شما با دوست خود برقرار
می شود .حاال می توانید ادامه صحبت های خود را با دوستتان در میان بگذارید.
زمانی که شما بخواهید در دنیای اینترنت و شبکه یک ارتباط با سیستم یا سرور برقرار
کنید ،کامپیوتر ها به صورت خودکار یک packetارسال می کنند که با نام syn
شناخته می شود و طرف مقابل که این پیام را دریافت می کند یک پیام syn+ackبه
سمت فرستنده ارسال می کند و فرستنده هم یک ackبه سمت مقابل می فرستد و
ارتباط برقرار می شود .حاال کامپیوتر ما با کامپیوتر مقابل ارتباط برقرار کرده و اقدام به
رد و بدل کردن داده ها و درخواست ها می کنند.
فیلد : source portاین فیلد ۱۶بیتی آدرس پورت فرستنده را به همراه دارد.
فیلد :destination portاین فیلد ۱۶بیتی آدرس پورت مقصد که باید
تحویل داده شود را دارا است.
فیلد :Sequence Numberاین فیلد سی ودو بیتی شماره ترتیب آخرین
بایتی که در فیلد داده از بسته جاری قرار دارد را نشان میدهد.
در پروتکل TCPشماره ترتیب ،بر حسب شماره آخرین بایتی است که در بسته
جاری قرار دارد .به عنوان مثال اگر در این فیلد عدد ۱۹۳۴۱قرار بگیرد به این
معناست که دادهها تا بایت ۱۹۳۴۱درون این فیلد دادهها قرار دارد.
15
فیلد :Acknowledgment numberاین فیلد ۳۲بیتی شماره ترتیبی
بایتی است که گیرنده بسته برای تأیید به فرستنده ارسال میکند؛ برای اعالم
اینکه دادها تا بایتی که در این فیلد قرار دارد به درستی دریافت شدهاست .به
عنوان مثال اگر در این فیلد عدد ۱۲۳۶۵قرار گرفته شود به این معنی است
که دادها تا بایت ۱۲۳۶۵صحیح و کامل دریافت شدهاست و در انتظار
بایتهای ۱۲۳۶۷به بعد میباشد.
فیلد قرارداد هدایت انتقال :Lengthعددی که در این فیلد قرار میگیرد
طول کل سرآیند بسته TCPبر مبنای کلمات ۳۲بیتی را تعیین میکند .به
عنوان مثال اگر در این فیلد عدد ۷قرار بگیرد طول سرآیند بسته برابر با
۴*۷=۲۸بایت خواهد بود (این فیلد کالً چهار بیتی است).
بیتهای پرچم • :بیت :URGدر صورتی که در این بیت عدد ۱قرار گیرد
معین میشود که در فیلد Urgent Pointerمقدار قابل معتبری قرار دارد
و بایستی مورد پردازش قرار گیرد • .بیت :ACKاگر در این بیت عدد ۱قرار
داشته باشد به این معنا است که در فیلد Acknowledgment number
عدد معتبری قرار دارد .بیتهای ACKو SYNنقش دیگری نیز دارند که در
ادامه بدان اشاره خواهد شد • .بیت :PSHاگر این بیت مقدار ۱قرار گرفته
باشد از گیرنده تقاضا میشود که دادههای موجود را بافر نکرده و در اسرع
وقت تحویل برنامه کاربردی صاحب آن شود • .بیت :RSTاگر در این بیت
عدد ۱قرار گرفته شود به این معنی است که این ارتباط به صورت یک طرفه
خاتمه یافتهاست • .بیت :SYNاین بیت نقش اساسی در ارتباط یک بسته
TCPبازی میکند .برقراری ارتباط یک طرفه TCPاز روند زیر تبعیت
میکند :شروعکننده ارتباط یک بسته TCPبدون هیچ دادهای و با تنظیم
16
بیتهای SYN =۱و ACK=0تقاضای یک ارتباط جدید میکند .در صورتی
که طرف مقابل تمایل به بر قراری ارتباط داشته باشد برای طرف مقابل یک
بسته با قرار دادن بیتهای SYN =۱و ACK=1تمایل خود را برای برقراری
ارتباط به طرف مقابل اعالم میکند • بیت :FINاگر یکی از طرفین هیچ داده
دیگری برای فرستادن نداشته باشد این بیت را در آخرین بسته برابر ۱قرار
میدهد و ارتباط را یک طرفه قطع میکند .باید توجه داشت که ارتباط هنوز
بهطور کامل قطع نشدهاست و باید طرف مقابل نیز در آخرین بسته خود این
فیلد را برابر ۱قرار داده تا ارتباط به طور کامل قطع شود.
فیلد :Window sizeمقدار قرار گرفته در این فیلد مشخص میکند که
مقدار بافر گیرنده چند بایت دیگر فضای خالی دارد.
فیلد :Checksumدر این فیلد ۱۶بیتی کد کشف خطا قرار میگیرد.
فیلد :TCP Segment lengthدر آن طول کل بسته TCPقرار میگیرد.
فیلد :Urgent Pointerدر این فیلد عدد به عنوان اشاره گر قرار میگیرد
که موقعیت دادههای اضطراری را درون بسته مشخص میکند .این دادهها
زمانی اتفاق میافتد و ارسال میشود که عملی شبیه وقوع وقفه در هنگام
اجرای یک برنامه کاربردی رخ دهد .بدون آنکه ارتباط قطع شود دادهها درون
همین بسته جاری قرار گرفته و ارسال میشود .الزم است ذکر شود که از این
فیلد در الیههای باالتر استفاده میکنند.
17
.
18
پروتکل UDP
.
قرارداد بسته داده کاربر یا پروتکل بسته داده کاربر (به انگلیسی UDP :یا User
)Datagram Protocolیکی از اجزاء اصلی مجموعه پروتکل اینترنت ،مجموعهای از
پروتکلهای شبکه که در اینترنت مورد استفاده قرار میگیرند ،میباشد .رایانهها با
استفاده از UDPقادر به ارسال پیغام ،که در این مورد آن را بسته داده یا Datagram
مینامیم ،به دیگر میزبانهای موجود در پروتکل اینترنت ( )IPمیباشند .این پروتکل
توانایی این را دارد که این کار را بدون برقراری ارتباط قبلی یا ایجاد کانالها یا
مسیرهای انتقال داده ویژه انجام دهد .پروتکل مزبور در سال ۱۹۸۰توسط دیوید پی.
رید ابداع گردیده و بهطور رسمی در استاندارد RFC 768تعریف شد.
19
بر خالف TCPدر این پروتکل هیچ گونه پیام ackمبنی بر دریافت پکت از سوی سرور
ارسال نشده و بیشتر در مواردی مانند انتقال صوت VOIPیا ویدئو که پهنای باند در
این موارد از اهمیت باالیی برخوردار است بکار می رود زیرا در صورت استفاده از
پروتکل TCPجهت انتفال این ترافیک هر پیام ackبه ازای دریافت پکت خود باعث
اشغال پهنای باند خواهد شد.
.
UDPاز مدل انتقال ساده بدون استفاده از تکنیک دست دادن ( )Handshakeصریح
که برای ایجاد قابلیت اطمینان ( ،)Reliabilityمرتبسازی و یکپارچهسازی دادهها
بکار میرود ،بهره میجوید؛ بنابراین UDP ،سرویس غیرمطمئنی را ارائه میدهد و
ممکن است بسته دادهها نامرتب یا تکراری بوده و یا بدون اطالع قبلی از دست بروند.
UDPتشخیص میدهد که بررسی خطا و تصحیح آن با توجه به نوع کاربردی که دارد
الزم نبوده یا نباید اجرا شود ،بنابراین چنین بار اضافی پردازشی را بر شبکه تحمیل
نمیکند .برنامههایی که نسبت به زمان حساس هستند از UDPاستفاده میکنند ،زیرا
از دست دادن بستهها بهتر از منتظر ماندن برای بسته هاست؛ بنابراین پروتکل UDP
بهترین گزینه برای سیستمهای بیدرنگ به حساب میآید .اگر برنامهای نیاز به امکانات
تصحیح خطا در سطح واسط شبکه داشته باشد ،میتواند از قرارداد کنترل انتقال (به
20
انگلیسی TCP :یا )Transmission Control Protocolیا پروتکل انتقال کنترل
جریان (به انگلیسی SCTP :یا )Stream Control Transmission Protocol
استفاده کند که بهطور خاص برای این منظور طراحی شدهاند.
.
پرسشی که مطرح میشود این است که ما چرا باید به یک پروتکل غیر قابل اتکا برای
انتقال داده نیاز داشته باشیم؟ ما از UDPجایی استفاده میکنیم که تأیید وصول
بستهها پهنای باند قابل توجهی را به همراه دادههای واقعی اشغال میکند .برای نمونه
در مورد استریم کردن ویدئو ،هزاران بسته به سمت کاربران فوروارد میشوند .تأیید
وصول همه این بستهها دشوار است و میتواند موجب هدررفت پهنای باند زیادی شود.
بهترین مکانیسم تحویل پروتکل IPزیرین ،نهایت تالش را برای تحویل بستههایش
21
تضمین میکند ،اما حتی اگر برخی بستهها در جریان استریم کردن ویدئو از دست
بروند ،تأثیر آن زیاد نیست و میتوان آن را به سادگی نادیده گرفت .فقدان چند بسته
در ترافیک ویدئویی و صوتی در اغلب موارد اصالً قابل تشخیص نیست .فلذا در این
موارد ،بهتر است که از پروتکل UDPاستفاده شود.
در مورد UDPبر خالف TCPمورد مهم و قابل توجهی وجود دارد که برنامههای
مبتنی بر این پروتکل قابلیت جلوگیری از ازدحام و مکانیزم کنترلی خوبی نیستند.
برنامههای UDPای که به مسئله ازدحام توجهی نمیکنند و میزان قابل توجهی از
پهنای باند را نیز اشغال میکنند ،میتوانند ثبات اینترنت را به مخاطره بیندازند.
مکانیزمهای مبتنی بر شبکهای وجود دارد که برای به حداقل رساندن تأثیرات مخرب
ترافیکهای کنترل نشده UDPارائه شدهاند .اجزاء مبتنی بر شبکه نظیر روترها که از
22
تکنیکهای صف بندی و حذف بستهها استفاده میکنند ،تنها ابزار موجود برای کاهش
دادن ترافیک حجیم برنامههای مبتنی بر UDPمیباشند .پروتکل کنترل ازدحام بسته
داده (به انگلیسی DCCP :یا )Datagram Congestion Control Protocolراه
حلی نسبی برای حل این مشکل بالقوه است .این پروتکل با افزودن رفتار کنترلی مشابه
TCPدر سیستم میزبان ،جریانهای شدید UDPرا کنترل میکند.
آیانا ( )IANAیا انجمن شمارههای تخصیص یافته اینترنتی ،شماره پورتها را به سه
دسته تقسیم کردهاست :پورتهای بین ۰تا ۱۰۲۳برای سرویسهای شناخته شده و
عمومی آزادند .پورتهای بین ۱۰۲۴و ۴۹٬۱۵۱پورتهای ثبت شده هستند و برای
سرویسهای مخصوص IANAدر نظر گرفته شدهاند .پورتهای بین ۴۹٬۱۵۲تا ۶۵٬۵۳۵
پورتهای دینامیکی هستند که بهطور رسمی برای سرویس خاصی در نظر گرفته
نشدهاند و میتوان برای هر منظوری استفاده کرد.
23
ساختار بستههای پروتکل UDP
.
UDPتسهیمسازی برنامه (از طریق شماره پورت) و بررسی یکپارچگی (با استفاده از
چکسام) سرایند و بخش دادهای را فراهم میآورد .اگر مطمئن بودن انتقال موردنظر
باشد ،بایستی این امکان در برنامه کاربر تعبیه شود.
24
انجام میشود( .فرایند مقیدسازی پروسه به یک پورت در TCPو UDPتفاوتی ندارد)
در حقیقت ،آنچه که UDPدر مقایسه با IPمعمولی اضافهتر دارد پورتهای مبدأ و
مقصد هستند .بدون فیلدهای مربوط به پورت ،الیه انتقال نمیداند که با یک بسته چه
کار کند .با این فیلدها ،داده به درستی تحویل پروسه مربوط خواهد شد .برای آنکه
بتوان برای پروسه مبدأ پاسخی برگرداند ،به شماره پورت مبدأ نیاز است .بدین منظور
محتوای فیلد پورت مبدأ از بسته ورودی ،در فیلد پورت مقصد از بسته خروجی ،کپی و
ارسال میشود .بدین ترتیب فرستنده پاسخ ،پروسه تحویل گیرنده بسته را مشخص
مینماید .سرایند UDPدارای ۴ستون ،طول هر کدام ۲بایت ( ۱۶بیت) و استفاده از
دو تای آنها در IPv4اختیاری است .در IPv6تنها استفاده از شماره پورت مبداً
اختیاری میباشد.
Source Port
این فیلد شماره پورت فرستنده را مشخص میکند و زمانی معنا پیدا میکند که برای
پاسخ دادن احتیاج به شماره پورت فرستنده داشته باشیم .اگر از آن استفاده نشود ،عدد
صفر در آن قرار میگیرد .اگر میزبان مبدأ یک کالینت باشد ،شماره پورت به احتمال
زیاد یک شماره پورت موقتی (دسته سوم) خواهد بود .اگر میزبان مبدأ یک سرور باشد،
احتماالً شماره پورت جزو پورتهای عمومی (دسته اول) خواهد بود.
Destination Port
این فیلد شماره پورت مقصد را نشان میدهد و وجود آن الزامیست .همانند شماره
پورت مبدأ ،اگر کالینت ،میزبان مقصد باشد ،شماره پورت به احتمال زیاد جزو
25
پورتهای موقتی خواهد بود و اگر میزبان مقصد یک سرور باشد شماره پورت جزو
دسته اول خواهد بود.
Length
فیلدی که طول کل بسته داده را بر حسب بایت نشان میدهد .حداقل طول ۸بایت
است که متعلق به طول سرآیند میباشد .اندازه فیلد بهطور تئوریک ۶۵٬۵۳۵بایت (۸
بایت برای سرآیند ۶۵٬۵۲۷ +بایت برای داده) برای بسته داده UDPاست .اما حداکثر
اندازه عملی برای IPv4عبارت است از ۶۵٬۵۰۷بایت ۸–۶۵٬۵۳۵( .بایت برای سرآیند
یو دی پی ۲۰ -بایت برای سرآیند .)IPعدم استفاده از این فیلد نوعی سهل انگاری
است مگر اینکه کیفیت دادهها چندان مهم نباشد( .مثالً در مورد صدای دیجیتال)
Checksum
فیلد چکسام برای بررسی خطای سرایند و داده استفاده میشود .اگر هیچ چکسامی
توسط فرستنده تولید نشود ،این فیلد با صفر پر میشود .فیلد مزبور در IPv6اختیاری
نیست.
26
قابلیتهای پروتکل UDP
زمانی استفاده میشود که تأیید وصول بستههای داده تأثیر چندانی نداشته باشد.
پروتکل خوبی برای گردش دادهها در یک جهت محسوب میشود.
برای ارتباطهای مبتنی بر کوئری ساده و مناسب است.
اتصال-محور نیست.
مکانیسم کنترل ازدحام ندارد.
تحویل دادهها را بر مبنای ترتیب تضمین نمیکند.
«بیحالت» ( )statelessاست.
پروتکل مناسبی برای استریم کردن اپلیکیشنهایی مانند VoIPو استریم کردن
چندرسانهای محسوب نمیشود.
27
مناسب برای مشتریان به تعداد زیاد ،مانند برنامه های streaming media
مثل. IPTV
پروتکل مدیریت شبکه ساده.
پروتکل انتقال فایل آزمایشی.
پروتکل. Kerberos
و ...
.
28
تفاوتها
UDP TCP موارد
قابل اعتماد نیست ،تحویل داده قابل اعتماد است به طوری که قابلیت اعتماد
های ارسال شده را توسط گیرنده، تضمین میکند داده های ارسال
تضمین نمیکند و حتی اطالعات شده را به گیرنده تحویل دهد. )(Reliability
ارسال شده ،ممکن است از بین چنانچه قسمتی از اطالعات در
برود و یا خراب شود. فرایند ارسال از بین برود ،آن را
بازیابی و مجددا ارسال می کند.
از کنترل جریان استفاده نمی کند؛ از مکانیزم کنترل جریان استفاده کنترل جریان
بنابراین packet ،ها در فرایند میکند تا مطمئن شود ،فرستنده به
جریان مداوم ،یا ارسال می شوند و یکباره حجم زیادی از اطالعات را )(Flow Control
یا از بین میروند. ارسال نکند.
تضمین می کند پکت ها ،به ترتیب و ترتیب ارسال UDPبر هیچ مبنای ترتیب و مرتبسازی
خاصی قرار ندارد. بر اساس تاریخ ارسال شوند.
)(Ordering
بسیار سریعتر از TCP خیلی کندتر از UDPاستTCP . سرعت
میباشد. می بایست یک connection
ایجاد کند ،خطاهای احتمالی را )(Speed
بررسی کند و همچنین فایل ها را،
همان طور که ارسال شده ،دریافت
کند.
29
شباهتها
هر دو متداول ترین روش برای ارسال packetاز طریق اینترنت هستند و هر دو آن ها
روی الیه Transportپروتکل کار می کنند .در ضمن هر دو از پروتکل IPاستفاده
می کنند.
.
کاربردها
پروتکل :TCP
برای برنامه هایی استفاده می شود که نیاز به قابلیت اطمینان باالیی وجود داشته باشد
و سرعت در آن ها خیلی اهمیت نداشته باشد .مانند:
30
• World Wide Web (HTTP, HTTPS)
• Secure Shell (SSH)
• File Transfer Protocol (FTP)
• Email (SMTP, IMAP/POP)
:UDP پروتکل
: مانند.برای برنامه هایی استفاده می شود که نیاز به سرعت و کارایی داشته باشند
• Streaming videos
• Online games
• Live broadcasts
• Domain Name System (DNS)
• Voice over Internet Protocol (VoIP)
• Trivial File Transfer Protocol (TFTP)
31
مزایای TCP
به شما کمک می کند تا بین انواع مختلف رایانه ارتباط برقرار کرده و آنها را
راهاندازی کنید.
مستقل از سیستم عامل کار میکند.
از بسیاری از پروتکل های مسیریابی پشتیبانی می کند.
internetworkingرا بین سازمان ها امکان پذیر می کند.
مدل TCP / IPدارای معماری سرور -مشتری بسیار مقیاس پذیر است.
به طور مستقل قابل استفاده است.
32
معایب TCP
هرگز انتقال را انجام نمی دهد بدون اینکه به طور واضح از تمام داده های در
حال حرکت سوال کند.
نمیتوانید از آن برای برادکست یا مالتی کست استفاده کنید.
هیچگونه محدودیت بلوکیای ندارد ،بنابراین مجبورید که خودتان آن را ایجاد
کنید.
ویژگی های بسیاری را ارائه می دهد که شما نمی خواهید .ممکن است پهنای
باند ،زمان یا تالش را هدر دهد.
در این مدل الیه حمل و نقل تحویل بسته ها را تضمین نمی کند.
جایگزینی پروتکل در TCP / IPکار آسانی نیست.
جدایی واضحی از سرویس ها ،رابط ها و پروتکل های خود ارائه نمی دهد.
33
.
مزایای UDP
✓ هرگز شما را به یک مدل ارتباطی مبتنی بر اتصال محدود نمی کند .به همین
دلیل تأخیر راه اندازی در برنامه های توزیع شده کم است.
✓ گیرنده بسته های UDPآنها را کنترل نمی کند ،که این شامل مرزهای بلوک
نیز میباشد.
✓ از برادکست و مالتی کست نیز پشتیبانی میکند.
34
معایب UDP
در پروتکل UDPبسته ای ممکن است دو بار تحویل داده شده و یا اصال
تحویل داده نشود .همچنین ممکن است خارج از نوبت تحویل داده شود و
هیچ نشانه ای دریافت نکنید.
روترها نسبت به UDPکامالً بی احتیاط هستند ،بنابراین در صورت برخورد
هرگز آن را دوباره انتقال نمی دهند.
هیچ کنترل ازدحام و کنترل جریانی ندارد؛ بنابراین پیاده سازی وظیفهی
برنامه کاربر است.
35
منابع و مآخذ
❖ https://www.udemy.com/course/ccna-complete/
❖ https://www.datisnetwork.com/tcp-ip.html
❖ https://falnic.com/blog/what-is-tcp-ip.html
❖ https://ezhost.ir/1300/%D9%85%D8%AF%D9%84-tcpip-
%DA%86%DB%8C%D8%B3%D8%AA%D8%9F
❖ https://www.arvancloud.com/help/fa/article/360013185699-
%D9%85%D8%AF%D9%84-TCP-IP-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F
❖ https://fa.wikipedia.org/wiki/%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8
%AF_%D9%87%D8%AF%D8%A7%DB%8C%D8%AA_%D8%A7%D9%86%D8%AA%D9%82
%D8%A7%D9%84
❖ https://itbaz.net/10004/tcp-protocol/
❖ https://kaliboys.com/tcp/
❖ https://fa.wikipedia.org/wiki/%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8
%AF_%D9%87%D8%AF%D8%A7%DB%8C%D8%AA_%D8%A7%D9%86%D8%AA%D9%82
%D8%A7%D9%84
❖ https://www.datisnetwork.com/udp-protocol.html
❖ https://blog.shetabanhost.com/what-is-udp/
❖ https://blog.faradars.org/udp-protocol/
❖ https://netpardazco.com/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-
%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84-tcp-%D9%88-udp-
%D8%AF%D8%B1-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F/
❖ https://asapardazesh.ir/7163-2/
❖ https://www.datisnetwork.com/udp-vs-tcp.html
❖ https://fa.wikipedia.org/wiki/%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8
%AF_%D8%AF%D8%A7%D8%AF%D9%87%E2%80%8C%D9%86%DA%AF%D8%A7%D8%B
1_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1
❖ https://setakit.com/tcp-vs-udp/
❖ http://w3design.ir/udp/
❖ https://sabadit.com/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-tcp-%D9%88-udp/
❖ https://www.shabakekala.com/%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-
%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84-udp-
%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84/
36