| |
|
开发:
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第二天 |
OSI/RM -- 开放式系统互联参考模型
ISO --- 国际标准化组织
核心思想 --- 分层 --- 属于同一层的不同功能具有相同或相似的目的和
作用;每一层都在下一层提供服务的基础上再提更更高层次的服务
分层的作用 : 1,更易于标准化
2,降低关联性
3,更容易学习或理解
应用层
表示层
会话层 ---- 维持网络应用和应用服务器之间的会话连接? (是否需要会话层取决于应用本身)(会话层地址取决于该应用账号)? ?
传输层 --- 实现端到端的通讯 ---- 端口号 --- 区分和标定不同的应用 --- 1 - 65535,1 - 1023 知名端口号? ? ?
Http服务:获取网页信息? ? ? ?
?TCP/IP协议
网络层
数据链路层 --- 介质访问控制层(MAC),逻辑链路控制层
(LLC) --- FCS(帧校验序列) --- 校验数据完整性 --- CRC(循环 冗余算法)
物理层
TCP/IP模型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?五层模型 ---- TCP/IP对等模型? ? ? ?四层模型 ---- TCP/IP标准模型
PDU --- 协议数据单元
L1PDU
L2PDU
…
L7PDU
应用层 ---- 报文
传输层 ---- 段
网络层 ---- 包
数据链路层 ---- 帧
物理层 ----- 比特流
封装和解封装(相反的过程)
应用层---取决于应用
传输层 --- 端口号 -- TCP UDP
网络层 --- IP地址 --- IP
数据链路层 --- MAC地址 --- 以太网协议 ---- 以太网:早期局域网
的解决方案,现在也用在广域网当中。就是依靠MAC地址寻址的一二层网
络。
物理层---不需要封装
数据链路层-以太网协议(数据链路层的封装只针对以太网)
以太网Ⅱ型帧
?有端口号标定的协议一定是应用层协议(反过来说不对)
应用层 --- HTTP 超文本传输协议 TCP 80
HTTPS =HTTP + SSL/TLS --- TCP 443
FTP 文件传输协议 TCP 20/21
TFTP 简单文件传输协议 UDP 69
telnet 远程登录协议 --- TCP 23
SSH TCP 22
DHCP 动态主机配置协议 --- UDP 67/68
DNS 域名解析协议 --- UDP/TCP 53
传输层 --- 端口号 --- TCP/UDP
TCP和UDP的区别
1,TCP是面向连接的协议,UDP是无连接的协议;
2,TCP协议传输是可靠的,UDP协议传输“尽力而为”;
3,TCP可以进行流控,UDP不行;
4,TCP可以进行分段,UDP不行;
5,TCP传输速度较慢,占用资源较大;UDP传输速度较快,占用资源小;
TCP和UDP的应用场景:TCP更适合对传输可靠性要求较高,但是对速度要
求较低的场景;UDP更适合对速度要求较高,对可靠性要求较低的场景
(即时类通讯)
?
什么是面向连接
在正式传输数据之前,先通过预备好的协议,建立点到点的连接,之
后再传输数据。
TCP表头部
URG:(紧急标记位):数据中有需要紧急优先处理的时候置1,紧急指针内容激活
ACK:(确认标记位):确认收到信息置1,确认序号也激活了
PCH:置1代表这个数据段不需要在缓冲区等待和排序,将被直接推送
RST:置1时强制断开的标记位(企业中上网行为监管)
SYN:(请求标记位):置1时代表想要建立连接
FIN:(结束标记位):置1时代表想要断开连接
伪头部校验 --- 32位源IP地址,32位目标IP地址,8位保留,8位协议,16位总长度 --- 反码相加法
TCP的三次握手
?TCP的四次挥手 为什么握手是三次:因为握手过程中不存在数据的交互,没有任何的数据传输,只是单纯的建立连接 为什么挥手是四次(理论上):因为存在数据传输 ?UDP表头部
TCP传输可靠的保障机制:1.确认2.重传3.排序4.流控
停等式流控:发一次数据包等一次回复
窗口值:窗口值为n即一次发n个数据包
滑动窗口机制:动态的处理数据,整个过程一直在试探
封装过程
网络层-IP地址-IP
TCP和IP都是可变长头部
TTL -- 生存时间 ---- 当数据包每经过一次路由器的转发,这个TTL值将
减1。当一个数据包中的TTL值为0时。则路由器将不再对其进行转发,将
直接丢弃
TCP --- 6
UDP --- 17
ICMP --- 1
MTU ---- 最大传输单元 ---- 1500字节
MSS ---- 最大段长度 --- 1460字节
16位标识:所有用同一个数据包切分的不同片,身份标识是一样的
作用:易于集中相同标识
3位标志: 1.Reserved bit保留位置(永远置0)
? ? ? ? ? ? ? ? ? ?2.Don't fragment? 置1代表不是一个分片包
? ? ? ? ? ? ? ? ? ?3.More fragment置1代表后面有其他片,自己不是最后一片
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 值0代表本身不是一个分片包或者刚好是分片包最后一位
位片偏移
解封的过程即逆过程
|
|
网络协议 最新文章 |
使用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 10:50:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |