文章目录
实战中学习TCP/IP模型——互联网层
学习一个复杂的概念,我有一些经验与大家分享。了解技术出现要解决的问题,知道解决这问题实施的步骤,列出技术的特点。也就是对自己的经典三问:Why? How ? Feature?
Why?
互联网层最重要的协议是IP协议(Internet Protocol)。那么IP协议解决什么问题呢?我们知道,数据的传播分为单播,广播和组播。单播指向目标主机的MAC地址,广播则是对自身数据包进行标记,让所有主机都来处理。当前我国互联网用户超过8亿,如果每人1天发送1条广播,那么平均每人每分钟处理的广播数量为800,000,000/(3600*24),接近1万个广播。这无疑是对网络资源的巨大浪费,同时也无法防止滥发小广告式式的恶意骚扰。
因此,既要保证单播正常运行,又要控制广播影响范围是互联网层要解决的基本问题,一代又一代的大佬们,都选择了IP协议。
HOW?
隔离广播——划分子网
为了隔离广播,IP协议使用IP地址将整个互联网层划分成了多个子网,主机发送的广播只能在子网内。
范围寻址——路由表
获取目标IP的mac地址的ARP服务是依赖广播的,广播被子网隔断后,如何获取其它子网的IP地址对应的mac地址就成了新问题。
每个子网都有一个网关,承载它的网络设备一般是路由器。当ARP服务所需的IP不在子网内时,广播会被发送到网关路由器。路由器通过路由表,寻找目标IP对应子网段的路由器。这样广播就只在路由器间传递,同时又解决了实现单播所必须的ARP寻址问题。
#路由表查看
route -n
#路由表增加
#增加直连路由
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
#增加默认路由
route add -net 0.0.0.0/0 gw 172.16.0.1
route add default gw 172.16.0.1 #推荐
#路由表删除
route del -net 192.168.122.0/24
route del default
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6wIr5j6-1608369479755)(https://i.loli.net/2020/10/28/U8Dbcjao1MSgZ7h.png)]
一个路由表通常是这样的,图中代表10.0.0.0/24,192.168.122.0/24这两个网段,网关为0.0.0.0,即可以直接发送广播;其它网段需要将数据包发送给10.0.0.2这台主机。
实战:使用三台Linux主机作为路由器,使得两台Linux主机,IP分别为172.16.0.100/16,172.22.0.100/16能够相互通信。
环境搭建
配置网段
克隆三台虚拟机,每台虚拟机增加额外1张网卡。VMware配置子网,vmnet3,vmnet4,vmnet5,vmnet6
网络名称 | 网段 |
---|---|
vmnet3 | 172.16.0.0/16 |
vmnet4 | 172.18.0.0/16 |
vmnet5 | 172.20.0.0/16 |
vmnet6 | 172.22.0.0/16 |
配置网卡
对五台主机配置双网卡,网络详情见下表。
主机名 | eth0 | eth1 |
---|---|---|
CentOS6 | 10.0.0.6/24 | 172.16.0.100/16 |
CentOS7 | 10.0.0.7/24 | 172.22.0.100/16 |
R1 | 172.16.0.200/16 | 172.18.0.200/16 |
R2 | 172.18.0.201/16 | 172.20.0.200/16 |
R3 | 172.20.20.201/16 | 172.22.0.200/16 |
网络拓扑见图1-1。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c05kbUWK-1608369479758)(https://i.loli.net/2020/12/14/9HOAcoQgtkdXWC2.png)]
图1-1
通过修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1两份配