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个--关于分片与组装

完。