路由器相关协议及原理 笔记
USR-G781
-
不同组网方式切换
LAN 局域网 WAN广域网WAN+4G+LAN WAN异常切换4G 稳定
双LAN+4G WAN和LAN切换 -
4G通信接口
APN配置网络接入设置----- -
DHCP动态地址分配
DHCP服务器设置 自动分配IP地址 给LAN口下主机分配IP并可设置租约时间
设置LAN为DHCP服务器:
主机DHCP客户端
主机广播DHCP DISCOVER报文请求IP地址及配置信息
LAN的DHCP服务器回应DHCP OFFER广播报文(包含IP地址及配置)
主机发送DHCP REQUEST回应OFFER 接受相关配置 在主机延续IP租约时也会发送
服务器发送DHCOP ACK 对客户端的REQUSET确认 客户端接收到此报文后获得IPDHCP NAK:服务器拒绝REQUEST报文的响应报文,客户端接收后重新DHCP过程 DHCP INFORM:客户端获得IP后发送来请求其他配置信息
DHCP客户端设置 获取IP地址 WAN口获得IP
自动分配:从DHCP服务器获得IP后永久使用
手动分配:由DHCP服务器管理员专门指定的IP地址
动态分配:从DHCP服务器获得地址后,用完后释放IP
- 静态路由设置
目的地址 子网掩码 下一跳地址/通过下一跳地址路由表查到达目的地址的线路
默认路由:路由表找不到目的地时使用默认路由、一般0.0.0.0 和所有地址匹配。
TCP/IP协议栈:
链路层:首部(目的MAC、源MAC、类型)、数据、尾部(数据帧校验序列)//以太网通过广播,将数据包发送,各主机读取首部目的MAC匹配再处理
网络层:首部(目的IP、源IP)、数据
IP、ARP(地址解析协议ip与mac匹配)、路由协议
网络层的主要工作是定义网络地址,区分网段,子网内MAC寻址,对于不同子网 的数据包进行路由。
、 传输层:首部(目的端口、源端口)数据//TCP UDP - VPN
PPTP—点对点隧道 基于PPP协议
PPP协议:点到点协议,数据链路层协议
LCP:是PPP协议的一个子集,发送端和接收端通过发送LCP包来确定在数据传输中的必要信息
VPDN:虚拟专用拨号网
L2TP—第二层隧道协议
用户侧到服务侧IP报文传递过程:
IP报文先经过PPP封装,在LAC侧将相同的数据报文作为用户数据传递给L2TP协议,在封装成UDP报文,UDP再次封装成可以再Internet上传输的IP报文用户报文的IP是私有地址,而LAC上的IP为公有地址。
IPSEC—在网络层进行安全加密//通过两个安全协议来实现对IP数据包或上层协议的保护(AH和ESP)
AH:报文验证头协议,主要提供数据源验证、数据完整性校验和防报文重放功能
ESP:封装安全载荷协议,提供AH所有功能 并且可以提供IP报文的加密功能
工作模式:
传输模式:实现端到端保护 两台主机之间数据保护
隧道模式:实现站点到站点的保护 建立安全的VPN隧道
加密算法:对称DES 3DES AES 非对称:DH
IPSec SA:在IPSEC的两个端点之间的安全关联(通信对等体间的某些要素的约定 如哪种协议(AH |ESP)协议的封装模式(传输和隧道)加密算法…)
IPSEC加密传输流程:
IP数据包到达路由器,IPSEC将SA的信息与包头放到IPSEC队列,逐一根据SA配置信息处理,当为传输模式(将IP包头提出,仅送数据加密)当为隧道模式(将原IP整个包加密)通过AH或ESP封装协议封装然后加密,最后为新的数据包打上新的包头,隧道模式(入口和出口作为源和目的地址),传输模式(原IP包头,仅修改协议号成了AH或ESP)
IKE:安全机制,提供端与端之间的动态认证,为IPSEC提供了自动协商交换**,建立SA服务,简化IPSEC的使用(SA交换和**交换DH)。
DPD:检测对端是否存活
OPENVPN—Linux下基于SSL应用层VPN协议
OPENVPN:配置自用静态虚拟IP和虚拟地址池,为成功建立SSL客户端动态分配IP,客户端和OPENVPN组成局域网。并且OPENVPN可以提供对客户端虚拟网卡的路由管理。
Tun和tap模式//操作系统中虚拟的网络设备
tun模式:从虚拟网卡上收到的是不含物理帧头IP数据包,SSL处理模块对IP包进行SSL封装;(模拟网络层设备)
tap模式:从虚拟网卡上收到的是包含物理帧头的数据包,SSL处理模块对整个物理帧进行SSL封装。Tap模式称为网桥模式,整个虚拟的网络就像网桥方式连接的物理网络。这种模式可以传输以太网帧、IPX(分组交换,路由选择协议)等数据包(模拟以太网设备)。
数据包的处理流程:
经TCP/IP层处理,经过路由到虚拟网卡,OPENVPN对数据包使用SSL协议做封装处理,传送的数据可以通过LZO算法压缩,通过socket发送出去,物理网卡接收数据包,经TCP/IP层上传OPENVPN,OPENVPN使用SSL解析包,解析后的包被OPENVPN写入虚拟网卡,再次进入TCP/IP协议栈,传到上层程序。
OpenVPn设置:
Keepalive:检测死连接的机制
MTU:最大传输单元,一种通信协议的某一层所能通过在大数据包的大小(字节为单位)
MSS:TCP建立连接时,双方协商每一个报文段所能承载的最大数据长度
GRE:通用路由封装协议
GRE VPN直接使用GRE封装建立GRE隧道,在一种协议的网络上传送其他协议
GRE VPN隧道处理流程:
隧道起点路由查找,加GRE封装,承载协议路由转发,中途转发,解封装,隧道重点路由查找
GRE VPN设置:
远端地址:公网中目的地址 隧道地址(GRE隧道的源和目的地址) TTL(生存周期),MTU(网络上传送的最大数据包)
SSTP----套接字隧道协议
SSTP VPN 执行过程:
SSTPVPN客户端随机的TCP端口建立TCP连接至SSTP VPN服务器(常常是SSTP VPN网关服务器)上的TCP443端口, 客户端和服务器通过SSL加密来协商,客户端发送一个基于HTTP(HTTPS)请求至SSTP VPN服务器,客户端与服务器协商SSTP隧道,客户端与服务器协商PPP连接,SSTP VPN客户端开始发送基于PPP连接的通讯数据。”
-
静态IP
通过MAC地址绑定静态IP -
DDNS动态域名解析
把域名与动态IP对应
DDNS服务器:通知DNS服务器动态更新域名和IP地址之间的对应关系 -
内网穿透
(网络地址转换)实现内外网动态映射,使外网与内网节点通信 -
iptables防火墙
Filter 对数据包的接收拒绝和丢弃 过滤规则
Nat 端口映射 nat表定义网络地址转换规则
规则表和规则链
Filter表:过滤 INPUT FORWARD OUTPUT 链
Nat表:网络地址的转换 PREROUTING(外网->内网) POSTROUTING(内网->外网) OUTPUT 链
Mangle表:修改数据包服务类型、TTL(生存周期)来调控路由
Raw:决定是否对数据包进行状态跟踪
规则表应用优先级:raw→mangle→nat→filter
入站数据流向:数据包到达防火墙后首先被PREROUTING链处理(是否修改数据包地址等),然后进行路由选择(判断数据包发往何处),如果数据包的目标地址是防火墙本机(如:Internet用户访问网关的Web服务端口),那么内核将其传递给INPUT链进行处理(决定是否允许通过等)。
转发数据流向:来自外界的数据包到达防火墙后首先被PREROUTTING链处理,然后再进行路由选择;如果数据包的目标地址是其他的外部地址(如局域网用户通过网关访问QQ服务器),则内核将其传递给FORWARD链进行处理(允许转发,拦截,丢弃),最后交给POSTROUTING链(是否修改数据包的地址等)进行处理。
出站数据流向:防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网DNS服务时),首先被OUTPUT链处理,然后进行路由选择,再交给POSTROUTING链(是否修改数据包的地址等)进行处理。
-
NTP时间同步
时间同步设置(服务器和客户端) -
DTU
串口:
流控:使数据接收设备在不能接收数据时通知数据发送设备
注册包 使服务器识别数据来源或获取服务器功能授权密码
心跳包 与服务器保持连接
HTTPD和网络透传
Modbus串行通信协议:
起始位、设备地址、功能代码、数据、CRC校验、结束符
Modbus RTU(远程终端单元)