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

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

  • 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://www.mzph.cn/news/833383.shtml

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

相关文章

沙盘Sandboxie v5.56.4

菜鸟高手裸奔工具沙盘Sandboxie是一款国外著名的系统安全工具,它可以让选定程序在安全的隔离环境下运行, 只要在此环境中运行的软件,浏览器或注册表信息等都可以完整的进行清空,不留一点痕迹。同时可以防御些 带有木马或者病毒的…

OpenHarmony usb打开报错“usb fail error code = -3, error msg = LIBUSB_ERROR_ACCESS”

一、前言:最近公司项目需求,定位要求使用国产系统,国产系统无非就是 统信os ,麒麟OS, 还有这两年比较热的 OpenHarmony。于是,老板要求公司产品适配OpenHarmony , 跟上时代步伐。 二、在开发中使用 usb 通讯时&#x…

Unity射击游戏开发教程:(12)使用后处理

后处理 后期处理是向您的游戏场景添加一个或多个滤镜,确实可以为您的游戏提供精美的外观。在本文中,我们将讨论如何在 Unity 中设置后处理系统,从那里您可以探索和试验 Unity 提供的所有过滤器。 首先,我们需要从包管理器添加后处理器堆栈。包管理器是 Unity 产品的集合,…

淘宝数据分析——Python爬虫模式♥

大数据时代, 数据收集不仅是科学研究的基石, 更是企业决策的关键。 然而,如何高效地收集数据 成了摆在我们面前的一项重要任务。 本文将为你揭示, 一系列实时数据采集方法, 助你在信息洪流中, 找到…

怎么在家访问公司内网?

在当前的疫情情况下,越来越多的公司开始允许员工在家办公,这就需要解决一个问题:如何在家访问公司的内网资源呢?今天我将介绍一种解决方案——使用【天联】组网,它具有许多优势。 【天联】组网的优势 无网络限制&#…

在Node.js(express 框架)中使用 JWT 进行身份认证

文章目录 一、JWT 认证机制二、安装 JWT 相关的包三、基本使用1、生成 JWT 字符串2、添加中间件,解析 JWT 字符串3、获取管理员信息(admin) 一、JWT 认证机制 JWT 认证机制(图片来源于网络,侵权删除): 关于 JWT 原理可…

Conda下Richdem包遇到问题

Conda中Richdem包遇到问题 文章目录 Conda中Richdem包遇到问题问题一报错解决 问题二报错解决 参考 问题一 报错 RichDEM 是一套数字高程模型 (DEM) 水文分析工具,这次打算用richdem进行地形分析,尝试在conda里面安装richdem包的…

HDLC协议

目录 1.概念 2.配置 3.HDLC帧结构 4.HDLC帧类型 1.概念 HDLC(High-level Data Link Control)高级数据链路控制位于链路层协议,传输单位是帧,它是一组用于在网络结点间传送数据的协议。其特点是各项数据和控制信息都以比特为单位&#xff…

CUDA-共享内存法实现矩阵乘法(比常规方案提速一倍)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 共享内存是什么? 共享内存是在多个处理单元之间共享数据的一种内存区域。在计算机体系结构中,共享内存通…

S型曲线的几种设计(图像对比度调节)

一般来讲,图像调色模块都会提供“曲线”工具,这是一个极其灵活的功能,绝大部分的调色都可以通过该工具实现,但是曲线功能的交互相对而言比较复杂。出于简便性和效率方面的考量,调色模块往往还会提供一些具有很强的功能…

最后一块石头的重量 II ,目标和,一和0

最后一块石头的重量 II(0-1背包问题 将石头尽可能分为两堆重量一样的,进行相撞则为0 class Solution {public int lastStoneWeightII(int[] stones) {int sum0;for(int x:stones){sumx;}int targetsum/2;int[] dpnew int[target1];//dp[j]表示最大石堆的…

AI视频教程下载:学会用AI创作文本图片音频视频

在不断发展的科技领域,人工智能 (AI) 是毋庸置疑的冠军,它是一种不断创新的力量,在我们的生活中扮演着越来越重要的角色。随着 2023 年的到来,我们诚挚地欢迎您加入人工智能精通课程的大门。 这不仅仅是一个课程,它专为…

springboot(3.2.5)初步集成MinIO(8.5.9)开发记录

springboot初步集成MinIO开发记录 说明一:引入maven依赖二:手动注入minioClient三:创建service类四:测试打印连接信息五:时区转化工具类六:常用操作演示 说明 这里只是作者开发的记录,已备将来…

UDP通讯的demo

udp通讯的demo,这个只是简单的实现。 后面我还会加入udp组播功能。 因为懒,所以我自己发,自己接收了。 经过测试,可以看到,发送消息和接收消息功能都没问题。 广播: 这个是点对点的通过对方的ip和端口发…

47.Redis学习笔记

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

【数据结构】闲谈A股实时交易的数据结构-队列

今天有点忙,特意早起,要不先写点什么。看到个股的红红绿绿, 突然兴起,要不写篇文章分析下A股交易的简易版数据结构。 在A股实时股票交易系统中,按照个人理解,大致会用队列来完成整个交易。队列(…

2024高校网络安全管理运维赛wp

文章目录 misc签到钓鱼邮件识别easyshellSecretDBGatewayzipApachef for r webphpsqlMessy Mongo misc 签到 钓鱼邮件识别 两部分解base64,各一个flag 后面没有什么地方有有用信息了,根据题目钓鱼邮件,可能第三段flag就跟DMARC、DKIM 和 SP…

c#实现音乐的“vip播放功能”

文章目录 前言1. c#窗体2. 功能3. 具体实现3.1 添加文件3.2 音乐播放3.3 其他功能 4. 整体代码和窗口5. 依赖的第三方库 前言 最近在QQ音乐里重温周杰伦的歌,觉得好听到耳朵怀孕,兴起想要下载下来反复听,发现QQ音乐VIP歌曲下载下来的格式居然…

基于SSM的“游戏交易网站”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“游戏交易网站”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 游戏交易网站功能结构图 游戏交易网站首页 游戏交易网站用户注册…

Android iw 工具

代码位置:Android/external/iw 查看支持的命令: console:/ # iw help Usage: iw [options] command Options:--debug enable netlink debugging--version show version (4.1) Commands:help [command]Print usage for all or a specific command, e.g."…