9 网关的作用

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

大学宿舍的局域网想要访问外网。

在进行网卡配置的时候,除了 IP 地址,还需要配置一个Gateway。

4、MAC 头和 IP 头的细节
java 复制代码
1.一旦配置了 IP 地址和网关,往往就能够指定目标地址进行访问了。
2.在跨网关访问的时候,牵扯到MAC 地址和 IP 地址的变化
java 复制代码
1.在 MAC 头里面,先是目标 MAC 地址,然后是源 MAC 地址,然后有一个协议类型,用来说明里面是IP 协议。

IP头:

java 复制代码
1.IP 头里面的版本号,目前主流的还是 IPv4
2.下一层的协议,是 TCP 还是 UDP
3.最重要的就是源 IP 和目标 IP。先是源 IP 地址,然后是目标 IP 地址
5、访问流程:
java 复制代码
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、如何发往默认网关呢?
java 复制代码
1.网关和源 IP 地址是一个网段的
2.这个过程就和发往同一个网段的其他机器
是一样的:将源地址和目标 IP 地址放入 IP 头中,通过 ARP 获得网关的 MAC 地址,将源 MAC 和网关的 MAC 放入 MAC 头中,发送出去。网关所在的端口,例如 192.168.1.1/24 将网络包收进来,然后接下来怎么做,就完全看网关的了(路由算法)。

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

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

举例

想访问 BBS 站(它肯定有个网段),从 2 号口出去,下一跳是 IP2。

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

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

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








相关推荐
无所谓จุ๊บ4 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然040212 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我3 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023913 小时前
06 网络编程基础
java·网络
海绵波波1074 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
热爱跑步的恒川7 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面8 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络