IP----访问服务器流程

news/2025/2/25 19:01:20

1.访问服务器流程

1.分层

1.更利于标准化

2.降低层次之间的关联性---每一层都只完成自身层次所执行的功能--每一层都在下层的基础上提供增值服务

1.应用层

抽象语言---编码---提供人机交互的接口

2.表示层

编码--二进制,压缩解压缩、格式转换

3.会话层

建立维持主机应用到服务器之间的会话连接---------主机------服务器------另一台主机----主机传输信息到服务器服务器再转发给另一台主机

4.传输层

建立端到端的传输---应用到应用之间的传输---------四层封装------封装源端口号和目标端口号

端口号---16位二进制构成 65536 1-65535 1-1023--知名端口号:区分进程和服务------固定的,其他的都不可以用

主机的端口号一般都是随机端口号,但是不可能会是1-1023。

HTTP:80 (超文本协议-----除了文本其他的图片,也都可以)

HTTPS:443 SSL-TLS DNS:53 UDP TCP

DHCP:67 68 RIP :UDP 520 521

5.网络层

通过IP地址进行逻辑寻址-------路由---------三层封装----------封装源IP和目标IP

获取目标IP地址的方法:(服务器

1.直接知道目标的IP地址

2.通过dns协议去获取IP地址

3.通过APP或者一些应用去获取IP

4.通过广播去获取目标IP---扫描

6.数据链路层

MAC地址(物理地址)---二进制---电信号:控制物理层----------二层封装--------封装源MAC地址和目标MAC地址

MAC地址是以太网所独有的地址

7.物理层

处理电信号--CPU------一层不封装,因为是处理电信号的一层

2.封装和解封装

封装:数据来到每一层都会加入该层实现功能的协议报文(四层封装)

解封装:从二层开始往第四层依次解封装,解封装第二层看目标MAC地址是否是自己的,是则继续进行解封装第三层,如果不是给自己的就转发或者丢弃;解封装第三层,看目标IP如果不是给自己的就转发或者丢弃,如果是给自己的就继续解封装第四层,然后看端口号,根据端口号将跟数据给相应端口号的应用层去处理。

协议头部---------数据每一层封装后都会加上协议头部-------以便解封装时知道解下一层封装的

应用层-------数据

传输层---------四层封装------封装源端口号和目标端口号------协议头部--------协议号------TCP,UDP

网络层---------三层封装----------封装源IP和目标IP-------协议头部--------数字类型--------IPV4,IPV6

数据链路层---------二层封装--------封装源MAC地址和目标MAC地址

物理层----------处理电信号(一层不封装)

360截图17860602123131109

跨层封装---OSPF跨四层封装的协议--------协议号:89

---STP-----如下图

360截图17571120669860

3.访问服务器流程

主机获取IP地址的方法:

静态获取

DHCP---动态主机配置协议----动态获取

C/S

UDP :68---C 67---S

1.过程

访问服务器需要自身端口号,服务器端口号,自身IP,服务器IP,自身MAC地址,网关MAC地址

要的是网关MAC地址原因是

自身MAC地址,服务器端口号,自身端口号(随机端口号)服务器IP全部已知

自身IP,网关MAC地址全部不知道,所以需要获取

首先获取自身IP-------获取过程中知道一个网关IP-----因为路由器给需要IP的设备发IP时,回包会有路由器网关IP

然后获取网关MAC地址不知道-------通过ARP协议发送数据包获取

------------二层封装自身MAC地址,以及全f泛洪,三层封装自身IP以及网关IP,用户发送给交换机,交换机进行解封装二层,发现是 全f,然后进行泛洪,泛洪后路由器接收到进行三层解封装,发现是给自己的,就将MAC地址补全,最后进行回包。

然后再次进行发送,路由器接收到后进行解封装,解封装二层发现是给自己的,继续解封装,解封装三层,发现不是给自己的,查看自身的路由表,是否有记录,有或者有缺省路由就进行转发,没有就丢弃,如果转发,就需要重新进行封装二层,源MAC为路由器自身的,目标MAC地址为下一跳路由的MAC地址,然后不断转发查找最后访问到

2.转发和获取

ARP:

地址解析协议:已知一种地址获取另外一种地址的协议

正向ARP---通过IP地址获取MAC地址会发送一个广播的ARP数据包,所有这个广播域中的设备均会收到,如果目标IP请求的是自身的MAC

则单播回复,若请求IP地址不是自身则仅记录数据包中原IP地址和对应的MAC地址,后续转发过程中将直接调用ARP表中的记录,直接转发。

反向ARP--通过MAC地址获取IP地址

免费ARP---无故ARP--检测地址冲突 ,自我介绍

交换机的转发:

交换机收到一个数据帧,会查询自身MAC地址表中的记录信息,如果存在记录则按照MAC地址表记录单播转发,如果没有记录则直接洪范:除了收到这个数据帧的接口外,向交换机其他所有接口复制转发一次-------如果连接路由器,那么路由器也是收得到

路由表: 在路由器中接收到一个数据包,会进行解封装,如果解封装第二层是给自己的,就会继续解封装第三层,在路由表上查看是否有该IP记录,如果没有但是有缺省路由,就按缺省路由转发,如果没有记录也没有缺省路由就进行丢弃。

3.自动获取IP流程

1.客户端---服务端 DHCP discover包 ----广播

SPORT :68 DPORT :67

SIP:0.0.0.0 DIP:255.255.255.255

--------没有地址要写0.0.0.0,不能不写,因为STP头部协议中有一个检验和,如果没有写就说明有缺,会丢弃

--------255.255.255.255 --- 受限广播地址 --- 受路由器的限制 --- 只能作为目标IP地址使用(不知道目的地址使用)

SMAC:主机 DMAC:ff-ff-ff-ff…ff

-------全f--------强制主动洪范

------全球唯一格式统一MAC地址 --- 所有芯片出厂时,厂商烧录的一个串号。48位二进制构成 ---- 前24位为厂商的 标识,后24位为厂商为产品分配的串号(物理地址)

2.服务器---客户端 ---DHCP Offer包 (携带一个可用的临时IP地址) 可以广播/单播

SPORT:67 DPORT:68

SIP:服务器的IP地址 DIP:下发的IP地址

SMAC:服务器 DMAC:客户端MAC

3.客户端---服务端 DHCP request ---请求一个合法的IP地址 (广播发送)

会选择最先收到的Offer包中携带的IP地址

SPORT:68 DPORT 67

SIP : DIP:服务器的IP地址

SMAC:主机 DMAC:ff-ff..ff

4.服务端---客户端 DHCP ACK(广播发送/单播)

SPORT: 67 DPORT:68/

SIP:fwq DIP :

SMAC:FWQ DMAC :主机

4.域名

360截图17981201154723


http://www.niftyadmin.cn/n/5865861.html

相关文章

k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库

至于containerd大家还需要在去学习以下使用的命令。 版本介绍 k8s:v1.28.2containerd:1.6.33 1.配置containerd镜像加速器 [rootmaster ~]# vim /etc/containerd/config.toml ---编辑containerd配置文件找到以下位置新添加 [plugins."io.contain…

linux应急响应-进程排查

1,netstat查看网络连接命令 用于分析可疑端口,IP地址,PID及程序进程 2,ls -alt /proc/ /proc/ 目录是一个虚拟文件系统,包含了当前 Linux 系统内核和进程的信息。它并不包含常规的文件,而是一些内核生成的“…

Python游戏编程之赛车游戏6-5

1 碰撞检测 在显示了玩家汽车和“敌人”汽车之后,接下来就要实现玩家与“敌人”的碰撞检测了。 代码如图1所示。 图1 碰撞检测代码 第72行代码通过pygame.sprite.spritecollideany()函数判断P1和enemies是否发生了碰撞,如果发生碰撞,该函数…

菜鸟之路Day18一一IO流综合练习

菜鸟之路Day18一一IO流综合练习 作者:blue 时间:2025.2.21 文章目录 菜鸟之路Day18一一IO流综合练习0.概述1.生成假数据(网页爬虫)2.随机点名器2.1随机点名器12.2随机点名器22.3随机点名器32.4随机点名器42.5随机点名器5&#x…

npm i 失败权限问题

安装完node之后, 测试全局安装一个最常用的 express 模块进行测试 失败,但是用管理员权限打开cmd 安装就成功。 报错如下: npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and …

华为2025年技术发布会:智能汽车核心技术大爆发

近日,华为在鸿蒙智行尊界技术发布会上发布了多项智能汽车核心技术,涵盖智能驾驶、安全防护、通信系统、座舱交互及电池技术等领域,标志着其从“被动智能”向“自主智能”的战略升级。 以下是核心技术的综合梳理: 六大核心创新 途…

9-1. MySQL 性能分析工具的使用——last_query_cost,慢查询日志

9-1. MySQL 性能分析工具的使用——last_query_cost,慢查询日志 文章目录 9-1. MySQL 性能分析工具的使用——last_query_cost,慢查询日志1. 数据库服务器的优化步骤2. 查看系统性能参数3. 统计SQL的查询成本:last_query_cost4. 定位执行慢的…

GO 快速升级Go版本

由于底层依赖升级了,那我们也要跟着升,go老版本已经不足满足需求了,必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …