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/IP网络模型&比较TCP、UDP】学习笔记 -> 正文阅读

[网络协议]【TCP/IP网络模型&比较TCP、UDP】学习笔记

TCP/IP网络模型

TCP/IP网络模型简介

TCP/IP 是互联网相关的各类协议族的总称。所谓协议,可以将其理解为规则,好比是两个人交流需要双方事先了解对方的语言,约定在线下还是线上的形式进行交流。要想实现通信,就要事先确定使用哪种语言进行通信、以何种方式进行通信、如何探测到通信目标、由哪一边先发起通信、怎样结束通信等规则。
TCP/IP作为互联网相关协议族的总称,内含各种协议,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等。TCP/IP协议在一定程度上参考了OSI的七层模型,将各类协议简化分类在四个层次中。

OSI七层模型、TCP/IP四层模型比对

OSI七层模型TCP/IP四层模型实现功能TCP/IP协议族
应用层应用层(用户进程)文件服务、电子邮件、虚拟终端HTTP、FTP、DNS、Telnet等
表示层代码转换、数据加密无协议
会话层解除或建立其他接点的连接无协议
传输层传输层(报文进行分组和重组,数据重组)提供端对端的接口TCP、UDP
网络层网络层(把分组报文发送给目标网络)为数据包选择路由IP、ICMP等
数据链路层链路层(物理硬件接口)传输有地址的帧以及错误检测功能SLIP、MTU等
物理层以二进制数据形式在物理媒体上传输数据IEEE802、ISO02110等

TCP

一、TCP简介

TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
完整的TCP通信可以分为三个步骤,即创建连接、数据传送、终止连接。

二、TCP的特点

1)面向连接

TCP的第一步:创建连接,说明TCP传输是面向连接的。不同于广播,TCP的通信是点对点的。

2)传输可靠

为保证传输过程中的可靠性,TCP传输采取了以下几种机制:
1、发送应答:即发出的数据需要对方在接收后返回应答。
2、超时重传:为保证不丢包,TCP为传输的数据编上序号;若在超时时间内没有得到对应序号的成功接收应答,将会重新上传该包数据。
3、错误校验:用校验数据检查上传的内容是否正确。
4、流量控制和阻塞管理:使用流量控制(即控制传输速率)来避免发生主机发送过快而导致接收方无法及时处理数据的情况。

3)面向字节流

与UDP一个个报文独立地传输不同,TCP在不保留报文边界的情况下以字节流方式进行传输。

4)全双工通信

TCP允许全双工通信,即通信双方的应用程序在任何时候都能发送数据(半双工:通信双方都可以扮演发送方与接收方两个身份给对方发送数据,但在一个时间段只能有一方处于发送状态;单工:有明确的发送方与接收方,两者身份不可互换),因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。所以,TCP既可以一个个地发送数据段,也可以缓存一段时间后一次发送更多的数据段。

三、TCP传输模型

client server 创建连接 发送数据 接收数据 loop [传输数据] 终止连接 client server

UDP

一、UDP简介

UDP协议,用户数据报协议(英语:User Datagram Protocol,缩写为UDP)是一种面向无连接的、不可靠的、面向报文的、高时效性传输层通信协议。

二、UDP的特点

1)面向无连接

因为无需面向连接,所以可以随时向外发出数据。

2)不可靠性与高时效性

首先不可靠性体现在无连接上,通信都不需要建立连接,发送比较随意。
其次,UDP传输收到什么数据就传递什么数据,并且也不会备份数据,因为没有应答,发送数据也不会关心对方是否已经正确接收到数据了。
再者因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件发生改变,也不会对发送速率进行调整,这样实现的弊端就是在网络条件不好的情况下可能会导致丢包。但是优点也很明显,因为没有过多除传输外的操作,UDP的时效性很高,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。

3)面向报文

发送方对应用程序下传的报文,既不合并,也不拆分,而是保留这些报文的边界,在报头添加必要数据后就向下交付IP层。因此,应用程序必须选择合适大小的报文。

4) 单播,多播,广播通信

同时支持一对一,一对多,多对多,多对一的方式传输,也就是说UDP提供了单播,多播,广播的功能。同作为传输层的协议,UDP传输也是双向的。

三、UDP传输模型

client server 发送数据 接收数据 loop [传输数据] client server
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:59:41  更:2021-10-16 20:01:35 
 
开发: 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年6日历 -2024/6/29 18:33:16-

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