TCP和UDP基本原理
TCP/IP协议族的传输层协议主要包括tcp协议和udp协议。而两者的主要区别与用途在于,TCP是面向连接的可靠的传输层协议。它支持在并不可靠的网络上实现面向连接的可靠的数据传输UDP是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用.下面将详细介绍两种协议的原理。
由于他们都是传输层的协议,所以我们首先要考虑到传输层的做用。传输层主要提供面向连接或无连接的服务、可靠地传输数据、维护连接状态、对应用层数据进行分段和封装、实现多路复用,执行流量控制。
首先介绍TCP,tcp的特点是:三次握手,确认机制,端口号(多路复用),序列号(丢失检测、乱序重排),完整性校验,以及窗口机制。下面是tcp封装数据报
其中红色显示的上文我们已经介绍过其主要作用。TCP协议提供的是可靠地、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接3个过程。TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段,提供紧急数据传送功能。
相对于TCP来说,UDP协议要更为简单一些。UDP不提供数据包分组组装和不能对数据包进行排序的缺点,也就是说当报文发送之后,是无法得知其是否安全完整到达的。下面是UDP报文的结构
下面我们将介绍两者的一些区别
转载于:https://blog.51cto.com/chenyuqi/1302318
TCP和UDP基本原理相关推荐
- 实验一 基于TCP和UDP的客户端和服务器端
基于TCP和UDP的客户端和服务器端 一. 实验要求 二.实验目的 三. 实验环境 四. 实验内容 五. 实验原代码 六. 实验结论 七. 实验错误及改正 八. 总结 一. 实验要求 (1)分别编写基 ...
- TCP和UDP相关记录
有关于计算机网络的知识,准确来说我也忘得差不多了,现在要开始找实习了.努力从新学一下,记录在这里以防丢失. ---------------------------------------------- ...
- 基于tcp和udp的socket实现
2019独角兽企业重金招聘Python工程师标准>>> 本文介绍如何用Java实现Socket编程.首先介绍Java针对Socket编程提供的类,以及它们之间的关系.然后分别针对TC ...
- TCP和UDP DNS DHCP OSPF的五种包:
TCP和UDP: 通俗易懂的TCP里面的三次握手以及四次挥手 [网络协议]TCP分段与IP分片 DNS :https://blog.csdn.net/weixin_42859280/article/d ...
- 40 张图带你搞懂 TCP 和 UDP
前言 拿下计网协议后,我就是公园里最靓的仔 TCP/IP 基础知识总结 计算机网络基础知识总结 那么下面就开始我们本篇文章,文章组织脉络如下 运输层位于应用层和网络层之间,是 OSI 分层体系中的第四 ...
- tcp、udp协议连接的建立和释放
tcp协议连接的建立和释放 一.tcp协议 (1)tcp的头部结构 (2)tcp的三次握手(重点) (3)tcp的四次挥手(重点) (4)tcp的状态转移图 (5)tcp可靠性的体现 二.UDP协议 ...
- TCP 和 UDP 在socket编程中的区别
(网络收集) 一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证 ...
- TCP和UDP 粘包 消息保护边界
在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的.因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有 ...
- TCP和UDP的最完整的区别
TCP UDP TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少: 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); ...
最新文章
- jwt 私钥_一分钟带你了解JWT认证
- Lync 小技巧-24-PDF 加密文件-转-Word-操作手册
- python中中括号中的负数
- 数据结构实验之链表六:有序链表的建立
- PHP验证登录用户名和密码
- JDBC.property 配置文件中链接数据库的配置
- 没有基础的人可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...
- 【JSP笔记】第四章 JSP内置对象【下】
- Android Clipboard(复制/剪贴板)
- 7.2 HAVING子句
- 【语音识别】基于matlab带动量项的BP神经网络语音识别【含Matlab源码 430期】
- bat怎么发起网络请求_接口测试实战| GETPOST 请求区别详解
- mencoder 音视频格式转换
- 语音增强二,麦克风阵列
- web前端制作网页步骤以及制作网页学习教程
- import time python_import time
- NOIp2017——追求那些我一直追求的
- 投影仪用光学引擎行业现状调研及趋势分析报告
- 将连续生产参数与四班三运转班次对应起来的算法
- 小米手机刷机失败之小米La¥%¥Ji
热门文章
- UVa10905 - Children's Game(贪心算法)
- UVa1388 - Graveyard
- shell中的变量及运算符
- 题目1024:畅通工程
- DropZone(文件上传插件)
- WAL streaming (max_wal_senders 0) requires wal_level replica or logical
- Hadoop 2.7.3 完全分布式维护-动态增加datanode篇
- 软件著作权登记证书申请攻略
- 【转】Python开发指南:最佳实践精选
- 利用python3.x实现小爬虫下载贴吧内图片