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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 云计算笔记二 -> 正文阅读

[网络协议]云计算笔记二

2021年12月9日

面向连接:设备在正式传输数据之前,先使用预备的协议建立点到点的连接,之后再传输数据。

TCP/IP建立的是一个双向连接。

传输层只需要在头部加东西,不需要在尾部加东西。

TCP协议的头部是一个可变长头部。

数据:应用层产生传送下来的数据。

序号;来确定分段后的顺序。

首部长度:用来标出头部的长度为多少,因为TCP的头部是可变长头部(最短20字节)

选项:可选项,可能有可能无,所以TCP的头部长度不固定。

保留:不用管,暂时置0。

六个标记位,每一个标记位占1位,每个标记位置1都会使其发挥其对应的功能。

紧急标记位(URG):如果数据中有需要紧急处理的数据就会置1激活,会将所有需要优先处理的数据放到正式数据的前面,随之激活紧急指针。

紧急指针:指出紧急数据与正式数据的分界点(只有存在紧急数据时才会激活)。

确认标记位(ACK):置1代表确认,然后确认序号激活。

推送标记位(PSH):如果置1就不需要在缓存区域排队,直接被推送给进程。

强制断开标记位(RST):

请求标记位(SYN):用来请求建立连接。

结束标记位(FIN):用来断开连接。

TCP协议会有一个缓存区域用来将被分段的数据拼好,再推送给进程。

校验和(伪头部校验):确保数据的完整性,除了会校验TCP的头部以外,还会把TCP携带的数据一块校验,而且还会把下一层(网络层)的协议的部分数据一起校验。

将12个字节的数据一块校验:32位的源IP,32位目标IP,8位保留,8位协议号,16位的总长度(数据+头部的总长度)。

协议类型:用协议号标识上一层所使用的协议。

所以传输层的校验强度相对其他层比较高。

UDP协议;

16位UDP长度:总长度。

UDP的校验和与TCP的校验和时一样的。

传输层的校验都是伪头部校验。

且使用的算法都是反码相加法。

TCP建立点到点的连接过程:

  1. TCP的三次握手

  1. TCP的四次挥手:

TCP协议保证传输可靠性的机制:

  1. 确认机制(确认对方是否收到数据)
  2. 重传机制(如果没收到对方的确认,就重新进行传输)
  3. 排序机制(确保数据包的顺序)

真正的序号是按字节来排序的,如果一个数据包被分为三段,每一段100个字节,然后第一个字节的序号为2,则之后的每一个字节加1,所以第一段最后的字节序号则为101。然后发送数据包时序号为2(发送时的序号为数据包第一个字节的序号。),对方收到这个数据包后,返回的确认序号则为102。

所以数据传输时要把数据部分的字节数考虑进去(三次握手的数据包不含数据,所以只要加1就可,而四次挥手的数据包里是可以包含数据的)。

  1. 流控机制

TCP的流控机制比较 耗时,所以引入了窗口机制。

A给B发送一个数据包,数值为1,然后窗口值为5(实际窗口值可能很大,因为实际窗口值会把数据内的字节也包含进去),就会同时发送5个包过去,然后B会给A发送一个数据包与ACK置1,然后确认序列号为6,并发送一个确认窗口值也为5,目的是为了告诉A,它可以接受5个数据包。然后A就不会再发送五个窗口值,会发送更多,直到B达到最大承受值,然后回应一个最大窗口值,并只接收最大窗口值数量的数据包,然后多余的数据包不接收,然后A再从被拒收的数据包再开始发送,并不断试探B的最大承受值(因为最大承受值是在不断变动的,不是固定值。)

这个机制被称为滑动窗口机制。

而UDP则没有这些机制(做不到)

网络层:靠IP协议封装。

版本:标记IP的版本是IPV4还是IPV6.

选项也是可有可无,也是可变长头部。

首部长度:标识头部长度(最短20字节)。

服务类型:数据在传输类型中,如果需要设备对其进行特殊操作,需要在此标 识。

总长度:头部内容+数据内容的长度。

生存时间(time to live TTL):数据包每经过一次路由器的转发,TTL值将会减一,当一个数据包中的TTL值为0,路由器将不再转发该数据包,将直接把他丢弃。

协议:指上层(传输层)所使用的协议类型,用协议号。

TCP --- 6

UDP --- 17

ICMP --- 1 ?ICMP的封装位置也在网络层之上,但在TCP/IP体系中这个 ??协议时属于网络层的协议,但封装位置却不是。

首部校验和:只校验首部,作用强度不大。

IP的分片:

二层在进行封装时有个上限MTU。

MTU(最大传输单元):默认1500个字节(可以改)

所以网络层要保证给数据链路层的数据的大小。

传输层在封装时也有个限制MSS

MSS(最大段长度):TCP分的每一段中包含的数据的长度,合理值为1460字 ?节。这个值需要再TCP连接的三次握 手中前两次SYN包 ?中进行协商,如果双方携带的MSS值不同,则以小的为 ?

如果传输层用的 时TCP协议,能够进行分段,网络层就不需要IP进行分片了,如果用的时UDP协议,无法分段,就需要IP进行分片了。

标识,标志,片偏移都与IP的分片有关。

标识:一个数据包被分片得来的每一片都拥有相同的标识。

标志:三位 ?1.保留。

2.是否进行分片。

3. 后边是否还有分片。

片偏移:如果每一片都是100个字节,最先的片为0,之后的为100,再后的为200,以此类推,即用来排序。

GE --- 千兆口

ethernet --- 百兆口

<Huawei> --- 用户视图 --- < > ---- 只能进行查看配置的操作,而不

能进行配置

<Huawei>display ip interface brief --- 查看接口IP配置情况摘要

?

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

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