HCIA复习

OSI  --开放式系统互联参考模型 --- 7层参考模型

TCP/IP协议栈道  ---  4层或5层

OSI:

应用层   抽象语言 -->编码

表示层   编码-->二进制   表示层以下都是二进制-----data(数据)

会话层   提供应用程序的会话地址

上三层为应用程序对数据流量进行加工以及处理的阶段

下四层负责数据的传输

传输层  分段、端口号      TCP/UDP

网络层  internet协议  -IP IP地址  作用----逻辑(临时---环境改变IP也会改变寻址---通过IP寻找目标

数据链路层  以太网/PPP/HDLC/FR/ATM。。。。。。 控制物理层

物理层

包一旦连续就会抢带宽(下载等)、包太大也会,不仅抢占别人带宽还会让自己丢包(因为别人也在一直发就会挤自己,一但交换机缓存器满了就会丢东西)-----所以要分段

分段:数据包容量不易过大,否则影响传输效率及共享带宽;分段大小由MTU决定;

MTU:最大传输单元  默认1500(超过1500就分)

端口号: 0-65535  其中1-1023 注明端口  用于默认标记固定服务 

                   1024-65535 动态端口 高端口  用于随机对应终端的各种进程

UDP:用户数据报文协议  --- 非面向连接的不可靠传输协议;传输层的基本协议,仅完成传输层的基本工作 --- 分段、端口号

TCP:传输控制协议 --- 面向连接的可靠传输协议  除了完成传输层的基本工作外,还需要保障传输的可靠性;

面向连接   通过三次握手建立端到端的虚链路

可靠传输 4种可靠机制    确认、重传、排序、流控(滑动窗口)

IPV4报头:标准长度20字节 -- 可扩展到60字节

ver---版本(V4)  service type—标记位(策略 ) header checksum---校验

time to live ----生存时间(每经过一个路由器减一,到0停止传输用于防环)

Padding----填充位

第二排和最后一排位跨层封装而存在(分片)

Protocol---协议号(0-255) 6----tcp  17----udp 其余全用于跨层(icmp---1/ospf---89)其余数字每一个皆对应一个固定的跨层封装协议

在HCIA阶段,数据链路层仅关注了一种协议--- 以太网

以太网在2层主要负责两个功能---1、控制物理层(该层的基本功能) 2、提供MAC地址进行物理寻址(以太网的额外的功能)

Preamble---前导位---标志上一个数据已经全部接收,下一个数据开始接收(相当于运动会举牌子的—标志上一个班级已经走完了,开始下一个班级)

FCS----校验---检验数据帧是否完整

名词注解:

  1. MTU  最大传输单元  传输层对数据分段的大小
  2. 封装  数据从高层向低层的加工过程,过程中数据封装每层的头部,不断变大(7-1)
  3. 解封装 数据从低层向高层的识别过程,过程中需要读取,删除部分头部,不断变小(1-7)
  4. PDU  -- 协议数据单元  各层数据在封装完成后,对数据的单位称呼

应用层---报头

传输层--段

网络层--包

数据链路层--帧

物理层-- 比特

  1. ARP --地址解析协议  通过对端的一种地址来获取对端另一种地址

AARP 正向ARP -- 已知同一网段的ip地址,通过广播来获取该ip对应的MAC地址

反向ARP --- 已知对端的MAC地址,获取本地的ip地址;

FARP -- 无故ARP  使用AARP,来查询本地的ip地址; --- 用于ip地址的冲突检测

  1. DNS-- 域名解析服务  通过域名地址,查询对应的ip地址;主要用于http、https等服务

  1. TCP/IPOSI的区别
  1. 层数不同 tcp/ip---4/5层  osi---7层

  1. OSI模型的网络层支持所有的网络层协议,TCP/IP的网络层实际被成为internet层,仅支持IP协议;
  2. TCP/IP协议栈道支持跨层封装

跨层封装--- 应用层数据直接封装于3层报头或者2层报头

封装3层报头:同一广播域内的服务型协议--ARP/OSPF..... 使用的设备均为3层设备

封装2层报头:同一交换网络内的二层设备服务型协议---STP(生成树)

正常应用程序封装的数据流量不做跨层处理

因此跨层封装的意义在于更快的完成服务型协议间的沟通计算

跨层封装时,部分层面的功能,必须由其他层面来辅助完成;

--- 4层的分段、端口号(区分进程)

跨层封装到3层报头时,IPV4报头可以对数据进行分片,之后每片内容填充于报头中,携带到目的地;

3层报头中还存在协议号,用于对标后方所封装的协议0-255,6代表TCP/17代表UDP;

其余数字每一个皆对应一个固定的跨层封装协议

2层报头中也有类似的功能来实现分段、进程区分;

主讲以太网:在非跨层封装到2层时,以太网使用第二代数据帧,该帧不具备分片功能,仅存在类型号,可用于区分进程;

故一旦数据被跨层封装到二层时,将启用第一代以太网封装;

第一代封装将数据链路层分为了两层 --->LLC逻辑链路控制子层+MAC介质访问控制子层

LLC层负责分片和提供类型号来区分进程,MAC层用于提供MAC地址,以及控制物理层;

LLC层 --802.2标准   MAC层-802.3标准

重点---- 数据包转发过程

源终端设备需要进行数据封装,从高层封装到物理层;过程中基于应用层流量,选择传输层的协议和端口号;基于目标ip地址、目标MAC来封装3层和2层头部;

获取目标ip地址方式:

  1. 本地已知
  2. 访问网页基于域名,通过DNS服务器进行解析
  3. 终端客户端软件提前存储服务器ip地址,直接访问服务器,基于服务器中转来与实际目标通讯;

获取目标mac地址方式:使用ARP请求通过广播的形势来获取同一广播域设备的mac地址

交换机的工作原理:当数据帧进入交换机后,先查看数据中的源mac地址,然后将其与对应的入口记录;之后基于目标mac地址,查询本地的MAC地址表,若表中存在记录,按照记录对应接口单播转出;若没有记录,需要洪泛该流量 ---  除流量进入接口外,其他所有接口复制转出;

终端访问另一设备时,在获取目标ip地址后,关注目标ip地址是否和本地处于同一网段;若在同一网段,使用ARP获取对端mac地址后,单播通讯;

或目标ip地址与源头不在同一网段,将封装目标MAC地址为本地的网关位置;之后数据进入路由器,又路由器将数据基于路由表路由转发到目标地点;

数据在跨网段传输过程中,源、目ip地址正常不变化,但源、目MAC地址在每一个广播域中重新编写,用于该广播域内的物理寻址;

MAC地址:由48位二进制构成,使用16进制标识;全球唯一,出厂时烧录到芯片中;

二、

IPV4地址:32位二进制构成  点分十进制标识 

分类:ABCDE 

其中ABC为单播地址  --- 唯一即可作为目标ip地址,也可作为ip(广播不能代表一个人,只能做目标地址  )地址;---只有单播地址可以配置为各个节点的ip;

D类为组播地址,只能作为目标ip地址;

基于ip地址的第一段即可分类:

A 1-126   B 128-191  C 192-223   D224-239  E240-255

特殊地址:

  1. 在ABC地址中存在私有ip地址与公有ip地址的区分

公有地址:具有全球唯一性,可以在互联网中通讯,且需要付费使用

私有地址:仅具有本地唯一性,不能在互联网中通讯,无需付费使用

故,通过私有构建的企业或局域网,访问全部为公有地址的互联网时,必须转换为合法且唯一的互联网公有ip地址;

私有地址:10.0.0.0/8    172.16.0.0/16-172.31.0.0/16 

192.168.0.0/24-192.168.255.0/24

2、127   环回地址,用于测试TCP/IP协议栈道在设备上是否正常

  1. 全0  0.0.0.0   1)在DHCP请求ip地址作为源ip,代表没有地址

                  2)在路由表作为缺省路由,代表所有目标

  1. 全1  255.255.255.255  受限广播地址,在不明确目标ip地址时,发送广播时成为目标ip地址,受到路由器的限制,不能转出单个广播域
  2. 主机位全0  192.168.1.0/24  不是一个具体的ip地址,网络号-代表一个网段
  3. 主机位全1  192.168.1.255/24 不是一个具体的ip地址,该网段的直接广播地址
  4. 169.254.0.0/16  自动私有地址,本地链路地址;终端在通过dhcp行为多次获取ip地址失败后,本地自动生成的一个ip地址,网络位固定,主机位随机;

VLSM:可变长子网掩码  ---  通过延长子网掩码的长度,起到将一个网络号码,划分为多个可用网段; --- 子网划分

CIDR无类域间路由:取相同位,去不同位

将多个网络号合成一个网段号码;

CIDR =  子网汇总+ 超网 

子网汇总:汇总后,汇总网段地址的掩码长于或等于主类

超网:汇总后,汇总网段的掩码长度短于主类

  • 静态路由

在默认情况下,路由器仅存在直连网段的路由;

直连路由产生的条件:

  1. 路由器的接口配置了合法的ip地址
  2. 同时该接口已经开启,且可以通信

所有非直连网段为该路由器的未知网段,获取未知网段方法:

  1. 静态路由 -- 管理员手写路由表
  2. 动态路由 -- 所有路由器运行相同的动态路由协议后,路由器间沟通、协商、计算自动生成路由表
[Huawei]ip route-static 10.1.1.0 24 192.168.1.2

                     目标网络号  下一跳

下一跳:流量从本地发出后,下一个进入的路由器接口  -- 下一个入口地址(路由器)

[Huawei]ip route-static 10.1.1.0 24 GigabitEthernet 0/0/1

                    目标网络号   出接口

出接口:流量从本地路由器发出的接口号;

在MA网络中建议使用下一跳写法,在点到点网络中建议使用出接口写法;

网络类型:

点到点 --- 在一个网段中,只能存在两个节点

MA -- 多路访问 ---在一个网段中,存在节点数量不限制;

若在MA网络中使用出接口写法,编辑静态路由;为获取精确的下一跳MAC地址,路由器将使用代理ARP和ICMP重定向;

代理ARP:若一台路由器收到了非本接口直连网段地址的ARP请求,将查询本地路由表,若表中存在到达被请求ip地址的网段的路由,将代理该被请求ip,使用本地的MAC地址进行ARP应答;

ICMP重定向:当路由器发现一个数据包从本地的A口进入后,查询完路由表依然从A口再发出,将告知上一跳设备,本地的下一跳地址来优化转发路径;

基于以上的规则总结:在MA网络中使用出接口写法,数据转发过程繁琐浪费资源,故建议下一跳写法;

在点到点网络中若使用下一跳写法:

由于路由器是递归查询路由表的,故下一跳写法生成的路由条目每次查询时,均需要递归到直连路由上,但出接口写法可以不用递归;因此在点到点网络中,由于其不存在代理ARP/ICMP重定向之类规则,故建议出接口写法;

  • 静态的扩展配置
  1. 手工汇总

 当路由器访问多个连续子网(可以汇总成一个网段)时,且全部基于相同的下一跳路径;可以将这些目标网络进行汇总计算后,仅编写到达汇总网段的一条路由即可;--优化路由表,减少路由条目数量,加快查表速度,降低网络延时;

  1. 路由黑洞 --- 汇总的路由网段中包含了网络内实际不存在的网段时,流量将有去无回;造成资源浪费;  主动黑洞--地址设计不合理   被动黑洞--设备关机断电导致
  2. 缺省路由 --一条不限定目标,在路由表中0.0.0.0标识的路由,代表所有网段;路由器查表时,在查询完本地所有的直连、静态、动态路由后若依然没有可达路径,才使用该条目;
[Huawei]ip route-static 0.0.0.0 0 12.1.1.2
  1. 空接口防环路由--当黑洞路由与缺省路由相遇时,将必然出现环路;

通过在黑洞路由器上,编写到达汇总网段的空接口路由,可以防止环路的产生;

[Huawei]ip route-static 1.1.1.0 24 NULL 0
  1. 浮动静态路由 --默认手写的静态路由优先级为60;直连路由为0;优先级取值范围0-255;越小越优秀;通过在编写静态路由时,修改优先级,可以实现静态路由备份的效果;
[Huawei]ip route-static 1.1.1.0 24 12.1.1.2 preference 61

6)负载均衡--当访问同一网段时,若存在多条开销相似路径时,可以让设备将流量拆分后延多条路径同时传输,实现带宽叠加的效果;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/294577.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go-Gin中优雅的实现参数校验,自定义错误消息提示

问题描述 在参数校验的时候我们一般会基于"github.com/go-playground/validator/v10"这个库给结构体加标签实现校验参数,当参数校验错误的时候,他的提示一般是英文的,怎么自定义参数错误提示呢?跟着我一步步来 注册校…

分析:两种不同的函数模板写法,其中一种为何不行

接上篇: 利用类型,做函数模板的“重载”-CSDN博客 比较两种模板的写法 为什么左边不可行: 注意,左边的写法的第二个模板参数,是默认参数的形式。为何这里采取了默认参数的形式呢,本意是想让编译器来走sfi…

扫地机器人(蓝桥杯)

文章目录 扫地机器人题目描述解题思路二分贪心 扫地机器人 题目描述 小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所 示。 走廊内部署了 K 台扫地机器人,其中第 i 台在第 Ai 个方格区域中。已知扫地机器人每分钟可以移动…

互联网轻量级框架整合之JavaEE基础I

不得不解释得几个概念 JavaEE SUN公司提出来的企业版Java开发中间件,主要用于企业级互联网系统的框架搭建,同时因为Java语言优质的平台无关性、可移植性、健壮性、支持多线程和安全性等优势,其迅速成为构建企业互联网平台的主流技术&#x…

Oracle EBS AR接口和OM销售订单单价为空数据修复

最近,用户使用客制化Web ADI 批量导入销售订单行功能,把销售订单行的单价更新成空值,直到发运确认以后,财务与客户对帐才发现大量销售订单的单价空,同时我们检查AR接口发现销售订单的单价和金额均为空。 前提条件 采用PAC成本方式具体问题症状 销售订单行的单价为空 Path:…

【检索增强】Retrieval-Augmented Generation for Large Language Models:A Survey

本文简介 1、对最先进水平RAG进行了全面和系统的回顾,通过包括朴素RAG、高级RAG和模块化RAG在内的范式描述了它的演变。这篇综述的背景下,更广泛的范围内的法学硕士研究RAG的景观。 2、确定并讨论了RAG过程中不可或缺的核心技术,特别关注“…

C# WPF编程-Application类(生命周期、程序集资源、本地化)

C# WPF编程-Application类 应用程序的生命周期创建Application对象应用程序的关闭方式应用程序事件 Application类的任务显示初始界面处理命令行参数访问当前Application对象在窗口之间进行交互 程序集资源添加资源检索资源pack URI内容文件 每个运行中的WPF应用程序都由System…

uniapp 开发之原生Android插件

开发须知 在您阅读此文档时,我们假定您已经具备了相应Android应用开发经验,使用Android Studio开发过Android原生。也应该对HTML,JavaScript,CSS等有一定的了解, 并且熟悉在JavaScript和JAVA环境下的JSON格式数据操作等。 为了插件开发者更方便快捷的开…

在Windows的Docker上部署Mysql服务

在我们做一些和数据库相关的测试时,往往需要快速部署一个数据库作为数据源。如果开发环境是Windows,且开发的代码不依赖于系统,即不用在linux上做开发,则可以将全套环境都部署在Windows上。 本地安装数据库会污染操作系统环境&…

【学习笔记】java项目—苍穹外卖day03

文章目录 苍穹外卖-day03课程内容1. 公共字段自动填充1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3 步骤三 1.4 功能测试1.5 代码提交 2. 新增菜品2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码开发2.2.1 文件上传实现2.2.2 新…

test02

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

Linux shell编程学习笔记45:uname命令-获取Linux系统信息

0 前言 linux 有多个发行版本,不同的版本都有自己的版本号。 如何知道自己使用的Linux的系统信息呢? 使用uname命令、hostnamectl命令,或者通过查看/proc/version文件来了解这些信息。 我们先看看uname命令。 1 uname 命令的功能和格式 …

Java

1.学生和老师都会有work方法,学生的工作是学习,老师的工作是教书,我利用了一个接口来实现; 2.同时,老师和学生都是人,并且都有姓名,姓名,年龄和身高等特征,我用了一个继承…

加密软件VMProtect教程:使用脚本-功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

RabbitMQ高级笔记

视频链接:【黑马程序员RabbitMQ入门到实战教程】 文章目录 1.发送者的可靠性1.1.生产者重试机制1.2.生产者确认机制1.3.实现生产者确认1.3.1.开启生产者确认1.3.2.定义ReturnCallback1.3.3.定义ConfirmCallback 2.MQ的可靠性2.1.数据持久化2.1.1.交换机持久化2.1.2.…

Docker搭建LNMP环境实战(09):安装mariadb

1、编写mariadb部署配置文件 在文件夹:/mnt/hgfs/dockers/test_site/compose下创建文件:test_site_mariadb.yml,内容如下: version: "3.5" services:test_site_mariadb:container_name: test_site_mariadbimage: mari…

代码+视频,手动绘制logistic回归预测模型校准曲线(Calibration curve)(1)

校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。 一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距. 另外一种是calibra…

vue3源码解析——ref和reactive定义响应式的区别

ref 和 reactive 是 Vue 3.0 中用于定义响应式数据的两个新 API。它们有以下区别: ref 定义单个响应式数据 数据类型可以是任意类型。它通常用于定义原始数据类型为响应式数据。返回一个响应式对象,该对象包含一个 .value 属性,可用于获取和设…

java学习之路-数组定义与使用

目录 ​编辑 1.什么是数组 2.数组的创建及其初始化 2.1数组的创建 2.2数组的初始化 3.数组的使用 3.1数组元素访问 3.2遍历数组 4.数组是引用类型 4.1jvm的内存分布 4.2基本类型变量与引用类型变量的区别 4.3引用变量详解 4.4 null 5.数组的使用场景 5.1存储数据 5…

在jupyter notebook中使用conda环境

在jupyter notebook中使用conda环境 1. 环境配置 conda activate my-conda-env # this is the environment for your project and code conda install ipykernel conda deactivateconda activate base # could be also some other environment conda install nb_cond…