网络通信原理

IP数据包格式

网络层概述

位于OSI模型第三层

作用

  • 定义网络设备的逻辑地址,俗称网络层地址(如IP地址)
  • 在不同的网段之间选择最佳数据转发路径

协议

  • IP协议

IP数据包格式

网络层的所有功能,都是通过该层的诸多协议实现的

  • 目前网络中,主要的网络层协议是IP 协议

3.3.1

IP数据报是可变长度的,它由两部分组成:首部和数据

  • 首部由两部分组成:固定部分和可变部分
  • 固定部分20字节,可变部分由一些选项组成,最长40字节

3.3.2

字段作用解析

  • 版本:指的IP地址的版本 (IPv4 或 IPV6)

  • 首部长度:数据包的首部长度一共是多少

  • 优先级与服务类型:表示数据包是否需要优选传递

  • 总长度:表示的是整个数据包的大小,也就是首部+数据

  • 标识符、标志、段偏移量:作用将拆开的数据包进行组合(用来数据重组的)

  • TTL值:数据生命周期

    • 作用:防止数据无限循环转发
    • 原理:数据包每经过一台路由器,TTL值会减1,当TTL为0时,数据包被丢弃
  • 协议号:数据包在网络中传递时所用的协议

    • 1 – ICMP
    • 6 – TCP
    • 17 – UDP
  • 首部校验和:是用来做数据包核对用的,确定数据包是否是完整,如果是就接收,如果不是完整的数据包则丢弃

  • 源IP地址 :表示发送这个数据包的设备的IP地址

  • 目标IP地址:表示接收这个数据包的设备的IP地址

  • 可选项:他是一个可变长度,取值范围:0-40个字节 一般数据包中不是加该选项的

  • 数据:他是应用层发出的数据—–在数据包中体现,单独看不到

IP地址解析

网络与广播地址

网络地址

  • 主机位全为0的IP地址
  • 表示的是一个网络范围,仅仅表示一个区域,不代表任何一个主机
  • 例如:192.168.1.0 255.255.25.0,是网络地址

广播地址

  • 主机位全为1的IP地址
  • 表示的是一个网络范围内的所有主机/设备
  • 例如:192.168.1.255 255.255.255.0,是广播地址

可用IP地址

可用IP地址范围及广播地址

3.3.3

网络层常见协议

ICMP协议概述

概述

  • ICMP(Internet Control Message Protocol),Internet控制消息协议
  • 位于 OSI 模型第三层,即网络层
  • 协议号:1

作用

  • 在IP网络中发送控制消息,反馈可能发生在通信环境中的各种问题,从而为网络连通性测试以及网络故障定位提供有效指示信息

场景示例

  • 当路由器收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个ICMP主机不可达的消息

3.3.4

ICMP协议应用

测试工具-Ping

  • 测试两个设备之间的连通性
  • 使用的是ICMP协议的数据包

测试命令

  • ping 目标IP
  • ping 目标IP -t //一直ping目标地址
  • ping 目标IP -c X //指定ping几次
  • ping 目标IP -i X //指定ping包的字节大小
  • tracert 目标IP //路由追踪

Echo Request,请求报文

Echo Reply,响应报文

3.3.5

常见的Ping反馈结果

  • 连接建立成功,Reply from 目标地址….

  • 目标主机不可达,Destination host unreachable

    • 同网段中没有这个IP地址,或IP地址错误
    • 跨网段通信时,本主机没有填写网关地址
  • 请求时间超时,Request timed out

    • 对方主机没有填写网关地址
    • 对方的防火墙阻断了

ARP协议概述

ARP(address resolution protocol):地址解析协议

  • 属于OSI 模型第三层(网络层)
  • 主要作用是:基于目标IP地址获得对应的目标MAC地址,从而完成数据的2层头部封装实现数据的快速转发

ARP报文类型

  • ARP请求报文,源设备以广播的方式发送,向所有设备请求MAC地址
  • ARP回应报文,目标设备以单播的方式回应,直接返回给“源设备

ARP核心工作表

  • ARP表,包含的是IP地址与MAC地址的对应关系条目
  • ARP条目分为静态和动态两种类型
  • 动态ARP条目的存活时间是1200s

任何设备发送数据的原理

  • 任何设备在发送数据包之前,必须检查ARP 表,查看包含去往目标IP地址时所使用的MAC地址
  • 如果ARP表包含目标IP地址对应的条目,则使用目标MAC封装数据
  • 如果ARP表不包含对应的ARP条目信息,则发送ARP请求,获得目标MAC

ARP常用命令

  • PC>arp -a //查看arp缓存表
    Internet Address Physical Address Type
    192.168.1.2 54-89-98-B9-74-25 dynamic (动态)
  • PC>arp -d //清空arp缓存表
  • PC>arp -s 192.168.1.2 54-89-98-B9-74-25 //添加静态的ARP表记录

ARP工作原理

  • 设备刚开机时,ARP表是空的
  • 主机10.1.1.1要与10.1.1.2通信,首先以广播方式发送ARP 请求

3.3.6

  • 所有主机都接收到10.1.1.1的ARP请求报文,但只有10.1.1.2给它一个单播回复,并将10.1.1.1的MAC地址保存在自己的ARP表

3.3.7

  • 主机10.1.1.1将10.1.1.2的MAC地址保存到ARP缓存中,然后就可以发送数据

路由原理和配置

什么是路由

将数据包从一个网段发送到另一个网段

  • 需要依靠具备路由功能的设备来完成
  • 常见的路由设备有路由器或三层交换机、防火墙

路由器如何工作

根据路由表选择最佳路径

  • 每个路由器都维护着一张路由表,这是转发数据包的关键
  • 每条路由表记录指明了:到达某个子网或主机应从路由器的哪个物理端口发送,通过此端口可到达该路径的下一个路由器的地址
1
2
3
4
5
6
7
[R1]display ip routing-table

目的地址 /掩码 协议 优先级 开销值 下一跳 出接口

Destination/Mask Proto Pre Cost NextHop Interface


路由表的形成

路由表是在路由器中维护的路由条目的集合,路由器根据路由表做路径选择,路由表是怎么形成的呢?

直连网段

  • 配置接口IP地址
  • 并且接口状态up

非直连网段

3.3.8

路由的类型

依据来源的不同,路由条目可以分为三种类型

  • 通过链路层协议发现的路由称为直连路由,优先级为0
  • 通过网络管理员手动添加的路由称为静态路由,优先级为60
  • 通过动态路由协议自动发现的路由称为动态路由,ospf路由优先级为10

静态路由

静态路由:

  • 由管理员手动配置添加,为单向条目
  • 通信双方的路由器都需要配置路由,否则会导致数据包有去无回

3.3.9

静态路由配置命令

使用ip route-static 命令

  • 指定到达的目的网络
  • 基本格式:
1
[Huawei]ip route-static 目标网络 子网掩码 下一跳地址

配置默认路由

默认路由

默认路由

  • 默认的目标网络为0.0.0.0/0,可以匹配任何目标地址
  • 只有路由表中找不到任何明细路由时,才会使用默认路由(缺省路由)
  • 默认路由,可以手动添加,也可以让路由器动态学习

默认路由配置命令

1
[Huawei]ip route-static 0.0.0.0 0 下一跳地址

路由器转发数据包的过程

3.3.10

3.3.11

3.3.12

3.3.13

3.3.14

3.3.15