传输层——详解UDP和TCP的区别

2023-11-14

首先我们看一下UDP和TCP的特点:
UDP:无连接 、不可靠、面向数据报、没有发送缓冲区
TCP:面向连接、可靠、面向字节流、有发送缓冲区

1 无连接和面向连接
UDP:“无连接”
在网络中使用UDP协议时,只需要提供对端的IP地址和端口号PORT就可以与对端进行通信,并不需要和对端建立连接
TCP:“面向连接”“三次握手、四次挥手”
在网络中使用TCP协议时,不仅需要对端的IP地址和端口号PORT,还需要通过“三次握手”建立连接,“四次挥手”断开连接

什么是连接?以打电话来举个例子
面向连接和无连接
2 不可靠和可靠
我们可以先看一下UDP和TCP协议的报头信息
这里写图片描述
UDP的报头中只有校验和,但是校验和只能检查报头信息是否出错不足以保证协议的可靠性。
TCP的报头中添加了很多字段来保证协议的可靠性,如:序号、确认序号、窗口大小
UDP:不可靠。UDP没有提供使数据可靠传输的机制
TCP:可靠。
(1)确认应答机制和超时重传机制;
可以通过序号和确认序号,提供确认应答机制和超时重传机制处理在传输过程中的丢包问题,同时可以保证数据的按序到达,并且能够达到去除重复数据的效果。
(2)流量控制机制:通过窗口大小显示自己接收缓冲区的大小,使对端在发送数据时控制速率,防止对端发送速率过大而自己的接收能力不足而导致的数据丢包。
(3)拥塞避免机制:避免发送效率过大而导致的网络拥塞,先发送少量数据探测网络状况。
同时TCP为提升自身性能,还提供了滑动窗口、快重传、延迟应答、捎带应答机制。

3 面向数据报和面向字节流
UDP:面向数据报
在发送和接收数据时必须一个报文一个报文的进行,不能发送/接收半个报文
TCP:面向字节流
在发送和接收数据时不必要一个报文一个报文的进行,可以发送/接收半个报文。由于TCP是面向字节流的,也因此会导致粘包问题(解决方式见:传输层——TCP协议

4 没有发送缓冲区和有发送缓冲区
UDP:没有发送缓冲区;由于UDP是不可靠的,不需要将发送的数据保存至发送缓冲区再移交给内核(这样当数据丢包时,发送缓冲区的内容会再次向内核发送),而是直接调用sendto发送给内核
TCP:有发送缓冲区

4 编写程序
编写UDP服务器程序步骤:
(1)创建套接字socket;
(2)填充本地套接字;
(3)绑定端口号bind;
(4)进行数据传输:接收数据:recvfrom,发送数据:sendto
编写TCP服务器程序步骤:
(1)创建套接字socket;
(2)填充本地套接字;
(3)绑定端口号bind;
(4)将套接字设置为监听状态listen;
(5)获得新连接accept;
(6)进行数据传输:读数据:read,写数据:write

5 适用场景
为什么UDP不可靠但是没有被TCP完全替换呢?
TCP虽然可靠,但是为了维护它的可靠性,需要花费大量的成本和资源,从而可能导致TCP的性能受损,速度降低
UDP虽然不可靠,但是它不需要花费其余资源,只是将自己的全部精力关注在数据的收发上,所以UDP的成本小且速度快
在视频/图片传输的过程中,一般丢一两帧画面是没有什么问题了,所以可以采用UDP这种传输协议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

传输层——详解UDP和TCP的区别 的相关文章

  • 计算机网络体系结构 - 运输层

    一 运输层协议概述 运输层为应用进程之间提供端到端的逻辑通信 二 运输层的端口 端口 port 也称为协议端口号 protocol port number 对上层的应用进程进行标识 端口用一个16位端口号进行标志 端口号只具有本地意义 端口
  • 网络传输基本流程

    网络传输流程图 在数据链路层有一个标识 每一台主机的唯一符 MAC地址 MAC地址 计算机的网卡在出厂时就打上了一串数据 MAC 地址 其通常是唯一的 所以局域网中发消息必须加上目的主机的MAC地址 两台计算机通过 TCP IP 协议通讯的
  • 计算机网络系列五 -- 运输层详解

    1 运输层 1 1 运输层的定义 运输层是 OSI 七层参考模型的第四层 主要功能为应用层提供通信服务 它即是面向通信的最高层 也是用户功能的最底层 在计算机网络中 真正进行数据通信的是两个主机的进程 由于一个主机中有多个进程同时在通信 而
  • 实训八 利用三层交换机实现不同VLAN间通信

    原理 在交换网络中 通过VLAN对一个物理网络进行了逻辑划分 不同的VLAN之间是无法直接访问的 必须通过三层的路由设备进行连接 一般利用路由器或三层交换机来实现不同VLAN之间的互相访问 三层交换机和路由器具备网络层的功能 能够根据数据的
  • IP数据报的发送和转发过程

    IP数据报的发送和转发过程 源主机如何知道目的主机是否与自己在同一网络中 同一个网络中的主机可以直接通信 这属于直接交付 不同网络中的主机不能直接通信 需要路由器的中转 这属于间接交付 现假设主机C给主机F发送ip数据报 主机C将自己的IP
  • tcp三次握手和四次挥手的过程

    TCP是面向连接的 无论哪一方向另一方发送数据之前 都必须先在双方之间建立一条连接 在TCP IP协议中 TCP 协议提供可靠的连接服务 连接是通过三次握手进行初始化的 三次握手的目的是同步连接双方的序列号和确认号 并交换 TCP窗口大小信
  • 【计算机网络13】网络安全

    文章目录 1 HTTP协议的安全问题 2 单向散列函数 One way hash function 2 1 单向散列函数的特点 2 2 常见的几种单向散列函数 2 3 防止数据被篡改 2 4 几个网站 3 对称加密 Symmetric Cr
  • 根据子网掩码算出 IP 地址 的网络号和主机号

    我们如何根据子网掩码算出 IP 地址 的网络号和主机号呢 举个例子 比如 10 100 122 0 24 后面的 24表示就是 255 255 255 0 子网掩码 255 255 255 0 二进制是 11111111 11111111
  • 福禄克DSX2-5000/8000 CH测试结果中为什么标记蓝色“i”?

    我们在使用福禄克线缆测试仪DSX2 5000 CH DSX2 8000 CH的过程中遇见过很多测试结果的测试参数后面标记着蓝色的 i information 而不是失败的红色叉号 也不是Pass的绿色对号 这是因为所选测试限制没有该测试的限
  • 计算机网络笔记Part2 物理层(Physical Layer)

    计算机网络笔记Part2 物理层 Physical Layer 一 物理层基本概念 二 数据通信 1 一个数据通信例子 2 相关术语 3 三种通讯方式 4 两种数据传输方式 5 码元 Symbol 波特 Baud 速率 带宽 Band Wi
  • HTTP报文结构

    1 URL HTTP使用统一资源定位符 URL 协议 主机 端口 路径 2 HTTP 3 HTTP请求报文 请求行 首部 空行 主体 客户端发送一个HTTP请求到服务器的请求报文如下 1 请求行 方法 URL 空行 协议的版本 中间空格隔开
  • 计算机网络(自顶向下方法)中的PoP

    目录 前言 问题 解决 前言 在读 计算机网络 自顶向下方法 时 看到在讲网络结构的时候提到过PoP 但是其中有一句话始终不理解 不通顺 上网搜索也没发现相关解释文章 因此 在我把这个问题解决后 就写下了这篇文章 希望可以帮助到其他人 问题
  • 模2除法——用非常直观的例子解释

    前言 差错检测中有名唤CRC之方法 但很多学习者难以理解其运行原理 特别是模2除法 故博主将其原理以示例方式记录下来 以便同道稍作借鉴 因博主水平有限 难免会出现错误 希各位能多多包涵和给予建议 注意 本博客假设各位已理解CRC原理但对模2
  • 计算机网络运输层运输层协议概述

    运输层协议概述 进程之间的通信 下图说明运输层的作用 可以看出网络层为主机之间提供逻辑通信 而运输层为应用进程之间提供端到端的逻辑通信 根据应用程序的不同需求 运输层有两种不同的运输协议 1 面向连接的TCP 2 无连接的UDP 运输层的两
  • 【常识系列】Java程序员需要了解的网络常识之计算机网络性能指标

    作为一个Java程序员 我们也需要对计算机的网络知识有一定的了解 本系列就是针对非运维小伙伴的网络常识介绍 不费脑子可以无聊的时候瞅一瞅 希望可以帮助到大家 计算机网络性能指标 速率 计算机发送的信号是以 二进制数字 形式的 一个二进制数字
  • 【计算机网络概述】第一章:概论 1.2什么是网络边缘

    学习目标 网络结构 端系统的客户 服务器模式与对等模式 两种面向网络实施的服务 前言 在第一章 我们学习了什么是 Internet 网络 计算机网络和互联网的知识点 但是由于计算机网络的知识点非常的抽象 内容又多 所以我们要反复的练习 记忆
  • 如何学好信息安全?大学信息安全专业研发技能表-成为信息安全专业优秀人才

    网络空间安全 信息安全 的重要性这几年被提升到前所未有的高度 国家更是高度重视 并且特批成立了网络空间安全一级学科 各大高校积极申报博士点 硕士点 开设信息安全专业的高校越来越多 那么 对于信息安全专业的大一新生如何学好 可能很多同学都在迷
  • P2P应用

    目录 一 P2P的简介 二 P2P的工作方式 1 具有集中目录服务器的P2P工作方式 2 具有全分布式结构的P2P文件共享程序 一 P2P的简介 P2P 对等连接 是指两台主机在通信时 并不区分哪一个是服务请求方和哪一个是服务提供方 只要两
  • 计算机网络基础——常用的中英文网络述语大全,强烈建议收藏

    系统网络体系结构 System Network Architecture SNA 国际标准化组织 International Organization for Standardization ISO 开放系统互连基本参考模型 Open Sy
  • 网络安全(黑客)自学秘籍

    想自学网络安全 黑客技术 首先你得了解什么是网络安全 什么是黑客 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 无论网络 Web 移动 桌面 云等哪个

随机推荐