{"id":19150268,"url":"https://github.com/softvar/ns2-roadv","last_synced_at":"2025-05-07T05:23:39.129Z","repository":{"id":8412515,"uuid":"9997324","full_name":"softvar/ns2-roadv","owner":"softvar","description":"roadv protocol implementation in ns2 ","archived":false,"fork":false,"pushed_at":"2019-05-23T20:12:20.000Z","size":1596,"stargazers_count":21,"open_issues_count":2,"forks_count":34,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-19T18:33:49.856Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"gSchool/inbox-solutions","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softvar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-11T09:08:06.000Z","updated_at":"2023-12-16T07:00:53.000Z","dependencies_parsed_at":"2022-07-29T23:39:41.832Z","dependency_job_id":null,"html_url":"https://github.com/softvar/ns2-roadv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softvar%2Fns2-roadv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softvar%2Fns2-roadv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softvar%2Fns2-roadv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softvar%2Fns2-roadv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softvar","download_url":"https://codeload.github.com/softvar/ns2-roadv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252819351,"owners_count":21809011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T08:11:18.121Z","updated_at":"2025-05-07T05:23:39.103Z","avatar_url":"https://github.com/softvar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"ns2-roadv\n=========\n\nRandomized AODV (R-AODV) Protocol\n---------------------------------\n\nAODV protocol is extended with a drop factor that induces a randomness feature\nto result in Randomized Ad-Hoc On-Demand Routing (R-AODV) protocol. Dur-\ning the route discovery process, every intermediary or router nodes between the\nsource and the destination nodes makes a decision to either broadcast/forward\nthe RREQ packet further towards the destination or drop it. Before forwarding\na RREQ packet, every node computes the drop factorwhich is a function of the\ninverse of the number of hop counts traversed by the RREQ packet. This drop\nfactor lies in the range of 0 to 1. Also, the node generates a random number\nfrom 0 to 1. If this random number is higher than the drop factor, the node\nforwards the RREQ packet. Otherwise, the RREQ packet is dropped. Dropping\nof RREQ packets does not necessarily result in a new route discovery process\nby the source node. This is due to the fact that the original broadcast by the\nsource node results in multiple RREQ packets via the neighbors and this dif-\nfusing wave results quickly in a large number of RREQ packets traversing the\nnetwork in search of the destination. A major proportion of these packets are\nredundant due to the fact that in the ideal case, a single RREQ packet can\nfind the best route. Also, a number of these packets diffusing in directions away\nfrom the destination shall eventually timeout. Hence, in R-AODV, the aim is to\nminimize on these redundant RREQ packets, or alternatively, drop as much as\npossible of these redundant RREQ packets. The drop policy is conservative and\nits value becomes lesser with higher number of hops. As RREQ packets get near\nthe destination node, the chances of survival of RREQ packets is higher. Hence,\nthe first phase of the route discovering process, that is, finding the destination\nnode, is completed as soon as possible and a RREP packet can be transmitted\nfrom the destination node back to the source node.\n\n\nIn R-AODV, the dropping of redundant RREQ packets reduces a proportion\nof RREQ packets that shall never reach the destination node, resulting in a de-\ncrease of network congestion. Hence, the ratio of the number of packets received\nby the nodes to the number of packets sent by the nodes, namely, throughput,\nshould be higher in R-AODV compared to AODV.\nThe following algorithm is used in the decision making process of whether to\ndrop the RREQ packets by the intermediary or routing nodes.\n\nAlgorithm\n---------\n\nStep 1: Calculate drop_factor\n\ndrop_factor = (1/(Hop_count_of_RREQ_packet + 1))\n\nStep 2: Calculate a random value in the range of 0 to 1.\n\nStep 3: If (random_value \u003e drop_factor) then broadcast/forward RREQ_packet\nelse drop RREQ_packet\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftvar%2Fns2-roadv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftvar%2Fns2-roadv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftvar%2Fns2-roadv/lists"}