网络层协议

目录

一、网络层功能

二、IP数据包格式

三、ICMP协议

(一)ICMP协议的简介

(二)ICMP的用途

1.错误通知

2.诊断和测试工具

3.路径MTU发现

4.路由器通告和请求

四、ARP协议

(一)什么是ARP协议

(二)ARP协议的工作原理


一、网络层功能

(一)定义了基于IP协议的逻辑地址

(二)连接不同的媒介类型

(三)在网络中选择最佳路径

二、IP数据包格式

版本字段(占4位):你使用的IP协议版本 ipv4 和 ipv6 4段

首部长度(4):IP头部长度 范围0000 - 1111 0 - 15

优先级与服务类型(8)

①优先级:当数据包来的时候,区别数据包的优先处理级别

②优先级一样:先看IP地址、再看MAC地址

总长度(16):整个数据包的长度

标志、标识符、段位偏移量:数据的分片及重组

标识符(16):0 - 65535 确定数据的分片是否来自于同一个文件

标志(3):代表数据过小,不需要分片;代表该组最后一个数据包

段位偏移量(13):该数据片离起点的数值坐标,重组数据

TTL(8):默认为255 每经过一个网络层设备就会-1 如果转255圈,则为0,设备就会认为该包为无效包,就会丢弃。

协议号(8):上册协议号 1.icmp 测试协议(三层协议) 6 tcp 17udp

首部校验和(16):只校验IP头部的完整性

源地址(32):发送方的MAC地址

目标地址(32):接收方的MAC地址、

可选项:可有可无的一些选项

数据:需要发送的真实数据

三、ICMP协议

(一)ICMP协议的简介

ICMP(Internet Control Message Protocol)是互联网控制报文协议,它是TCP/IP协议族中的一个子协议,主要负责网络层的错误报告和状态查询。当IP数据包在网络中传输时遇到问题,如目标不可达、超时或者路由器无法转发等,ICMP就会被用来传递这些信息。

(二)ICMP的用途

ICMP主要有以下几个用途

1.错误通知

当数据包无法到达目的地时,源主机或路由器会使用ICMP差错报文来通知发送方。这些报文包括:目标不可达、时间超过、参数问题)等。

2.诊断和测试工具

ICMP用于实现各种网络诊断工具,最著名的是ping和traceroute。ping通过发送ICMP回显请求并接收回显应答来测试网络连通性。

traceroute则利用TTL值和ICMP重定向消息来追踪数据包从源到目的所经过的路由节点。

① ping工具

Ping命令是一种常用的网络诊断工具,用于测试网络连接性和响应时间。它发送一个ICMP数据包,并在目标主机收到数据包后返回一个响应,以确定目标主机是否可达,以及响应时间。

Ping常用的参数包括:

ping - help:查看帮助,在这里可以查看到ping的使用方法

3.路径MTU发现

为了适应不同链路的MTU(最大传输单元),ICMP可以提供路径MTU发现功能。

当数据包大于沿途某条链路的MTU时,路由器会发送ICMP分片需要报文告知发送方降低数据包大小。

4.路由器通告和请求

在IPv6环境中,ICMPv6提供了路由器通告和路由器请求功能,帮助主机自动配置网络参数。

需要注意的是,虽然ICMP本身并不传输用户数据,但它对于网络的正确运行至关重要。由于它承载着重要的网络诊断和管理信息,所以许多防火墙和安全策略都会特别处理ICMP流量,以防止可能的安全威胁或滥用。

四、ARP协议

(一)什么是ARP协议

ARP(Address Resolution Protocol)地址解析协议是TCP/IP协议族中的一个关键协议,它的主要功能是在局域网中将IP地址转换为物理地址(MAC地址)。在以太网等网络环境中,数据包的传输依赖于目标设备的物理地址。因此,当一台主机需要发送数据到另一台主机时,它首先需要知道目标主机的物理地址。

(二)ARP协议的工作原理

1.当PC1想要与PC2通信时,如果PC1不知道PC2的物理地址,它会广播一个ARP请求帧,请求具有特定IP地址(即PC2的IP地址)的设备提供其MAC地址。

2.网络上的所有设备都会接收到这个请求,但只有拥有对应IP地址的设备(PC2)才会回应一个包含其MAC地址的ARP响应帧。

3.PC1收到响应后,就可以使用PC2的MAC地址进行数据传输了,并且会将PC2的IP-MAC对应关系缓存在自己的ARP表中,以便后续通信时直接查找。

相关推荐
whyutianict_vv17 分钟前
云计算 HCIE 认证体系解析:HCIA/HCIP/HCIE 三级科目与知识边界
linux·运维·云计算
0+1117 小时前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋7 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家8 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890758 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻8 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_9498477510 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_6399069410 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗11 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB11 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式