目录
HCIA复习
一、OSI七层模型
二、TCP/UDP协议
传输层协议
TCP/IP协议簇
封装/解封装
模型区别
协议号和类型字段
类型字段
协议号
UDP协议头部:
TCP协议头部:
IP报文参数:
三、DHCP协议
定义
PC端初次获取IP地址
交换机转发原理
四、ARP协议
定义
作用
工作流程
正向ARP
免费ARP
流程:
HCIA复习
数据转换 --- 目标:抽象语言 --- 二进制 --- 电信号
应用程序 --- 接收参数和指令 --- 编码:接收传递给计算机指令参数最终转换为二进制。
二进制 --- 电信号
处理电信号
一、OSI七层模型
对于整个互联网而言制定了统一的标准 —— OSI/RM参考模型。
核心:分层
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),由下向上依次是1~7层。
应用层 --- 提供人机交互窗口
表示层 --- 编码 --- 转换数据为二进制 --- 编码格式的统一
-
加密解密,压缩解压缩,编码转码等
会话层 --- 建立维护和端口一次PC到服务器之间的逻辑通道(会话)
传输层 --- 实现端到端的传输 --- 应用到应用之间的传输
-
端口号:SPORT(源端口) DPORT(目标端口),由16位二进制构成
-
范围:0-65535,实际使用的端口号为 1-65535
-
知名(著名)端口号:1-1023
网络层 --- 利用IP地址进行逻辑寻址
-
SIP(源IP地址):1.静态配置 2.DHCP(动态主机配置协议)
-
DIP(目标IP地址):1.直接知道 2.DNS域名解析 3.通过广播获取
数据链路层 --- 二进制 --- 电信号 --- 控制物理层
-
以太网环境下独有地址 --- MAC地址
物理层 --- 传递和处理电信号
二、TCP/UDP协议
传输层协议
-
TCP(传输控制协议,协议号6)
-
UDP(用户数据报文协议,协议号17)
TCP/IP协议簇
封装/解封装
-
封装
-
应用层:产生原始数据,称为数据报文。
-
传输层:写入封装源端口和目标端口的报头,利用端口号完成端到端的传输,否则无法传输数据包。产生的数据称之为数据段。
-
网络层:写入源IP和目标IP的报头以便于数据通讯。产生的数据称之为数据包。
-
数据链路层:写入源MAC和目标MAC,才能到达局域网/路由器。产生的数据称之为数据帧。
-
物理层:传过来的数据变为数据信号,称为比特流。
-
整个过程的行为就称作封装,从 应用层-->数据链路层 对数据不断包装。
-
解封装
将收到的电流信号转换为二进制并向上转发,链路层根据得到的目标MAC地址来判断,如果是则向上转发并进行拆包,不是则丢弃;网络层则同理根据目标IP进行判断;传输层再看目标端口同理进行;最终应用层得到原始数据。
整个过程就称作解封装,即还原为原始状态/数据的过程。
模型区别
分别是 标准模型 和 对等模型
OSI参考模型 只能支持 顺序封装
TCP/IP模型 支持 跨层封装
跨3/4层 封装:ARP STP 跨4层:ICMP OSPF(协议号89)
PS:
-
应用层也需要封装,根据不同需求使用不同的协议,如http;而物理层不需要封装,因为数据已经变成电流信号。
-
如何判断一个协议是否在应用层:根据封装位置,若封装端口号则判断是。
-
大多数协议都是层层封装,个别如ARP协议的封装位置是从应用层-->数据链路层,这称为跨层封装。
协议号和类型字段
类型字段
属于数据链路层的参数
典型的2层/数据链路层协议(以太网协议)
协议号
属于网络层的参数,用于标注上层协议,区分不同层次的协议。典型的有TCP和UDP协议;TCP协议号为6,UDP协议号为17,根据协议号来判断用哪种来解析。
UDP协议头部:
协议号:8
TCP协议头部:
协议号:6
IP报文参数:
三、DHCP协议
定义
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,是一个应用在局域网中的网络协议,它使用UDP协议工作,是一种典型的C/S架构。
传输协议:UDP 端口号:67/68(S/C) Server/Client(服务端/客户端)
服务器负责下发地址,客户端负责获取地址。
PC端初次获取IP地址
-
DHCP --- Discover包 --- 广播发送
客户端 向 DHCP 服务端 去要地址 --- 广播
SPORT:68 DPORT:67
SIP:0.0.0.0(没有地址但需要地址代表自己) DIP:255.255.255.255(受限广播地址)
SMAC:自身的MAC地址 DMAC:(全F) ff...ff
-
DHCP --- Offer包 --- 携带一个可用IP(单播华为/广播思科)
DHCP 服务端收到后,向 DHCP 客户端进行回复
Offer数据包中会携带一个临时有效的IP地址,并且暂时作为DHCP客户端使用
SPORT:67 DPORT:68
SIP:服务端IP地址 DIP:华为:预下发的地址/思科:255.255.255.255
SMAC:服务端自身的MAC地址 DMAC:终端的MAC地址/全F
-
DHCP --- Request请求包 --- 广播发送
DHCP客户端向DHCP服务端发送
SPORT:68 DPORT:67
SIP:0.0.0.0 DIP:255.255.255.255
SMAC:自身的MAC地址 DMAC:全F
-
DHCP --- ACK包 --- (单播华为/广播思科)
DHCP服务端向DHCP客户端发送
SPORT:68 DPORT:67
SIP:服务端IP地址 DIP:华为:预下发的地址/思科:255.255.255.255
SMAC:服务端自身的MAC地址 DMAC:终端的MAC地址/全F
交换机转发原理
转发原理:当一个数据包来到交换机,交换机会根据数据包中的源MAC地址记录从自身那个接口接收到的对应关系到MAC地址表中,之后转发数据包中的目标MAC地址;如果交换机MAC地址表有记录则直接根据记录转发,如果没有记录则洪泛——除了接收到这个数据包的接口外向其他所有接口复制转发一份数据包。
四、ARP协议
定义
ARP(Address Resolution Protocol 地址转换协议):通过一个地址找到另一个地址,是个双向协议。
过程:源IP/源MAC --> 目标IP/目标MAC(全F/泛洪) --> 广播发送的全F数据包
作用
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,用于将已知IP地址转换为MAC地址,以保证通信的顺利进行。
工作流程
正向ARP
想要获取目标MAC地址,设备会发送一个ARP请求包(携带自身IP地址并且请求目标IP的MAC地址),之后使用目标MAC为全F的广播数据包发送,之后在广播域中的目标主机收到后会先记录终端IP地址和MAC地址的映射关系到ARP表中,之后再单播回复;如果目标IP不是自身,则只会记录信息而不会回复。
免费ARP
定义:指主机发送ARP包查找自己的IP地址,通常发生在系统引导期间进行接口配置时。与标准ARP的区别就是免费ARP分组的目的IP地址字段封装的是自己的IP地址,即向所在网络请求自己的MAC地址。
功能:自我介绍,检测地址冲突
流程:
假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:
-
主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。
-
如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。
ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。
由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
-
主机B比较自己IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
-
主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。