网络安全笔记(Eighteen Days)路由器的工作原理
路由器的工作原理
一、网络层IP数据包的格式
-
IPv4
-
4位版本:标识当前使用的IP版本(IPv4,IPv6)
-
-
8位区分服务(服务质量/优先级和服务类型):TOS字段有3个位用来指定IP数据报的优先级(目前已经废弃不用),还有4个位表示可选的服务类型(最小延迟、最大吐量、最大可靠性、最小成本),还有一个位总是0
-
16位总长度:主要用来标识整个数据包的长度
-
16位标识:每传一个IP数据报,16位的标识加1,可用于 分片和重新组装 数据报
-
3位标志和13位片偏移:分片
-
8位生存时间TTL(Time to live):源主机为数据包设定一个生存时间,比如64,每过一个路由器就把该值减1,如果减到0就表示 路由已经太长了仍然找不到目的主机的网络,就丢弃该包,因此这个生存时间的单位不是秒,而是跳(hop)
-
8位协议:指示上层协议是TCP(6)、UDP(17)、ICMP(1)还是IGMP(2)
-
16位首部校验和:只校验IP首部,数据的校验由更高层协议负责
-
32位源地址:发送方的IP地址
-
32位目的地址:接收方的IP地址
-
二、路由器的工作原理
1、路由的概述
-
路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程
2、路由表
-
直连路由:当路由器的接口配置好对应的IP地址并开启接口后自动生成的
-
非直连路由:需要手动配置静态路由或者使用动态路由协议学习到的
3、路由器的工作原理
-
一个帧到到达路由,路由器首先检查目标MAC地址是否自己,如果不是自己则丢弃,如果是则解封装,并将IP包送到路由器内部
-
路由器检查IP包头中的目标IP,并匹配路由表,如果匹配失败,则丢弃,并向源IP回馈错误信息,如果匹配成功,则将IP包路由到出接口
-
封装帧,首先将出接口的MAC地址作为源MAC地址封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取其并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC地址,并获取对方的MAC地址,再记录缓存,并封装帧,最后将帧发送出去
4、路由方式
-
静态路由
-
由管理员手动配置,不灵活,而且是单向
ip route 目标网段 子网掩码 下一跳IP
Router(config)# ip route 70.1.1.0 255.255.255.0 20.1.1.2 // 例子 -
特殊的静态路由:默认路由,当在路由器的中找不到目标网络的路由条目时,再去查看默认路由
-
使用场景:一般应用于末节(末梢)网络(网络的最末端)(路由器的一端只连接了一个网络)
ip route 0.0.0.0 0.0.0.0 下一跳IP
Router(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2 // 例子 -
-
浮动静态路由:是一种特殊的静态路由,通过配置一个比主路由的 管理距离 更大的静态路由,保证网络中主路由失效的情况下,提供备份路由。 但在主路由存在的情况下它不会出现在 路由表 中。 浮动静态路由主要用于拔号备份
在静态或默认路由后加空格+数字(正整数)
Router(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2
Router(config)#ip route 0.0.0.0 0.0.0.0 30.1.1.2 2 // 最后的数字是优先级的作用
-
-
动态路由
-
通过某种动态路由协议自动的去建立自己路由表
-
常见的动态路由协议:RIP OSPF IS-IS BGP IGRP ElGRP
-
三、路由器转发数据包的封装过程
-
配置路由
-
第一种
R-4(config)#ip route 192.168.100.0 255.255.255.0 fastEthernet 1/0
-
第二种
R-4(config)#ip route 192.168.100.0 255.255.255.0 192.168.50.2 // 192.168.50.2是下一跳ip
-
-
查看路由表
R-4#show ip route
-
查看接口列表
R-4#show ip int b
-
关闭(开启去掉no)路由功能
Router(config)#no ip routing
-
配置网关
Router(config)#ip default-gateway 网关地址
四、在路由器上配置DHCP
1、DHCP概述
-
目的:是客户机可以通过路由器所提供的DHCP服务获取到IP地址
-
DHCP:动态主机配置协议
-
主要是为客户机提供TCP/IP参数:IP地址,子网掩码,网关,DNS服务器地址
2、配置DHCP
-
定义DHCP地址池
-
ip dhcp pool 自己取个名字
R0(config)#ip dhcp pool BigBear1 -
指定分配的网络范围
network 网络地址 子网掩码
R0(dhcp-config)#network 192.168.10.0 255.255.255.0 -
指定默认网关
default-route 网关地址
R0(dhcp-config)#default-route 192.168.10.254 -
指定DNS服务器地址
dns-server DNF服务器地址
R0(dhcp-config)#dns-server 114.114.114.114
-
-
指定保留地址
ip dhcp excluded-address 地址截至的开头 地址截至的结尾 # 截至中间的部分
R0(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.50
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)