传输层协议TCP和UDP
本文力图简洁,让读者对TCP和UDP有个初步的认知。闲话少说,现在开始吧。TCP和UDP都是传输层的协议。TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送。UDP不建立连接而直接发送,对未送达的消息不管不顾,因而是不可靠的。
TCP
三次握手
三次握手是发生在建立连接的时候,大致过程是这样的。首先由客户端发起请求,然后服务端对请求进行响应,最后客户端再告知收到响应。具体的过程列在了下面。
>
客户端
发送带SYN
标志的数据包给对方,告知需要建立连接;>
服务端
收到后,回传一个带有SYN/ACK
标志的数据包,告知收到建立连接请求;>
客户端
回传一个带有ACK
标志的数据包,代表握手结束并且建立TCP连接。
四次挥手
四次挥手则是在断开连接的时候,过程如下。
>
客户端
发送带FIN
标志的数据包给对方,告知需要断开连接;>
服务端
收到后,回传一个带有ACK
标志的数据包,告知收到断开连接请求;>
服务端
再次回传一个带有FIN
标志的数据包,告知同意断开连接请求;>
客户端
回传一个带有ACK
标志的数据包,代表挥手结束并且断开TCP连接。
UDP
UDP没有类似TCP的三次握手机制,而是直接把数据发送出去。因此传输不具备可靠性。但是在网络极差的时候,凭借其不需要三次握手和四次挥手特性,却能高效的把数据传输出去。
词汇
现在把上面出现的词汇分类整理一下吧。
传输协议
- TCP - Transmission Control Protocol - 传输控制协议
- UDP - User Datagram Protocol - 用户数据协议
握手状态
- SYN - synchronous - 建立连接
- ACK - acknowledgement - 确认收到
- 挥手状态
- FIN - final - 关闭连接
参考
这篇文章是我的读书笔记。综合了书中的知识以及参考了百度百科关于四次挥手的解释,总结出了对传输层协议TCP和UDP的浅显认知。其中,词汇的命名参考了园友azraelly的TCP的状态一文。
关于TCP和UDP的应用场景,以及在传输时都带有那些状态和数据,文中都没有提及。改日有时间再专门写一篇这样的文章。
[0] 图解HTTP
- [1] 四次挥手
[2] TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
转载于:https://www.cnblogs.com/bergwhite/p/Transport-Layer-TCP-and-UDP.html
传输层协议TCP和UDP相关推荐
- 4-1:TCP协议之传输层的作用及传输层协议TCP和UDP
文章目录 一:传输层的定义 二:通信处理 三:传输层协议 四:TCP协议的可靠和性能 一:传输层的定义 前面说过,IP首部有一个协议字段用于标识网络层(IP)的上一层采用哪一种传输层协议.根据这个字段 ...
- TCP/IP中的传输层协议TCP、UDP
TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...
- 传输层协议TCP和UDP的区别详解
一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...
- 传输层协议TCP与UDP的区别
TCP协议与UDP协议作为传输层最常用的两种传输协议,这两种协议都是使用IP作为网络层协议进行传输.网络层IP与传输层的关系可以简单理解成生活中收快递.IP协议为每个上网的主机分发一个IP地址,这个地 ...
- 简单理解TCP/IP传输层协议TCP和UDP
TCP/IP模型中的传输层主要负责端到端通信,和数据链路层类似,数据链路层负责点到点的通信.TCP/IP模型的传输层主要协议有TCP (Transmission Control Protocol,传输 ...
- 传输层协议TCP和UDP的区别
- 8月11日 网工学习 APR协议 传输层协议 TCP UDP 数据封装转发全过程
目录 APR协议 传输层协议 TCP UDP 数据封装转发全过程 APR协议 作用:将IP地址解析为MAC地址 ARP的主要内容 在ARP高速缓存表中查找目的IP地址对应的MAC地址 广播发送ARP请 ...
- 传输层的TCP和UDP
传输层的TCP和UDP TCP和UDP协议 TCP报文段 TCP的三次握手 TCP的四次断开 TCP的常用端口号及其功能 UDP的常用端口号及其功能 TCP和UDP协议 TCP(Transmissio ...
- 《UNIX网络编程 卷1:套接字联网API(第3版)》——第2章 传输层:TCP、UDP和SCTP 2.1概述...
本节书摘来自异步社区<UNIX网络编程 卷1:套接字联网API(第3版)>一书中的第2章,第2.1节,作者:[美]W. Richard Stevens , Bill Fenner , An ...
最新文章
- 2016-8-9更新日志
- 如何把2d目标检测的bbox转化到现实世界坐标系的?
- JSP错误页面的处理和exception对象
- 注意,ruby循环体定义的变量在结束时后,变量还存在
- php接入influxdb,[Linux]安装grafana并且添加influxdb监控
- mysql innodb 数据恢复
- 投稿选刊必备,2021较全的国内SCI期刊汇总整理
- 搜索在线设备的工具软件-SADPTool提供下载
- 编码:decode()/encode()、quote()/unquote()
- Golang多线程文件传输
- vue3+ts+vant移动端H5项目搭建
- 计算机网络设备配置与调试体会,计算机网络设备配置与调试课程标准
- 大数据集群的部署安装
- Amazon 邮箱大全
- 第一章 编程基础_ASCII 编码和GBK编码
- ES集群重新设置密码(第二次执行.elasticsearch-setup-passwords interactive报错)
- =,==,===的区别
- 从苏宁电器到卡巴斯基第17篇:我在苏宁电器当营业员 VIII
- C/C++学习教程:C语言排序算法—插入排序算法
- python修改docx文档的表格内中文字体
热门文章
- 遍历数组是什么意思_漫画:寻找无序数组的第k大元素(修订版)
- xgp游戏列表_Steam疯狂周三游戏推荐:动物百科全书
- python灰色预测_灰色系统预测GM(1,1)模型
- 字段定义_SAP 物料主数据增强自定义字段
- Typescript有什么冷门但是很好用的特性?
- element-ui 组件库 el-form 实现
- 1725.可以形成最大正方形的矩阵数目
- python三维可视化图,如何使用Python在(交互式)3D中可视化图形?
- 简单mysql优化_MySQL简单优化
- python大数据处理mapreduce_使用python构建基于hadoop的mapreduce日志分析平台