在家中访问一个网站的思考

在家中访问一个网站的思考

  • 1、家庭网络简介
  • 2、家庭WLAN + DHCP
    • 2.1、家庭路由器PPPOE拨号
    • 2.2、DHCP(动态主机配置协议)
    • 2.3、接入家庭网的主机IP地址
    • 2.4、家庭总线型以太网
    • 2.5、Mac地址
    • 2.6、ARP协议
    • 2.7、IP协议 & UDP/TCP协议
    • 2.8、NAT(Network Address Translation,网络地址转换)
  • 3、Router路由器
    • 3.1、源IP & 目的IP
    • 3.2、路由表
    • 3.3、路由器是如何知道到达所有的网络的通路的呢?
  • 4、 总结

1、家庭网络简介

  • 要连接公网,通过 Modem 光猫 pppoe 拨号。
  • wlan路由器的wan口链接ADSL 猫,一般情况下会动态获取一个公网IP地址,在广域网内,任何一个主机,均可以访问到该ip地址。
  • 终端可以通过有线或者无线的方式通过共享无线路由器的wan口访问公网。
  • 台式机、手机、ipad、笔记本等终端通过路由器的dhcp协议自动获取的地址是局域网地址。
  • 局域网内终端通过NAT协议进行源、目的IP,源、目的端口号的转换后共享WAN口地址上网。
  • 局域网内终端之间通信可通过arp协议学习其他网口的mac地址,网卡通过mac地址过滤数据帧。
  • 公网内路由器之间数据传输一般是ppp协议。

2、家庭WLAN + DHCP

家用路由器也是路由器一种,只是他只能连接两个网络,一个是局域网,一个是与运营商连接的那个网络。

2.1、家庭路由器PPPOE拨号

  • 家用路由器上网通常是通过PPPoE拨号上网,账号密码由运营商提供。
  • 拨号成功后会获得一个公网IP。如果拥有一个固定的公网IP,那么此处也可以设置固定ip。
  1. 登录管理界面
    以TP-LINK为例,打开 http://192.168.1.1网页,在弹出的设置管理密码界面中,设置6~15位的管理密码,点击 确定,登录路由器管理界面。

  2. 选择上网方式: PPPoE(ADSL虚拟拨号)

  3. 输入上网宽带账号和密码

  4. 设置无线参数
    SSID 即无线网络名称(可根据实际需求设置),选中 WPA-PSK/WPA2-PSK 并设置 PSK密码,点击 下一步。

  5. 设置完成,重启,查看 WAN口状态

2.2、DHCP(动态主机配置协议)

路由器开启dhcp并配置一个IP地址范围,开启DHCP客户端的主机接入LAN网络时就可以自动获得DHCP分配的IP地址、子网掩码、租期、网关、DNS等配置信息。

如上地址池是192.168.0.100~192.168.0.199;终端连接家用路由器之后会获得地址其中的一个地址。

2.3、接入家庭网的主机IP地址

我的笔记本是通过无线路由器连接的无线Wi-Fi。本机无线网卡信息配置信息如下:

ipconfig /all

2.4、家庭总线型以太网

基于IEEE802.11标准的无线局域网大多使用的是 2.4GHz 或 5GHz 的射频。

如下总线型网络中,主机B向主机D发送数据,总线上的每一个工作的计算机都能检测到 B 发送的数据信号。由于只有计算机 D 的MAC地址与数据帧首部的目标MAC地址一致,因此只有 D 才接收这个数据帧。其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。这样就在具有广播特性的总线上实现了一对一的通信。

随机访问 介质访问控制 协议 对比:
ALOHA 协议:不听就说 ;
CSMA 协议:先听再说 ;
CSMA/CD 协议:先听再说 , 边听边说 ;
CSMA/CA 协议:先听再说 , 边听边说 ;

CSMA/CD(Carrier Sense Multiple Access / Collision Detection)载波监听多点接入 / 碰撞检测 【有线】。
CSMA/CA(Carrier Sense Multiple Access With Collision Avoidance)载波监听多点接入 / 碰撞避免 【无线】。

2.5、Mac地址

  • 在以太网中,硬件地址又称为物理地址,或 MAC 地址,6个字节,共48 位。
  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。
  • 适配器从网络上每收到一个数据帧就首先用硬件检查数据帧中的 MAC 地址,如果是发往本站的帧则收下进行其他的处理;否则就将此帧丢弃不再进行其他的处理。

2.6、ARP协议

假如我们要访问局域网中的另外一个pc上的进程,假设我们只知道对方的IP地址,那么如何才能知道对方的mac地址呢?可以通过ARP协议。

ARP(地址解析)协议是一种解析协议,本来主机是完全不知道这个IP对应的是哪个主机的哪个接口,当主机要发送一个IP包的时候,会首先查一下自己的ARP高速缓存(就是一个IP-MAC地址对应表缓存),如果查询的IP-MAC值不存在,那么主机就向网络发送一个ARP协议广播包。

这个广播包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合条件,那么就准备好一个包含自己的MAC地址的ARP包传送给发送ARP广播的主机。

而广播主机拿到ARP包后会更新自己的ARP缓存(就是存放IP-MAC对应表的地方)。发送广播的主机就会用新的ARP缓存数据准备好数据链路层的的数据包发送工作。

Windows 的arp表查询

arp -a

2.7、IP协议 & UDP/TCP协议

2.8、NAT(Network Address Translation,网络地址转换)

NAT将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。经过NAT转换的数据包IP地址替换见下图:

  1. 从局域网内部发往路由器的数据包,源ip和源port【10.0.0.1:3345】,经过路由器之后源ip和源port替换为【138.76.29.7:5001】。
  2. 从服务器返回的数据包的目的ip和目的port【138.76.29.7:5001】,经过路由器之后目的ip和目的port替换为【10.0.0.1:3345】。
  3. 完美。

3、Router路由器

路由器(Router)是互联网的主要结点设备。路由器通过路由策略决定数据的转发。
作为不同网络之间互相连接的枢纽,路由器系统构成了基于TCP/IP 的国际互联网络Internet 的主体脉络。

家庭常用的路由器通常有一个Wan口,4个Lan口。既可以通过网线连接,也可以通过无线连接,通常带宽100M到1000M。
还有在大型机房中性能强悍的带宽可高达T级大型路由器。

以下是1个企业级网络的组网拓扑图,我们通常用图中的图标表示路由器:企业级网络拓扑结构

路由器的一些使用规则:

  • 路由器工作在IP(网络)层;
  • 路由器用来连接不同的网络;
  • 路由器的每一个接口都必须是不同网段的;
  • 路由器之间互联是接口直接连接,一般用ppp协议通信;
  • 处于不同网络中的2个设备要想互相通信,必须通过路由器;
  • 一个成熟稳定的网络,路由器必须知道每一个网络设备到达另外一个网络的通路,否则会直接丢弃,路由器通过路由表来维护这些通路;
  • 路由器只解析到数据包的IP层(传输层和应用层不会查看)

3.1、源IP & 目的IP

公网中的数据包都是ip数据包,ip数据包头中有个非常重要的协议字段:「目的地址」。

一口君随机抓取了一个本机网络通信的ip数据包:

如上图所示, 源ip地址是:192.168.0.104 目的ip地址是:140.246.147.33

很显然,源地址是一个c类地址,就是本机地址,也是一个私网地址, 目的地址是一个公网地址。

路由器之所以能转发数据包就是靠路由表和ip数据包的目的ip地址+源ip地址。

3.2、路由表

以下是windows下的路由表 windows路由表
route print

路由表中包含了若干个路由条目。

「PC路由条目:」

名称说明
网络目标表示要到达某个网段的网络,可以查询该条路由条目
网络掩码点分十进制法,配合网络目标,可得出最终的目标网络号
网关数据包要发送给哪个网口所在的路由器
接口表示数据包要从哪个本地的接口发送出去
跃点数数据包在网络中最多能经过多少个路由器,放置数据包在网络中无限转发

永久路由:

网络地址网络掩码网关地址跃点数
0.0.0.00.0.0.0192.168.0.1默认

该条路由其实是一条默认路由,表示如果查找不到路由条目,就将数据包发送给192.168.0.1这个ip地址所在的路由器。

3.3、路由器是如何知道到达所有的网络的通路的呢?

通常借助ospf、rip等协议可以动态学会到达各个网络的协议。
广域网中的设备路由协议更加复杂,往往需要专业的网络工程师搭建网络。

4、 总结

综上,我们可知,粉丝的问题答案:

  1. 路由器的IP地址分wan口和lan口,wan口地址是PPPoE拨号时运营商的其他设备分配的用于公网寻址,lan口地址在路由器中设置, 用于和局域网内终端通信
  2. 终端连接无线路由器时,路由器通过dhcp协议给终端分配了动态ip地址,通过DHCP的地址池可以设置分配的ip地址的范围
  3. 分配ip地址的时候,同时终端会将无线路由器的lan口地址设置为自己的默认网关,所以pc访问外网,所有的数据包都会发送给网关,就是无线路由器
  4. 当用户要访问外网的时候,需要知道网关的mac地址,如果arp缓存中没有对应的的arp条目,那么就通过arp协议找到lan口的mac地址,因为网关地址已分配
  5. 局域网内终端通过共享WAN地址上网,所有走wlan路由器的数据包都要通过NAT协议进行源、目的IP,源、目的端口号的转换

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

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

相关文章

【一起深度学习吧!!!!!】24/05/03

卷积层里的多输入输出通道 1、 多输入通道:代码演示: 多输出通道:代码实现: 1、 多输入通道: 当输入包含多个通道时,需要构造一个输入通道与之相等的卷积核,以便进行数据互相关计算。 例如李沐…

Ubuntu24.04安装中文输入法

Ubuntu24.04安装中文输入法 为了更好的体验,请访问个人博客 www.huerpu.cc:7000 一、添加中文语言支持 在安装中文输入法之前,首选要添加中文语言支持。选择System,点击Region & Language。 点击Manage Install Languages。 点击Insta…

repo跟git的关系

关于repo 大都讲的太复杂了,大多是从定义角度跟命令角度去讲解,其实从现实项目使用角度而言repo很好理解. 我们都知道git是用来管理项目的,多人开发过程中git功能很好用.现在我们知道一个项目会用一个git仓库去管理,项目的开发过程中会使用git创建分支之类的来更好的维护项目代…

css 文字描边

又是抄样式的一天。这次是百度地图。实现了问题和图形描边的效果。 代码: .BMap_scaleTxt.dark {color: #fff;text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } 效果:

安装numpy遇到的问题

安装numpy的时候提示无法安装如下: (venv) E:\works\AI\venv\Scripts>pip install numpy pandas matplotlib jupyter -i https://pypi.douban.com/simple Looking in indexes: https://pypi.douban.com/simple WARNING: Retrying (Retry(total4, connectNone, r…

分析师常用商业分析模型

一、背景 在用户调研中,我们发现分析师对商业分析模型的使用还是比较频繁。本文主要对用户调研结果中的分析师常用商业分析模型以及一些业界经典的商业分析模型进行分析,并梳理出执行落地流程,以此来指导分析师工具设计分析功能的引导性。 …

软件测试--接口测试

接口测试:直接对后端服务的测试,是服务端性能测试的基础 接口:系统之间数据交互的通道 接口测试:校验接口响应数据与预期数据是否一致

【JavaEE初阶系列】——Servlet运行原理以及Servlet API详解

目录 🚩Servlet运行原理 🚩Servlet API 详解 🎓HttpServlet核心方法 🎓HttpServletRequest核心方法 🎈核心方法的使用 🔴获取请求中的参数 💻query string 💻直接通过form表…

回归分析的理解

1.是什么: 2.回归问题的求解: 首先是根据之前的数据确定变量和因变量的关系根据关系去预测目标数据根据结果做出判断 2.1如何找到关系? y’是根据模型生成的预测结果: y’axb,而我们的目的是y’和y(正确的结果)之间…

构造照亮世界——快速沃尔什变换 (FWT)

博客园 我的博客 快速沃尔什变换解决的卷积问题 快速沃尔什变换(FWT)是解决这样一类卷积问题: ci∑ij⊙kajbkc_i\sum_{ij\odot k}a_jb_k ci​ij⊙k∑​aj​bk​其中,⊙\odot⊙ 是位运算的一种。举个例子,给定数列 a,…

二叉搜索树相关

二叉搜索树 定义:对二叉搜索树的一些操作基本结构Insert操作Find操作Erase操作 InOrder遍历二叉树操作模拟字典模拟统计次数 定义: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空&a…

品鉴中的艺术表达:如何将红酒与绘画、雕塑等艺术形式相结合

品鉴雷盛红酒不仅是一种味觉的享受,更是一种艺术的体验。将雷盛红酒与绘画、雕塑等艺术形式相结合,能够创造出与众不同的审美体验,进一步丰富品鉴的内涵。 首先,绘画作为视觉艺术的一种表现形式,能够通过色彩和构图来传…

Linux:进程等待 进程替换

Linux:进程等待 & 进程替换 进程等待wait接口statuswaitpid接口 进程替换exec系列接口 当一个进程死亡后,会变成僵尸进程,此时进程的PCB被保留,等待父进程将该PCB回收。那么父进程要如何回收这个僵尸进程的PCB呢?父…

47.Redis学习笔记

小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表,而不用平衡…

什么是 AI Agent ?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 讲解的同时,也给你推荐一些实用的学习资源。 AI agent (智能体 / 代理)这个词儿最近非常流行,似乎「大语…

目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

文章目录 一、目标检测介绍二、YOLOv7介绍三、源码/论文获取四、环境搭建4.1 环境检测 五、数据集准备六、 模型训练七、模型验证八、模型测试九、错误总结9.1 错误1-numpy jas mp attribute int9.2 错误2-测试代码未能跑出检测框9.3 错误3- Command git tag returned non-zero…

RabbitMQ高级(MQ的问题,消息可靠性,死信交换机,惰性队列,MQ集群)【详解】

目录 一、MQ的问题 1. 问题说明 2. 准备代码环境 1 创建project 2 创建生产者模块 3 创建消费者模块 二、消息可靠性 1. 介绍 2. 生产者确认机制 3. MQ消息持久化 4. 消费者确认机制 5. 消费者auto模式的失败重试 6. 小结 三、死信交换机和延迟消息 1. 介绍 2. …

【EasySpider】EasySpider+mysql执行配置异常

问题 使用易采集工具操作时候,遇到一个执行异常,后来发现没有选择数据类型 Loading stealth.min.js MySQL config file path: ./mysql_config.json 成功连接到数据库。 Successfully connected to the database. Traceback (most recent call last):…

湘潭大学数据库作业题完整答案

作业一: 考虑如下所示的关系数据库。这些关系上适当的主码是什么? 职工(姓名,街道,城市) 工作(姓名,公司名,工资) 公司(公司名,城市&a…

45 套接字

本节重点 认识ip地址,端口号,网络字节序等网络编程中的基本概念 学习scoket,api的基本用法 能够实现一个简单的udp客户端/服务端 能够实现一个简单的tcp客户端/服务器(但链接版本,多进程版本,多线程版本&a…