The following statements are based on DSRC protocol(see the end), however, I'm sure it also fits into other protocol as long as it has following characteristic: The upper layer supports fragmentation but the layer right under it is a stop-wait protocol(one sequence number). ========================================== Background knowledge(you don't need to understand, just for convenience and clarification): RSU: road side unit, a equipment located on the road side. OBU: on-board unit, a equipment located on the cars. DSRC: a protocol used to communicate between OBU and RSU. RSU and OBU both have Layer2(link layer) and Layer7(application layer) entity. Layer7: Application layer which supports fragmentation Layer2: Logical link layer which is a stop-wait protocol with one sequence number. (802.2LLC type3)
Graph Description: RSU OBU
********* ********** *Layer7* *Layer7 ********* ********** *Layer2* *Layer2 ********* ********** *Physical(antenna) Physical(antena) ============================================================= Problem Description: 1, Layer2 is rightly under layer7, layer2 uses a stop-wait protocol, which has one sequence number. Layer7 supports fragmentation. Now there are two peers: RSU and OBU. RSU's Layer7 fragment a PDU into 2 fragments. So layer7 call layer2 primitive to send fragment 1 with sequence number 0. OBU receives fragment 1, and OBU's layer7 finds it's a fragmented PDU, so it waits for fragment2. However, RSU's layer7 won't send fragment2 since RSU's layer2 is waiting for response from OBU(layer2 is a stop-wait protocol). This scenario will lead to deadlock!!!!!!2, Also, if RSU's layer7 sends a non-fragmented PDU to OBU, and OBU needs to send back 2 fragments, this will also leads to incorrect sequence number maintenance since Layer2 is a stop-wait protocol with one sequence number maintained.
Am I right? How to deal with such problem?
================================================================ Related resources:
1, 802.2 Standard. (the layer2 uses type3 service of LLC) 2, STF282(DSRC Conformance Testing in support of Interoperability)Thanks very much for your attention!!!! Regards. Tom