قرارداد یکطرفه نامحدود
ظاهر
در لایه پیوند داده پروتکلهای زیر قابل بحث و بررسی است:
- پروتکل یکطرفه نا مقید
- پروتکل توقف-انتظار یکطرفه
- پروتکل یکطرفه برای کانالهای نویز دار
- پروتکل پنجره لغزنده ۱-بیتی
- پروتکل N تا به عقب برگرد
- پروتکل تکرار انتخابی
- کنترل سطح بالای لینک داده
- پروتکل نقطه به نقطه
به ترتیب این پروتکلها مشکلتر و البته کاربردیتر میشود. در زیر سادهترین این پروتکلها را که پروتکل یکطرفه نا مقید است را بزسی می کنیم.
پروتکل یکطرفه نا مقید[ویرایش]
این پروتکل که تنها جهت درک عملیات کلی لایه پیوند داده ارائه شده را گاهی اتوپیا یا پروتکل آرمانی می نامیم، دلیل این نامگذاری در نظر گرفتن شرایط زیر است:
- انتقال تنها در یک جهت انجام میشود.
- گیرنده و فرستنده همواره آماده کار هستند.
- زمان پردازش را میتوان نادیده گرفت.
- کمبودی از ناحیه بافرها نداریم.
- کانال ارتباطی بین دو لایه پیوند داده، کامل و بدون نقص است.
خوب حالا بهتر است به خودمان بیش از این خوش بینی ندهیم و اولین پروتکل را بررسی کنیم.
/* Protocol 1 (utopia) provides for data transmission in one direction only, from
sender to receiver. The communication channel is assumed to be error free
and the receiver is assumed to be able to process all the input infinitely quickly.
Consequently, the sender just sits in a loop pumping data out onto the line as
fast as it can. */
typedef enum {frame_arrival} event_type;
#include "protocol.h"
void sender1(void)
{
frame s; /*بافری جهت فریم گسیلی */
packet buffer; /* بافری جهت بسته گسیلی */
while (true) {
from_network_layer(&buffer); /*دریافت بسته از لایه شبکه */
s.info = buffer; /* قرار دادن بسته دریافتی در فیلد مربوطه فریم */
to_physical_layer(&s); /*تحویل فریم به لایه فیزیکی */
}
}
void receiver1(void)
{
frame r;
event_type event; /* رخداد یک رویداد مثل رسیدن یک فریم*/
while (true) {
wait_for_event(&event); /* انتظار دریافت فریم*/
from_physical_layer(&r); /* دریافت فریم رسیده از لایه فیزیکی*/
to_network_layer(&r.info); /* تحویل دادن بخش مربوطه از فریم به لایه شبکه */
}
}
این پروتکل دارای معایب زیر است:
- تنها در شرایطی که در بالا گفته شد قابل بررسی است.
- بستهها با حداکثر توان به بیرون پمپ میشوند و به این نکته که گیرنده میتواند آنها را پردازش کند ندارند.
ارزیابی پروتکلها[ویرایش]
تکنیکهایی جهت ارزیابی پروتکلهای شبکه وجود دارد. این تکنیکها بایستی دقیق و مبتنی بر اصول ریاضی باشد. دو روش زیر از مهمترین این روشها هستند.
شبکههای کامپیوتری - آندرواس. تَنن بام - ویراست چهارم۲۰۰۳