1.局域网内通信
- 主机号和网络编号
IP地址通过子网掩码区分:为1的部分对应的是网络编号, 为0的部分对应的是主机编号。
比如IP为 192.168.1.2,子网掩码为255.255.255.0
那么网络编号为192.168.1 主机编号为 2
- IP地址分配
手动分配 / 自动分配(DHCP服务器分配)
- 寻找目标地址(MAC地址)
当设备A需要知道目标设备B的地址,设备A就会广播arp报文来询问设备B的位置。
设备B收到了A 广播的arp报文,就会告诉A自己的MAC地址。
这样A和B就可正常通信。。
- 广播区域/子网
在上述广播arp的报文,不希望在网络中浪费资源,于是希望这个arp广播报文在子网传播。
所以子网通过:网络编号 + 0 + /(子网掩码1的位数)表示。。
子网:比如IP地址为192.168.1.2 ,子网掩码为255.255.255.0,那么这个子网可表示为192.168.1.0/24 。
可分配主机数:这个子网内可分配的主机位192.168.1.1~192.168.1.254共254个。
广播地址:192.168.1.255
- 本地环回地址lo0
127.0.0.1
2.如何配置IP地址、DHCP服务器
- DHCP服务器
当(1)一个设备开启DHCP 功能(也叫自动分配IP地址),然后(2)当一个设备连上路由器,路由器会自动给设备分配IP地址。
- 静态IP地址绑定列表:某个MAC地址对应的主机希望IP地址不变。
当路由器连上的局域网中,希望某些设备的IP地址不变,那么可以在路由器上输入MAC地址,并且配置这个IP地址保证IP地址不变。
3.路由器
物理层---网线插着
数据链路层---交换机
网络层---路由器
- 设备A(mac:aa)发消息给设备C(mac:cc)
硬件线路:设备A----交换机switch1----交换机switch2---设备C
设备B----交换机switch1
0.设备A发消息给设备C
1.switch1记录下设备A对应的端口aaaa
2.switch1不知道ccc是谁,所以将报文转发给switch1的所有端口
3.设备B收到A的消息,不是给自己的,丢弃。
4.switch1发到与switch2相连的端口2-1
5.switch2的这个端口记录对应的mac地址aa
6.设备C收到消息后,回复A。通过端口2-1到switch1,switch1到设备A
- 路由器
1.三层网络设备:最少可以到达网络层
2.一个口接着wan口(接入网络),一个口接着Lan口(局域网),Lan口可接到交换机实现多个设备上网,也可直接接到设备上直接上网。
3.硬路由:路由器。 软路由:刷了openwrt系统。。
4.路由表
route -n 即可查询路由表
Destination:目的地址
Gateway:网关地址/下一跳
默认网关:192.168.0.1
Genmask:网关掩码,与Gateway相与就是IP地址。
Flags:带G的代表网关规则。不带G则表示目标地址在本地链路。
interface:网卡接口
4.1 例子1
比如需要发送消息到百度服务器39.256.69.79,那么匹配到的目的地址就是0.0.0.0/0,那么这个数据包就会转发给对应的网卡eth0。
4.2 例子2
比如需要发送消息到某个IP地址,且在路由表中能匹配到两个Destination,路由通过路由算法会选择更好的线路。
5.查看报文经历的路由 traceroute命令。
6.直连路由:(1)比如设备接入子网,通过DHCP获得192.168.0.4/24的ip地址,那么这个设备会自动产生目的地址为192.168.0.0/24的路由。
(2)或者同理,比如手动设置IP地址为192.168.10.0/24,那么也会增加192.168.10.0/24的路由。
7.手动路由:
如添加子网192.168.2.0/24, 子网网关地址为192.168.10.12/24.
8.NAT技术(Network address translation)
当一个子网的设备A(树莓派4B),通过路由器B,发到目的地址百度,为了(1)避免在不同的子网中存在相同的IP地址,还有(2)子网中的私有地址在公网中是找不到的。所以需要通过SNAT技术,把设备A的IP地址,换成路由器的WAN口公网IP地址,这样百度返回报文的时候,就是返回到路由器的WAN口。
同样的,路由器通过WAN收到了目的地址C的报文,通过LAN口和路由器的DNAT技术,把目的IP地址(路由器的地址)换成设备A的IP地址,即可转到目的设备。
端口映射
baidu-----路由器(WAN.LAN)-----设备A
比如百度想要直接连到设备A是不可能的,只能连到路由器的WAN IP地址,当路由器配置了端口映射之后,通过DNAT,会把收到的报文的目的IP地址,转换为设备A的IP地址。
无线桥接/有线桥接
无线网桥:把两个局域网组到一起。
DNS(Domain Name System域名解析系统,把域名解析为IP地址)
- DNS服务器解析域名
可在本机的DNS设置中查看本机用的DNS服务器。。
- host文件解析域名
Linux下:/etc/host文件 (IP地址 + 域名)
- 通过修改域名对应的网址为127.0.0.1:即可达到屏蔽某些网址的目的
DDNS
自动修改DNS服务器上的IP地址记录。