网络层协议

目录

一、网络层功能

二、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表中,以便后续通信时直接查找。

相关推荐
茉莉玫瑰花茶15 分钟前
ProtoBuf - 3
服务器·c++·protobuf
KingRumn40 分钟前
Linux进程间通信之消息队列(POSIX)
linux·服务器
laoliu199644 分钟前
Odoo 18企业版源码 包含 部署教程
运维·服务器
守城小轩1 小时前
基于Chrome140的Quora账号自动化(关键词浏览)——运行脚本(三)
运维·自动化·chrome devtools·指纹浏览器·浏览器开发
未来之窗软件服务1 小时前
幽冥大陆(五十五)ASR SetThreadInformation C语言识别到自动化软件
运维·自动化·asr·东方仙盟·操作系统级别错误
开开心心就好1 小时前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
Lbwnb丶2 小时前
检测服务器是否是虚拟化,如KVM,VM等
linux·运维·服务器
老猿讲编程2 小时前
【车载信息安全系列4】基于Linux中UIO的HSE应用实现
linux·运维·服务器
鸡吃丸子2 小时前
初识Docker
运维·前端·docker·容器