本文力图简洁,让读者对TCP和UDP有个初步的认知。闲话少说,现在开始吧。TCP和UDP都是传输层的协议。TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送。UDP不建立连接而直接发送,对未送达的消息不管不顾,因而是不可靠的。

TCP

三次握手

三次握手是发生在建立连接的时候,大致过程是这样的。首先由客户端发起请求,然后服务端对请求进行响应,最后客户端再告知收到响应。具体的过程列在了下面。

  1. > 客户端发送带SYN标志的数据包给对方,告知需要建立连接;

  2. > 服务端收到后,回传一个带有SYN/ACK标志的数据包,告知收到建立连接请求;

  3. > 客户端回传一个带有ACK标志的数据包,代表握手结束并且建立TCP连接。

四次挥手

四次挥手则是在断开连接的时候,过程如下。

  1. > 客户端发送带FIN标志的数据包给对方,告知需要断开连接;

  2. > 服务端收到后,回传一个带有ACK标志的数据包,告知收到断开连接请求;

  3. > 服务端再次回传一个带有FIN标志的数据包,告知同意断开连接请求;

  4. > 客户端回传一个带有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相关推荐

  1. 4-1:TCP协议之传输层的作用及传输层协议TCP和UDP

    文章目录 一:传输层的定义 二:通信处理 三:传输层协议 四:TCP协议的可靠和性能 一:传输层的定义 前面说过,IP首部有一个协议字段用于标识网络层(IP)的上一层采用哪一种传输层协议.根据这个字段 ...

  2. TCP/IP中的传输层协议TCP、UDP

    TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...

  3. 传输层协议TCP和UDP的区别详解

    一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...

  4. 传输层协议TCP与UDP的区别

    TCP协议与UDP协议作为传输层最常用的两种传输协议,这两种协议都是使用IP作为网络层协议进行传输.网络层IP与传输层的关系可以简单理解成生活中收快递.IP协议为每个上网的主机分发一个IP地址,这个地 ...

  5. 简单理解TCP/IP传输层协议TCP和UDP

    TCP/IP模型中的传输层主要负责端到端通信,和数据链路层类似,数据链路层负责点到点的通信.TCP/IP模型的传输层主要协议有TCP (Transmission Control Protocol,传输 ...

  6. 传输层协议TCP和UDP的区别

  7. 8月11日 网工学习 APR协议 传输层协议 TCP UDP 数据封装转发全过程

    目录 APR协议 传输层协议 TCP UDP 数据封装转发全过程 APR协议 作用:将IP地址解析为MAC地址 ARP的主要内容 在ARP高速缓存表中查找目的IP地址对应的MAC地址 广播发送ARP请 ...

  8. 传输层的TCP和UDP

    传输层的TCP和UDP TCP和UDP协议 TCP报文段 TCP的三次握手 TCP的四次断开 TCP的常用端口号及其功能 UDP的常用端口号及其功能 TCP和UDP协议 TCP(Transmissio ...

  9. 《UNIX网络编程 卷1:套接字联网API(第3版)》——第2章 传输层:TCP、UDP和SCTP 2.1概述...

    本节书摘来自异步社区<UNIX网络编程 卷1:套接字联网API(第3版)>一书中的第2章,第2.1节,作者:[美]W. Richard Stevens , Bill Fenner , An ...

最新文章

  1. 2016-8-9更新日志
  2. 如何把2d目标检测的bbox转化到现实世界坐标系的?
  3. JSP错误页面的处理和exception对象
  4. 注意,ruby循环体定义的变量在结束时后,变量还存在
  5. php接入influxdb,[Linux]安装grafana并且添加influxdb监控
  6. mysql innodb 数据恢复
  7. 投稿选刊必备,2021较全的国内SCI期刊汇总整理
  8. 搜索在线设备的工具软件-SADPTool提供下载
  9. 编码:decode()/encode()、quote()/unquote()
  10. Golang多线程文件传输
  11. vue3+ts+vant移动端H5项目搭建
  12. 计算机网络设备配置与调试体会,计算机网络设备配置与调试课程标准
  13. 大数据集群的部署安装
  14. Amazon 邮箱大全
  15. 第一章 编程基础_ASCII 编码和GBK编码
  16. ES集群重新设置密码(第二次执行.elasticsearch-setup-passwords interactive报错)
  17. =,==,===的区别
  18. 从苏宁电器到卡巴斯基第17篇:我在苏宁电器当营业员 VIII
  19. C/C++学习教程:C语言排序算法—插入排序算法
  20. python修改docx文档的表格内中文字体

热门文章

  1. 遍历数组是什么意思_漫画:寻找无序数组的第k大元素(修订版)
  2. xgp游戏列表_Steam疯狂周三游戏推荐:动物百科全书
  3. python灰色预测_灰色系统预测GM(1,1)模型
  4. 字段定义_SAP 物料主数据增强自定义字段
  5. Typescript有什么冷门但是很好用的特性?
  6. element-ui 组件库 el-form 实现
  7. 1725.可以形成最大正方形的矩阵数目
  8. python三维可视化图,如何使用Python在(交互式)3D中可视化图形?
  9. 简单mysql优化_MySQL简单优化
  10. python大数据处理mapreduce_使用python构建基于hadoop的mapreduce日志分析平台