计算机网络下一跳IP,计算机网络之IP地址
IP地址的分类
整个的因特网就是一个单一的、抽象的网络。IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符。
所谓分类的IP地址,就是将IP地址划分为若干固定类,每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,一个网络号在整个因特网范围内必须是唯一的。而另一个字段则是主机号 host-id,它标志该主机(或路由器),一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个IP地址在整个因特网范围内是唯一的。
由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号。
路由器只根据目的站的IP 地址的网络号进行路由选择。
两级的 IP 地址可以记为:
IP 地址 ::= { , }
上图中的A类、B类、C类地址都是单播地址(一对一通信),是最常用的。
网络号字段的最前面有1-4位的类别位,A类、B类、C类地址的类别位分别为0、10、110。
为了提高可读性,我们常常把32位的IP地址中的每8位用其等效的十进制数字表示。
A类地址的网络号字段占一个字节,只有7位可供使用(第一位已固定为0),但是可指派的网络号是126个(27-2),减2的原因:第一,IP地址中全为0的地址是个保留地址,表示“本网络”;第二,网络号为127(01111111)保留作为本地软件环回测试本主机的进程间的通信。
A类地址的主机号占3字节,因此每一个A类网络中的最大主机数是224-2。减2的原因:第一,全为0的主机号字段表示该IP地址是本主机所连接到的单个网络地址,第二,全为1的主机号字段表示该网络上的所有主机。
B类地址的网络号字段有2字节,但是前两位已经固定为10,只剩下14位可以进行分配,因为前面两位是10,不会出现全为0或全为1的网络号,但实际上,B类网络地址128.0.0.0是不指派的。所以最大网络数为214-1。最大主机数为216-2。
C类地址有3字节的网络号字段,前三位固定位110,还有21位可以进行分配。但实际上192.0.0.0是不指派的,因此C类地址可指派的网络总数为221-1,最大主机数为28-2。
IP地址与硬件地址
硬件地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
发送数据时,数据从高层下到地层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成了MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在MAC帧的首部。
连接在通信链路上的设备在接受MAC帧时,其根据是MAC帧首部中的硬件地址。在数据链路层看不见隐藏在MAC帧的数据中的IP地址。只有在剥去了MAC帧的首部和尾部后把MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
划分子网
一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。划分子网纯属一个单位内部的事情。单位对外仍然表现为一个网络。
划分子网的方法是从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机好。
IP地址 ::= {, , }
凡是从其他网络发送给本单位某个主机的 IP数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。最后就将 IP 数据报直接交付目的主机。
下面通过一个例子来展示划分子网的方法与效果。
下图表示某单位拥有一个B类IP地址,网络地址是145.13.0.0(网络号是145.13)。
现把上图中的网络划分为三个子网,这里假定子网号占用8位,因此主机号只剩8位。所划分的子网分别是:145.13.3.0、145.13.7.0、145.13.21.0。
划分子网后,整个网络对外仍表现为一个网络,其网络地址仍为145.13.0.0,但是路由器R1在收到外来的数据报后,再根据数据报的目的地址把它转发到相应的子网。
假定有一个数据报的目的地址是145.13.3.10已经到达路由器R1,那么这个路由器如何把它转发到子网145.13.3.0呢?这就需要借助子网掩码(subnetmask)来实现了。
路由器会把子网掩码和收到的数据报地址的目的IP地址145.13.3.10进行按位“与”操作,得出所要找的子网的网络地址。
子网掩码与IP地址进行“与”操作之后,就将主机号“过滤”掉了,只剩下了网络号与子网号。
实际上,因特网的标准规定:所有网络必须使用子网掩码。即便一个网络没有划分子网,也要使用默认子网掩码。默认子网掩码中1的位置和IP地址中的网络号字段正好相对应,因此,两者进行“与”操作后,就能得出该IP地址的网络地址。A类、B类、C类地址的默认子网掩码是固定的:
例,已知 IP 地址是141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。
应当注意,划分子网后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。
在划分子网的情况下路由器转发分组的算法:
(1) 从收到的分组的首部提取目的IP 地址 D。
(2) 先用各网络的子网掩码和 D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
(4) 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。
计算机网络下一跳IP,计算机网络之IP地址相关推荐
- 计算机网络下一跳地址,计算机网络基础课程—IP路由
一.IP路由 ·发送端的处理过程: · ·当主机A要和主机B进行通信时,首先判断主机B是否和它位于同一子网. ·方法:把两个主机的IP地址分别与它(主机A)的子网掩码进行"位与"操 ...
- Linux下ip route、ip rule、iptables的关系(转
http://www.cnblogs.com/sammyliu/p/4713562.html(本文内容转自此篇博客) Linux下ip route.ip rule.iptables的关系(转) 1.基 ...
- 【计算机网络】计算机三级计算机网络笔记记录
下列关于RPR技术的描述中,错误的是() A.RPR与FDDI一样使用双环结构 B.在RPR环中,源节点向目的节点成功发出的数据帧要由目的节点从环中收回 C.RPR环中每一个节点都执行MPLS公平算法 ...
- IP数据包经由路由转发的时候,源ip和目的IP是否改变
IP数据包经由路由转发的时候源IP,目的ip是否改变? 这是个搞网络的基础问题,答案是不能改变的,除非做了nat转换才能改变.否则,数据包在整个传输过程中,源IP和目的IP不会发生改变. 不过MAC地 ...
- ip数据包经由路由转发的时候源ip,目的ip是否改变
ip数据包经由路由转发的时候源ip,目的ip是否改变? 最近面试网络方面的经常问到这个问题,答案是不能改变的,*除非做了nat转换才能改变. 不过mac地址是变化的,因为发送端开始不知道目的主机的ma ...
- 计算机网络网际协议实验报告,计算机网络课程网际协议IP地址实验报告.doc
重庆师范大学 课程名称:计算机网络 实验题目:网际协议IP 姓 名: 专 业: 学 院: 指导老师: 时 实验三 网际协议IP 实验目的: 掌握IP数据报的报文格式 掌握IP检验和计算方法 掌握子网掩 ...
- 路由器下一跳地址怎么判断_计算机考研复试面试常问问题 计算机网络篇(下)...
计算机考研复试面试常问问题 计算机网络篇(下) 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更 ...
- 计算机网络之——非常恶心但友善ip地址、子网掩码、网络地址、构造超网、最小地址和最大地址(理解篇)
前段时间在写python游戏有段时间没有更了,这就来报道~~ 在刚学习计算机网络的朋友,应该对ip地址和子网掩码会有困惑,感觉这两个东西就两个字--恶心 这就为大家理解一下 ip地址我相信大家其实都大 ...
- 配置静态路由下一跳为本地出战接口和IP地址的区别
配置静态路由下一跳为本地出战接口和IP地址的区别 在配置静态路由时,下一跳可以使用下一路由器的IP地址,也可以使用本路由器的出站接口.在点对点的网络中,两者可能没有什么差别,但在以太网中或者NBMA网 ...
- 【计算机网络】IP协议、IP地址、网段划分、子网划分、子网掩码、CIDR
文章目录 前言 1. IP地址 1.1 网络号和主机号 1.1.1 如何区分网络号和主机号? 1.1.2 网络号有什么用? 1.1.3 未使用子网时的分组的转发(数据发送) 2. IP地址分类 3. ...
最新文章
- WebSocket 学习
- angularjs与server交互
- Scala中的Map使用例子
- android 练习之路 (三)
- static关键字-1
- 中判断字符串是否为空_自己动手编写VBA代码,判断一个工作表是否为空,然后删除它...
- iOS笔记(一)GCD多线程:信号量和条件锁
- windows 和 linux服务器环境下j2sdk 的安装和环境设置
- Httpx:针对HTTP的安全研究工具
- 遇到不适当的参数_高清兽用B超机参数调整——“增益”
- 山东大学软件学院2021算法导论期末试题
- android往mac投屏,安卓手机怎么投屏到Mac系统中?
- java font 字体大小_Java字体大小从宽度
- TypeError: list indices must be integers or slices, not float
- 如何判断channel是否已经关闭
- 陈世涛:鼠标滚轮引起的画面上下跳动问题处理 跳行怎么办?
- unrecognized selector sent to instance 0x7fbb51c7c490问题解决方法之一
- android 函数式编程,思想交融,Android中的函数式编程(2):什么是函数式编程...
- 10个提升PPT幻灯片制作效率的方法
- 北京公交计次IC卡利弊分析
热门文章
- Java仓储物流项目_基于jsp的物流仓库管理系统-JavaEE实现物流仓库管理系统 - java项目源码...
- Selenium 2自动化测试实战5(模块调用)
- Linux进程、线程、任务调度(1)贵在坚持
- 搭建elasticsearch可视化插件
- Spring 之bean的注入
- [BZOJ1528][POI2005]sam-Toy Cars(贪心)
- Openvswitch手册(7): Interfaces
- 遇到的JAVA笔试题
- HOWTO: 如何在InstallShield的MSI工程中调用Merge Module的Custom Action
- 给FCKeditor添加自定义按钮的方法