网络原理-3.网络层&协议IP

1.传输层&网络层关系

2.IP的核心功能和构成

3.IP协议的报头

4.理解子网划分

5.具体的划分方案

子网划分这种方案,解决了IP地址的利用率问题,IP地址的上限没有提高2^32,而且一台机器上可能配置不止一个IP,比如路由器,导致真正能接入网络的主机远远小于43亿

IP地址数量不足的解决方式:

现在的主流-NAT技术,内网转公网,后面详谈。

6.内网和公网IP

7.公网理解

举个例子:

比如俄罗斯的一个报文 目的ip是 5.1.16.X

首先 5.1.16.X & 当前所在的子网掩码-8位,得到网络地址是 5.0.0.0,查路由器对应路由表,发现下一跳地址是5.0.0.1,报文发到这台主机上,

然后 5.1.16.X & 当前所在的子网掩码-16位,得到网络地址5.1.0.0,查路由表,发现下一跳地址是5.1.0.1,报文发到这台主机上,

然后5.1.16.X & 当前所在的子网掩码-20位,得到网络地址5.1.16.0,查路由表,发现下一跳地址是5.1.16.1,报文发到这台主机上,也就是公网的出入口路由器上,接着进行内网转发!

8.路由 就是刚刚一跳一跳的过程

当数据包 到达 公网出入口路由器时,会首先查看目的IP,

路由器决定这个数据包是 直接发送给 目标主机,还是发送给下一跳路由器。如此反复

eth是路由器的网口WAN,LAN...,eth0,eth1对应路由器的不同网口,连接着不同的网段

  • 从 eth1 出去:直连网段,直接发最终主机
  • 从 eth0 出去:发给下一跳另一台路由器,继续中转

主机B发报文给主机C,主机B会有自己的路由表吗,还是说只有路由器有路由表?

主机有自己的路由表,不是只有路由器才有

  • a.主机B和主机C在相同子网

主机B 拿目的IP & 自己的子网掩码,算网络号

查自己的路由表,发现是本地直连的网络,直接发ARP 找C的MAC,二层封装后,

直接发给主机C

  • b.主机B和主机C在不同子网

同样算网络号,查自己的路由表

路由表里没有这个网段

匹配默认路由

把报文封装成MAC 交给这个路由器

后面怎么走,由路由器的路由表接管

举个栗子:

要发送的数据包的 目的地址是 192.168.56.3

跟第一行的 子网掩码 做&运算,得到190.168.56.0,与第一行目的网络不匹配

跟第二行的 子网掩码 做&运算,正式第二行的 目的网络地址,该报文 从 eth1口 发出去
192.168.56.0/24 正是与eth1口 直接相连的网络,所以直接发往目标主机,不需要 通过路由器转发
9.IP协议报头剩下的3个--关于分片与组装


完。

相关推荐
科技小登14 小时前
出海高防CDN怎么选?CDN加速、边缘清洗与跨境回源POC指南
tcp/ip·web安全·ddos
Escalating_xu14 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
默|笙16 小时前
【Linux网络】传输层协议TCP(3)滑动窗口、流量控制
linux·网络·tcp/ip
xiaoye-duck16 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试
网络·c++·语言模型·chatgpt
无言听风雨丶18 小时前
systemd 与信号 / 僵尸进程:Linux 进程管理的底层逻辑与排错
linux·服务器·网络
g5zhu589618 小时前
没有公网ip的情况下,本地能ping服务器服务器不能ping本地,让服务器能访问本地某端口的简单方法
服务器·网络协议·tcp/ip
SDWAN_Cheap18 小时前
BGP是什么,广播IP是什么?两个容易混淆的概念拆解
网络·tcp/ip·bgp·广播ip
程序员JerrySUN18 小时前
PCIe Gen5 SSD 为什么读得快、写得慢?从存储原理到 Linux 性能实测
linux·服务器·网络
guizhoumen19 小时前
net core下WebSocket请求总是断开的解决方案
网络·websocket·网络协议
HKT_China19 小时前
香港电讯河套区创新科技中心暨AI机楼揭幕,以网络基建助力北部都会区发展
网络·ai