HCIA总结

news2024/11/26 8:45:59

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

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

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

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

应用层:人类语言转换成计算机编码

表示层:把编码转换成二进制

介质访问控制层:把二进制转换成电信号(光信号)

物理层:传输电信号(光信号)

2、OSI参考模型

(1)每层作用:

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

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

会话层:提供会话进程----session ID,建立、维护、断开一个会话,区分同一应用程序的多个进程

传输层:建立端到端的连接(端口号)----MSS---1500字节,提供分段

端口号范围:0-65535,(0和65535系统保留端口号)

知名端口号:1-1023,

动态端口号:1024-65534

HTTPS--443--TCP

HTTP---80---TCP

TELNET:23--TCP

DNS:53--TCP   UDP

SSH:22---TCP

FTP:21、20---TCP

TFTP---UDP

POP3:110---TCP

SMTP:25--TCP

DHCP:67(服务器)、68(客户端)---UDP

网络层:通过IP寻址(范围寻址)、提供路由、转发数据,MTU---1500字节----提供分片

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

LLC:逻辑链路控制子层:为数据的传输提供一个可靠性的保证,减少数据帧出现丢失、重复、失序

MAC:媒体接入控制子层:负责识别网络层的协议,然后对它们进行数据帧的封装、解封装、差错检测、MAC寻址

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

信号模式:单工模式、半双工模式、双工模式

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

封装:在原始数据的基础上,添加一些字段信息,形成新的数据

解封装:拆掉封装的额外信息,还原成原始数据

过程:

数据发送时,从上至下逐层封装

数据接收时,从下至上逐层解封装

3、TCP/IP参考模型

(1)两种模型及其区别

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

4、TCP/IP的跨层封装

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

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

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

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

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

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

跨四层封装 --- 应用层封装后的数据直接封装网络层。

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

典型代表:OSPF协议、ICMP

传输层的分段----网络层分片代替

端口号---网络层的protocol代替

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

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

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

典型代表:STP协议

抓取STP数据包

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

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

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

(1)DHCP协议回顾:

数据包的封装(以discover包为例)

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

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

工作原理:

广播帧:交换机广播转发

未知单播帧:广播转发

已知单播帧:单播转发

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

工作原理:

路由器的转发原理:路由器收到一个数据包,依据包中的目标IP地址查表转发,如果能查到对应的路由条目,则无条件转发,反之,则丢弃

路由表查表规则:

最长掩码匹配原则

缺省路由

丢弃

DHCP offer包

DHCP Request包

DHCP Ack包

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

(1)DNS协议简介:

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

基于TCP/UDP协议的53号端口,绝大多数的 DNS 查询来说都会使用 UDP 数据报进行传输,TCP 协议只会在区域传输

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

URL:统一资源定位符,

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

(2)DNS产生背景:

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

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

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

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

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

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

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

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

域名结构树:

根域

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

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

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

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

cn

com.cn

(4)域名解析原理

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

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

DNS域名解析的完整过程:

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

递归查询:UDP

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

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

迭代查询:TCP

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

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

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

物理层+目标MAC:路由器网关接口地址   源MAC:主机+目标IP:68.87.71.226  源IP:68.85.2.101+目标端口号:53  源端口(UDP):随机端口号+应用层+数据

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

第一次:客户给服务器发一个包,请求建立连接,此时,这个包中SYN=1;

第二次:服务器给客户端回应一个ACK的确认包,同时服务器也表示想和对方建立连接,将此包中SYN=1;

第三次:客户端给服务器回复一个确认报文,确认收到对方也想建立连接的请求,此时包中ACK=1;

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

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

HTTP协议简介:

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

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

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

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

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

第一次:客户端向服务器发送连接断开请求,此时包中FIN=1;

第二次:服务器收到客户的连接断开请求,但并未同意断开连接,此时包中ACK=1;

第三次:服务端向客户端发送连接断开请求,同意断开连接,此时包中FIN=1,ACK=1;

第四次:客户端向服务器发送确认包,表示确认收到对方的连接断开请求包,此时包中ACK=1,等服务器收到确认包后,服务器会进入关闭状态,同时客户端也会进入关闭状态。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ctfshow 权限维持 web670--web679

web670 <?php// 题目说明&#xff1a; // 想办法维持权限&#xff0c;确定无误后提交check&#xff0c;通过check后&#xff0c;才会生成flag&#xff0c;此前flag不存在error_reporting(0); highlight_file(__FILE__);$a$_GET[action];switch($a){case cmd:eval($_POST[c…

2024年技校云计算实验室建设及云计算实训平台整体解决方案

随着信息技术的飞速发展&#xff0c;云计算已成为推动数字化转型的关键力量。技校作为培养技能型人才的摇篮&#xff0c;建设云计算实验室并配套完善的实训平台&#xff0c;对于提升学生的专业技能、增强就业竞争力具有重要意义。本文旨在提出2024年技校云计算实验室建设及云计…

列表内容过多卡顿?有索引栏如何实现滚动加载?

&#x1f453;写在前面 很多小伙伴可能在开发业务中会遇到这种问题&#xff0c;数据列表过多&#xff0c;造成dom一次性渲染卡顿&#xff0c;本文主要介绍滚动加载&#xff0c;实现在有索引栏的列表中使用滚动加载的方法。 本文技术栈使用的是vue2vant2&#xff0c;其他框架组…

letcode - string

翻转字符串 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/reverse-string/ class Solution { public:void reverseString(vector<char>& s) {reverse(s.begin(),s.end());//直接上逆置接口} }; 函数签名: void reverseStr…

CVPR 2024 录用数据出炉!这些方向是大趋势!

一年一度的计算机视觉和模式识别会议&#xff08;CVPR&#xff09;一直是 CV 界前沿研究的灯塔。 CVPR 2024 录用结果显示&#xff0c;今年共有 2719 篇论文被接收&#xff0c;录用率 23.6%。 那么大模型时代&#xff0c;今年的研究主题有哪些变化&#xff1f; 最近&#xf…

【Python】 ValueError: too many values to unpack 解决方案

【Python】 ValueError: too many values to unpack 解决方案 在Python编程中&#xff0c;ValueError: too many values to unpack是一个常见的错误&#xff0c;通常出现在使用解包操作时。本文将深入探讨这个错误的原因、解决思路、解决方法&#xff0c;并通过具体案例帮助大…

【Python学习手册(第四版)】学习笔记09.3-Python对象类型-分类、引用VS拷贝VS深拷贝、比较、相等、真假值等详解

个人总结难免疏漏&#xff0c;请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 这部分稍杂&#xff0c;视需要选择目录读取。 主要讲的是对之前的所有对象类型作复习&#xff0c;以通俗易懂、由浅入深的方式进行介绍&#xff0c;所有对象类型…

『康之泉活水馆』手游:打造夏日梦幻水世界

设计背景 夏日的热浪与城市的喧嚣困扰着忙碌奔波的人群&#xff0c;康之泉活水馆&#xff0c;作为多功能的室内水上乐园&#xff0c;以其独特的魅力&#xff0c;成为夏日避暑的理想之地&#xff0c;让身心得以彻底放松。 设计理念 优联前端以康之泉品牌IP形象“康康”为灵感&a…

[GYCTF2020]FlaskApp (pin码,jinja2绕过注入)

题目就是flask 下面是判断模版注入的方法 a{*comment*}b和{{7*7}}base64编码后解码都报错no&#xff0c;无法判断模版引擎 直接用下jinja2的试一试&#xff0c;把编码后的密文拿去解码&#xff0c;payload&#xff1a; {{"".__class__mro(2)__subclasses__()}} 报…

英文文献翻译方法哪个好?高效率的翻译方法分享

三伏天的酷热也抵挡不住学术人探索知识的脚步&#xff0c;阅读和翻译英文文献几乎已经成为了许多研究者和学者的日常。然而在面对浩如烟海的英文资料时&#xff0c;如何高效准确地进行翻译&#xff0c;成为了亟待解决的问题。 今天我便挖掘到了5款实用的英文文献翻译工具&…

4.1.1、操作系统的概述

操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境。 操作系统的特征:并发性、共享性、虚拟性、不确定性。 操作系统的功能:进程管理、存储管理、文件管理、设备管理、作业管理。 操作系统的分类:批处理操作系统、分时操作系统(轮流使…

美股:苹果选择谷歌芯片支持人工智能技术

最近的研究报告显示&#xff0c;苹果公司在其新一代人工智能工具和功能套件中选择依赖谷歌设计的芯片&#xff0c;而非市场领导者 Nvidia。这一决定引发了业界的关注&#xff0c;尤其是考虑到Nvidia在人工智能处理器市场的主导地位。 谷歌云的TPU在苹果的AI基础设施中发挥关键作…

计算机再过几年会没落?

大部分人卷的计算机&#xff1a;Java web 实际上的计算机&#xff1a;web&#xff0c;图形学&#xff0c;Linux系统开发&#xff0c;一系列嵌入式开发&#xff0c;数据库&#xff0c;高性能服务器&#xff0c;中间件开发&#xff0c;三维建模&#xff0c;网络安全&#xff0c;…

vue2 封装弹框组件

安装 element-ui npm install element-ui --save ---force main.js 导入 import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue; Vue.use(ElementUI); new Vue({ el: #app, render: h > h(Ap…

Minio、MySQL、Redis、Milvus 安装

CPU&#xff1a;2核↑&#xff0c;内存&#xff1a;4GB↑ 开发工具&#xff1a;eclipse-jee、MySQL Workbench、MobaXterm、Redis Insight... 操作系统&#xff1a;CentOS Stream 9&#xff08;生产环境&#xff09;、Windos 11 Ubuntu 22.04.3&#xff08;开发环境&#xf…

使用 Kibana 和 Vega 构建高级可视化

作者&#xff1a;来自 Carly Richmond 为了解释在 Kibana 中构建 Vega 可视化的基础知识&#xff0c;我将使用此 GitHub 存储库中的 2 个示例。具体来说&#xff0c;我将介绍&#xff1a; 使用 Elasticsearch 聚合进行数据采购轴和标记事件和信号&#xff08;例如工具提示和更…

工具使用备忘录

npm npm是node包管理工具。yarn是npm的替代品&#xff0c;看起来使用更加广泛。cnpm是中国镜像。 cnpm安装时&#xff0c;曾经出现过错误。不进行安全验证后运行成功。 目前在WSL上可以全局使用cnpm 当时解决的方案是将报错信息copy下来&#xff0c;直接看通义千问的结果。 …

时间序列中多维度、多变量、多元、多尺度

目录 多尺度 多维度 多变量 多元 区别 举例&#xff1a; 多尺度 多尺度时间序列分析是指在不同的时间尺度上对数据进行分析。例如&#xff0c;某些现象可能在短期内表现出一种模式&#xff0c;而在长期内表现出另一种模式。多尺度分析可以帮助我们捕捉这些不同时间尺度上…

北斗RTK高精度定位系统介绍

北斗RTK高精度定位系统是一种高精度、高可靠、高效率的定位系统。它采用北斗卫星导航系统&#xff0c;结合实时动态差分RTK技术&#xff0c;能够实现亚米级的定位准确度&#xff0c;适用于石油化工、工厂、工地、园区、环卫等领域。 北斗RTK的核心技术是RTK技术&#xff0c;即实…

C++ | string

前言 本篇博客讲解c中的string类的使用(常用接口) &#x1f493; 个人主页&#xff1a;普通young man-CSDN博客 ⏩ 文章专栏&#xff1a;C_普通young man的博客-CSDN博客 ⏩ 本人giee:普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见&#x1f4dd; &#x1f389…