网络通信之路由
一.交换与路由
1.什么是交换
指的是网络访问, 几台计算机连在同一个交换机上, 配置同一个网段的不同 IP 就可以直接通信了(这不不谈及三层交换机)

2.什么是路由

二.Linux处理数据包过程
1.一台Linux主机能够被当成路由器用的三大前提
- 至少有两块网卡连接两个不同的网段
- 开启了路由转发功能
- 在该Linux主机上添加了正确的路由规则/策略
2.路由过程图

- 当外界数据从网卡流入后需要对他进行路由决策**
- 根据其目标决定是流入本机用户空间**
- 还是在内核空间直接就转发给其他主机**
3.如果是流入本机用户空间的数据
-1. 此时如果本机用户空间的应用程序不需要产生新的数据, 那便不涉及从某个网卡流出数据
-2 如果本机用户空间的应用程序需要产生新的数据包对外发送,那便需要从某个网卡流出数据
-3 但在流出之前,也需要做路由决策:根据目标决定从哪个网卡流出
4.如果仅仅是经本机转发数据包
-1 则必然涉及到从某个网卡流出,此时数据包必须从流入网卡完整地转发给流出网卡
-2 但Linux主机默认未开启 **ip_ forward** 功能, 这使得数据包无法转发而被丢弃
5.开启 Linux 主机的路由功能
1>.临时开启, 重启网络服务会失效