运输层协议:TCP和UDP
运输层简介
运输层的通信实体不再是主机,而是主机中的进程。运输层的通信是一台主机的进程和另一台主机的进程进行数据交换。
运输层作用
- 运输层向上层的应用层提供通信服务
- 运输层为进程提供端到端的通信
运输层协议
- 传输控制协议(TCP):面向连接的可靠传输协议
- 用户数据报协议(UDP):无连接的不可靠协议
应用层对UDP和TCP的使用
| 应用 | 应用层协议 | 运输层协议 |
|---|---|---|
| 域名解析 | DNS | UDP |
| 文件传送 | TFTP(简单文件传送协议) | UDP |
| 万维网 | HTTP | TCP |
| 电子邮件 | SMTP | TCP |
| 文件传送 | FTP(文件传送协议) | TCP |
UDP
UDP,用户数据报协议(User Packet Protocol)。UDP在IP的数据报基础上只加入了很少的功能,包括复用分用和差错检测。它有以下的特点:
- 无连接:UDP在发送数据前不需要建立连接,这减少了建立连接和释放连接带来的开销
- 尽最大努力交付:UDP没有差错重传的机制,它只能尽最大努力交付数据,所以是不可靠传输。虽然没有重传机制导致了不可靠传输,但是这样也减少了主机需要维护的状态参数,减轻了主机的负担
- 面向报文:UDP将上层服务传递的报文加上首部后就能发送,它不会对数据进行拆分或合并
- 首部开销小:UDP报文的首部只有8字节
- 一对多、多对一、一对一通信
TCP
TCP,传输控制协议(Transport Controller Protocol)。TCP是比较复杂的协议,它加入了可靠传输、流量控制、拥塞控制的机制。
- 面向连接:TCP在发送数据之前要建立TCP连接,通信完成需要释放连接。TCP建立连接要经过三次握手的过程,释放连接要经过四次挥手
- 可靠传输:TCP通过确认报文、停止等待(自动重传)等方式实现了可靠传输
- 面向字节流:TCP会将应用层的数据划分成大小不等的数据块,数据块以字节为单位。TCP会将这些数据块封装后按序发送,但是不能保证数据块到达的顺序
- 点对点:因为建立连接,TCP只能进行端到端的通信
TCP与UDP对比
| UDP | TCP | |
|---|---|---|
| 有无连接 | 无连接 | 有连接 |
| 是否可靠 | 尽最大努力交付 | 可靠传输 |
| 传输方式 | 面向报文 | 面向字节流 |
| 端点 | 一对一、一对多 | 点对点 |
| 首部大小 | 首部小,仅8字节 | 首部开销大 |
运输层协议:TCP和UDP的更多相关文章
- 运输层协议TCP和UDP
运输层协议TCP和UDP 一.用户数据报协议 UDP 1.1.UDP 概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能. 虽然 UDP 用户数据报只能提供不 ...
- 运输层协议--TCP及UDP协议
TCP及UDP协议 按照网络的五层分级结构来看,TCP及UDP位于运输层,故TCP及UDP是运输层协议.TCP协议--传输控制协议UDP协议--用户数据报协议 多路复用及多路分解 图多路复用及多路分解 ...
- 传输层协议TCP和UDP
本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...
- 浅谈传输层协议TCP和UDP
在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...
- 网络编程协议(TCP和UDP协议,黏包问题)以及socketserver模块
网络编程协议 1.osi七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...
- 网络编程协议(TCP和UDP协议,粘包问题)以及socketserver模块
网络编程协议 1.osi七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...
- 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)
一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...
- TCP/IP中的传输层协议TCP、UDP
TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...
- 传输层协议TCP和UDP分析
分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析应用TCP协议,以及TCP链接管理 2. 分析应用UDP协议 分析要求 (1)TCP部分: 学习3CDaem ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
随机推荐
- centos 7 网络静态IP配置文件
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticIPADDR=10.86.128.160GETWAY=10.86.128.1P ...
- alpakka-kafka(6)-kafka应用案例,用户接口
了解了kafka原理之后,对kafka的的应用场景有了一些想法.在下面的一系列讨论中把最近一个项目中关于kafka的应用介绍一下. 先介绍一下使用kafka的起因:任何进销存系统,销售开单部分都应该算 ...
- Spring Security中实现微信网页授权
微信公众号提供了微信支付.微信优惠券.微信H5红包.微信红包封面等等促销工具来帮助我们的应用拉新保活.但是这些福利要想正确地发放到用户的手里就必须拿到用户特定的(微信应用)微信标识openid甚至是用 ...
- Kong网关安装之Docker版(2)
1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...
- Groovy正则表达式复杂逻辑判断实例
下面的两个pattern(p1和p2)分别代表了(A or B) and (C or D)和(A and B) or (C and D)的跨行匹配结果,当然还可以用正则表达式构建更复杂的pattern ...
- DVWA-全等级跨站请求伪造
DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...
- 前端从😳 到🚪 gRPC 框架
RPC 是什么? RPC 英文全称是 Remote Procedure Call 既远程过程调用,维基百科中给的定义是一个计算机调用了一个函数,但这个函数并不在这台计算机上,这种远程调用方式程序员无需 ...
- miniFTP项目实战六
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
- ubuntu与主机ping不通的解决办法(主机检测不到虚拟网卡)
文章目录 一.问题的出现与思路的转变 二.Ubuntu的网络适配器的俩种模式 1.桥接模式( Bridged) 2.NAT模式 三.桥接模式下的网卡配置出现问题 四.解决问题的步骤(一次通过) 集线器 ...
- cpu设计实践1
本栏目将实现一个简单cpu(8-32位)的设计,使用xinlink spatan6平台