IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP协议和UDP协议 -> 正文阅读

[网络协议]TCP协议和UDP协议

1.TCP协议的特性

TCP协议在IP协议软件提供服务的基础上,支持面向连接的、可靠的、面向流的服务。

(1)面向流的投递服务

应用程序之间传输的数据可被视为无结构的字节流(或位流),流投递服务保证收发的字节顺序完全一致。

(2)面向连接的投递服务

流传输之前,TCP收发模块之间需建立(类似虚电路),其后的TCP报文在此连接上传输。TCP连接报文通过IP数据报进行传输,由于IP数据报的传输导致ARP地址映射表的产生,从而保证了后继的TCP报文可以具有相同的路径。

(3)可靠的传输服务

发送方TCP模块在形成TCP报文的同时,形成一个“累计核对”。“累计核对”类似于校验和,并随同TCP报文一起传输。接收方TCP模块根据该校验和判断传输的正确性:如果传输不正确,接收方简单地丢弃该TCP报文;否则进行应答。发送方如果在规定地时间内未能获得应答报文,则自动进行重传。

(4)缓冲传输

为了保证数据传输地效率,TCP模块提供强制性传输(立即传输)和缓冲传输两种手段。缓冲传输允许将应用程序地数据流积累到一定的体积,形成报文,再进行传输。

(5)全双工传输

TCP模块之间可以进行全双工的数据流交换。

(6)流量控制

TCP模块提供滑动窗口机制支持收发TCP模块之间的端到端流量控制。


2.TCP端口和连接

TCP模块以IP模块为传输基础,同时又可向多种应用程序提供传输服务。为了能够区分对应的应用程序,引入了TCP端口号含义。

TCP端口类似于OSI中传输层服务访问点,与一个16位的整数值相对应,该整数值也被称为TCP端口号。需要服务的应用程序与某个端口号进行连接,此时,TCP模块就可以通过该TCP端口与应用进程通信。

由于IP地址可以对应到因特网中的某台主机,而TCP端口号可对应到主机上某个应用进程,因此,TCP模块采用IP地址和端口号的对偶来标识TCP连接的端点。一条TCP连接实质上对应了一对TCP端点。


3.TCP窗口机制

TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。

处理过程:

(1)TCP连接阶段,双方协商窗口尺寸,同时接受方预留数据缓存区。

(2)发送方根据协商的结果,发送符合窗口的尺寸的数据字节流,并等待对方的确认。

(3)接收方根据当前的处理能力,调整接收窗口的尺寸,并在确认中告知发送方。

(4)发送方根据确认信息,改变窗口的尺寸,增加或减小发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,则应将发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。

TCP的窗口机制和确认保证了数据传输的可靠性和流量控制。


4.UDP

UDP是TCP/IP协议簇中等同于TCP的通信协议,其差异在于:UDP直接利用IP进行UDP数据报的传输,因此UDP提供的是无连接、不可靠的数据报投递服务。

UDP常用于数据量较少的数据传输。例如,域名系统中地址/IP地址的映射请求和应答采用UDP进行传输,以减少TCP连接的过程,提高工作过效率。

当使用UDP传输信息流时,用户负责解决排序、差错确认等问题。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-18 11:30:16  更:2021-11-18 11:31:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:27:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码