内网IP 外网IP 网卡 路由器通信过程(全)

简介:        这几天上了计算机网络的课,对于老师讲的内容也是懵懵懂懂,一个慌神就没跟上,啥ip 啥NAT一脸蒙蔽。课后oogle补了点东西算是大致有了点了解,不过网上的总结都是零零散散而且点到即止。

       这几天上了计算机网络的课,对于老师讲的内容也是懵懵懂懂,一个慌神就没跟上,啥ip 啥NAT一脸蒙蔽。课后oogle补了点东西算是大致有了点了解,不过网上的总结都是零零散散而且点到即止。搜集了好多大佬的总结,终于算是得出自己的一些感悟。故此在这总结一番,希望看到的博友也有一些收获。
话不多说 照例先列个目录:
外网ip
内网ip
内卡
网关
路由器

IP地址:
IPV4就是4段,每段8位,用十进制数字表示,每段数字范围为0~255。如192.134.11.3。IP地址可以视为网络标识号码与主机标识号码两部分,因此IP地址可分两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E5类,它们适用的类型分别为:大型网络;中型网络;小型网络;多目地址;备用。常用的是B和C两类。
默认子网掩码就是来区别网络地址和主机地址的
未来还有IPV6 这里就不讨论了
IPv4专用地址如下:
A类 0.0.0.0-127.255.255.255 (最后一个是广播地址
默认子网掩码:255.0.0.0 (意思就是第一段是网络号 后三段是主机地址)
B类 128.0.0.0-191.255.255.255
默认子网掩码:255.255.0.0
C类 192.0.0.0-223.255.255.255
默认子网掩码:255.255.255.0
广播地址就是它可以给该网段的所有电脑群发信息
IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;
每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;

IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。

IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。
特殊的IP地址
127.0.0.1 表示 本机回环地址

以下列出留用的内部私有地址
**A类 10.0.0.0–10.255.255.255
B类 172.16.0.0–172.31.255.255
C类 192.168.0.0–192.168.255.255**

其它的IP你就认为是外网IP好了。
这里写图片描述
这里写图片描述
问:
如果我用路由器,那么路由器下的IP比如192.168.1.101是不是就是内网IP,而路由器分配的100.64.0.30这个IP是外网IP?是不是外部只能访问到路由器,如果不用端口映射是访问不到192.168.1.101这个IP?”
答:
前2个猜测都正确。第3个感觉不精确,应该是用NAT这种技术。(
要想和网关外的主机通信,必须用NAT,PROXY或者隧道技术进行地址转换
掩码)(具体看路由器 下文)
总结:
1. 外网IP是整个因特网的地址,唯一的,没有重复的
2. 内网ip是局域网内的IP地址,只能使用局域网内部资源,如果要使用因特网的资源则需要有外网IP作为出口,不同的内网可以重复使用IP,例如A网有192.168.0.1,B网同样可以有,不冲突。
3. 一台路由器下可以有多个计算机 而且这些计算机各有各的内网IP地址 内网电脑访问外部需要通过路由器 共用一个路由器的外部IP地址 有个NAT的协议记录了 内网电脑ip和端口号对应着的外网ip和端口号。一个内网内两台电脑同时访问百度 NAT会把内网ip解析成外网ip然后访问百度,对百度来说是一个ip的两个端口访问了自己。然后把两个访问结果返回给路由器 路由器根据端口号(也就是映射到NAT上找到对应的计算机)返回给内网不通过的计算机
4. 内网IP地址是动态分配的 外网IP地址是固定的
5. 127.0.0.1127.255.255.255用于回路测试地址
6. “255.255.255.255是广播地址
7. 0.0.0.0表示未分配的时候 本机地址
8. 子网掩码不能单独存在,它必须结合IP地址一起使用
9. 所有的网络空间计算都必须“减2”,这是因为要扣除两个保留地址:“0”为网络号,“255”为广播。地址1-254分配给主机。
10. 给广播地址发小弟 该网络段的所有计算机都可以接收到 比如给192.168.1.255发送信息 那么192.168.1.255.ip开头的网络段都可以接收到你发送的消息
11. 广播地址只有UDP有 TCP中没有广播地址 这点内容下次博客会讲
网卡:

几乎每台电脑都有一个网卡 它也有一个唯一的标识符 那就是MAC地址 不只是电脑 路由器等也有。MAC是物理地址 是链路层传递的目标
那就有个问题 网卡的作用是什么?
它就是为了计算机联网服务的。具体的我来解释一下它的工作流程吧。
当一个计算机需要联网的时候需要一个IP地址。(与外界通信的基石,相当于收发邮寄的地址,没有地址如何发送和接受?)
那请问IP是怎么分配的呢 这个时候就需要DHCP(动态主机配置协议) 路由器都是自带这个协议的 所以一般都是就近原则找本台计算机所连接的路由器来分配。那怎么通知到DHCP服务器(路由器)呢? 这个时候网卡就派上用场了 :
实际上是应用层的DHCP发现报文(请求的信息) 然后被一个UDP的报文封装 然后再被IP的数据报封装 如下图:
这里写图片描述
(UDP是传输层负责数据操作 IP负责网络层负责数据的运输)
然后网卡把该数据帧包装成以太网帧发送出去 可是发送信件总需要知道对方的MAC地址才可以,这个时候不知道的情况下要广播 是广播到同一个子网内的所有电脑然后把信息通过交换机传递给所有连接到交换机的设备 然后找到DHCP服务器 这个时候
1. DHCP服务器(路由器)会动态分配给计算机一个IP地址,但是这个地址是内网IP地址 俗称私有地址 (具体的下面介绍)
2. 网卡发送确认信出去告诉DHCP服务器我就要这个IP了
3. 网卡接收到一个确认信 包括IP 192.168.1.3(后两位随意) 网关路由器是192.168.1.1 DNS服务器的地址是202.102.224.69
以上步骤都是自动完成的
网关路由器其实就是路由器 相当于大门 把守着通往互联网的大门
DNS服务器就是可以根据域名转换得IP地址的一个服务器
比如我们要上百度网但是只知道IP域名 我们得需要知道百度的IP地址 可是我们怎么知道呢 就是通过网关路由器去寻找DNS服务器 解析得到百度的地址
那问题又来了 实际传输的是在数据链路层 需要知道MAC地址才可以传递 这个时候该怎么办?
ARP就出来了 它是地址解析协议 可以通过ip找到对应的MAC地址 然后计算机又广播出去找到了路由器的MAC地址把信息发送出去(顺便记录该mac在内存中下次不用反复查找) 出来局域网的事就交给路由器了 路由器反复周折找到DNS的服务器 返回百度的ip地址 然后 通过建立TCP连接通过TCP 的GET等请求得到百度信息
这里写图片描述
后来出现了 无线网卡。。这就不多解释了

网关
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
做网关的服务器有一个网关(服务器/路由器)的IP地址,其它内网电脑的IP可根据它来随意设置,前提是IP前三个数要跟它一样,第四个可从0-255中任选但要跟服务器的IP不同
默认的网关IP地址就是 192.168.1.1 这是路由器在内网的ip地址 局域网内的ip地址就要192.168.1带头 后面一个字段0到255 。如果路由器还连接了外网 那路由器就会获得另一个ip地址 那就是所谓的外网ip

路由器:
为啥叫网关 因为它是大门通往外界的一大关
每个路由器都会被分配一个外网ip地址 区别于内网ip地址
问:一个路由器有多少个地址?
:一般家用路由器本身内部可以设两个IP地址,一个LAN口的网关IP地址,另外一个是WAN口的IP地址,这个地址按照电信运营商给你的静态IP或者ADSL拨号方式获取。

为什么会需要内网ip地址?
因为不同局域网内的内网ip可以重复 可以缓解地址压力 不然都不够分了
路由器会把数据链路层的外衣脱掉 找到ip数据包的地址 可以知道是向内网请求还是外网请求了 (根据上文提到的ip地址范围)

比如是向外网发出请求
1. 就会用自己的外网地址把源地址给替换掉就是内网地址
2. 就会创建个新的端口号 把TCP数据包里面的源端口也替换掉
完成了这两步就ok了这样 外部网络就以为是路由器发送出来的请求 当路由器接收到结果后 就查看路由表 确定到底转发到那个端口 然后再把结果返回给对应的电脑 这个就是网络地址转换 叫NAT
这样就做到了用一个外网IP就支持了局域网内多个电脑上网需求这样实现了内网访问外网 。
那外网如何访问内网呢?
也是通过NAT 通知外网 我在这里 然后 外网访问路由器ip和端口 对应将请求发送给内部对应的电脑
要想查看自己电脑的IP地址即内网ip:
1. 即按住菜单键+R进入运行
2. 输入cmd进入命令行
3. ipconfig查看IP地址
附上自己的查询结果
这里写图片描述
根据结果知道我的默认网关是192.168.2.1
我的电脑ip也就是192.168.2.226
我要是想广播的话 改成 192.168.2.255即可 同一个网络号的机器都可以收到我的消息
如何查看本路由器的IP地址?
https://ip.cn/
这个网站就可以 附上我的:
这里写图片描述
强调 默认网关是内网路由器IP

子网包括网络地址和子网掩码

问:请问如何根据IP地址和子网掩码得到网络地址?
答:将IP地址转换为二进制 32位 子网掩码也转换为32位 每一位进行与操作 得到的32位就是网络地址 只要网络地址相同就认为是在同一个网段 。
问:子网掩码作用?
答: 区别网络地址和主机号 前面全是1111组成的是网络地址 主机号是后面000组成的 根据网段判断该网段可以容纳多少主机号根据子网掩码二进制前面11的个数 后面第一个0开始 才是主机号
强调 : 全0和全1都不能代表主机号 因为 全0代表自己主机 全1代表广播地址
以上都是个人搜集和总结的 如有问题还请指出

最近想搭建一个本地服务器 区别于阿里云那些远程服务器 本地服务器只是本地有效 意思就是一个路由器下同一个网段内有效
本地服务器就是局域网内两台电脑通信 经过路由器转达 但是不经过外网
需要下载tomcat 这个之后再弄吧 先有个概念 本地服务器分配的ip是内网ip而不是公网ip

参考 :
内网与外网通信
什么是外网IP 内网IP
内网 子网 局域网 外网
IP地址分类,内网和外网的区别
关于内网IP和外网IP
TCP/IP网络层
局域网IP地址段
ip地址内网

目录
相关文章
|
安全
[UDS] --- TesterPresent 0x3E
[UDS] --- TesterPresent 0x3E
832 1
|
6月前
|
存储 缓存 并行计算
LMCache:基于KV缓存复用的LLM推理优化方案
LMCache推出KV缓存持久化方案,显著优化大模型推理首Token延迟(TTFT)。通过将KV缓存存储至GPU、CPU或磁盘,实现跨请求复用,支持任意位置文本匹配,与vLLM深度集成,多轮对话、RAG场景提速3-10倍,降低硬件压力,提升吞吐。开源支持Linux/NVIDIA,正拓展AMD及更多生态支持。
850 15
LMCache:基于KV缓存复用的LLM推理优化方案
|
安全 搜索推荐 网络架构
什么是内网和外网?什么是内网IP和外网IP?本地连接和宽带连接又有什么区别?
何为内网外网迷糊?究竟什么是内网?什么是外网?他们又有和区别?还有什么是内网IP和外网IP?本地连接和宽带连接有什么区别?怂怂今天就来给大家科普一下吧:
15567 0
|
8月前
|
机器学习/深度学习 人工智能 算法
零基础学习智能体开发:AI操盘手的第一课 ——从认知到实战的AI智能体成长路径
在AI智能体时代,零基础也能通过阿里云生态学习开发与操盘技能。本文从教育与产业双视角,解析“智能体IP操盘手”的成长路径,揭示如何借助大模型与低门槛工具,实现从学习到商业化的跃迁。
|
11月前
|
人工智能 搜索推荐 安全
2025年最佳低代码项目管理平台全解析:提升效率的利器!
低代码项目管理平台结合可视化开发与项目管理功能,助力企业快速搭建个性化流程,提升协作效率,降低技术门槛。适用于多行业、多场景的敏捷开发与数字化转型需求。
504 5
|
9月前
|
JSON 安全 测试技术
医药电商:对接处方审核API实现线上购药合规化
医药电商需合规销售处方药。本文详解对接处方审核API,实现自动化真实性验证、用药合理性审查与全程留痕,满足监管要求。提升审核效率至3秒内,错误率低于0.5%,降低人力成本40%。构建审核闭环,保障安全与体验双赢。(238字)
|
10月前
|
SQL 关系型数据库 MySQL
Python与MySQL:从基础操作到实战技巧的完整指南
Python操作MySQL凭借高效性能与成熟生态,广泛应用于Web开发、金融风控及物联网等领域。借助pymysql等库,开发者可快速实现数据库连接与增删改查操作,同时通过参数化查询、连接池及事务管理保障系统安全与稳定。本文详解环境搭建、实战技巧与性能优化,助你构建高并发应用。
608 0
|
Python
.repo/repo/main.py“, line 79 file=sys.stderr) SyntaxError: invalid syntax
.repo/repo/main.py“, line 79 file=sys.stderr) SyntaxError: invalid syntax
650 0
|
开发框架 供应链 JavaScript
一个简单、功能完整的开源WMS​仓库管理系统
一个简单、功能完整的开源WMS​仓库管理系统
1421 0
|
机器学习/深度学习 人工智能 算法
机器学习中的元强化学习
元强化学习是强化学习与元学习的交叉领域,旨在通过迁移已有知识来提升新任务上的学习效率。
573 2