در شبکههای کامپیوتری، ToS یا سرویسهای کیفیت خدمات، اطلاعات مربوط به نحوه ارسال دادهها در شبکه را تعریف میکنند. برای تشخیص نوع دادههای مختلف مانند صدا، تصویر، ارتباط تلفنی و تلویزیونی، از مکانیزمهای مختلف استفاده میشود.
در شبکههای IP، معمولاً از تکنولوژیهای مختلفی برای تشخیص نوع دادهها استفاده میشود. به عنوان مثال، برای تشخیص و تفکیک دادههای صوتی و تصویری میتوان از پروتکلهای مانند RTP (Real-time Transport Protocol) و RTCP (Real-time Control Protocol) استفاده کرد. این پروتکلها به اطلاعات هدف دادهها، اطلاعات تاخیر، کیفیت و دیگر مشخصههای مرتبط با انتقال دادههای صوتی و تصویری کمک میکنند.
برای ارتباط تلفنی، از پروتکلهای VoIP (Voice over IP) مانند SIP (Session Initiation Protocol) برای برقراری و مدیریت تماسهای صوتی استفاده میشود. این پروتکلها امکان تشخیص نوع اطلاعات صوتی و مدیریت ارتباطات تلفنی را فراهم میکنند.
همچنین، برای ارتباط تلویزیونی، از پروتکلهای مختلفی مانند IPTV (Internet Protocol Television) استفاده میشود که به انتقال تصاویر و ویدئوها از طریق پروتکلهای شبکه میپردازند.
در کل، تشخیص نوع دادهها در شبکههای کامپیوتری به وسیلهی پروتکلها و مکانیزمهای مختلفی که اطلاعات مرتبط با نوع و کاربرد دادهها را به همراه دارند، انجام میشود.
ToS (Type of Service) یک فیلد در هدر پروتکل IP (Internet Protocol) است که برای تعیین اولویت و نوع خدمات در حین ارسال دادهها در شبکههای کامپیوتری استفاده میشود. این فیلد بهطور کلی شامل 8 بیت است که به عنوان "ToS Byte" شناخته میشود. این 8 بیت به ترتیب از سمت چپ به راست، با ارزش واحدهای 2 به توان 7 تا 2 به توان 0 (بهترتیب) نشاندهندهی ویژگیهای مختلف دادهها میباشند.
+----+----+----+----+----+----+----+----+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+----+----+----+----+----+----+----+----+
+----+----+----+----+----+----+----+----+
|0or1|0or1|0or1|0or1|0or1|0or1|0or1|0or1|
+----+----+----+----+----+----+----+----+
| P | D | D | T | R | R | R | X |
| r | e | e | h | e | e | e | |
| e | l | l | r | l | l | l | R |
| c | a | a | o | i | i | i | e |
| e | y | y | u | a | a | a | s |
| d | | | g | b | b | b | e |
| e | | | h | i | i | i | r |
| n | | | | t | t | t | v |
| c | | | | y | y | y | e |
| e | | | | | | | d |
+----+----+----+----+----+----+----+----+
در زیر توضیح مختصری از هر بیت از ToS Byte آمده است:
1. بیت 7 (بیت اول):
Precedence (اولویت) - این بیت به اولویت دادهها در شبکه اشاره دارد. مقدار بیتهای 7 تا 5 این فیلد تعیینکنندهی سطح اولویت است.
2. بیتهای 6 و 5:
Delay (تاخیر) - این بیتها نشاندهندهی تاخیر مجاز در انتقال دادهها هستند.
3. بیت 4:
Throughput (نرخ انتقال) - این بیت نشاندهندهی نرخ انتقال دادهها در شبکه است.
4. بیت 3:
Reliability (قابلیت اطمینان) - این بیت نشاندهندهی قابلیت اطمینان در انتقال دادهها است.
5. بیتهای 2 تا 0:
Reserved (رزرو) - این بیتها بهطور عمومی برای استفادههای آینده رزرو شدهاند.
برای تشخیص نوع دادهها بیت به بیت، سیستمهای مختلف میتوانند از الگوریتمها و تحلیلهای مختلف استفاده کنند. به عنوان مثال، اگر به دادههای صوتی و تصویری نیاز دارید، میتوانید از پروتکلهای مختلفی مانند RTP استفاده کنید که اطلاعات مربوط به نوع داده را در خود دارند. همچنین، تشخیص نوع دادهها میتواند براساس پورتها و پروتکلهای مورد استفاده برای ارتباطات انجام شود.
در کل، تشخیص نوع دادهها از طریق ToS Flag و تحلیل اطلاعات دیگر میتواند از طریق پروتکلها و الگوریتمهای مختلفی انجام شود.
به منظور تشخیص نوع دادهها و تعیین اولویت در شبکههای کامپیوتری، علاوه بر فیلد ToS در هدر IP، از مفاهیم دیگری نیز استفاده میشود که به کمک آنها میتوان نوع دادهها را تشخیص داده و به طور متناسب با نیازهای خاص آنها را انتقال داد.
1. Differentiated Services (DSCP):
این فیلد در هدر IP جهت تشخیص نوع دادهها و اعمال سطوح مختلف خدمات بر روی آنها استفاده میشود. DSCP از 6 بیت از فیلد ToS استفاده میکند و با ترکیب این 6 بیت میتوان تا 64 سطح مختلف از خدمات را تعریف کرد.
2. Explicit Congestion Notification (ECN):
این مکانیزم برای تشخیص و اطلاعرسانی در مورد شدت ترافیک و شلوغی در شبکه استفاده میشود. این مفهوم به شبکه اجازه میدهد که به دستگاههای ارسال کننده اعلام کند که آیا شبکه بافت شده است یا خیر.
3. Packet Filtering and Deep Packet Inspection:
در مواردی که نیاز به تشخیص نوع دقیقتر دادهها دارید، میتوانید از فیلترینگ پکت (Packet Filtering) یا بررسی عمیق پکت (Deep Packet Inspection) استفاده کنید. این روشها اطلاعات دقیقتری از ساختار دادهها و پروتکلهای مورد استفاده درون پکت را تجزیه و تحلیل میکنند.
4. پورتها و پروتکلهای بالای لایهی اپلیکیشن:
تشخیص نوع دادهها ممکن است از طریق پورتها و پروتکلهایی که در لایهی اپلیکیشن استفاده میشوند، انجام شود. به عنوان مثال، از پورتهای استانداردی مانند پورت 80 برای HTTP یا پورت 443 برای HTTPS میتوان استفاده کرد تا نوع دادهها (وب سایت ها) را تشخیص داد.
5. پروتکلهای خاص:
برخی از پروتکلهای خاص تعیین نوع دادهها را آسانتر میکنند. به عنوان مثال، در شبکههای تلفنی، از پروتکلهایی مانند SIP برای تشخیص تماسهای صوتی و تلفنی استفاده میشود.
6. پیکربندی ترافیک اساسی (Traffic Shaping):
با استفاده از تکنیکهای پیکربندی ترافیک، میتوانید بر اساس نوع دادهها، ترافیک را مدیریت کرده و اولویت بدهید. این به شما امکان میدهد تا ترافیک صوتی یا تصویری را در مقابل ترافیک دادههای معمولی اولویت دهید.
به طور خلاصه، تشخیص نوع دادهها در شبکههای کامپیوتری به وسیلهی ترکیبی از فیلدها و مفاهیم مختلف انجام میشود. این تشخیص میتواند بر اساس ویژگیهای ToS Flag، DSCP، پورتها، پروتکلها و تکنیکهای دیگری که در این پاسخ معرفی شدند، انجام شود.
1. Differentiated Services (DSCP):
این فیلد در هدر IP برای اعمال اولویتبندی و کنترل خدمات در شبکه استفاده میشود. مقادیر DSCP تا 64 سطح مختلف خدمات را تعریف میکنند. برخی مقادیر DSCP معروف عبارتند از:
- EF (Expedited Forwarding):
اولویت بالا برای دادههایی که تاخیر پایین و بیقطعیت حداقلی میخواهند (مثلاً صدا و تصویر در زمان واقعی).
- AF (Assured Forwarding):
دستهای از مقادیر برای ارائه خدمات با اولویت و در عین حال تحمل شلوغی.
- CS (Class Selector):
سه دسته اولویت با نام CS0 تا CS7 که به صورت سطوح اولیه DSCP تعیین میشوند.
2. Explicit Congestion Notification (ECN):
این مکانیزم با استفاده از دو بیت در هدر IP، به دستگاههای ارسال کننده اطلاع میدهد که آیا شبکه شلوغ است یا خیر. این دو بیت به نام ECN Field هستند که در بیتهای 6 و 7 فیلد ToS قرار دارند.
3. پورتها و پروتکلهای بالای لایهی اپلیکیشن:
برای تشخیص نوع دقیقتر دادهها، از شماره پورتها و پروتکلهای بالای لایهی اپلیکیشن استفاده میشود. به عنوان مثال، پورت 80 برای HTTP و پورت 443 برای HTTPS.
4. پیکربندی ترافیک اساسی (Traffic Shaping):
با استفاده از تکنیکهای پیکربندی ترافیک، میتوانید از الگوریتمهای مختلفی مثل Token Bucket یا Leaky Bucket برای کنترل ترافیک و اعمال اولویتبندی بر اساس خصوصیات دادهها استفاده کنید.
5. Deep Packet Inspection (DPI):
این روش به تجزیه و تحلیل محتوای دقیق دادهها در پکتها میپردازد. با تحلیل ساختار دادهها و سرآیندهای پروتکلها، میتوان نوع دقیق دادهها را تشخیص داد و بر اساس آن اقدام کرد.
در نهایت، تشخیص نوع دادهها در شبکههای کامپیوتری به وسیله ترکیب اطلاعات از فیلدهای مختلف در هدر IP، استفاده از مفاهیمی مانند DSCP و ECN، تحلیل ساختار پکتها، استفاده از پورتها و پروتکلها و همچنین تکنیکهای پیکربندی ترافیک امکانپذیر است.
Traffic Shaping یک تکنیک مدیریت ترافیک در شبکهها است که به شما امکان میدهد نرخ انتقال دادهها را کنترل کرده و اولویتبندی کنید. هدف اصلی از Traffic Shaping، کنترل ترافیک و جلوگیری از افزایش بیرویه ترافیک در شبکه است تا منابع شبکه به بهترین نحو ممکن استفاده شود و تأثیرات منفی شلوغی بر کارایی را کاهش دهد.
Traffic Shaping به وسیله محدود کردن نرخ انتقال دادهها از یک نقطه به نقطه دیگر انجام میشود. برای این منظور از تکنیکهای مختلفی مانند Token Bucket و Leaky Bucket استفاده میشود. در اینجا توضیحی در مورد هر یک از این تکنیکها آمده است:
1. Token Bucket:
در این تکنیک، یک مخزن توکن ایجاد میشود که به طور متناسب با نرخ مورد نظر شما پر میشود. هر دادهای که به شبکه وارد میشود، باید توکنی را برای انتقال اختصاص دهد. اگر توکنها تمام شوند، دادهها منتظر میمانند تا توکنها دوباره تولید شوند و به شبکه انتقال پیدا کنند. این تکنیک به وسیله کنترل پیکهای ترافیک و نظم دهی به آنها، تاثیر شلوغی را کاهش میدهد.
2. Leaky Bucket:
در این تکنیک، مثل یک سطل نشتی، دادهها به طور مداوم به شبکه تزریق میشوند. اگر در یک بازه زمانی دادهها بیشتر از نرخ تعیین شده وارد شوند، اضافهشدهها به طور متناوب حذف میشوند. این تکنیک نیز به تسطیح ترافیک کمک میکند و از شلوغی جلوگیری میکند.
Traffic Shaping علاوه بر مدیریت ترافیک، به شما اجازه میدهد اولویتبندی کنید. به عبارت دیگر، شما میتوانید ترافیکهای مختلف را بر اساس اهمیت و نوع دادهها (مثل دادههای صوتی یا تصویری) اولویت دهید تا منابع شبکه به بهترین نحو ممکن تخصیص داده شود و بهرهوری افزایش یابد.