当前位置: 首页 > news >正文

网络层网际协议IP

目录

网络层的几个重要概念

网络层的任务与地位

网络层提供的两种服务

网络层的两个层面

软件定义网络(SDN)

网际协议IP

网络协议 IP(Internet Protocol)

与 IP 配套使用的协议

虚拟互连网络

中间设备的类型与作用

IP 网络的逻辑抽象

分组的传输方式

IP 地址

分类的 IP 地址

无分类编址 CIDR

IP 地址的特性

IP 地址与 MAC 地址

地址解析协议 ARP(Address Resolution Protocol)

IP 数据报格式


网络层的几个重要概念

网络层的任务与地位

网络层是计算机网络互连的核心层次,它的主要任务是在不同的网络之间实现数据分组的传输与路由选择。

网络层向上提供两种基本服务
面向连接的虚电路服务
无连接的数据报服务

核心协议是 IP(Internet Protocol),它是 TCP/IP 体系结构中最重要的协议之一。

网络层提供的两种服务

虚电路服务

思想来源:借鉴了传统电话网的通信模式。
连接建立:在通信前必须先建立一条虚拟电路,通信双方在该电路上占用一定的网络资源。
通信过程:所有分组沿着相同的路径传输,顺序固定。
优点:可靠、有序、面向连接。
缺点:连接建立与维护成本高,网络灵活性较差。

数据报服务

思想来源:面向分组交换的计算机网络,采用无连接模式。
连接建立:不需要事先建立连接,每个分组独立发送。
通信过程:每个分组可选择不同的路由到达目的地,路径不固定,顺序可能改变。
优点:灵活、高效、适合突发数据传输。
缺点:不保证可靠到达,需上层(如TCP)保证可靠性。

两种服务的比较

对比方面虚电路服务数据报服务
思路可靠通信由网络保证可靠通信由用户主机负责
连接建立必须事先建立不需要
路由选择在建立连接时确定每个分组单独选择路径
分组发送顺序总是按序发送可能乱序到达
通信代价较高较低

网络层的两个层面

网络层可以抽象为两个逻辑层面:

数据层面

功能:负责实际的数据分组转发。
表现:每个分组沿着路径在路由器中一跳一跳地被转发。
特点:高速、频繁、面向实时。

控制层面

功能:负责路由的计算、网络拓扑的维护和路由表的更新。
表现:各路由器之间通过路由协议交换信息,建立转发表。
特点:逻辑复杂、相对低频。

软件定义网络(SDN)

SDN(Software Defined Networking)是网络层的最新架构思想。
它将控制层面与数据层面彻底分离。

在传统网络中,每个路由器同时具有转发功能与控制功能。
在SDN中,路由器仅保留转发功能,控制功能集中在一个远程控制器中,由它统一管理整个网络。

SDN的优势

逻辑集中控制、管理灵活
可通过软件实现动态配置
便于全局优化与策略更新
提高资源利用率与网络可编程性

图4-3 展示了这种结构:所有转发设备受远程控制器统一调度。

网际协议IP

网络协议 IP(Internet Protocol)

定义与地位

IP(Internet Protocol) 是 TCP/IP 协议体系中最核心、最基础的协议之一,负责在互联网络中实现分组的传输与路由选择。
它是整个互联网的骨架,在 TCP/IP 模型中处于网络层

IP 的功能在于:向上提供无连接的数据报服务,即尽力而为(Best-effort)的传输服务,不保证分组必定到达、不保证顺序、不提供差错恢复。

IP 协议的版本

目前最常用的是 IPv4(Internet Protocol version 4)
新一代版本为 IPv6(Internet Protocol version 6),用于解决地址耗尽和性能扩展等问题。

与 IP 配套使用的协议

为了使 IP 能完成地址解析、差错报告、多播控制等功能,还需要一些辅助协议:

ARP(Address Resolution Protocol)地址解析协议
作用:实现 IP 地址 → 物理地址(MAC 地址)的映射。
用途:用于同一局域网内通信时,将目标 IP 地址解析为其对应的硬件地址。

ICMP(Internet Control Message Protocol)互联网控制报文协议
作用:用于主机与路由器之间传递差错报告和网络状态信息
举例:ping 命令即基于 ICMP 工作。

IGMP(Internet Group Management Protocol)网际组管理协议
作用:用于多播通信,管理主机加入或退出多播组。

(历史上还有)RARP(Reverse ARP)反向地址解析协议,现已被废弃。

图4-4 所示结构表明:
IP 协议位于网络层
ARP 与物理接口相关
ICMP、IGMP 同属于网络层
IP 之上运行 TCP/UDP
TCP/UDP 之上运行 HTTP、FTP、SMTP 等应用层协议

虚拟互连网络

1. 概念与必要性

为了让全世界数以百万计的异构网络互连,需要一个统一的逻辑抽象网络,这就是虚拟互连网络
它通过 IP 协议将不同的物理网络封装成一个逻辑上统一的网络体系,所有主机都可以通过虚拟的 IP 网络互相通信。

2. 各网络间的差异

不同网络之间差异巨大,包括:
不同寻址方案
不同最大分组长度
不同的接入机制
不同的差错控制方式
不同的传输方式(面向连接或无连接)
不同的报文格式等

因此,必须引入中间设备进行互连和协议转换。

中间设备的类型与作用

层次设备功能
物理层中继器(Repeater)放大信号,延长传输距离
数据链路层网桥(Bridge)或交换机(Switch)分割广播域,转发帧
网络层路由器(Router)负责不同网络间的数据报转发
网络层以上网关(Gateway)连接不同协议体系的网络

路由器的地位
路由器是实现互联的核心设备,是互联网的节点。它决定数据报的传输路径。

IP 网络的逻辑抽象

由于各种物理网络(以太网、Wi-Fi、卫星网等)差异很大,为实现互通,IP 协议将这些网络统一在一个逻辑层上形成虚拟 IP 网络
也就是说,从上层看来,整个互联网就是一个统一的 IP 网络。

图4-5 显示:
(a) 实际上网络由许多路由器互连;
(b) 从逻辑上看,它们都属于一个虚拟的IP网络。

分组的传输方式

如图4-6所示,主机 H₁ 要向 H₂ 发送 IP 数据报:
若 H₁ 与 H₂ 在同一网络中:直接交付
若 H₁ 与 H₂ 不在同一网络中:间接交付,需经过多个路由器逐跳转发。
每经过一个路由器称为一跳(Hop)
图4-7 展示了这种多跳传输的路径模型。

IP 地址

定义与分配

IP 地址是互联网中每一个接口的唯一标识符。
在 IPv4 中,IP 地址为 32 位二进制数,每个地址分配给主机或路由器的接口。

分配机构:由 ICANN统一管理,区域机构如 APNIC、CNNIC 负责区域分配。

表示方法

采用点分十进制表示法
将 32 位二进制分为4个字节,每字节转为十进制,用“.”隔开,例如:
128.11.3.31

这比直接写二进制形式更易读。

IP 地址的结构

一个 IP 地址由两部分组成:
网络号(Network ID):标识该主机所属的网络
主机号(Host ID):标识该网络中的具体主机

公式:
IP地址::={网络号,主机号}

如图4-9,前 n 位为网络号,后 (32−n) 位为主机号

分类的 IP 地址

在早期互联网中采用分类编址法

地址类别与范围

类别网络号位数主机号位数起始比特用途
A 类8240特大型网络
B 类161610中型网络
C 类248110小型网络
D 类多播地址-1110组播
E 类保留-1111实验用途

见图4-10(a),(b) 显示了比例分布。

各类地址数量与用途

A 类:网络号7位,可分配 2⁷−2=126 个网络,每个网络可有 2²⁴−2≈1677 万主机。
特殊地址:127.x.x.x 保留为环回地址。
B 类:网络号14位,可分配 16384 个网络,每个网络可有 65534 个主机。
C 类:网络号21位,可分配约 209 万个网络,每个网络可有 254 个主机。

特殊保留地址(表4-2)

网络号或主机号全 0:表示本网络
网络号或主机号全 1:表示广播
网络号 127:环回测试

       

分类地址的局限与无分类编址(CIDR)
分类编址的缺陷
传统分类方法网络号固定,导致:
地址浪费:很多单位用不到整个 A 或 B 类地址空间
地址不足:C 类网络太小,大型机构不够用
路由表庞大:每个网络独立记录,增加路由表规模
因此在 1993 年引入无分类域间路由选择(CIDR, Classless Inter-Domain Routing)

无分类编址 CIDR

CIDR 由 RFC 4632 定义,核心思想是:不再使用A/B/C类的固定边界,而用“网络前缀+主机号”灵活划分。

网络前缀

CIDR 用:
IP地址 ::= <网络前缀, 主机号>
并采用斜线记法,表示前缀长度。
例如:128.14.35.7/20

表示前20位为网络前缀,后12位为主机号。

地址块

具有相同网络前缀的连续地址组成一个CIDR地址块

例:128.14.35.7/20
网络前缀(前20位)表示地址块
该块最小地址为 128.14.32.0
最大地址为 128.14.47.255
可用地址数为 2¹²−2 = 4094 个

地址掩码(Address Mask)

计算网络地址,引入子网掩码(Subnet Mask):一串由 1 和 0 组成的32位数,
1 表示网络前缀部分,0 表示主机部分。

例如:/20 → 子网掩码 255.255.240.0

计算方法:
将 IP 地址与子网掩码按位 AND 运算,结果即网络地址。

图4-12 演示:128.14.35.7 AND 255.255.240.0 = 128.14.32.0

常用CIDR掩码长度

CIDR 的优势

地址利用率高:可灵活分配,不浪费。
路由表更小:可将多个网络合并为一个条目(称为路由聚合)
分层结构清晰:方便 ISP、企业层级规划。

例:图4-13

ISP 拥有 206.0.64.0/18 地址块,可分配给大学一个 /22 块,再划分给学院 /24、系 /25、/26。
从结构上实现了高效聚合。

IP 地址的特性

分层与层次性

IP 地址是由网络前缀(网络号)与主机号两部分组成的,具有明显的层次结构。这种结构带来两个直接优势:

(1) 管理方便:
网络层次结构使得 IP 地址可以按网络前缀分配。地址分配时,只需给网络管理员分配一个网络前缀(一级),然后该网络内的单位可自行为其主机(第二级)分配主机号。这大大简化了全球地址管理。

(2) 路由高效:
路由器根据目的地址的网络前缀即可进行转发,而无需考虑主机号,从而减少路由表项目数量,缩短查找时间,提高转发效率。
网络前缀对应的范围(或称地址块)越大,聚合效果越好。

多归属主机

有时,一台主机(或路由器)可能同时连接到多个网络,如图所示:
若一台主机同时连入两个网络,它必须具有两个不同的 IP 地址,对应各自网络的前缀不同。
这种主机称为多归属主机,路由器通常都是多归属设备(因为每个接口连接一个网络,接口数 ≥2)

类比现实生活中,一个建筑物有“北京xx号”和“上海xx号”两种地址,代表它分别位于两个街区的交叉点。

网络的集合特性

从互联网整体来看,一个网络(或子网)实际上是具有相同网络前缀的一组主机集合
路由器在转发时,把这些集合看作单个逻辑网络。即若干局域网互连后仍属于一个 IP 网络,只要它们共享相同网络前缀。

等价地位与统一地址空间

无论局部网络规模多大,所有网络在互联网中都是平等的,都有自己唯一的网络号。
例如图4-14中,LAN₁、LAN₂、LAN₃ 三个局域网经路由器互联形成虚拟网。每个局域网中:

主机和路由器的 IP 地址必须具有相同的网络前缀 
其网络号对应的主机号部分可自由分配 

IP 地址与 MAC 地址

区别与层次关系

MAC 地址(Media Access Control Address):
属于数据链路层使用的物理地址,是网卡固化在硬件中的唯一标识。
常称为硬件地址或物理地址。

IP 地址(Internet Protocol Address):
属于网络层的逻辑地址,由软件分配,可变、可配置。
因此也称为逻辑地址或虚拟地址。

地址的作用层次

数据在传输时,逐层封装:

应用层数据 → TCP/UDP 报文段 → IP 数据报 → MAC 帧 → 物理信号

在每一层:
网络层处理 IP 地址
数据链路层处理 MAC 地址

图4-15 展示:

IP 地址位于网络层首部中,而 MAC 地址位于帧首部中。
当主机发送 IP 数据报时,它被封装在 MAC 帧的数据部分中。

层间交互与传输机制

在发送端:
IP 层将数据报交给链路层;链路层需根据目的 IP 地址确定对应的 MAC 地址,再封装成帧后发送

在中间路由器:
路由器接收到帧后,剥去原 MAC 帧首部,根据 IP 地址进行转发,再重新封装新的 MAC 帧发送。
因此 MAC 地址在每一跳都会变化,但 IP 地址始终不变。

地址在多跳传输中的表现(图4-16)

(a) 网络配置层次:

主机 H₁ → 路由器 R₁ → R₂ → 主机 H₂
每个节点既有 IP 地址又有 MAC 地址。

(b) 传输过程层次:

IP 层上:数据报始终显示源IP=H₁,目的IP=H₂
MAC 层上:每一跳的源/目的 MAC 地址不断更新。

表4-4 明确列出了:

IP 与 MAC 的关系

IP 地址:标识逻辑位置(网络层抽象)
MAC 地址:标识物理接口(链路层具体)
IP 负责跨网络通信;MAC 负责局域传输
IP 是全球逻辑标识,MAC 是局部物理标识

地址解析协议 ARP(Address Resolution Protocol)

协议功能

ARP 用于根据 IP 地址获取对应的 MAC 地址,解决逻辑地址到物理地址的映射问题。
工作层次:在网络层与数据链路层之间

图4-17 显示:
IP 模块向下发送数据报时,会调用 ARP 模块以获取目标 MAC 地址,并在帧首部填入。

ARP 的工作机制

1.每台主机维护一个 ARP 高速缓存(ARP Cache),存放最近通信过的 IP–MAC 映射。
若缓存中无目标地址,则需通过 ARP 请求。

2. ARP 请求分组:
由源主机广播发送
含有我是谁(源IP, 源MAC)和我要找谁(目标IP)
局域网内所有主机都能接收

3. 匹配主机的 ARP 响应:目标主机收到请求后,若 IP 地址匹配,立即单播回应,告诉请求方自己的 MAC 地址

4. 源主机更新缓存后,即可封装 MAC 帧,完成后续通信

图4-18(a)(b) 展示了 ARP 请求与响应的完整流程

典型工作场景(图4-19)

1. 主机 → 主机(同一局域网)
2. 主机 → 路由器(跨网通信时)
3. 路由器 → 主机(转发目标网络)
4. 路由器 → 路由器(网络互连中间跳)

在每种情况下,发送方必须先解析出下一跳的 MAC 地址,才能发送。

ARP 缓存的优化机制

每个缓存项有生存时间(10–20分钟)
超时未用则自动删除
每次通信更新缓存
这样可减少广播,提高效率

相关旧协议:RARP(Reverse ARP)

RARP 用于从 MAC 地址反查 IP 地址,已被 DHCP(动态主机配置协议)取代。

IP 数据报格式

总体结构

如图4-20所示:IP 数据报 = 首部(Header) + 数据部分(Data)

首部又分为固定部分(20字节)与可变部分(选项字段)

首部固定字段说明

字段位数说明
版本4当前为 IPv4(值为4)
首部长度4表示首部占用的 32位字数(最少5即20字节)
区分服务(DS)8表示服务优先级,用于 QoS(以前称TOS)
总长度16报文总长(首部+数据),最大65535字节
标识(Identification)16报文编号,用于分片重组
标志(Flag)3控制分片,DF=禁止分片,MF=更多分片
片偏移(Fragment Offset)13分片在原报文中的位置
生存时间(TTL)8跳数限制,经过一个路由器减1
协议号(Protocol)8指示上层协议(如6→TCP,17→UDP,1→ICMP)
首部校验和16对首部计算校验值(接收端校验一致性)
源地址32发送方 IP 地址
目的地址32接收方 IP 地址

“最少5”指的是首部长度字段的值最小是5,而这个 5 代表 5个32位的字,换算成字节就是 5 × 4字节 = 20字节

数据报分片机制

若数据报长度超过链路层 MTU(Maximum Transmission Unit),则必须进行分片:
1. 每个分片都有独立的首部
2. 使用相同标识字段
3. 片偏移按 8 字节倍数记录
4. 接收方根据标识与偏移重组原始数据

第一轮分片

1. 原始数据包
总数据长度:3800字节(图中字节0到3799)
路径上有一个网络的MTU是1420字节(其中IP首部占20字节,所以数据部分最多1400字节)

2. 分片结果

数据报片1:携带第0-1399字节的数据。它的“片偏移”是 0(因为从第0字节开始)
数据报片2:携带第1400-2799字节的数据。它的“片偏移”是 175
(因为 1400 / 8 = 175。偏移量的单位是8字节)
数据报片3:携带第2800-3799字节的数据。它的“片偏移”是 350(因为 2800 / 8 = 350)

3. 关键字段如何变化
标识:所有碎片都是同一个号(如12345),这样接收方就知道这些碎片是属于同一个原包的。
MF(More Fragments):对于不是最后一片的碎片(片1和片2),MF=1,意思是后面还有碎片对于最后一片的碎片(片3),MF=0,意思是这是最后一片了
片偏移:指明这个碎片的数据在原包中的起始位置(以8字节为单位)

计算偏移量时,忽略每个分片自身的IP首部。我们站在原始数据报的视角,只关心数据块在原始数据部分的起始位置

嵌套分片(第二轮分片)
图片最后描述了一个更复杂的情况:碎片本身还可以再次被分片。
数据报片2(携带1400字节数据)在传输中又遇到一个更小的MTU网络,需要再次分片。

分片结果:
数据报片2-1:携带片2的前800字节数据。它的片偏移和片2一样,是 175。MF=1(因为后面还有片2-2)
数据报片2-2:携带片2的后600字节数据。它的片偏移是 175 + (800/8) = 175 + 100 = 275。MF=1(因为它不是整个原包的最后一片,原包的最后一片是片3)

TTL 与路由跳数

TTL(Time To Live)用于防止分组在网络中无限循环。
初值常为64或128,每经一跳减1;减为0即丢弃,发送ICMP超时报文。

首部校验和

对首部的16位字计算反码和,接收端验证一致性
若出错则丢弃并通知发送方(图4-22)

可变部分

提供额外控制与调试功能,如:
记录路由(Record Route)
时间戳(Timestamp)
安全标识(Security)
该部分长度可变,但 IPv6 已简化此机制

http://www.dtcms.com/a/528973.html

相关文章:

  • 凡科免费建站平台渭南定制网站建设公司
  • 哪款纳米研磨机能将药物颗粒做到≤100nm?需要多少小时?
  • 《C语言疑难点 --- 字符函数和字符串函数专题(上)》
  • 株洲网站建设联系方式知名的家居行业网站开发
  • 华为堡垒机
  • Wordpress做什么网站赚钱外贸英文网站建设
  • MyBatis注解与XML使用对比
  • Connector
  • 招标网免费查看什么是优化师
  • 商城网站开发哪家好室内装饰设计费收费标准
  • 自动驾驶中的传感器技术70——Navigation(7)
  • 个人接装修活怎样给网站做seo优化
  • php做购物网站wordpress 3.4.2
  • 阮一峰《TypeScript 教程》学习笔记——namespace
  • WEB前端技术基础(第三章:css-网页美化的衣装-上)
  • 大学生网站开发项目计划书范文南宁营销型网站设计
  • C++ 游戏开发示例:简单的贪吃蛇游戏
  • 东莞小学网站建设培训学校网站建设要点
  • 网络安全编程——TCP客户端以及服务端Python实现
  • 基于多尺度特征融合的自注意力度量学习的小样本故障诊断
  • UVa 1227 The Longest Constant Gene
  • datasophon1.2.1 二开
  • 建大网站首页华为商城网站建设
  • 运放的虚短和虚断
  • 建设网站公司兴田德润在哪里谷歌seo外链
  • 是“浴盆曲线”失灵,还是HDD变好了?
  • Tuesday JS,一款可视化小说编辑器
  • 景区旅游网站平台建设方案销售案例网站
  • 【小白笔记】input() 和 print() 这两个函数
  • 营销型网站哪家做的好东莞app