9 网关的作用

1、总结:
1.如果离开本局域网,就需要经过网关,网关是路由器的一个网口。
2.路由器是一个三层设备,里面有如何寻找下一跳的规则
3.经过路由器之后 MAC 头要变,如果 IP 不变,相当于不换护照的欧洲旅游,如果 IP 变,相当于换护照的玄奘西行
3、场景引入

大学宿舍的局域网想要访问外网。
在进行网卡配置的时候,除了 IP 地址,还需要配置一个Gateway。

4、MAC 头和 IP 头的细节
1.一旦配置了 IP 地址和网关,往往就能够指定目标地址进行访问了。
2.在跨网关访问的时候,牵扯到MAC 地址和 IP 地址的变化

在这里插入图片描述

1.MAC 头里面,先是目标 MAC 地址,然后是源 MAC 地址,然后有一个协议类型,用来说明里面是IP 协议。

IP头:

1.IP 头里面的版本号,目前主流的还是 IPv4
2.下一层的协议,是 TCP 还是 UDP
3.最重要的就是源 IP 和目标 IP。先是源 IP 地址,然后是目标 IP 地址
5、访问流程:
1.在任何一台机器上,当要访问另一个 IP 地址的时候,都会先判断,这个目标 IP 地址,和当前机器的 IP
地址,是否在同一个网段。怎么判断同一个网段呢?需要 CIDR 和子网掩码。
2.如果是同一个网段,那就没网关什么事情,直接将源地址和目标地
址放入 IP 头中,然后通过 ARP 获得 MAC 地址,将源 MAC 和目的 MAC 放入 MAC 头中,发出去就可以了。
3.如果不是同一网段,这就需要发往默认网关。
4.Gateway 的地址一定是和源 IP 地址是一个网段的。往往不是第一个,就是第二个。
  例如:192.168.1.0/24 这个网段,Gateway 往往会是 192.168.1.1/24 或者 192.168.1.2/24
5.1、如何发往默认网关呢?
1.网关和源 IP 地址是一个网段的
2.这个过程就和发往同一个网段的其他机器
是一样的:将源地址和目标 IP 地址放入 IP 头中,通过 ARP 获得网关的 MAC 地址,将源 MAC 和网关的 MAC 放入 MAC 头中,发送出去。网关所在的端口,例如 192.168.1.1/24 将网络包收进来,然后接下来怎么做,就完全看网关的了(路由算法)

网关往往是一个路由器,是一个三层转发的设备

5.1、三层设备?
就是把 MAC 头和 IP头都取下来,然后根据里面的内容,看看接下来把包往哪里转发的设备。
5.2、静态路由
1.就是在路由器上,配置一条一条规则。
2.请求出去的时候就一条一条的匹配规则,找到符合的规则
3.根据规则从某个口抛出去,找下一跳 IPX

举例
想访问 BBS 站(它肯定有个网段),从 2 号口出去,下一跳是 IP2。
想访问教学视频站(它也有个自己的网段),从 3 号口出去,下一跳是 IP3,然后保存在路由器里。

6、IP 头和 MAC 头哪些变、哪些不变?
1.MAC 地址是一个局域网内才有效的地址。
2.因而,MAC 地址只要过网关,就必定会改变,因为已经换了局域网。

//两者主要的区别在于 IP 地址是否改变
3.不改变 IP 地址的网关,我们称为转发网关
4.改变 IP 地址的网关,我们称为NAT 网关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HBase学习笔记(1)—— 知识点总结

目录 HBase概述 HBase 基本架构 HBase安装部署启动 HBase Shell HBase数据读写流程 HBase 优化 HBase概述 HBase是以 hdfs 为数据存储的,一种分布式、非关系型的、可扩展的 NoSQL 数据库 关系型数据库和非关系型数据库的区别: 关系型数据库和非关…

UT代码编译至build文件夹

得克萨斯大学奥斯汀分校代码:代码文件按照网上很多的做法是直接**cmake .****make**则会出现以下的内容:但是这样做未免有些杂乱,会将编译生成的Makefile和其他数据文件全部存放在utaustinvilla3d-master下,比较杂乱。根据我们编译…

Linux--gcc与make

文章目录 gcc/g的使用背景知识gcc与ggcc的编译过程预处理编译汇编链接 函数库自动化构建工具--make三个时间伪目标文件其他表示方法mybin的推导过程 gcc/g的使用 背景知识 GCC是一个开源的编译器套件,支持多种编程语言,并提供了广泛的语言特性和标准库…

C++入门学习(4)引用 (讲解拿指针比较)

上期回顾 在学习完函数重载之后,我们可以使用多个重名函数进行操作,会发现C真的是弥补了好多C语言的不足之处,真的不禁感概一下,时代的进步是需要人去做出改变的,而不是一味的使用啊!所以我们今天继续学一下…

674. 最长连续递增序列 718. 最长重复子数组 1143.最长公共子序列 1035.不相交的线

674. 最长连续递增序列 题目: 给定一个未经排序的整数数组nums,找到最长且 连续递增的子序列,并返回该序列的长度。 dp数组含义: dp[i]:以下标i为结尾的连续递增的子序列长度为dp[i]。 递推公式: 怎么…

3D RPG Course | Core 学习日记四:鼠标控制人物移动

前言 前边我们做好了Navgation智能导航地图烘焙,并且设置好了Player的NavMeshAgent,现在我们可以开始实现鼠标控制人物的移动了。除了控制人物移动以外,我们还需要实现鼠标指针的变换。 实现要点 要实现鼠标控制人物移动,点击…

Python 框架学习 Django篇 (九) 产品发布、服务部署

我们前面编写的所有代码都是在windows上面运行的,因为我们还处于开发阶段 当我们完成具体任务开发后,就需要把我们开发的网站服务发布给真正的用户 通常来说我们会选择一台公有云服务器比如阿里云ecs,现在的web服务通常都是基于liunx操作系统…

虹科示波器 | 汽车免拆检测 | 2017款路虎发现车行驶中发动机抖动且加速无力

一、故障现象 一辆2017款路虎发现车,搭载3.0L发动机,累计行驶里程约为3.8万km。车主反映,车辆在行驶过程中突然出现发动机抖动且加速无力的现象,于是请求拖车救援。 二、故障诊断 拖车到店后首先试车,发动机怠速轻微抖…

Unity地面交互效果——5、角色足迹的制作

大家好,我是阿赵。   之前几篇文章,已经介绍了地面交互的轨迹做法。包括了法线、曲面细分还有顶点偏移。Shader方面的内容已经说完了,不过之前都是用一个球来模拟轨迹,这次来介绍一下,怎样和角色动作结合&#xff0c…

深入浅出理解ResNet网络模型+PyTorch实现

温故而知新,可以为师矣! 一、参考资料 论文:Identity Mappings in Deep Residual Networks 论文:Deep Residual Learning for Image Recognition ResNet详解PyTorch实现 PyTorch官方实现ResNet 【pytorch】ResNet18、ResNet20、…

文件夹重命名:解决文件夹名称难题,批量将中文翻译成英文

在日常生活和工作中,我们经常需要处理各种各样的文件和文件夹。然而,有时候我们会遇到文件夹名称混乱或者无法识别的问题,这给我们的文件管理和查找带来了很大的不便。为了解决这些问题,我们可以使用文件夹批量重命名技巧&#xf…

strtok函数详解:字符串【分割】的利器

目录 一,strtok函数简介 二,strtok函数的用法 三,strtok函数的注意事项 一,strtok函数简介 strtok函数可以帮助我们将一个字符串按照指定的分隔符进行分割,从而得到我们想要的子字符串。 🍂函数头文件&am…

前端工程化(vue脚手架安装)

用命令行安装,先安装NodeJs,配置环境变量 1.npm config set prefix "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Node.js" //引号内路径是NodeJs安装所在路径 2.npm config get prefix 查看其是否成功 3.npm install -g vue/cli 4…

MySQL数据库入门到大牛_05_排序ORDER BY与分页LIMIT

文章目录 1. 排序数据1.1 排序规则1.2 单列排序1.3 多列排序 2. 分页2.1 背景2.2 实现规则2.3 拓展 3. 第五章练习 1. 排序数据 1.1 排序规则 如果没有使用排序操作,默认情况下,查询返回的数据是按照添加数据的顺序显示。例如:在淘宝中可以…

【Vue】组件封装小技巧 — 利用$attrs和v-bind接收传递未定义的属性

使用介绍 在Vue.js中,$attrs 和v-bind可以用于组件的二次封装,以在封装的组件中传递父组件的属性和事件。这对于创建高度可定制的通用组件非常有用。 下面是一些示例代码: 假设你有一个名为MyButton的自定义按钮组件,它接受一些…

14.序列化和文件的输入/输出 保存对象

14.1 保存对象状态 你已经奏出完美的乐章,现在会想把它储存起来。你可以抓个文房四宝把它记下来,但也可以按下储存按钮(或按下File菜单上的Save)。然后你帮文件命名,并希望这个文件不会让屏幕变成蓝色的画面。 储存状态的选择有很多种&…

域名解析DNS:如何查询txt类型的解析记录

前言 略 查询txt类型的解析记录 使用 nslookup 命令查询。 示例: cmd> nslookup -qttxt _acme-challenge.mydomain.com 服务器: UnKnown Address: fe80::1非权威应答: _acme-challenge.mydomain.com text "_unitrust-dcv2311071423492fmnwb1w…

07 # 手写 find 方法

find 的使用 find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。 ele&#xff1a;表示数组中的每一个元素index&#xff1a;表示数据中元素的索引array&#xff1a;表示数组 <script>var arr [1, 3, 5, 7, 9];var result arr.find(fun…

第七讲:利用类事件改变对象的属性(上)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…