پیاده سازی پروتکل مسیریابی GPSR با MATLAB
در این پست پیاده سازی پروتکل مسیریابی GPSR با نرم افزار متلب را آماده کرده ایم که در ادامه به شرح مختصری از این پروتکل پرداخته و فیلم و تصاویری از خروجی آن قرار داده شده است.
پروتکل مسیریابی GPSR یا Greedy Perimeter Stateless Routing از پروتکل های پیشتاز در شبکه های مبتنی بر مکان است که یک حالت حریصانه ارسال بسته بر اساس تصمیم گیری به کمک اطلاعات در رابطه با همسایه های گره در حین مسیریابی می باشد و در توپولوژی شبکه تاثیر می گذارد. وقتی که بسته ارسال شده به منطقه ای میرسد که ارسال بسته به طور حریصانه را فراهم می کند، الگوریتم به بازیابی به وسیله مسیریابی در محیط حاشیه ای کل منطقه شبکه می پردازد.
نگهداری حالت تنها در رابطه با اطلاعات توپولوژی به ابعاد GPSR به منظور یافتن دیگر حالات ها در هر یک از مسیریابی (چرخه مسیریابی در شبکه) کمک می کند و همچنین عملیات کشف کوتاه ترین مسیر را بر عهده دارد. عملیات فوق در شبکه های بی سیم انجام می شود و مورد استفاده پروتکل مسیریابی GPSR در شبکه های بی سیم می باشد.
فیلم، تصاویر خروجی و قسمتی از کدهای پیاده سازی پروتکل مسیریابی GPSR با نرم افزار متلب در ادامه مطلب.
قسمتی از کدهای پیاده سازی پروتکل مسیریابی GPSR :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | clear all area_l = 1000; area_w = 1000; R = 160; %radio range num_rout_track=7; %--------------------------------------------------------- %num_node = [30,50,70,90,110] ; % number of nodes num_node = 300; %--------------------------------------------------------- %for i_num_sink=1:length(num_sink) % des_x(i_num_sink) = area_l*0.9+area_l+0.1*rand(1,1); % des_y(i_num_sink) = area_w*rand(1,1); %end des_x(1) = area_l*0.9+area_l*0.1*rand(1,1); %destination node des_y(1) = area_w*rand(1,1); source_x(1) = area_l*0.1*rand(1,1); % source node source_y(1) = area_w*rand(1,1); %--------------------------------------------------------- %node_x(1)=0; %node_x(1)=0; for i=1:num_node node_x(i)= area_l*rand(1,1); node_y(i)= area_w*rand(1,1); end %-------------------find the neb node------------------- for node_i = 1:num_node %initial for num_mem = 1:num_node neb_node_x(node_i,num_mem) =0; neb_node_y(node_i,num_mem) =0; num_neb(node_i) = num_mem; % record the neb node num of node i end end for node_i=1:num_node % find the neb node num_mem=0; for node_j=1:num_node if node_i~=node_j && sqrt((node_x(node_i)-node_x(node_j))^2+(node_y(node_i)-node_y (node_j))^2)<=R num_mem = num_mem+1; neb_node_x(node_i,num_mem) =node_x(node_j); neb_node_y(node_i,num_mem) =node_y(node_j); neb_node_id(node_i,num_mem) =node_j; % record the neb node id end end num_neb(node_i)=num_mem; % record the neb node num of node i end |
تصاویری از خروجی پیاده سازی پروتکل مسیریابی GPSR :
تصویر خروجی 1:
تصویر خروجی 2:
تصویر خروجی 3:
هیچ نظری ثبت نشده است