HCIA总结

一、情景再现: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.rhkb.cn/news/387501.html

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

相关文章

基于 SASL/SCRAM 让 Kafka 实现动态授权认证

一、说明 在大数据处理和分析中 Apache Kafka 已经成为了一个核心组件。然而在生产环境中部署 Kafka 时,安全性是一个必须要考虑的重要因素。SASL(简单认证与安全层)和 SCRAM(基于密码的认证机制的盐化挑战响应认证机制&#xff…

搭建自己的金融数据源和量化分析平台(四):自动化更新上市公司所属一级、二级行业以及股票上市状态

前面做了更新沪深交易所的上市股票列表的读取和更新,但一旦股票退市则需要在数据库里将该股票状态更新为退市,同时附上退市日期,将股票名更改为XX退。 此外深交所下载的xls解析出来是没有上市公司所属的二级行业的,因此还需要建立…

魔众文库-PHP文库管理系统

魔众文库是一套基于PHPMYSQL开发的适用于多平台的文档管理系统,提供doc、ppt、excel、pdf、压缩包、图片、CAD 等资源的在线预览和下载,文件被转换为H5或图片格式,文字放大无失真,响应速度更快速对SEO更友好,收录更快、…

【第二节】python编程基础语法

目录 一、运算符介绍 1.1 算术运算符 1.2 比较运算符 1.3 赋值运算符 1.4 位运算符 1.5 逻辑运算符 1.6 成员运算符 1.7 身份运算符 二、python运算符优先级 三、三大流程结构 四、列表 五、元组 六、字典 一、运算符介绍 1.1 算术运算符 1.2 比较运算符 1.3 赋值…

【传输层协议】UDP和TCP协议

UDP协议 UDP协议全称为User Datagram Protocol,用户数据报协议。UDP协议报文格式如下: 16UDP长度。表示整个数据报的最大长度,即UDP首部UDP数据。这个字段帮助我们确保在网络字节流中获取完整的UDP报文信息。校验和:用于检测数…

巴斯勒相机(Basler) ACE2 dart 系列说明和软件

巴斯勒相机(Basler) ACE2 dart 系列说明和软件

C语言指针·入门用法超详解

目录 1. 什么是指针 2. 指针变量的定义格式 3. 指针的作用 3.1 查询数据 3.2 存储数据(修改数据) 3.3 操作其他函数中的变量 3.4 函数返回多个值 3.5 函数的结果和计算状态分开 1. 什么是指针 通过内存地址,指向的空间&#…

vue3后台管理系统 vue3+vite+pinia+element-plus+axios上

前言 项目安装与启动 使用vite作为项目脚手架 # pnpm pnpm create vite my-vue-app --template vue安装相应依赖 # sass pnpm i sass # vue-router pnpm i vue-router # element-plus pnpm i element-plus # element-plus/icon pnpm i element-plus/icons-vue安装element-…

C++第一篇 入门基础

目录 1.C的第一个程序 2.c历代版本 3.命名空间 3.1 namespace关键字 namespace的用法: namespace中定义函数 namespace中定义结构体 C中的域: 3.2就近原则 4.命名空间的使用 5.C输入输出 6.缺省参数 全缺省: 半缺省:必须从右往左连续缺省(也…

爆“卷”的AI视频,大厂向左,创企向右

文|白 鸽 编|王一粟 “生成的人物一转身就变成老外,怎么解决呢?” “没有办法,10s中动作大的,人物一致性有问题,只能抽卡,多刷几个,选择一个变化不大的。” 在一个以…

RocketMQ Server Windows安装

RocketMQ阿里开发 开源给apache 官网:RocketMQ 官方网站 | RocketMQ 下载后解压 配置环境变量 注意启动顺序 双击 注意 4.9.0这个版本必须 jdk 8 高了用不了 namesrv是注册中心的作用 broke是核心用于接收生产者消息 存储消息 发送给消费者消息 类似DubboZookeeper…

Java红娘相亲交友平台系统源码小程序

💕遇见真爱,从“红娘相亲交友平台系统”开始!👫 🌹【精准匹配,缘分不再擦肩而过】 还在为茫茫人海中找不到那个TA而烦恼吗?“红娘相亲交友平台系统”利用先进的大数据分析技术,根据…

匿名内部类

一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类,嵌套其他的类称为外部类。 类的五大成员:属性、方法、构造器、代码块、内部类 内部类最大的特点的就是直接访问私有属性,并且可以体现类鱼类之间的包含关系。 基本…

北斗三号海上人员落水报警及示位搜救系统升级方案

随着海洋经济的快速发展,海上作业活动日益频繁,人员安全问题也日益凸显。传统的海上救援手段存在诸多不足,如救援响应时间长、定位不准确等。为了提高海上救援的效率和成功率,北斗三号海上人员落水报警及示位搜救系统应运而生。该…

微波传感器 - 从零开始认识各种传感器【第二十期】

微波传感器|从零开始认识各种传感器 1、什么是微波传感器 微波传感器是一种利用微波技术进行探测和测量的传感器。 一般来说,微波是波长为1到1000毫米的电磁波。使用微波传感器,在不接触目标物体的情况下,通过检测和分析微波信号的反射、散…

Matplotlib柱形图大揭秘:让数据‘站’起来,比增高鞋垫还管用!

1. Matplotlib绘制柱形图/柱状图/条形图 柱状图是一种用矩形柱来表示数据分类的图表,柱状图可以垂直绘制,也可以水平绘制,它的高度与其表示的数据成正比关系 # 导包 import numpy as np import pandas as pd import matplotlib.pyplot as p…

机械学习—零基础学习日志(高数16——函数极限性质)

零基础为了学人工智能,真的开始复习高数 这里我们继续学习函数极限的性质。 局部有界性 充分条件与必要条件 极限存在是函数局部有界的充分条件。什么是充分条件,什么是必要条件呢?我这里做了一点小思考,和大家分享&#xff0c…

Windows11下 Visual Studio 2022 + Qt6 的 WebSocket 线程池异步 客户端

Windows11下 Visual Studio 2022 + Qt6 的 WebSocket 线程池异步 客户端 1 开发 WebSocket 客户端1.1 开发环境1.1.1 为Qt 6安装 websockets1.2 .基于Qt6的 QWebSocket 客户端示例1.2.1 实现 WebSocket 客户端1.2.2 创建 QtQWesocketClient1.2.3 创建QWebsocket对象1.2.3.1 添加…

iOS object-C 解答算法:找到所有数组中消失的数字(leetCode-448)

找到所有数组中消失的数字(leetCode-448) 题目如下图:(也可以到leetCode上看完整题目,题号448) 光看题看可能有点难以理解,我们结合示例1来理解一下这道题. 有8个整数的数组 nums [4,3,2,7,8,2,3,1], 求在闭区间[1,8]范围内(即1,2,3,4,5,6,7,8)的数字,哪几个没有出现在数组 …

新装centos7虚拟机如何配置网络,NAT配置固定IP

首先声明,我想使用的是NAT连接模式,并且设置完IP之后,使得这个IP固定住,以后不会再变了。 文章目录 1,打开Vmware软件的【编辑】-【虚拟网络编辑器】2,先选择VMnet8(画1处)&#xf…