当前位置: 首页 > news >正文

HCIA复习

上面的文件里有思维导图哦~

一、情景再现:ISP网络为学校提供了DNS服务,所以,DNS服务器驻留在ISP网络内,而不再学校网络内。DHCP服务器运行在学校网络的路由器上。

小明拿了一台电脑,通过网线,接入到校园网内部。其目的是为了访问谷歌网站,即谷歌的web服务器

二、访问谷歌(百度)服务器前的准备工作----计算机对人类语言的加工:

1、计算机网络发展第一阶段人机交互的加工过程:

    应用层:将人类语言转换为编码(ascII、utf-8、unicode);

    表示层:将编码转换成二进制(0、1);

    介质访问控制层:将二进制转换成电信号(高电平1、低电平0);

    物理层:传输电信号;

2OSI参考模型

(1)每层作用:

          应用层:为应用程序提供网络服务;

          表示层:定义数据格式,对数据进行加密、解密、压缩、解压缩等;

          会话层:对通过双方间的会话,进行建立、维护、拆除----session id----区分同一程序间的不同进程;

          传输层:建立端到端的链接,依靠端口号;

                 端口号:0-65535,其中0和605535是系统保留的。

                        知名端口号:知名的服务或者协议,1-1023

                        HTTP:超文本传输协议----80----TCP

                        HTTPS:安全超文本传输协议----443----TCP

                        FTP:文件传输协议----20、21----TCP

                        TFTP:简单文件传输协议----20、21----UDP

                        DHCP:动态主机分配协议----67(服务器端)、68(客户端)----UDP

                        DNS:域名解析协议----53----TCP/UDP

                        telnet:远程登录协议----23----TCP

                        SMTP:简单邮件传输协议(发邮件)----25----TCP

                        POP3:邮局协议(收邮件)----110----TCP

                        动态端口号:客户端随机使用,1024-65534

          网络层:根据IP寻址(范围寻址)、提供路由、转发数据,路由器、三层交换机、防火墙

          数据链路层:根据MAC寻址(精确寻址)、封装成帧、差错检测、流量控制

          物理层:传输电信号、传输比特流、定义一些物理参数标准(电压、接口、线缆标准、信号输出模式等)

                        信号模式:

                              单工模式:设备只有一个操作,收或者发消息,收音机

                              半双工模式:收和发两个功能,不能同时使用

                              全双工模式:收和发两个功能,能同时使用

(2)通信过程(封装与解封装)

3TCP/IP参考模型

(1)两种模型及其区别

(2)通讯过程(封装与解封装)


4TCP/IP的跨层封装

(1)两种模型之间的不同点:

          TCP/IP支持跨层封装,而OSI不行;

          OSI参考模型的核心思想是分层,而分层的目的就是上层协议在其下层协议提供的服务的基础上提供增值服务。所以,OSI在设计协议的时候,层次之间还是存在依赖性的;

          TCP/IP模型其本身就是先有的协议,后有的模型。TCP/IP协议簇里的协议本身都是相互独立的,每层中的协议可以根据系统的需要进行组合匹配。

(2)跨层封装的目的 --- 提高封装和解封装的速度,加快传输效率。

           TCP/IP的跨层封装一般应用在直连设备之间的通讯。一般有两种形式

         跨四层封装 --- 应用层封装后的数据直接封装网络层。(传输层的功能将由网络层代替----协议号代替端口号,将数据填充到IP报头,分片代替分段)

         特点:一般用在直连路由设备之间

         典型代表:OSPF协议

正常封装,其上层是TCP或者UDP协议。TCP协议对应的协议号是6,UDP协议对应的协议号是17。但是我们这个协议号的取值范围是0 - 255(8位二进制),剩余的这些协议号都是用来标定跨层封装协议的。比如我们OSPF协议,对应的协议号是89。

ICMP协议,对应协议号是1

跨三四层封装----应用层封装后的数据直接封装二层。

特点:应用在直连交换设备之间

典型代表: STP协议

三四层的工作需要二层完成,以太网工帧里类型字段,可以用来区分上层协议,勉强能完成四层工作,但是三层的分片工作并无法完成。这时候我们就需要使用另外一种以太网的帧结构了,802.3帧。

LLC:负责分片和提供帧类型号。逻辑链路控制层,为数据传输提供一个可靠的保障,减少出现帧丢失、失序、重复

MAC:负责正常的MAC地址和前导。媒体接入控制子层

抓取STP数据包

三、访问一个谷歌(百度)服务器的流程?

1、主机需要一个IP地址才能上网(本场景中通过DHCP服务获取IP地址)

(1)DHCP协议回顾:

在华三中,广播包

DHCP租期更新:(DHCP request

租期到达50%,如果客户端在线,会向服务器发起租约更新的请求。

租期到达87.5%,如果客户端在线,会向服务器发起租约更新的请求。

DHCP地址释放(DHCP release):

租约到期,服务器端无响应,客户端会自动停止使用该IP地址;

如果客户端不再使用服务器分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE(DHCP释放报文)报文,释放该IP地址。

DHCP的8个报文:

DHCP discover:

DHCP offer:

DHCP request:

DHCP Ack:

DHCP NAK:DHCP响应拒绝报文,这是服务器端对客户端的DHCP request报文的响应拒绝,比如:租期到期,客户端不在线。服务器端出现故障,导致其没法分配IP地址,则会给客户端发送一个DHCP NAK报文。

DHCP decline:DHCP拒绝报文,当客户端发现服务器端分配给自己的IP地址发生冲突,会给服务器端发送一个DHCP decline报文

DHCP release:

DHCP inform:DHCP通告报文,客户端已经获取到了IP地址,此时客户端会向服务发送一个DHCP inform报文,向服务器请求IP地址相应的掩码、网关、DNS服务器地址等信息

(2)DHCP的第一个报文通过网线来到了----交换机

DHCP discover:

物理层+目标MAC:FF:FF:FF:FF:FF:FF :源MAC:00:16:D3:23:68:8A+目标IP:255.255.255.255  源IP:0.0.0.0.0 +源端口号:68  目标端口号:67+应用层+数据

DHCP offer:

物理层+目标MAC:00:16:D3:23:68:8A  :源MAC:00:22:6B:45:1F:1B+目标IP:68.85.2.101 (临时借用地址) 源IP:68.85.2.1 +源端口号:67  目标端口号:68+应用层+数据

DHCP request:

物理层+目标MAC:FF:FF:FF:FF:FF:FF :源MAC:00:16:D3:23:68:8A+目标IP:68.85.2.1  源IP:68.85.2.101 (临时借用地址)+源端口号:68  目标端口号:67+应用层+数据

DHCP Ack:

物理层+目标MAC:00:16:D3:23:68:8A : 源MAC:00:22:6B:45:1F:1B+目标IP:68.85.2.101 (临时借用地址)  源IP:68.85.2.1+源端口号:67  目标端口号:68+应用层+数据

交换机工作原理:

交换机收到此广播包后,执行泛洪操作(广播)

        遇到广播帧 --- 即目标MAC地址为广播地址(全F)的数据帧;

        遇到组播帧 --- 即目标MAC地址为组播地址的数据帧;

        遇到未知的单播帧 --- 即在本地MAC地址表中没有记录的,目标地址为单播地址的数据帧;

(3)交换机泛洪后,数据将顺着网线,来到网关----路由器

路由器工作原理:路由器收到数据包后,查找路由表,根据路由表中的目标IP去转发至相应的网络,若路由表中没有此路由条目,则丢弃。

发送端:目标MAC:C源MAC:A+目标IP:10.2.0.1源IP:10.1.0.1+数据

接收端:目标MAC:B源MAC:D+目标IP:10.2.0.1源IP:10.1.0.1+数据

正向ARP:地址解析协议,根据IP解析MAC

反向ARP:根据MAC解析IP

免费ARP:自我介绍、检测IP地址冲突

ARP工作原理:

        组网完成时,arp表是空的;

        主机1寻找主机2的MAC地址时,会将此数据广播发送给网络所有的主机;此时发送的包是ARP request;

        所有主机收到后会做个对比,对比一下数据包中的目的IP地址, 如果数据中的IP地址和自身主机的IP地址是一 致的, 则认为这个主机1是找自己的,会给主机1做个回复,此时这个包是ARP reply ,告知主机1自己的MAC地址;同时主机2会学习主机1的IP和MAC, 并将其写入ARP表中;

        总结:广播请求,单播回复。

2、首先要得到www. goole. com(www. baidu. com)的ip地址

114.114.114.114----中国广电域名解析地址

8.8.8.8----谷歌域名解释地址

(1)DNS协议简介:

          域名解析协议----用于域名和IP地址的相互解析,采用C/S模式,是一个具有树状层次结构的、联机分布式的数据库系统;

          基于TCP/UDP协议的53号端口,绝大多数的 DNS 查询来说都会使用 UDP 数据报进行传输,TCP 协议只会在区域传输(它的作用就是在多个命名服务器之间快速迁移记录,由于查询返回的响应比较大,所以会使用 TCP 协议来传输数据包)的场景中使用

          在浏览器的地址栏中输入www.goole.com(www.baidu.com)----域名

          URL:统一资源定位符。

          结构:协议+网站的域名信息+WEB服务器文件所在路径。

(2)DNS产生背景:

          通过IP地址访问目标主机,不便于记忆;

          通过容易记忆的域名来标识主机位置;

(3)域名的属性层次化结构:

域是因特网中一种管理范围的划分:顶级域名、二级域名、三级域名等等

域名结构:顶级域名、二级域名、三级域名等等

域名的特点:不同等级的域名之间使用点号隔开,级别最高的写在左边,低的在右边;

                    每一级域名都由字母和数字组成,不区分大小写;

                    域名的根域用'.'表示,以点号结尾的域名被称为完全合格域名(FQND)

域名结构树:

根域

顶级域:主机所在的国际/区域,注册人的性质

二级域:注册人自行创建的名称

主机名:区域内部的主机名称

完全合格域名:www.sina.com.cn.

(4)域名解析原理

域名解析工作通过调用服务器上的解析器软件完成的;

DNS域名解析按照域名空间的分层树状结构自顶至下进行;

DNS域名解析的完整过程:

com.cn

com

(5)DNS域名解析的两种工作模式

递归查询:UDP

客户端到本地DNS服务器之间的查询交互采用递归查询

DNS服务器一般会返回一个确切的查询结果

迭代查询:TCP

DNS服务器会返回一个已知的其他DNS服务器,由请求者自行查询

一般本地DNS服务器到根域名DNS服务器之间的查询交互采用迭代查询

这里我们回到情景里,看看小明是如何向本地DNS服务器发起查询操作的

3、客户端知道谷歌(百度)的ip地址后,会触发客户端与服务器建立TCP连接(TCP三次握手过程)

总结:

第一次:由客户端发出连接请求到服务器

第二次:再由服务器回话个客户,让客户知道自己已经收到了它的连接建立的请求,同时也告诉客户端我也同意建立连接

第三次:客户端在此回话表示收到服务器同意建立连接的报文,此时双方方可以稳定建立连接,三次握手完成时就可以进行数据传输。(第三次握手时就已经进行了数据传输)

4、建立连接后,客户端使用http协议发送数据包给服务器。

客户端发送数据包给谷歌(百度)服务器,谷歌(百度)服务器收到数据包后将数据返回给客户端的浏览器,浏览器通过渲染,最终用户看到了网站上的主页信息。

HTTP协议简介:

          超文本传输协议,一个典型的C/S架构的协议,HTTP协议传输层是基于TCP协议来进行工作的,使用的端口号是80端口

          超文本(HyperText):是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

          超文本传输协议HTTP:包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

5、当所有数据都接受完毕后,取消连接(TCP的四次挥手)

通过四次挥手取消连接,我们就完成了访问百度服务器的全过程。

总结:

第一次:客户端给服务器发出连接断开请求;

第二次:当服务器收到后,给客户端回复,表明收到断开连接的请求;

第三次:再次由服务器给客户端发送关闭连接的请求;

第四次:客户端收到后,再次给服务器发送同意的信息时,不会立马关闭连接,等服务器关闭连接后,户端立马关闭连接。

相关文章:

HCIA复习

上面的文件里有思维导图哦~ 一、情景再现:ISP网络为学校提供了DNS服务,所以,DNS服务器驻留在ISP网络内,而不再学校网络内。DHCP服务器运行在学校网络的路由器上。 小明拿了一台电脑,通过网线,接入到校园网…...

5G里面NR,gNB,en-gNB,ng-eNB是什么意思

不得不提一个国际组织,叫国际电信联盟(ITU, International Telecommunication Union),简称国际电联。我们先看看国际电联的自我介绍: 国际电信联盟 『国际电联 (国际电信联盟) 是主管信息通信技术事务(ICT)的联合国机…...

android 网络检测简单方法

如果连接的WiFi没有网络,无法通过简单的网络状态检查来判断其可用性。在这种情况下,你可以尝试使用以下方法来检测当前连接的WiFi是否可用: Ping测试:尝试通过向一个已知的可靠服务器发送Ping请求来检测连接的WiFi是否可用。如果…...

列表(list)篇(二)

文章目录 2.10 insert()函数2.11 list()函数2.12 pop() 函数2.13 remove()函数2.14 reverse()函数2.15 sort()函数2.16 sorted()函数2.17 sum()函数 2.10 insert()函数 在Python中,list.insert()是一个列表方法,用于在指定索引位置插入一个元素。这个方…...

Python的反射机制

本篇文章讨论Python中非常有趣且强大的概念——反射(Reflection)。想象一下,你正在编写一段代码,并希望这段代码能够具备自我认知和动态调整的能力。就好比一面镜子,能反映出它自身的属性和行为。在编程领域&#xff0…...

Python数学建模-2.9Matplotlib库

Matplotlib库是Python中一个非常流行的绘图库,它提供了大量的绘图工具,可以生成各种类型的静态、动态、交互式的图表。Matplotlib的设计初衷是为了与NumPy配合使用,从而提供一个强大的数学绘图工具。 1.Matplotlib的主要特点 丰富的图表类型…...

【MySQL】数据库的基础概念

👦个人主页:Weraphael ✍🏻作者简介:目前学习计网、mysql和算法 ✈️专栏:MySQL学习 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…...

Linux:离线安装 jdk-8(配置Java环境)

Linux:离线安装 jdk-8(配置Java环境) 1、jdk简介2、检查已安装的Java版本,并卸载3、准备安装包4、解压安装包、进行安装5、设置环境变量(全局/个人) 💖The Begin💖点点关注,收藏不迷路&#x1f…...

【DP】第十三届蓝桥杯省赛C++ B组《李白打酒加强版》(C++)

【题目描述】 话说大诗人李白,一生好饮。 幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。 他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上&am…...

数据结构试卷第九套

1.时间复杂度 2.树,森林,二叉树的转换 2.1树转二叉树 给所有的兄弟节点之间加一条连线;去线,只保留当前根节点与第一个叶子节点的连线,删除它与其他节点之间的连线;然后根据左孩子右兄弟进行调整&#xf…...

【Linux第三课-基础开发工具的使用】yum、vim、gcc/g++编译器、gdb、Make/Makefile编写、进度条程序、git命令行简单操作

目录 yum - 软件包管理器快速认识yum快速使用yumyum搜索yum安装yum卸载 yum的周边 - yum的整个生态问题 vim快速介绍vimvim的模式命令模式插入模式低行模式 常见模式 -- 命令、低行命令模式 -- 光标的移动命令模式 -- 复制粘贴、剪贴、删除命令模式 -- 小写/大写替换模式命令模…...

Redis:ClassCastException【bug】

Redis:ClassCastException【bug】 前言版权Redis:ClassCastException【bug】错误产生相关资源控制器:UserController("/user")配置:RedisConfiguration实体类:User数据表:User 解决 最后 前言 2…...

JSON 配置文件

JSON 配置文件的作用 JSON 是一种数据格式,在实际开发中, JSON 总是以配置文件的形式出现。小程序项目中也不例外:通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置。 小程序项目中有 4 种 json 配置文件&#xff0…...

由浅到深认识Java语言(6):控制流程语句

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…...

lv17 安防监控项目实战 3

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义(使用在外extern即可)定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…...

文本处理基本方法

目录 分词 jieba 词性标注 😆😆😆感谢大家观看😆😆😆 分词 在中文文本中,由于词与词之间没有明显的界限符,如英文中的空格,因此分词是中文自然语言处理的一个基础且…...

Java面试题(Spring篇)

💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Java面试题(Spring篇) 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…...

操作系统:malloc与堆区内存管理

malloc是函数而不是系统调用,他的底层是同调调用brk和mmap这两个系统调用实现功能的,具体选择brk还是mmap要看申请的空间大小以及malloc中的阈值(一般是128kb) 注意申请的空间只有使用才会触发缺页中断映射到物理内存 不理解的话先…...

javaSwing推箱子游戏

一、简介 策略性游戏可以锻炼人的思维能力还能缓解人的压力,使人们暂时忘却生活当中的烦恼,增强人们的逻辑思维能力,游戏的艺术美也吸引着越来越多的玩家和厂商,寓教于乐,在放松人们心情的同时还可以活跃双手。在人类…...

JAVA多线程之JMM

文章目录 1. Java内存模型2. 内存交互3. 三大特性3.1 可见性3.1.1 可见性问题3.1.2 原因3.1.3 解决方法 3.2 原子性3.3 有序性 4. 指令重排5. JMM 与 happens-before5.1 happens-before关系定义5.2 happens-before 关系 在继续学习JUC之前,我们现在这里介绍一下Java…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...