网络安全笔记(Eighteen Days)路由器的工作原理

Eighteen Days

路由器的工作原理

一、网络层IP数据包的格式

  • IPv4

    • 4位版本:标识当前使用的IP版本(IPv4,IPv6)

    • 4位首部长度:由于IP数据报文的首部有于一个可选项,造成首部长度是可变的,所以需要定义,通常情况下默认值为0101(十进制5),代表首部固定长度20字节。最大为1111(十进制15),即60字节。当IP分组首部长度不是4字节整数倍,需利用最后字段填充

    • 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、路由器的工作原理
  1. 一个帧到到达路由,路由器首先检查目标MAC地址是否自己,如果不是自己则丢弃,如果是则解封装,并将IP包送到路由器内部

  2. 路由器检查IP包头中的目标IP,并匹配路由表,如果匹配失败,则丢弃,并向源IP回馈错误信息,如果匹配成功,则将IP包路由到出接口

  3. 封装帧,首先将出接口的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
 
posted @   supernova_dark_horse  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示