I read that application can handle in order delivery of udp. But how does that work? There is no sequence number or anything to determine if a packet is out of order.
What are some approaches to make sure UDP delivers packets in order?
390 Views Asked by GoodNamesHaveAllBeenUsed At
1
There are 1 best solutions below
Related Questions in NETWORKING
- How to avoid duplicates with the pull-based subscribe model?
- How to simulate CSMA/CD protocol in ns3?
- Network System - Cisco Packet Tracer
- Adhoc / mesh network not working (with and without batman-adv)
- Algorithm for finding a subset of nodes in a weighted connected graph such that the distance between any pair nodes are under a postive number?
- Python Client-Server Communication with Protocol
- I registered a service in eureka which is resolving through java code. But it is not able to resolve its name when hitting through chrome or postman
- Share files from the server without data or internet usage
- Player names not synchronizing in unity Mirror Networking
- My phone can not visit the server on macos in the same local network
- Unable to ping remote websites from an ipV6 only ubuntu ec2 Instance
- Linux Networking - Routing packets from one network interface to another
- wrong output from Supernetting algorithm
- Mapping localhost port on host to docker container
- Microsoft Message Analyzer disable resolving IP address to their domain names a.k.a turn off AutoIP feature
Related Questions in UDP
- Discussion on using golang to implement UDP client timeout retransmission
- What is the correct way to setup and use the Ethernet library in Arduino in order to send and receive UDP broadcast messages between LAN devices?
- Multicast packets not received on windows
- Microcontroller hangs with LWIP UDP
- UDP socket client not able to receive data
- "Parameter is not valid" exception when using Image.FromStream() - UDP Video live stream
- k3s change requested UDP port assignment
- Why does the python client socket receiving a reply but still throw the exception in some threadings?
- Gnuradio "double free or corruption (!prev)" error
- Why we need wraparound in UPD checksum algorithm?
- Simple Java UDP server/client-program works on local machine but not over either LAN (different machines) or internet
- Docker bridge does not transmit from tcpreplay IPv6/UDP/GTP traffic
- trying to send TCP packet and recieve it back and count time in client+server app
- recvmsg returns EAGAIN after select reports file descriptor is ready
- Receiving UDP broadcast on Android
Related Questions in SCAPY
- Python uses the scapy library to read the wireshark packet capture file and then writes a new file and it cannot be displayed
- TimeStamp on ICMP on Scapy (Python)
- BLE SMP packets sniffing using scapy python
- Can scapy errors be removed in exe created by pyinstaller?
- modifying sent and received packets on my machine using scapy
- Python: Get TCP session data on-fly with scapy
- scapy custom source address shows failure
- how to perform a Ping flood attack / ICMP flood attack demonstration?
- Monitor mode / packet injection not working
- Why does Scapy cause network to stop working?
- How to packet forward in python using scapy (or other modules if it isn't possible)
- Distributing Scapy in a Python Virtual Environment
- What is the fastest way to get the start and end times of a pcap log file?
- Fragmented packets reception delayed using Scapy
- Problems with forging ICMP "Fragmentation needed, but DF bit set"
Related Questions in DATA-COMMUNICATION
- how to calculate switch delay for entire file?
- Filtering a signal without affecting the square wave
- On what ISO/OSI layer does a hub operate?
- Do we really need 1s complement?
- How To Calculate Source and Bits
- How is payload data represented by Session Initiation Protocol?
- Data communication between 2 ObservableObjects
- How to perform IP subnetting on 192.168.0.0/16?
- What are some approaches to make sure UDP delivers packets in order?
- Why only MAC address is used to transfer the packet to a device?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is the wrong approach to the problem. You cannot guarantee a specific delivery order of packets and neither you can make sure that packets are not lost or that packets get duplicated. Instead you need to check the successful delivery and delivery order in your recipient application and react to transmission problems by ignoring duplicates, processing messages in the intended order or if necessary ask the sender for a retransmit of a lost message.
The typical way to do this is to add some sequence number to the message and then check this sequence number in the recipients application. This is for example done with RTP (UDP based protocol for real time audio/video/...) which has a 16 bit sequence number in the RTP header. Similar QUIC has a 32 bit sequence number in each frame.
The same approach is actually used with TCP which uses a 16 bit sequence number. Only that with TCP the logic for reordering and retransmits is usually done inside the recipients OS kernel and not inside the recipients application.