计算机网络 之 网络层2
路由器分组转发流程
路由表结构
- 目标地址 NetWork destination: 数据报最终的被送达的地址
- 子网掩码 Netmask: 表示匹配网络包地址时需要对比的比特数
- 网关 GateWay :下一步需要将数据报送到的地址,当网关为空的时候,表示IP头中的IP地址就是需要转发的地址。不需要转发了。
- 接口 Interface : 存储着一个IP地址,当匹配到这个路由的时候, 使用这个IP地址将数据报发送到对应网关。
路由器 与 交换机的区别
- 交换机:
- 用于 局域网内
- 利用
MAC地址
确定转发目的地址 - 数据链路层
- 路由层:
- 用于不同网络之间
- 利用
IP地址
确定转发目的地址 - 网络层
ICMP协议
ICMP 因特网控制报文协议 Internet Control Message Protocol
- 网络层
- 不传输数据
- 传输空值信息 辅助网络层通信
- 主要功能:
验证网络是否畅通
辅助IP协议实现可靠传输
IP传输并不是可靠传输,只是通过ICMP通知发送方丢包了(如果IP丢包,ICMP通知发送发IP数据报被丢弃的原因)
ICMP应用:
Ping
:- Packet Internet Groper 英特网包探测器
- 本地主机通过向目的主机发送 ICMP Echo
请求报文
,目的主机收到之后会发送 Echo响应报文
,会根据时间和成功响应的次数估算出数据包往返时间以及丢包率从而推断网络是否通畅、运行是否正常等。
TraceRoute
:- 跟踪路由
- 跟踪一个分组从源点耗费最少的TTL(Time-To-Live)
- 先发送一个TTL 为1 的到路由器,然后路由器丢掉,然后逐个增大,直到刚好到 目的主机 (边缘试探)
- 此时就能直到所有经过的路由器的IP地址,以及到达每个路由器的往返时间
ping不通如何排查:
- 检查网络是否连接
- 检查网刊驱动是否正常安装
- 检查防火墙
- 检查第三方软件拦截
- 检查是否网络延迟过大
ARP地址解析协议
ARP (
Address Resolution Protocol
) 地址解析协议
功能:根据IP地址获取物理地址,只知道IP地址,不知道物理MAC地址时候,需要使用ARP地址解析协议 解析地址
解析过程:
- ARP缓冲区中及案例ARP列表,(IP地址与MAC地址一一对应)
- 源地址发送前,先查ARP列表中是否有目的地址
- 如果有,则直接发送数据
- 如果没有,则向目标IP地址所在的子网所有主机发送ARP数据报,(包含:源主机IP MAC地址,目标主机 IP地址)
- 当网络中的所有主机收到ARP数据报后,检查主机IP地址是否是是自己的IP地址
- 如果不是 , 则忽略
- 如果是,从数据报中取出源主机IP 和MAC地址 写入到 ARP列表中,将自己的MAC地址
写入ARP 响应报
- 如果上述的目标子网中的主机中的ARP列表中已经存在源IP 和MAC地址,则覆盖 , 将自己的MAC地址
写入ARP响应报
- 源主机收到响应报 就将APR响应报中的MAC地址写道 ARP列表中
- 如果一直没有收到,则ARP查询失败
NAT Network Address Translation
网络地址转换:将内部私有网络IP 转为 公网IP
- 静态转换: 一对一关系, 一个内部IP 转换为一个 公网IP, 但是如果公网IP被占用,这个内部IP就无法访问
- 动态转换: 一对多,一个私有转换的公网IP 不唯一 不固定
- 端口多路复用: 多对一,多个私有IP 共享一个合法的外部IP,
映射到了不同端口上
TTL
数据报 存活时间 Time-to-Live
每经过一个路由,就会减一
TraceRoute
应用TTL 跟踪路由,找到网络中所有的路由
网络层 与 运输层 关系
网络层 : 多个主机之间
通信
运输层: 一个主机内部
多个进程
通信
本文来自博客园,作者:{zhongweiLeex},转载请注明原文链接:{https://www.cnblogs.com/lzw6/}