The aggressive nature of TCP and UDP

Source: Internet
Author: User
Tags dtls

Does HTTP have to be performed on TCP?
Does SSL have to be performed on TCP?
...
In fact, HTTP does not stipulate that it must be executed on TCP, or even FTP is not necessarily executed on TCP! HTTP or FTP is simply that the underlying channel to ensure that the data in the sequential transmission and reliable arrival, because the transport layer in addition to TCP no other well-known protocol to meet this demand, so most of the applications have chosen TCP, but you know, this is not mandatory.
SSL based on this thought opened the first hole, thus appeared dtls. Dtls, like HTTP, also requires a reliable connection, but it does not use TCP, the same OpenVPN SSL handshake is further, although SSL requires a reliable transport layer channel, but OpenVPN can neither use TCP, nor use DTLS, Instead of just implementing a lightweight, reliable layer based on UDP, it turns out to be pretty good.
Recently read a book, "Guns, Germs and Steel," which refers to a preemptive, that is, an animal or plant or technology in a place after domestication or evolution of the rapid spread to other areas, it will block the autonomous evolution of the region, the region will be the first to spread the ready-made things, and finally in the habitat, because it is only to bring The incubation cost is eliminated. The aggressive nature of TCP is also apparent today. Haven't you asked yourself why, for decades, the well-known stream-based transport protocol has only TCP, but the BSD socket didn't think so, otherwise it would directly define the second parameter of the socket as TCP instead of the stream, and the third parameter would not need ... Note that I am here only for inet sockets, and for other socket types, there are still three parameters required. For inet, the datagram type is UDP, the stream type is TCP, the famous protocol almost nothing else, even if there is also can be set through the IOCTL. Please forgive my ignorance, actually do not know the meaning of socket parameters!
TCP shows that this is the preemptive, already have TCP, why to recreate other agreements? Although it is a bit heavy, it can be used. The reason for this TCP-dominated situation, as well as the maturity of technology earlier than standardization. For the aggressive nature of UDP, the main body is now bandwidth occupied, UDP is only added on the IP application layer multiplexing mechanism, since the IP is preemption, UDP is also, because they do not have end-to-end flow control mechanism. Although UDP has problems with stateful firewalls or state NAT, the problem is not UDP, but the fact that firewalls and NAT devices impose a state for UDP, which is itself stateless, and that firewall technology or NAT technology itself is the wrong technology, End-to-end security and VPN are positive solutions, or the world today is full of fortifications like city walls or castle bunkers.

The aggressive nature of TCP and UDP

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.