| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HCIA---基础网络知识(五) -> 正文阅读 |
|
[网络协议]HCIA---基础网络知识(五) |
目录 传输层---TCP/UDP1,TCP是面向连接的协议,而UDP是无连接协议 2,TCP的传输是可靠的,UDP的传输“尽力而为” 3,TCP可以进行流控,UDP不行 4,TCP可以分段,而UDP不行 5,TCP耗费资源比较大,传输速度较慢;UDP耗费资源较少,传输速度快 问题:面向连接指在会话开始前先建立点到点的连接,那TCP怎么建立点到点的连接的会话? 注意:TCP会话建立和断开会话是双向的 TCP建立连接的过程---TCP三次握手TCP断开连接的过程---TCP四次挥手TCP会话的整个过程其实在A给B发第三个数据包时就可以发送断开请求,因为它知道自己数据包传完了。 问题:为什么TCP四次挥手不是三次挥手? 因为四次挥手断开过程中有数据传输,A可能数据传输完成了,但B可能还有数据要发,所以不能和三次握手一样确认和请求一块发送 用Wireshark抓的TCP会话建立和断开的数据包 ?补充上一篇:RST---强制断开的标记位---当收到一个RST标记位置1的数据包,将不经过四次挥手的过程,直接断开TCP的连接。-----作用非常强大-----上网行为管理 TCP传输可靠性主要依据:排序,确认,重传,流控----滑动窗口机制 Window size value: 窗口值-----非平等式流控(发多个数据包回一个ACK)---效率高 窗口值如何实现流控的过程网络层IP协议---将IP地址封装到数据当中 4位版本:IPV4/IPV6? -----标识IP协议的版本 4位首部长度:和TCP一样有可选项,代表IP协议头部长度也可变长 8位TOS:数据包如果需要进行某些特殊处理的话,在TOS上会添加一些标记,会对特殊数据包进行处理。----学QOS,策略时会使用 16位总长度:头部长度加数据的总字节数。 16位标识: Identification: 0x18e7 (6375)一个数据包需要分成很多片,16位标识代表所有这个数据包的分片都具有一个相同的标识----属于同一个数据包 3位标志:0... .... .... .... = Reserved bit: Not set---保留位永远为0,.1.. .... .... .... = Don't fragment: Set-- 置1表示不分片,0代表分片 ;..0. .... .... .... = More fragments: Not set? 置0表示最后一片 13位片偏移量:...0 0000 0000 0000 = Fragment offset: 0 为0表示没有偏移---排序的作用 TTL----Time to Live? 数据包诞生会赋予一个初始TTL值,数据包每经过一次路由器转发,TTL值将减1,当TTL值为0时,路由器将不会转发该数据,直接将该数据包丢弃。 8位协议:上层所使用的协议类型-----网络层上层为传输层------TCP/UDP协议 ---TCP 协议号为6,UDP协议号为17 16位首校验和--------基本没用,因为它只校验头部 ICMP在TCP/IP协议簇里应该是三层网络层协议但是它实际封装在网络层之上先封装ICMP协议再封装IP协议------协议号为1 IP分片--类似于TCP分段 ?MTU----最大传输单元----默认值1500字节 传输层分段 MSS---最大段长度----1460字节----不是固定值---需要协商-----该值会再TCP的前两次握手中进行协商,取二者中较小的值来执行 如果传输层选用TCP,TCP本身能分段,就不要网络层IP协议来分片了。 如果传输层选用UDP,UDP本身不能分段,如果数据包太长的话,只能交给IP协议分片了 IP协议分片:利用这三个16位标识、 3位标志、13位片偏移量进行分片。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 9:50:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |