浅谈TCP/UDP

计算机网络,运输层

因特网的运输层在运用程序的端点之间传送应用层报文,这里介绍TCP和UDP协议(自顶向下法)。
在这之前,先说一下网络层(IP,ICMP,IGMP),以TCP/IP为例,网络IP提供的是一种不可靠的服务,而TCP是在不可靠的IP层上提供一个可靠的运输层。简单的比喻为,一个淘宝卖家与买家之间的关系。淘宝买家下单付款购买一部手机(传输的TCP数据),卖家将手机打包(封一个IP)头部,交给快递公司,而快递公司看不到里面是什么,只是尽可能快的把包裹发到买家手上。这期间有可能丢包,买家没有收到包裹就会去联系卖家,卖家发现出现问题,就只能“重传”(超时重传),快递公司依然尽可能送达,当买家收到后就会确认收货。以上过程可概括为,建立联系,超时重传,收到确认。

1.二者区别
上面所说的也是TCP协议的基本特点,而UDP协议不同的是:它向它的应用程序提供无连接的服务。这是一种提供不必要服务的服务,没有可靠性。简单说就是,TCP协议相当于你给对方打电话,要双方都接通,而UDP就是发短信。
另外一个区别就是:当应用层向UDP传送报文,不管报文多大,UDP都会封装添加UDP头部,然后发送给网络层。而TCP则是会给报文划分大小,再执行后续操作。

2.应用
两者的传输特点也决定了两者的不同应用层面。
UDP典型应用:
查询类(DNS):可多个DNS查询,快!
数据传输(TFTP):无盘工作站
语言视频流:支持丢包,支持广播和组播(组播必须为UDP)
TCP由于其面向连接以及可靠的性一般用于文件传输,发送或接受邮件,远程登陆等。

TCPUDP是传输层的两种协议,它们在编程时有一些区别。 TCP编程是基于连接的。在TCP编程中,服务器和客户端需要先建立一个连接,然后才能进行数据传输。TCP提供可靠的、面向连接的数据传输,它保证数据的顺序和可靠性。TCP编程适用于需要可靠传输和顺序传输的应用场景,例如文件传输、网页浏览等。 而UDP编程是面向无连接的。在UDP编程中,服务器和客户端之间不需要先建立连接,可以直接进行数据传输。UDP提供不可靠的、无连接的数据传输,它不保证数据的顺序和可靠性。UDP编程适用于对实时性要求较高、数据传输较少的应用场景,例如音频和视频传输、实时游戏等。 总结起来,TCP编程提供可靠的、面向连接的数据传输,适用于对数据可靠性和顺序性要求较高的应用场景;而UDP编程提供不可靠的、无连接的数据传输,适用于对实时性要求较高的应用场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux 网络编程 TCP/UDP编程](https://blog.csdn.net/weixin_45649201/article/details/126392509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [浅谈java的TCPUDP编程(附实例讲解)](https://download.csdn.net/download/weixin_38656400/12779442)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值