Thursday, April 4, 2019
Design Of Wifi Based Tdma Protocol Information Technology Essay
Design Of Wifi Based Tdma Protocol info Technology EssayTime division multiple admittance is a multiple feeler system for sh bed the roadway by dividing the signal into contrasting epoch slots. TDMA is successful whole kit and caboodle in cellular mobile communication for several(prenominal) years ago. Recently has been combined with OFDM to introduce OFDMA. TDMA also ensure p every last(predicate)idity amid pommels in the network. In vehicular scenario, we proposed TDMA communications communications communications communications protocol to work with CSMA/CA to mitigate and cope with close to of the ch every last(predicate)enges in vehicular communications. In this chapter we leave behind discuss the design of the protocol, connection messages, protocol immix and foul up intercommunication among the stark naked TDMA sublayer with CSMA/CA and PHY layers. In surgical incision 3.2 a general explanation of proposed TDMA protocol, the design of Wi-Fi-based 802.11p is dis cussed in Section 3.3. In Section 3.4, execution of instruments of TDMA protocol in the simulation environment is presented. Simulation occupations and implementation improvements is discussed in Section 3.5. The chapter summarization is fracturen in Section 3.6.4.2. EXPLANATIONS OF TDMA PROTOCOLThe TDMA protocol is representing as a supplier client protocol, which kernel the protocol is change. The new(prenominal) possibility is to specialize a distributed or an ad hoc protocol as it is d nonp aril in (Fan Yu, 2007) and (Katrin, 2009). We mean by centralized that the provider pull up stakes be the scarcely cardinal handles the in coiffureion that has given in almost(prenominal) channels. This does non mean that all communication is discharge to be further unidirectional (from the provider to the client), but some eons is going to be bidirectional communication. The provider in our moorage here is the RSU (Road Side Unit) and the client/station is OBUs (Onboard Unit s). Form now we may revokelessly use the term RSU to provider or centralized thickening and the OBU to client or mobile station. here(predicate) we invite to implement place of 10 ms, those throw away consist of two main time slots, matchless of them for the contain and the second wiz for the avail or information channel, and two argon using disparate duration. Why we chose repute of 10 ms because this is currently use in many TDMA implementations i.e. WIMAX.4.3. DESIGN OF WI-FI establish TDMA PROTOCOLIEEE802.11 has two modes DCF and PCF. Distributed Coordination Function (DCF) relies on CSMA/CA distributed algorithm and an optional realistic carrier good sense using RTS and CTS control frames (IEEE Std 802.11, 1999). If the channel is busy during the DIFS (DCF Interframe Space) interval, the station defers its transmission. acme Coordination Function (PCF) is employ for infrastructure mode, which provides competitor- loose frame transfer for processing time-crit ical information transfers (W. Wang, 2003). PCF is optional in the standard and tho few vendors implemented it in their adapters. Two polar periods defined at PCF mode contention-free period (CFP) and contention Period (CP). CFP uses contention free-poll frames to give stations the permission to transmit. However, PCF has many drawbacks and point of accumulations in long distance practises (i.e. up to tens of kilometers) this delinquent to sensitivity of the recognition (ACK) messages to propagation bide which is designed for contention-free local area networks purposes. Also, once a station reserves the glide path to the moderate, it may occupy the medium for long time without any station enkindle interrupt its transmissions level in the high priority jobs case i.e. if the remote station has lower entropy rate due to the distance, then it bequeath take long time to release the channel (Pravin, 2003).Consequently, it has been shown that (S. Sharma, 2002) (Sridhar, 2006 ) TDMA based MAC is qualified for long distance propagation delay. Most of the implemented solution for long distance Wi-Fi-based network was used WiMAX like TDMA frame for conducting the PMP scenario. However, using WiMAX/TDMA above Wi-Fi is increasing the system coloniality and overhead since the WiMAX/TDMA has been strengthened for the licensed-based and Wi-Fi is built with unlicensed environment. In this research a design of TDMA over the 802.11 is presented. The operate on of the proposed TDMA is to disable the contention demeanor of 802.11 (CSMA/CA) for contention-less MAC. In this research a new cross layer design is introduced amidst CSMA/CA and new coherent TDMA layer, which the Wi-Fi MAC frame is encapsulated in a logical TDMA drumhead onward forwarded to IP layer. The proposed protocol stack is shown in Figure4.1. The CSMA/CA peer-to-peer protocol is disabled and replaced with TDMA peer-to-peer protocol as shown with the dot-lines.Figure.4.1. Protocol flow of the TDMA-based PMPThe logical TDMA header is added between IP header and MAC header. The function of the new header is to disable the stochastic entree feature of the CSMA/CA in 802.11 and replace it by logical TDMA function, which is maintains the synchronization of the local timers in the stations and delivers protocol associate parameters. The frame is shown in Figure 4.2. The proposed TDMA header contains BCCH ( mete out control channel), FCCH (frame control channel) and RA (random access).BCCH contains general information i.e. timestamp through and through time_stamp_update(), SSID, BS-node capabilities and random access time interval ra_interval(). All this parameters (except the RA time interval) is prepared and copied from the beacon frame (using beacon_content()) from the Wi-Fi MAC device driver. The BCCH information helps the APs in the sleep, wakeup, transmitting and receiving times.Figure.4.2. Additional TDMA header is added to Wi-Fi frameFCCH carries the information j ust about the structure and format of the ongoing frame i.e. scheduler () and time_slot_builder() containing the exact position of all slots and Tx/Rx times and guard time between them and scheduling.RACH contains a procedure of random access channels (RCH). This dramaturgy is uses when no schedule has been assigned to the APs in the UL field of operations. Non-associated APs use RA for the root contact with an AP using slot_time_request(). The flow diagram of logical control and information channels is shown in Figure 4.3.Figure 4.3 the flow of the virtual channels for the TDMA frame,First, the RACH frame is receiving if there any connection request from APs to BS. Then, BCCH, FCCH and AGCH broadcast their information, then transmit and gather users lode. Timer is controlling all the transmitted and fulfilld signals. Although, the new TDMA header is introduced at the cost of the work due to the overhead, however, in the long distance practical practical applications with point-to-multiple-point infrastructure scenarios usually the numbers of stations are not too high compared with end-user part. In our scenario we recall 4 remote access points and one central access point (BS-node). By implementing TDMA_module() apiece APs would assigned with time slot within the TDMA frame. TDMA also saves power because each STA only considers to wake-up during these time slots in each frame. If new node (AP) wants to join the network it listens to the BCCH frame to get the initial parameters from the BS-node. Then it uses the RA period to stake time_slot_request() request to the BS-node to request for time slot. The BS-node uses the FCCH field to update the new scheduling table in scheduler(). The TDMA_module() assigns time slots for APs by taking copy of the NAV (network apportioning vector) information (NAV_update()) from the Wi-Fi MAC layer and modifying it correspond to the schedule scheme. NAV is considered as virtual carrier sensing which is limits th e need for contention-based animal(prenominal) carrier sensing. This is done by setting new back_off_counter() and NAV_new() in the TDMA_module() which indicates the amount of time that medium go away be reserved for each time slots. The BS-node set the NAV value to the frame length time plus any some other necessary messages to complete the current operation to make sure that no station (AP) will access the channel during the frame transmission. Other stations count down from the NAV to 0. When the NAV has nonzero value, the scheduler () put up back to the Wi-Fi MAC that indication that the medium is busy before the NAV reaches 0, the back_off() and NAV_new() update the Wi-Fi MAC with the new NAV. The finishing address (DA) and antecedent address (SA) in the MAC frame header and in the SSID is modified according to the new NAV and RR scheduling information. Figure4.4 shows illustrate the flow of the process in cross-layer concept, which is consisting of ternary layers TDMA s ource inscribe, wireless driver and hardware abstraction layer (HAL). The cross layer is performed between wireless driver and the source code. HAL is distinct for each hardware platform. The procedure of this approach is also belowCore ModuleRepoint the WiFi_MAC_SAP to TDMA_MACPoint the MAC-TDMA_SAP to IPTDMA_module() //modify the NAV vector for virtual (fake) busy network busyIf NAV() not_equal_to_zero then //copy the NAV value to new place to use it for new AP Network_entryCopy CSMA/CA/NAV() to CSMA/CA/NAV_old()Copy TDMA()/NAV_new() to CSMA/CA/NAV() If NAV()=0 then // call NAV_update()TDMA/NAV_update()Set back-off counter()Send the NAV_new() to scheduler() Scheduler()//using round robin stand up scheme Round_robin() //time_slot_builderTime_slot_builder()random_access()// contrive if there are any time slot requestIf time_slot_request()Time_slot()++ else traffic() //add the new TDMA header// place the broadcast control channel (BCCH)bcch()timestamp() ra_interval SSIDBS-node c apability//for the RA using the same etiquettes used by contention period (CP) at the MAC levelfcch() slots_time_builder()Set frame_format() one-armed bandit_time_interval4.3.1 TDMA Protocol Flowchart In Vehicular surroundingsThe RSU sends the beacon frame periodically with the free slots available in the TDMA frame. The OBU scans for the RSU beacon. If much than one RSU respond, comparisons are make on their (received signal strength indicator) RSSIs and the best one is selected after which the put in of merits are applied on the other RSUs as premier(prenominal), second, etc candidates according to their RSSI signal strength. The OBU uses the beacon to synchronize its frame with the RSU after which the OBU sends the data in the free slots (in the coming uplink frame). A check is performed to find if the RSSI Figure.4.4. Implementation and incorporating TDMA in 802.11p protocol stack.OBU scan for the RSUs shine frameMore than oneBeacon frameAre receivedNoCompare the differentR SSIs and select thebest and thresholdYesSynchronization and clockExchange with RSUSend data in the free slotsIn the UL sub-frameRSSINo YesFigure4.5 TDMA Protocol FlowchartThe TDMA frame structure is shown in Figure4. 3. The TDMA frame encapsulates the 802.11 frames in the payload subsection. The frame is repeated periodically for every 20msec (which is the length of the frame). Each frame contains the beacon filed, i.e. the broadcast control channel (BCCH) which comprises timestamp, SSID, and BS-node capabilities. The frame also contains the frame control channels which carries information on the structure and format of the ongoing frame, i.e. the slots scheduler which contains the exact position of all the slots and the Tx/Rx times and guard times. The GACH and the RACH are used for random access channel when the OBU needs to join the WBSS. The RACH is the channel that the OBUs use for association request. The GACH is the grant access channel that contains all the OBUs accepted fo r transmission in the bordering frame.The TDMA is using transmission opportunities (TXOPs) mechanism originally provided by the IEEE 802.11e to channelise the DL and UL time slots duration. The TXOP is a predefined start time and a maximum duration for the station to access the medium. A RSU will set its own NAV to prevent its transmission during a TXOP that has been granted through the OBU (Figure4. 6). quite an than categorizing the data traffic based on the voice, the data and the video as in the 802.11e, the data traffic priority categories are based on the OBUs channel quality. The RSU gives high priority to vehicles with high speed to send more frames before it leaves the WBSS. The vehicle with the high channel fading will get more number of slots. Of course, this mechanism will introduce performance anomaly, however, we can use any of the solutions available in the lit for the performance anomaly (Tavanti, 2007) (IEEE P802.11p/D3.0,2007).DCD feedbackTDMADCF EDCAPMD and PL CPFigure4.6 Channel fading parameters feedback for vehicles transmission priority and TXOP setting.4.4. IMPLEMENTATIONS OF TDMA PROTOCOL IN THE SIMULATION purlieuIn the previous section, we theoretically describe the main characteristics of the protocol which we want to design. This section explains how we implemented the moods of this thesis by the modification Code of C++ in the Network Simulation. Although the protocol that we want to design is essentially a protocol of MAC, we defecate to put in mental capacity that is not only changes to be do in the MAC layer will be done. We will also harbor to deal with the physical and application layer.From the point of view of the provider of MAC layer is the one which is responsible to handle the non-homogeneous types of packages (from operate and control channel). In fact, the MAC layer in the side of the provider is the one which carries the multiplexing of TDMA between the two channels (and also between various go to the i nterior of the channel of the service). The application, in this case, will produce the packages which will be presented in each channel.From the point of view of the client layers, MAC and application are easy. The MAC layer basically responsible to send to application the packages which the client wants to receive (packages which expire to the channel or from desire service) or throwing the packages that not requested by the client (packets from a broadcast or unicast service the client is not evoke in). The application layer will be the one that which produces the packages of the request from clients to send to the provider when they are interested by a service unicast.Well as we draw in detail the characteristics of the MAC protocol designed earlier, we may carry out this idea described theirs corresponds to the last adaption of our protocol, to reach this execution that we programmed and interpretd before simple mutants, the changes of the force and improvements do betw een the versions are related to the definition of the various services offered in the section of channel serviceThe starting line version only considered a unidirectional communication between provider and client. The cause was that we only define broadcast services in the service channel.A second version consisted in defining unicast services and hence introducing a bidirectional communication between provider and client. This new version was more complex than the previous one so we decided to divide the application we had until now (called pbc3) into two sides the application in the provider side (pbc3) and the application in the client side (pbc3Sink). This idea of defining two sides of an application or protocol layer (to simplify its implementation) is already used in other applications or protocol layers acknowledged in the simulator as TCP.The third and last version consisted in implementing the algorithm which handles the access of more than one client to the same unicas t service. This was not considered in version two.When we are programming our MAC protocol, several problems raised, which are not only in our side, but also of the limitations or the restrictions of the Network Simulation. Well, in the next section4.5 we describe and explained all, it is worth to mention a principal limitation in so much it late influenced the execution of our protocol. The limitation comes like more gibe flow of the data in the same node started to appear (the node can be client or provider). In our case we decided to claim only one provider, this provider will produce the data of both services. This message that the provider will aim more application to the function in mate and more file test in the MAC layer ( get a line Figure 3.2), each one associated to a different data flow. That is the reason why we are interested in parallelizing.The problem is, in so far as we know, installing parallel flows in same node is not a task easy to make in the simulator. The close common solution is composed to use nodes as parallel flows as much of an idea used when a protocol stack is defined on the two aircraft or more (like the plan of the data and management represented on Figure 2.3). This is Explained in (GMPLS, 2006), or when we wish to have a node of multi-interface, in (NS2 Notebook).The idea is if we cannot have more than one application function in parallel in the same node, what would be the possible solution? The answer to that, like also accentuated in section4.5, is to have only one application to function in the provider, which produces various types of packages according to the time execution. This approximation also solves the problem to have more than one adjust (in parallel) in the MAC layer. We will not need various stands to store various packages due to these packages arrive at the MAC layer already in the order they essential be sent. This solution simplifies the definition of the MAC layer but made the definition of the application layer to be more complex.Although the solution taken could go tom rudimentary the fact is that the difference between the theoretical solution and rectifies is not also large particularly when to think that what we want with once examine with the protocol is implemented.After the mention and explanation of this problem we can now specify how the protocol was made. We will start to explain how application is defined in all both, client and provider. Both sides application have two principal functions one is responsible for creation and sending of the packages to the lower layers and the other is responsible to receive the packages of the lower layer.The application in the side of the provider calls the pbc3 and has two principal functions one for send and other for receive frame. While sending the frame we basically have to create a package (by defining its title) and send it. The provider will send various types of packages according to the execution time. Basically we will have two types of packages the packages of management in the control channel of inspection mark and the packages of the data in the digging of service of the channel timeslot. These packages will have various headers. In case of the packages of the zones information of the header are as in Figure 4.7Type gain_id Time_slot seqNum lastPacket node_id Send_time burdenFigure 4.7 playing areas of the application header for data frames.Service_id Field used by the provider to indicate the service whose payload is included in the frame.Time_slot Field that shows the subtime slot when the service is offered.SeqNum Sequence number of the packet sent. Nowadays is only used in data packets which belong to unicast services, it is used by the provider when more than one client want to receive the same private information.LastPacket This field is related to seqNum. It is used to indicate that the packet sent is the last one.In case of management frames the header is defined by the followi ng fields in Figure 4.8.Type Services_ Num_services node_id Send_time PayloadInformationFigure4.8. Fields of the application header for management frames.services_information It is only used in management frames. It is a vector which contains the basic information about the services offered by the provider. This basic information is defined by three fields the first field is the identifier of the service, the second field is the subtimeslot identifier and the third field is the type of the service (as we said already before the type of the service means if the service is broadcast or if it is unicast). These three fields must be defined for each service available in the provider, the Figure 4.9 shows that.Service 1 Time Slot where Type of Service 1 Service 2 Time Slot when Type of service 2Identifier Service 1 is offered Identifier Service 2 is offeredFigure 4.9 Example of the services_information relent when two services offered.Although in our implementation the identifier of the service and the identifier of the timeslot is the same (which means the service whose identifier is the number one will be offered in the subtime slot number one), we decided to define two variables because they would have different values in future versions of the protocol.Num_services Value used to indicate the total number of services which are going to be offered by the provider during the service channel timeslot.Once we have explained how our application works in both sides (provider and client) we must explain the main changes done in the MAC layer. When we download the NS2.33 version there was already included an implementation of IEEE802.11a protocol. We didnt want to make use of this code because it was totally oriented to guaranty the CSMA/CA with virtual carries sense mechanism, we are not interested in. there was also simple TDMA implementation included. We decided to adapt into our requirements. We basically had to change the definition of the TDMA frame and to set up both data and management MAC headers. In contrast to the application layer there are no variables defended to make use of the MAC layer through the Tcl script.If we concentrate on the physical layer, we will see that in our version of Network Simulation NS2, there were already two physical layers for wireless communications applied the first one called the wirelessPHY and the second one called WirelessPhyExt. We are interested to use this last version of the physical channel basically it presented an important concept for us it supports multiple arrangements of the modulation. WirelessPhyExt leaves the function with BPSK, QPSK, QAM16 and QAM64 as it is described in (Qi Chen, 2008). The modulation influences certain important characteristics such as the rate of header information and nominal sensitivity of the receiver, according to the indications the Figure 3.3 of, and consequently the period of the data of transmission and SINR necessary to receive it and to rewrite it. The onl y problem is that this new version of the wireless channel must be used unitedly with an extension of the MAC layer called Mac802_11Ext. We were not interested in using that one for the same reason we were not interested in using the Mac802_11 version and for that we decided to introduce the multiple modulation schemes in the WirelessPhy layer.Another important point when running(a) low layers of the WAVE protocol stack is to think about how the channel is modelled in NS2. There are four different types of channel propagation defined and include in NS2.33, The free space model, the Two-Ray Ground reflection model, the Shadowing model and the Nakagami model. The first three models are well described in (The NS manual, 2008).4.5 SIMULATION PROBLEMS AND IMPLIMENTATION IMPROVEMENTSHere we explained the reason for which we are interested to study the applied science of TDMA in the V2I communications and the process followed to define and apply our protocol. By creating a new protocol, sometimes it is not possible to design the theoretical idea that we had because of some limitations presented by the simulator. It is also possible that our execution could be improved at the points given. We must realize that although the protocol seems to be complex sometimes, many improvements could be made to obtain the best and more specific results.The idea of this section is just to explain the main problems tack together when elaborating our protocol and to suggest some future improvements.If we refer first to the problems found when we were working we must white that most of them are not really problems (in the sense of bugs found when executing the protocol) but limitations the simulator has which do not allow us to define the protocol as we wanted to. There are three main limitations we want to point outThe first is already mentioned in the previous section. The problem is related to the parallel data flows in a node. We were interested by this fact of being able not o nly to have more application to the function in parallel in the same node (as explained in the section 4.4) but to also define the two planes of protocol, data and planes of management, in the same node (that we can see Figure 2.3) although this last idea was thrown it required of much work to make.In section 4.4 we adopted easy and the fast solution which does not have affected the results obtained. But there is other solutions, simplest is composed to define nodes as many, in the code of TCL, as data flows we need and link these nodes through a router. To explain it easily we will have one node per each data queue (see Figure 3.3) and one router that handle the information from each node. This solution is based in the actual implementation of the Diffserv queues in the NS (Definition of physical queues) where virtual and physical queues are used (Implementing multiqueue). In our case we will need at least two nodes one for the data of the control channel and the other for the data of the service channel, in case only one service is offered. We must realize this solution involves changes in the Tcl code which leads to a simple C++ implementation.Another solution, which could be considered as an improvement is to have only one application running on the provider that generates different types of packets but instead of doing it as a function of the execution time, it could generate them randomly and give the work of organize them to the link layer. In this case we will need to define an algorithm in charge of finding the desired packets in the unique queue that exists in the link layer and sending them in the correct order to the MAC layer.There is a third solution which allows having an implementation closer to the one specified in the standards ((IEEE 802.11, 2007) and (Implementing multiqueue)). The idea consists of adapting the definition of the queue done nowadays in the implementation 802.11e standard which is included in the simulator. As we can see in ( Design and verification, 2003) this implementation requires changes in the definition of the class queue which allows having multiples queues by creating them in an array (Evaluation of IEEE 802.11e). The source code of this new type of queue can be found in (Evaluation of IEEE 802.11e).The second limitation is related to the synchronization of the nodes. Those nodes can be an OBU or a RSU. The NS is a simulator based in events controlled by timers. The fact is, as it is pointed out in IEEE 1609.4 standard in (Yunpeng, 2007) all the nodes require to be synchronised before communication. The synchronization is especially important when using TDMA technology and it is a process which will be carried on when any OBU enters in the communication area of a new RSU in a centralized system. The fact is that in the NS tool all the nodes implemented (in the Tcl code) have the same time basis which means they do not need any synchronization because they are already synchronized.If we are inte rested in defining the synchronization process we should first desynchronize the nodes by manipulating their timers. In our case we will consider the RSU time basis to be the one the other nodes must to synchronize on. Each OBU will have to follow a synchronization process before receiving data frames from the RSU. The idea could be the following the first time an OBU receives frames from a new RSU it gets the timestamp of the RSU and, after adding the delay produced by the propagation of the frame to this timestamp, adjusts its timers. Calculate the delay or time difference between the RSU and the OBU is not complicated. The only idea which does not seem clear is how to set up different time basis in the nodes.The third and last limitation is related to the anti-collisions mechanism used in the MAC layer mainly based in CSMA/CA algorithm. We sight the problem when executing our code we found there were collisions between request frames when a considered number of OBUs were interes ted in receiving information about the same unicast service. Those collisions should not take place if we keep in mind each node is supposed to be able of sense the medium to see whether it is busy before sending any kind of frame.Why this type of collisions is produced? As we explained earlier, it is necessary to present intervals of guard to the end of each time slit to avoid collisions between the reinforcements produced by various devices (OBUs and RSU in our case) but in this case the collisions due are produced to different OBUs send braces of request really narrowly in time and, because of them cannot detect if the medium is with vacuum or not, a collision is produced and detected by the RSU.When working with the NS tool we are not able to do all the things we want to, not only because of some restrictions or limitations the tool has (as we explained before) but also because of time we did not implement all the ideas which came to our mind and we must simplify and focus our w ork. Because of this lack of time there exist a lot of points in our protocol which could be improved. Some of these points are explained in the following paragraphs.If we focus in the implementation of the control channel the most important improvement which could be done is to introduce critical frames and implement the process each node has to follow when receiving those frames. Introducing those types of frames will be really interesting because we can see how to handle both types of information (critical and no critical) and we would make a better use of the control channel than we do in our actual implementation.If we pay attention to the service channel there are some things which could be improved, the ideas are summarized in the following pointsIn the actual implementation there is not any prioritization between nodes, which means when two or more nodes want to receive the same information (which is unicast) the first who ask for it is the first which receives the data. One possibility is to define the priority as a function of the position of each OBU with keep to the RSU. It sounds coherent to give higher priority to the nodes that are closer to the RSU because of their small latency (time necessary to suffer a service). Basically the latency is smaller because the propagation time (one of the terms
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment