![]() ![]() If you’re desperate for multi-cast over the Internet by all means try it (things might have changed), but make sure that you’ve tested it in a real-world environment before committing to any large-scale development. This means that if you want to use multi-cast on an Intranet (with full control over routers and network administrators willing to help you, possibly including VPN-based network connections) it has a reasonably good chance of working, but if you need multi-cast over the public Internet you’re likely to be out of luck. But while it is the case that one-to-many delivery looks interesting, a word of caution is necessary: the last time I checked, multi-cast wasn’t generally supported by Internet routers, and it didn’t look likely that this was going to change. One feature which is present in UDP (but is not present in TCP) is multi-casting – when the same packet may be delivered to multiple locations, though these locations will still be identified by a single IP address. In practice, the use of UDP is usually limited to scenarios when the delay of data is more harmful than the partial loss of data one specific example is VoIP/video delivery protocols such as Real-time Transport Protocol (RTP) (while RTP may work over TCP, in practice UDP is usually used). This means that if you’re using UDP you’re on your own with regards to detecting dropped packets and recovering from them – this is exactly why UDP is often referred to as an ‘unreliable’ protocol. However, when looking at UDP we find that it is a basic IP packet with only simple additional information (like UDP port), and without any built-in mechanism to detect dropped packets. As IP packets travel across the Internet any router on the way may drop them recovery from such dropped packets must be handled by the client and server computers involved in sending and receiving the data.īoth TCP and UDP are protocols which are implemented on top of the IP packet mechanism, so technically TCP and UDP are in the same ‘Transport layer’ of the ‘Internet Protocol Suite’. It should also be mentioned that this area is still evolving and there may be recent developments which are not reflected here as usual, please take everything you read (including this article) with a pinch of salt.Įverything which travels over the Internet is represented by an IP (Internet Protocol) packet (for the purposes of this article, there is no difference between IPv4 and IPv6 packets). ] provides a great read and reference) rather, it attempts to describe some common issues with TCP/IP that might not be obvious from API references. This article does not intend to discuss specific APIs in detail (those interested may refer to an appropriate book or reference for example, for *nix APIs, [ While there is a strong temptation to just use TCP as a ‘magic box that works’, and most of the time it does indeed work as expected, there are still pitfalls in the cases when it doesn’t. TCP/IP is widely used on one hand – most applications, apps and applets use some kind of connectivity these days – and yet paradoxically is not widely understood. ![]() In addition, both the translators and Overload expressly disclaim all responsibility from any action or inaction resulting from reading this article. ]) might have prevented providing an exact translation. Please also keep in mind that translation difficulties from Lapine (like those described in [ ![]() Sergey Ignatchenko compares and contrasts the two main protocols.ĭisclaimer: as usual, the opinions within this article are those of ‘No Bugs’ Bunny, and do not necessarily coincide with the opinions of the translator or the Overload editor. Nowadays most programmers rely on network connectivity, often without really understanding the details. ![]()
0 Comments
Leave a Reply. |