TCP(传输控制协议)的优点: 1. 可靠性高: - 在传输数据之前,会通过三次握手来建立连接,确保发送方和接收方都做好了通信准备,降低了数据丢失的风险。 - 在数据传递时,有确认、窗口、重传、拥塞控制等机制。接收方会对收到的数据进行确认,若发送方没有收到确认,会自动重传数据,保证数据能够完整、准确地到达接收方。拥塞控制机制可以根据网络状况调整数据发送的速率,避免网络拥塞导致的数据传输问题。 2. 数据顺序保证:能确保数据按照发送的顺序到达接收方,这对于一些对数据顺序有严格要求的应用(如文件传输、数据库操作等)非常重要。 3. 面向连接:通信双方在数据传输之前建立连接,并且在通信过程中保持连接状态,便于双方进行数据交互和状态管理,适用于需要长时间稳定通信的场景。 4. 广泛应用:是互联网中最常用的传输协议之一,几乎所有的网络应用程序都支持 TCP 协议,如网页浏览(HTTP)、电子邮件(SMTP、POP3)、文件传输(FTP)等。 TCP 的缺点: 1. 速度相对较慢: - 建立连接需要进行三次握手,断开连接需要进行四次挥手,这个过程会消耗一定的时间和网络资源,增加了数据传输的延迟。 - 数据传输过程中的确认、重传、拥塞控制等机制也会带来额外的开销,降低了数据传输的效率,特别是在实时性要求较高的场景下,可能会影响用户体验。 2. 占用系统资源高:为了维护每个连接的状态信息,需要在每台设备上占用大量的内存和 CPU 资源。当连接数量较多时,可能会导致系统性能下降。 3. 易受攻击:由于 TCP 存在确认机制、三次握手机制等,容易被攻击者利用,实现 DoS(拒绝服务攻击)、DDoS(分布式拒绝服务攻击)、CC(Challenge Collapsar,挑战黑洞攻击)等攻击,对网络安全造成威胁。 UDP(用户数据报协议)的优点: 1. 速度快: - 是一种无连接的协议,不需要建立连接和进行握手操作,数据可以直接发送,减少了连接建立和维护的时间开销,因此传输速度相对较快,适用于对实时性要求较高的应用,如在线游戏、实时视频会议、语音通话等。 - 没有 TCP 中的确认、重传、拥塞控制等机制,不会因为等待确认或进行拥塞控制而产生延迟,能够快速地将数据发送出去。 2. 资源占用少:UDP 的首部开销小,只有 8 个字节,相比 TCP 的 20 个字节的首部开销更小,对系统资源的占用较少。 3. 支持广播和多播:可以向多个接收方同时发送数据,适用于广播、组播等通信场景,例如在网络视频直播、网络音频广播等应用中,可以方便地将数据发送给多个用户。 4. 灵活性高:UDP 是一种简单的协议,没有太多的复杂机制和限制,开发者可以根据自己的需求自由地定义数据格式和传输方式,具有较高的灵活性。 UDP 的缺点: 1. 不可靠:不保证数据的可靠传输,可能会出现数据丢失、重复、乱序等问题。因为它没有确认机制,发送方无法知道数据是否被接收方正确接收,也不会对丢失的数据进行重传。 2. 缺乏拥塞控制:无法根据网络状况自动调整数据发送的速率,在网络拥堵的情况下,可能会导致更多的数据包丢失和网络性能下降。 3. 程序结构较复杂:由于 UDP 不保证数据的可靠性和顺序性,因此在一些对数据质量要求较高的应用中,需要开发者在应用层自行实现错误检测、流量控制、拥塞控制等功能,增加了程序开发的难度和复杂性。
点赞 评论

相关推荐

04-17 17:12
已编辑
江南大学 Unity3D客户端
每次都是两个面试官,都挺好的没有给太多压力,处女面,加上临场思维确实不太行,经常嘴在前面说,脑子在后面追,分享出来攒攒运气吧:D玩了那么多年阴阳师,网易求收留了QAQ一面时间:1h自我介绍简历里写的项目介绍一下计网有了解吗?ARP有了解吗?ARP运行原理ARP欺骗一般用什么编程语言指针的概念常量指针和指针常量数组和链表用过什么数据库数据库范式python的lamda有用过吗怎么用的,用这个有什么好处除了小程序,做过网页吗做的是个什么网页工厂模式和单例模式有了解吗讲一下单例模式如果要加一个论坛功能,需要做些什么如果数据传输很慢,怎么排查硬件利用率不高,那还可能是什么问题怎么对跳跃滑翔或跳水进行测试刚刚讲的有点发散,能不能总结一下阴阳师有玩家反馈抽卡概率不对怎么验证发布前的兼容性测试怎么设计分享一下平时玩的游戏举个例子讲讲(讲的明日方舟)它有什么不好的地方吗你觉得这是故意的还是什么里面有角色的概念吗?你最喜欢的角色如何培养,怎么用,为什么喜欢为什么选择测试而不是开发对未来有没有职业规划二面时间:1h自我介绍介绍一个最有深度的项目项目拷打一天花多少时间在游戏上现在在玩的有些什么游戏说一个成就最高的游戏说说印象最深的打法是比较喜欢2d游戏吗?最近一个玩的3d游戏是什么一般什么时候玩游戏怎么在2d里实现一个圆形范围的攻击技能,范围内的敌人受到伤害的功能检测频率是多少?怎么减小消耗你说的方法可能出什么bug有想过考研之类的吗?最失败的事,最成功的事目前的未来方向选择为什么选择这个方向平时除了游戏还有别的兴趣爱好吗
点赞 评论 收藏
分享
牛客网
牛客企业服务