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

计算机网络——网络层-IP地址

一、IP 地址及其表示方法

 • 我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。
• IP 地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and
Numbers)进行分配
• 分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
• 子网的划分。这是对最基本的编址方法的改进,其标准在 1985 年通过。
• 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。

二、分类IP地址

• 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路
由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
• 两级的 IP 地址可以记为:
IP 地址 ::= { <网络号>, <主机号>}

三、点分十进制记法

IP 地址中的网络号字段和主机号字段

  

一般不适用的特殊 IP 地址
• 主机号全为0或网络号全为0的IP地址不可用作为目的地址
• 主机号全为1的IP地址不可作为源地址
• 32位全为1的IP地址(即255.255.255.255)属于E类地址,也称为受限广播地址,由于路由器对
广播域的隔离,它实际上相当于本网络的广播地址。

 

常用的三种类别的 IP 地址

 

IP地址的一些重要特点: 

(1) IP 地址是一种分等级的地址结构。
(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
(3) 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个
网络),因此一个路由器至少应当有两个不同的 IP 地址。
(4) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号
net-id。
(5) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,
都是平等的。

互联网中的 IP 地址


 

 

从网络层看 IP 数据报的传送

• 如果我们只从网络层考虑问题,那么 IP 数据报就可以想象是在网络层中传送。

IP 层转发分组

 


只要目的网络不是 N1 和 N2,就一律选择默认路由,把数据报先间接交付路由器 R1,让 R1 再转发给下一个路由器 。

IP 层转发分组

根据目的网络地址就能确定下一跳路由器,这样做的结果是:
• IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
• 只有到达最后一个路由器时,才试图向目的主机进行直接交付。
• 这种路由是为特定的目的主机指明一个路由。
• 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
• 路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。
• 需要强调的是,路由表并没有给分组指明到某个网络的完整路径(即先经过哪个路由器,然后再经过哪一个路由器,等等)。路由表指出,到某个网络应当先到某个路由器(即下一条路由器),在到达下一跳路由器后,再继续查找其路由器,知道再下一跳应当到哪一个路由器。这样一步一步地查找下去,直到最后到达目的网络。

IP层转发分组的流程
1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N;
2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行3);
3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行4);
4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行5);
5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行6);
6)报告转发分组出错。

注意: 

• IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。
• 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层
的网络接口软件。
• 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在
链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。


http://www.kler.cn/a/500482.html

相关文章:

  • HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现
  • 计算机网络期末复习(知识点)
  • imageio 图片转mp4 保存mp4
  • 初学stm32 --- ADC模拟/数字转换器工作原理
  • ubuntu设置开机无需输入密码自启动todesk,内网穿透natapp
  • 【芯片封测学习专栏 -- 什么是 Chiplet 技术】
  • 数据结构与算--堆实现线段树
  • 专题 - STM32
  • AI在零售行业中的应用:提升顾客体验与运营效率
  • FastApi Swagger 序列化问题
  • Github 2025-01-12 php开源项目日报 Top10
  • C#用直线和曲线抗锯齿
  • GraphQL:强大的API查询语言
  • iOS 逆向学习 - iOS Application Publishing:应用发布
  • Linux下ext2文件系统
  • Kotlin 协程基础九 —— SharedFlow 与 StateFlow
  • 【复习小结】14-21
  • ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技
  • 鸿蒙面试 2025-01-11
  • 一个基于Spring Boot的智慧养老平台
  • Python 正则表达式完全指南
  • Spring Boot项目中如何使用日志记录
  • Mac——Docker desktop安装与使用教程