一、OSI RM模型与TCP/IP模型
1. OSI RM 模型
OSI RM(Open System Interconnect Reference Model,开放系统互连参考模型)是由国际标准组织ISO定义的,规范不同系统的互联标准,使两个不同的系统能够较容易的通信。OSI RM把网络按照层次分为七层,依次为物理层、数据链路层、网络层、传输层、会话层、标识层、应用层。
- 物理层
负责把逐个的比特从一跳(节点)移动到另一跳(节点);定义接口和媒体的物理特性;定义比特的表示、数据传输速率、信号的传输模式;定义网络物理拓扑- 数据链路层
在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(节点)移动到另一跳(节点);组帧、物理地址、流量控制、差错控制、接入控制- 网络层
为网络设备提供逻辑地址;进行路由选择、维护路由表;负责将分组数据从源端传输到目的端- 传输层
负责建立端到端的连接,保证报文在端到端之间的传输,服务点编址、分段与重组、连接控制、流量控制、差错控制- 会话层
负责建立、管理和终止表示层实体之间的会话连接,在设备或节点之间提供会话控制,在系统之间协调通信过程- 表示层
数据的遍码和解码,数据的加密和解密,数据的压缩和解压缩- 应用层
为应用软件提供接口,使应用程序能够使用网络服务
2. TCP/IP模型
实际应用中通常使用TCP/IP 模型。将OSI RM 七层模型简化为TCP/IP 4层模型,即主机到网络层、网络互连层、传输层、应用层
- 主机到网络层
对应于OSI RM 模型中的物理层和数据链路层,负责监视数据在主机和网络之间的交换- 网络互连层
对应于OSI RM 模型中的网络层,把分组发往目标网络或主机- 传输层
对应于OSI RM 模型中的传输层,使源端主机和目标端主机上的对等实体可以进行会话- 应用层
对应于OSI RM 模型中的会话层、表示层和应用层,为应用程序提供网络服务
二、ICMP协议
ICMP(Internet Control Message Protocol,Internet控制报文协议)是网络层的一个重要协议,在网络设备间传递差错、控制、查询等信息。
- ICMP 重定向
ICMP Redirect重定向消息用于支持路由功能。报文从源端直接发送到目的端,而不是先发送到网关设备,再由网关设备发送到目的端- ICMP差错检测
ICMP Echo消息常用于诊断源和目的之间的网络连通性,进行差错检测。- ICMP错误报告
当网络设备无法访问目标时,自动发送ICMP目的不可达报文到发生端设备。- Ping命令
Ping命令是检测网络连通性地常用工具。ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间。- Tracert命令
Tracert基于报文头中TTL值来逐跳跟踪报文的转发路径。源端将报文的TTL值设置为1,到达第一个节点后,TTL超时,向源端发送TTL超时消息,然后源端将报文的TTL值设置为2,以此类推,直到到达目的地。
三、ARP协议
ARP(Address Resolution Protocol,地址解析协议),用来将IP地址解析为相应的MAC地址。ARP协议应用于广播型网络,点对点链路不使用ARP协议。 数据链路层在进行数据封装时,需要目的MAC地址。ARP报文不能穿越路由器,不能被转发到其他广播域。
1. ARP 报文类型
ARP报文类型分为ARP Request和ARP Reply,报文结构如下
- 在以太网网络类型中,帧类型字段为0x0806,协议类型字段为0x0800
- op操作字段指出4种操作类型:ARP Request、ARP Reply、RARP Request、RARP Reply
2. ARP解析
如下图所示,PC1需要访问PC3,首先PC1发送ARP Request,交换机SW收到ARP Request后,广播发送改ARP Request,PC2和PC3都会收到ARP Request,PC3收到该ARP Request后,发送ARP Reply到SW上,然后SW转发
ARP Reply到PC1,PC1收到ARP Reply后,就可以和PC3正常通信。3. ARP缓存
ARP 缓存用来存放IP地址和MAC地址的关联信息。在发送数据前。设备会查找ARP缓存表,如果缓存表中存在对方设备的MAC地址,则直接使用MAC地址封装帧;如果缓存表不存在,则发送ARP Request请求报文。
4. ARP代理
如果ARP请求是一个物理网络发往另一个另一个物理网络,那么连接这两个网络的设备可以应答该ARP请求,将这个过程称为ARP代理(Proxy ARP)。Proxy ARP分为路由式 Proxy ARP、VLAN内Proxy ARP和VLAN间Proxy ARP。
- 路由式 Proxy ARP
应用场景:需要互通的主机(主机上没有配置缺省网关)处于相同的网段但不在同一广播域内- VLAN内Proxy ARP
应用场景:需要互通的主机处于相同网段,且属于相同VLAN,但是VLAN间配置了端口隔离- VLAN间Proxy ARP
应用场景:需要互通的主机处于相同网段,但属于不同VLAN
5. 免费ARP
免费ARP用来探测IP地址是否冲突。主机发送ARP Request广播报文,目的IP地址是源IP地址,当目的IP地址被使用时,收到响应的ARP Reply报文。
6. ARP老化时间
每台主机或设备上维护ARP高速缓存,ARP高速缓存中保存动态ARP表项。 主机或设备每次发送报文时,会先在本地高速缓存中查找目的IP地址所对应的MAC地址。如果高速缓存中有对应的MAC地址,主机或设备不会再发送ARP请求报文,而是直接将报文发至这个MAC地址;如果高速缓存中没有对应的MAC地址,主机或设备才会广播发送ARP请求报文,进行ARP地址解析。设备上动态ARP表项到达老化超时时间后,设备会发送老化探测报文(即ARP请求报文)。设备发送的老化探测报文可以是单播报文,也可以是广播报文。缺省情况下,设备只在最后一次发送ARP老化探测报文是广播模式,其余均为单播模式发送。ARP老化时间一般 20分钟。
四、传输层协议
传输层定义了主机应用程序之间端到端的连通性,常用传输控制协议TCP和用户数据包协议。
-
TCP
TCP是一种面向连接的传输层协议,提供可靠的传输服务。TCP使用端口号来区分不同网络服务。TCP通过三次握手建立可靠连接,通过四次握手关闭连接。 - UDP
UDP是一种面向无连接的传输层协议,传输可靠性没有保证。