网络基础
一. 网址参考
0. 图解网络(小林coding)
1. 二层网络及三层网络的子网掩码设置原则(程序员宅基地, 内容比较详尽)
5. 硬核图解!30张图带你搞懂!路由器,集线器,交换机,网桥,光猫有啥区别?
6. 反向代理为何叫反向代理?
7. Linux 网络接口配置(/etc/network/interfaces)
8. 【网络】IP、域名、端口号和DNS域名解析之间的联系简介(给服务器添加域名来验证)
9. 小菜学网络
10. Linux默认路由与直连路由
二. 摘抄
1. 路由转发规则
二层网络:
源主机在发起通信之前,将Self IP与目的主机的IP进行比较,如果两者位于同一网段(用子网掩码计算后具有相同的网络号),那么源主机直接向目的主机发送ARP请求,在接收到目的主机的ARP应答后获取对方的MAC地址,然后用对方的MAC地址作为目的MAC进行报文发送,位于同一VLAN(网段)的主机互访时属于这种情况,这是互联的交换机做二层交换转发。
三层网络:
当源主机判断目的主机与自己位于不同网段时,它会通过网关来提交报文,即发送ARP请求来获取网关IP地址对应的MAC,在得到网关的ARP应答后,用网关MAC作为报文目的MAC进行报文发送……也就是路由器的某个端口。注意,报文的源IP是源主机IP,目的IP依然是目的主机IP。
当网关路由器接收到以太网数据帧时,发现数据帧中的目标MAC地址是自己的某一个端口的物理地址,这时路由器会把以太网数据帧的封装去掉。路由器认为这个IP数据包是要通过自己进行转发,接着它就在匹配路由表(包含目标地址和指向目标地址的指针)。匹配到路由项后,它就将包发往下一条地址。
路由器转发数据包也是这样,它始终是不会改IP地址的,只会改源/目标MAC。至此在三层网络中将数据发送出去。
三. 实践
1. udp方式sendto函数返回错误:“network is unreachable ”
分析:由于手动修改DEMO板IP地址为192.168.128.160,原先为192.168.1.241,没有去修改gw地址导致的
后来通过手动输入命令: route add default gw 192.168.128.1, 就ok了
或者可以修改文件:/etc/network/interfaces, 然后service network restart