网络层概述

一、网络层概述

1.网络层的定义

网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间。
主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。

2.主要内容

虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。

二、网络层关键技术

1.网络层的功能

功能一:路由选择与分组转发(最佳路径)
功能二:异构网络互连
功能三:拥塞控制(若所有节点都来不及接受的分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采用一定措施,缓解这种拥塞。

2.路由选择

这是网络层的核心功能之一,用于确定数据包传输的最优路径。
常见的算法包括:

  • 距离向量算法 (如RIP):通过相邻节点交换路由信息,计算最短
    路径。
  • 链路状态算法 (如OSPF):基于全局网络拓扑信息构建路由表,
    适用于复杂网络环境。
  • 路径向量算法 (如BGP):主要用于自治系统间的路由选择。

3.分组转发

  • 网络层根据路由表将数据包从源地址转发到目标地址,涉及路由表查询、下一跳地址匹配等操作。
  • 现代路由器采用高效的数据结构(如最长前缀匹配算法)提升转发效率。

4.逻辑地址分配和ip协议

  1. IPv4/IPv6协议 :IPv4使用32位地址,IPv6扩展至128位地址,解决地址枯竭问题并增强安全性。
  2. 地址解析协议(ARP) :将IP地址映射为物理MAC地址,确保数据链路层正确传输。
  3. ICMP协议 :用于网络状态监测与错误反馈(如ping命令)。

2.关键技术的拓展

  • 流量控制与拥塞管理‌
    通过丢包策略、流量整形等机制避免网络拥塞,例如TCP拥塞控制与网络层的协同工作。
  • 通信协议协同‌
    短距离通信协议 (如蓝牙、ZigBee)通常应用于物联网场景,
    与网络层的长距离协议(如IP)配合完成端到端数据传输。
    超宽带(UWB) 技术通过脉冲无线电实现高精度定位,延伸了网络层的应用范围。

三、网络层核心协议

TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。
在TCP/IP协议族中,网络层协议包括:

  • IP协议(网际协议),
  • ICMP协议(Internet互联网控制报文协议),
  • ARP 协议(地址解析协议)
  • IGMP协议(Internet组管理协议)

1.IPv4

1.1IPv4定义

网际协议版本4(英语:InternetProtocolversion4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。

IPv4的核心技术包括IPv4地址分配规则、IP数据报文格式 、网络的分组交换机制及路由选择等。

1.2 ip数据报

协议定义了一个在因特网上传输的包,称为IP数据报,由首部和数据两部分组成。
首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
首部中的源地址和目的地址都是IP协议地址。
请添加图片描述
请添加图片描述

1.3 分组转发

IP分组转发是指在互联网络中路由器根据IP分组的目的地址,将其从接收接口转发到合适的输出接口的过程。

IP分组转发的主要步骤:

  • 提取目的IP地址
    • 路由器从接收到的数据包中提取目的IP地址,这是转发决策的基础。
  • 判断是否直接相连
    • 路由器检查目的IP地址是否与自身直接相连的网络匹配
    • 如果匹配,数据包将直接交付给该网络。
  • 查找路由表
    • 如果目的网络不直接相连,路由器会查询其路由表,寻找与目的IP地址最匹配的路由。
  • 最长前缀匹配
    • 当存在多个匹配的路由时,路由器会选择具有最长前缀的路由,以确保最精确的转发。
  • 使用默认路由
    • 如果路由表中没有匹配的路由,路由器会使用默认路由,将数据包转发给指定的下一跳地址。
  • 转发数据包
    • 路由器将数据包从相应的输出接口转发出去,继续向目的网络传输。
  • 地址解析
    • 在转发过程中,路由器可能需要使用ARP协议将IP地址解析为MAC地址,以便在数据链路层进行传输。

2.ICMP协议

2.1定义

ICMP:Internet Control Message Protocol,互联网控制报文协议,是TCP/IP协议族中的一个重要协议,主要用于IP主机和路由器之间传递控制信息和错误消息。
ICMP 是一个“错误侦测与回馈机制”,通过 IP 数据包封装,用来发送错误和控制消息。

  • 其目的是使管理员能够掌握网络的连通状况。例如,在图中,当路由器收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个 ICMP 主机不可达的消息。

2.2 ping 命令

Ping工具使用ICMP Echo Request和Echo Reply消息来测试目标
主机是否可达,并测量往返时间(RTT)。
ping 命令的基本格式如下所示(windows系统)

  • ping [–t] [-l 字节数] [-a] [-i] IP_Address| target_name
  • [ ]中的参数为可选参数。
2.2.1 pping命令返回值
  • bytes值:数据包大小,也就是字节。
  • time值:响应时间,这个时间越小,说明你连接这个地址速度越快。
  • TTL值:Time To Live,表示DNS记录在DNS服务器上存在的时间,它
    是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。
    • 我们可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是 - Windows系列还是UNIX/Linux系列。
      因此一般TTL值:
    • 100~130ms之间,Windows系统 ;
    • 240~255ms之间,UNIX/Linux系统。
2.2.2ping命令的参数
  • 可以使用ping /?命令查看ping命令的可用参数

  • -t 参数会一直不停的执行ping

    • 调试故障或需进行持续连通性测试时应用
    • Ctrl+C可以中断命令
  • a 参数可以显示主机名称

  • -l 参数可以设定ping包的大小

    • 单位为字节
    • 可用于简单测试通信质量
      请添加图片描述
2.2.3Ping命令进阶用法

以下命令可以直接批量ping网段检测,并将结果放入对
应的文件中(ping通的IP和不通的IP分别放到两个文件
里面)

  • for /l %D in (1,1,255) do (ping 192.168.56.%D -n 1 && echo192.168.56.%D>>D:/ping/ok.txt||echo192.168.56.%D>>D:/ping/no.txt)

pping网段命令终极方法

  • for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
  • 看见没有多了一个ip.txt文件,把ping的地址写到这个文件里面,同时可以ping 1000个ip地址以上,代码会自己读取这个文件里面的ip地址,并且把结果放到两个文件里面去。

对Ping后返回信息的分析

一、Rquest timed out——超时

  • 这是常常碰到的提示信息,不少文章中说这是对方机器置了过滤ICMP 数据包,从上面工作过程来看,这是不彻底正确的,至少有下几种况。
    • (1) 对方已关机或者网络上根本没有这个地址。
    • (2) 与本身不在同一网段内,经过路由也没法找到对方 ,但有时对方确实是存在的,固然不存在也是返回超时的信息。
    • (3) 对方确实存在,但设置了 ICMP 数据包过滤 (好比防火墙设置)。
    • 怎样知道对方是存在,仍是不存在呢,能够用带参数 -a 的 ping 命令探测对方,若是能获得对方的 NETBIOS 名称,则说明对方是存在的,是有防火墙设置,若是得不到,多半是对方不存在或关机或不在同一网段内。
    • (4) 错误设置 IP 地址
    • 正常状况下,一台主机应该有一个网卡,一个 IP 地址,或多个网卡,多个 IP 地址(这些地址必定要处于不一样的 IP 子网)。
    • 但若是一台电脑的“拨号网络适配 器”(至关于一块软网卡)的TCP/IP 设置中,设置了一个与网卡 IP 地址处于同一子网的 IP 地址,这样,在 IP 层协议看来,这台主机就有两个不一样的接口处于同一网段内。当从这台主机 ping 其余的机器时,会存在这样的问题:
    • 主机不知道将数据包发到哪一个网络接口,由于有两个网络接口都链接在同一网段。
    • 主机不知道用哪一个地址做为数据包的源地址。所以,从这台主机去 ping 其余机器,IP 层协议会没法处理,超时后,ping 就会给出一个“超时无应答”的错误信息提示。但从其余主机 ping 这台主机时,请求包从特定的网卡来,ICMP 只须简单地将目的、源地址互换,并更改一些标志便可,ICMP 应答包能顺利发出,其余主机也就能成功 ping 通这台机器了。
  • Destination Host Unreachable——连不上服务器
  • 1.对方与本身不在同一网段内,而本身又未设置默认的路由。
  • 2.网线出了故障。
  • 这里要说明一下“destination host unreachable”和“time out”的区别,若是所通过的路由器的路由表中具备到达目标的路由,而目标由于其余缘由不可到达,这时候会出现“time out”,若是路由表中连到达目标的路由都没有,那就会出现。
    二、“destination host unreachable”。
  • 3.Bad IP Address——IP有问题
  • 这个信息表示您可能没有链接到 DNS 服务器,因此没法解析这个IP 地址,也多是 IP 地址不存在。
  • 4.Source Quench Received——服务器忙
  • 这个信息比较特殊,它出现的机率不多。它表示对方或中途的服务器繁忙没法回应。
    1. Unknown Host——不知名主机
  • 这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成 IP 地址。故障缘由多是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通讯线路有故障。 - 6. No Answer——无响应
  • 这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障缘由多是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通讯线路有故障;中心主机存在路由选择问题。
    1. ping 127.0.0.1:127.0.0.1是本地循环地址——TCP/IP 协议不工作
    • 若是本地址没法Ping通,则代表本地机 TCP/IP 协议不能正常工作。
    1. no rout to host——网卡工作不正常
    1. transmit failed, error code: 10043——网卡驱动不正常

3.ARP

3.1定义

ARP(Address Resolution Protocol,地址解析协议)的基本功能是负责将一个已知的 IP 地址解析成 MAC 地址,以便在交换机上通过 MAC 地址进行通信。

3.2 arp命令

arp -a

  • 功能 :显示本地ARP缓存表,列出当前已解析的IP地址与MAC地址对应关系。
  • 用途 :排查IP冲突、检查设备连接状态或识别局域网中的设备。
    arp -s IP MAC
  • 功能 :手动添加静态ARP绑定,将指定IP与MAC地址固定关联。
  • 用途 :防止IP地址篡改(如办公网络)或防御ARP欺骗攻击。
    在 Windows 10 客户端主机上运行 arp -s,若提示错误信息“ARP 项添加失败: 拒绝访问”,如图所示,可以通过以下方法解决。

netsh interface ipv4 show neighbors :
此命令用于显示 IPv4 邻居缓存项,这些缓存项包含了与本地计算机通信的其他设备的 IP 地址和对应的 MAC 地址。
然后,运行命令:
netsh interface ipv4 set neighbors 5 10.0.0.178 24 e9-b3-10-e5-41
绑定 IP-MAC,其中的“5”是网卡接口序号,该操作可实现永久性绑定。

arp -d 来删除所有 ARP 映射关系(包括静态绑定的 ARP 条目),也可以用 arp -d [IP]来删除特定条目。、
arp -d [IP]‌ --windows下需要使用管理员权限打开cmd

  • 功能 :删除指定IP的ARP记录(若未指定IP则清空整个缓存表)。
  • 用途 :解决因缓存错误导致的网络故障(如网关MAC被篡改)。

arp -g:功能同arp -a,部分系统兼容使用。
arp -n:显示ARP缓存但不解析主机名,提升查询效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值