TCPvsUDP详解及其区别

本文详细介绍了TCP和UDP的区别,包括连接建立过程。TCP提供面向连接的、可靠的服务,通过三次握手建立连接,而UDP则是无连接服务,适合广播和多播应用。TCP确保数据的有序和可靠性,而UDP则是快速但不保证数据传输的完整性和顺序。在编程中,TCP连接需要三次握手,UDP则无连接状态。
摘要由CSDN通过智能技术生成

TCPvsUDP详解及其区别

本文重要收集了UDP和TCP的概念以及连接的建立过程:

 

UDP:用户数据报协议

广播和多播仅应用于U D P,它们对需将报文同时传往多个接收者的应用来说十分重要。T C P是一个面向连接的协议,它意味着分别运行于两主机(由I P地址确定)内的两进程(由端口号确定)间存在一条连接。

然而,有时一个主机要向网上的所有其他主机发送帧,这就是广播。通过A R P和R A R P可以看到这一过程。多播(multicast) 处于单播和广播之间:帧仅传送给属于多播组的多个主机。

对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,

用十六进制可表示为0 1 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0(以太网广播地址ff: ff : ff : ff : ff : ff可看作是以太网多播地址的特例)。

如果需要了解更多关于多播和广播的知识请参考TCP/IP协议中的广播和多播一章。

我们称UDP提供无连接服务,因为UDP客户与服务器不必存在长期的关系。例如:一个UDP客户可以创建一个套接口并发送一个数据报给一个服务器,然后立即用同一个套接口发送另一个数据报给另一个服务器。同样,一个UDP服务器可以用用以个UDP套接口从5个不同的客户一连串接受5个数据报。

UDP套接口编程:

客户不与服务器建立连接,它只管用函数sendto给服务器发送数据报,此函数要求目的地址(服务器)作为其参数。类似的,服务器不从客户接受连接,它只管调用函数recvfrom,等待来自其客户的数据到达。与数据报一起,recvfrom返回客户的协议地址,所以服务器可以发送响应给正确的客户。

UDP的connect函数:

我们可以给UDP套接口调用connect,但这样做的结果却与TCP连接豪不相同;没有三路握手过程。内核至少记录对方的IP地址和端口号,它们包含在传递给connect套接口地址结构中,并立即返回给调用进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值