网络基础

一. 网址参考

  1. 二层网络及三层网络的子网掩码设置原则(程序员宅基地, 内容比较详尽)

  2. linux的添加网关 查看网关等信息

  3. Linux route命令详解:查看和操作IP路由表

  4. 局域网两个不同网段互相访问

  5. 硬核图解!30张图带你搞懂!路由器,集线器,交换机,网桥,光猫有啥区别?

  6. 反向代理为何叫反向代理?

  7. Linux 网络接口配置(/etc/network/interfaces)

     8. 【网络】IP、域名、端口号和DNS域名解析之间的联系简介(给服务器添加域名来验证)

  9. 小菜学网络

二. 摘抄

  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

        参考网址:1)关于connect: network is unreachable 问题的解决

              2) Linux 网络接口配置(/etc/network/interfaces)

posted @ 2021-10-26 14:57  shanyu20  阅读(86)  评论(0编辑  收藏  举报