TCP/IP协议族的传输层协议主要包括tcp协议和udp协议。而两者的主要区别与用途在于,TCP是面向连接的可靠的传输层协议。它支持在并不可靠的网络上实现面向连接的可靠的数据传输UDP是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用.下面将详细介绍两种协议的原理。

由于他们都是传输层的协议,所以我们首先要考虑到传输层的做用。传输层主要提供面向连接或无连接的服务、可靠地传输数据、维护连接状态、对应用层数据进行分段和封装、实现多路复用,执行流量控制。

首先介绍TCP,tcp的特点是:三次握手,确认机制,端口号(多路复用),序列号(丢失检测、乱序重排),完整性校验,以及窗口机制。下面是tcp封装数据报

其中红色显示的上文我们已经介绍过其主要作用。TCP协议提供的是可靠地、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接3个过程。TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段,提供紧急数据传送功能。

相对于TCP来说,UDP协议要更为简单一些。UDP不提供数据包分组组装和不能对数据包进行排序的缺点,也就是说当报文发送之后,是无法得知其是否安全完整到达的。下面是UDP报文的结构

下面我们将介绍两者的一些区别

转载于:https://blog.51cto.com/chenyuqi/1302318

TCP和UDP基本原理相关推荐

  1. 实验一 基于TCP和UDP的客户端和服务器端

    基于TCP和UDP的客户端和服务器端 一. 实验要求 二.实验目的 三. 实验环境 四. 实验内容 五. 实验原代码 六. 实验结论 七. 实验错误及改正 八. 总结 一. 实验要求 (1)分别编写基 ...

  2. TCP和UDP相关记录

    有关于计算机网络的知识,准确来说我也忘得差不多了,现在要开始找实习了.努力从新学一下,记录在这里以防丢失. ---------------------------------------------- ...

  3. 基于tcp和udp的socket实现

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍如何用Java实现Socket编程.首先介绍Java针对Socket编程提供的类,以及它们之间的关系.然后分别针对TC ...

  4. TCP和UDP DNS DHCP OSPF的五种包:

    TCP和UDP: 通俗易懂的TCP里面的三次握手以及四次挥手 [网络协议]TCP分段与IP分片 DNS :https://blog.csdn.net/weixin_42859280/article/d ...

  5. 40 张图带你搞懂 TCP 和 UDP

    前言 拿下计网协议后,我就是公园里最靓的仔 TCP/IP 基础知识总结 计算机网络基础知识总结 那么下面就开始我们本篇文章,文章组织脉络如下 运输层位于应用层和网络层之间,是 OSI 分层体系中的第四 ...

  6. tcp、udp协议连接的建立和释放

    tcp协议连接的建立和释放 一.tcp协议 (1)tcp的头部结构 (2)tcp的三次握手(重点) (3)tcp的四次挥手(重点) (4)tcp的状态转移图 (5)tcp可靠性的体现 二.UDP协议 ...

  7. TCP 和 UDP 在socket编程中的区别

    (网络收集) 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证 ...

  8. TCP和UDP 粘包 消息保护边界

    在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的.因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有 ...

  9. TCP和UDP的最完整的区别

    TCP UDP TCP与UDP基本区别   1.基于连接与无连接   2.TCP要求系统资源较多,UDP较少:    3.UDP程序结构较简单    4.流模式(TCP)与数据报模式(UDP);    ...

最新文章

  1. jwt 私钥_一分钟带你了解JWT认证
  2. Lync 小技巧-24-PDF 加密文件-转-Word-操作手册
  3. python中中括号中的负数
  4. 数据结构实验之链表六:有序链表的建立
  5. PHP验证登录用户名和密码
  6. JDBC.property 配置文件中链接数据库的配置
  7. 没有基础的人可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...
  8. 【JSP笔记】第四章 JSP内置对象【下】
  9. Android Clipboard(复制/剪贴板)
  10. 7.2 HAVING子句
  11. 【语音识别】基于matlab带动量项的BP神经网络语音识别【含Matlab源码 430期】
  12. bat怎么发起网络请求_接口测试实战| GETPOST 请求区别详解
  13. mencoder 音视频格式转换
  14. 语音增强二,麦克风阵列
  15. web前端制作网页步骤以及制作网页学习教程
  16. import time python_import time
  17. NOIp2017——追求那些我一直追求的
  18. 投影仪用光学引擎行业现状调研及趋势分析报告
  19. 将连续生产参数与四班三运转班次对应起来的算法
  20. 小米手机刷机失败之小米La¥%¥Ji

热门文章

  1. UVa10905 - Children's Game(贪心算法)
  2. UVa1388 - Graveyard
  3. shell中的变量及运算符
  4. 题目1024:畅通工程
  5. DropZone(文件上传插件)
  6. WAL streaming (max_wal_senders 0) requires wal_level replica or logical
  7. Hadoop 2.7.3 完全分布式维护-动态增加datanode篇
  8. 软件著作权登记证书申请攻略
  9. 【转】Python开发指南:最佳实践精选
  10. 利用python3.x实现小爬虫下载贴吧内图片