UDP - FullCode.ir
Download
Report
Transcript UDP - FullCode.ir
User Datagram
Protocol
1
TCP/IP در پروتکلUDP جایگاه
TCP/IP Protocol Suite
2
مشخصات UDP
UDPپروتکلی بدون اتصال و غیر قابل اطمینان است UDP .پروتکل ساده ای با حداقل سربار می
باشد.
3
TCP/IP Protocol Suite
شماره ی پورتها
در UDPاز شماره پورتها برای مشخص کردن فرآیند ها استفاده می شود .یک پورت 16بیتی
است و محدوده ی آن از 0تا 65535می باشد.
فرآیند کالینت خود را با شماره پورتی تعریف می کند که به آن شماره پورت بی دوام می گویند و
توصیه می شود از 1023بزرگتر باشد.
فرآیند سرور نیز خود را با شماره پورتی تعریف می کند که شماره پورت معروف و در محدوده
ی 0تا 1023است
4
TCP/IP Protocol Suite
مقایسه ی آدرس IPشماره ی پورت
آدرسهای آی پی دستگاهها را مشخص می کنند
شماره پورتها فرآیند ها را مشخص می کنند
5
TCP/IP Protocol Suite
محدوده های ICANN
ICANN: International Corporation for Assigned Names and Numbers
پورتها معروف :از 0تا 1023توسط ICANNاختصاص یافته و کنترل می شوند.
پورتهای ثبت شده :پورتهایی در محدوده ی 1024تا 49,151اختصاص یافته و کنترل شده
توسط ICANNنیستند .تنها می توانند با ICANNبرای جلوگری از تکرار ثبت شوند.
پورتهای پویا :در محدوده ی 49,152تا 65,535نه کنترل شده و نه ثبت شده هستند .تنها
برای اعداد خصوصی استفاده می شوند
6
TCP/IP Protocol Suite
پورتهای معروف مورد استفاده در UDP
7
TCP/IP Protocol Suite
آدرس سوکت
آدرس سوکت :ترکیبی از آدرس IPو شماره ی پورت می باشد
8
TCP/IP Protocol Suite
مثال 1
یک کالینت SNMPمقیم در میزبانی با آدرس 132.23.43.31 IPپیغامی را به سرور
( SNMPپورت (161:مقیم در یک میزبان با آدرس 32.23.2.1ارسال می کند .دو سوکت
استفاده شده در این ارتباط چیست؟
حل :در کالینت ،آدرس سوکت ترکیب آدرس IPو پورت بی دوام Xاست (132.23.43.31,
) .Xدر سرور ،آدرس سوکت ) (32.23.2.1, 161است.
9
TCP/IP Protocol Suite
فرمت دیتا گرام کاربر
بسته ی UDPرا دیتا گرام می نامند و دارای سرآیندی با طول ثابت 8بایت است.
کنترل خطا برای دیتا گرام کاربر
10
TCP/IP Protocol Suite
بسته بندی و باز کردن بسته های
:UDPسرویس بدون اتصال است
دیتا گرامهای کاربر دارای شماره نیستند
رابطه ای میان دیتا گرامها وجود ندارد حتی اگر از کاربر یکسانی رسیده باشند
:UDPسرویس بدون اطمینانی است
هیچ کنترل خطا و جریانی در آن
انجام نمی شود
11
TCP/IP Protocol Suite
صف ها در UDP
یک صف ورودی و یک صف خروجی برای فرستادن و دریافت اطالعات وجود دارد.
صفها معموالً با شماره ی پورتها مشخص می شوند.
12
TCP/IP Protocol Suite
کاربردهای UDP
• UDPبرای فرآیندی که به ارتباط ساده که در آن کنترل خطا و جریان اهمیت ندارد
مناسب می باشد.
• UDPبرای فرآیندی با مکانیز کنترل خطا و جریان داخلی مناسب است مثل Trivial
)File Transfer Protocol (TFTP
• UDPبرای پروتکل انتقال برای مولتی کستینگ مناسب است
• UDPبرای فرآیندهای مدیریتی مثل SNMPمناسب است.
• UDPبرای پروتکلهای به روز رسانی مانند Routing Information Protocol
) (RIPمناسب است
13
TCP/IP Protocol Suite
Transmission
Control Protocol
14
ویژگیهای TCP
•
•
•
TCPپروتکلی اتصال گرا است
TCPپروتکلی قابل اطمینان است
TCPارتباطی دو طرفه کامل ( )full-duplexاست
TCPاز شماره ی پورت برای مشخص کردن و تشخیص فرآیندها استفاده می کند.
بسته در TCPرا قطعه ( )segmentمی گویند
15
TCP/IP Protocol Suite
پورتهای معروف استفاده شده در TCP
16
TCP/IP Protocol Suite
بافرهای فرستادن و دریافت کردن
یک بافر حلقوی برای ارسال و دریافت داده ها استفاده می شود.
بایتهای فرستاده شده از بافر پس از اعالم وصول شدن خارج می شوند
17
TCP/IP Protocol Suite
سیستم شماره گذاری
TCPبایتهای داده ای را که در هر اتصال انتقال می یابند شماره گذاری می کند.
اعداد از یک شماره ی تصادفی شروع می شوند.
مقداری که در فیلد شماره ی ترتیب یک سگمنت وجود دارد ،شماره ی اولین بایت داده ای را در آن سگمنت
مشخص می کند.
مقدار فیلد اعالم وصول در سگمنت ،شماره ی بایت بعدی که انتظار می رود دریافت شود را تعریف می کند.
18
TCP/IP Protocol Suite
مثال 1
فرض کنید یک اتصال TCPدر حال انتقال فایلی با طول 3000بایت است .اولین بایت با 10001
شماره گذاری می شود .شماره ی ترتیب برای هر سگمنت در صورتی که داده ها در سه سگمنت
فرستاده شوند و هر کدام 1000بایت را منتقل کنند ،چیست؟
حل
قسمت اول شماره ی ترتیب را برای هر سگمنت نشان می دهد
)Segment 1 ➡ Sequence Number: 10,001 (range: 10,001 to 11,000
)Segment 2 ➡ Sequence Number: 11,001 (range: 11,001 to 12,000
)Segment 3 ➡ Sequence Number: 12,001 (range: 12,001 to 13,000
19
TCP/IP Protocol Suite
فرمت سگمنت TCP
سرآیند TCPشامل 20تا 40بایت است.
20
TCP/IP Protocol Suite
Control field
اورژانسی معتبر است
مقدار فیلد اشاره گر ِ
مقدار فیلد اعالم وصول معتبر است
داده های پوش
اتصال باید بازنشانی شود
همزمانی شماره های ترتیب در حین اتصال
پایان دادن اتصال
21
TCP/IP Protocol Suite
Figure 3
اتصال TCP
TCPاتصال گرا است .یک پروتکل انتقال اتصال گرا ،مسیری مجازی میان
مبدا و مقصد ایجاد می کند .سپس تمام سگمنتهای یک پیغام از این مسیر
مجازی فرستاده می شوند.
یک انتقال اتصال گرا به سه فاز نیاز دارد:
) (1ایجاد اتصال
) (2انتقال داده
) (3قطع اتصال
22
TCP/IP Protocol Suite
ایجاد اتصال با استفاده از تبادل سه طرفه
:Rwndاندازه ی پنجره ی دریافت کنند
23
TCP/IP Protocol Suite
ایجاد اتصال در TCP
سرور باید آماده ی قبول اتصاالت باشد ،یعنی بطور انفعالی باز باشد.
کالینت درخواستی را برای باز کردن فعال صادر می کند.
) (1ابتدا کالینت یک سگمنت SYNمی فرستد ،یعنی سگمنتی که پرچم SYNآن یک است.
یک سگمنت SYNنمی تواند هیچ داده ای را منتقل کند ،فقط یک شماره ی ترتیب دارد.
این شماره ی ترتیب را شماره ی ترتیب اولیه ( )ISNمی گویند.
( )2پس از آنکه سگمنت SYNرا سرور دریافت کرد ،یک سگمنت SYN+ACKرا می فرستد.
سگمنت دارای دو پرچم یک شده است SYN :و ، ACKو همچنین دارای اندازه ی پنجره است که
نشان دهنده ی حداکثر تعداد بایتهایی است که می توانند فرستاده شوند سگمنت SYN+ACKنمی
تواند داده ای را منتقل کند ،اما یک شماره ی ترتیب را مصرف می کند.
( )3پس از دریافت ، SYN+ACKکالینت یک سگمنت ACKبه سرور می فرستد .سگمنت ACKاگر
داده ای نداشته باشد ،هیچ شماره ی ترتیبی مصرف نمی کند.
اکنون اتصال TCPبرقرار شده است.
24
TCP/IP Protocol Suite
حمله ی سر ریز SYN
روال ایجاد اتصال در TCPدارای مساله ی حمله ی سرریز SYNاست.
یک حمله کننده با سوء نیت تعداد زیادی سگمنت SYNبا استفاده از آدرسهای IPجعلی به سرور می فرستد.
سرور فرض می کند که کالینت یک باز کردن فعال درخواست کرده و منابع را به آن اختصاص می دهد .در این
زمان ،منابع زیادی بدون اینکه استفاده شوند اختصاص داده شده اند .سپس سرور سگمنتهای SYN+ACKرا به
کالینتهای جعلی می فرستد که گم می شوند .در این زمان ،سرور ممکن است با کمبود منبع مواجه شود و یا حتی
دچار خرابی شود .به این گونه حمالت رد حمله ی سرویس ( )denial of service attackمی گویند.
محافظت:
25
( )1محدود کردن تعداد اتصاالت در حین یک دوره زمانی خاص
( )2فیلتر کردن سگمنتها از آدرس منابع نامطلوب
( )3تاخیر در تخصیص منابع تا زمانی که کل اتصال برقرار شود
TCP/IP Protocol Suite