教程1:IP地址和路由基本概念

0.说明

        在学习下面的内容之前,应该对TCP/IP有一个最基本的认识,这个我们在前面也已经多次提到过,其实在不涉及网络数据的结构分析上,我们只需要在心里对TCP/IP有如下一个概念即可:

TCP/IP层次 重点
应用层 各种应用,如Web应用、QQ等
传输层
两种连接协议:TCP、UDP

传输层端口号

网络层 IP地址(用于寻找不同的网络)
数据链路层 MAC地址(用于局域网中寻找不同的主机)
物理层 二进制数据串

        这个表格的内容很重要,可以说,对于TCP/IP协议栈,是非常基础的,因此务必要记住。


1.回顾与引言:为什么需要IP地址

        我们在前面说过,路由器它是一个三层的网络设备(交换机是二层网络设备,转发器是物理层网络设备),通过路由器,我们可以把不同的网络(局域网)连接起来,而这些不同的局域网,可能有以太网、令牌环网等,如下:

(需要注意的是,实际上令牌环网的结构肯定不是像右边这样的,这里只是为了方便画图)

        就像上面图所示,正是借助于路由器,我们才能够将两个不同的局域网络连接起来,而所谓的不同的局域网络,指的是,这两个局域网络上的主机配置的IP地址的网络号是不一样的,关于这个概念,我们下面会慢慢提到,现在先有个认识就可以了。

        但是,到了21世纪的今天,令牌环网早已经被淘汰,如今我们可以看到的绝大多数局域网的类型都是以太网,所以,在没有特别说明的情况下,以后我们提到“局域网”这个名词时,指的都是“以太网”,所以,上面的图可以更改为如下:

        

        但是现在的一个疑问就是,既然都是以太网,那又为什么说这两个局域网是不同的局域网的呢?这到底哪里不同呢?这其实在上面已经有简单的提过,也就是这两个局域网络上的主机配置的IP地址的网络号是不一样的(现在不理解这句话也没有关系,因为还没有真正开始讲IP地址)。可以这么理解:有两个人,他们都是人,但是他们的身份标识不一样,所以我们说这是两个不同的人,但本质上他们都是人;同样的道理,所谓两个不同局域网,他们本质上都是局域网,只是这两个局域网的身份标识不一样而已。

        对于人,我们可以用姓名、身份证号等来作为身份标识,那么对于局域网,又该以什么来作为身份标识呢?

        OK!也许你已经猜到了,就是IP地址!IP地址的其中一个重要功能就是可以区分不同的局域网,当然,它还有另外一个功能,那就是可以区分同一个局域网中的不同主机(亲,一个局域网可以有很多主机的啊,当然要加以区分了)。


2.IP地址

(1)IP地址与点分十进制记法

        计算机所能识别的都是二进制数,所以实际上的IP地址都是32位的二进制数,只不过是为了我们人看起来比较容易区分,我们就把它写成十进制的形式,这种方法我们称之为点分十进制,如下:

        应该非常好理解了,其实这一点懂不懂,就是考察你二进制到底有没有学好。OK,如果觉得可以理解的话,请尝试做下面的几个转换:

二进制IP地址 点分十进制记法
11000000|10100011|00000001|00000001
10.10.120.16
01111111|00000000|00000000|00000001

        用点分十进制的方法来表示IP地址是非常重要的一个知识点,务必掌握好,尤其是其中的转换关系,其实只要把二进制和十进制的转换关系弄清楚了,相信也不难。

(2)IP地址网络号与主机号

        我们前面已经提到,IP地址可以用来标识不同的局域网,其实这是利用了IP地址中网络号的功能,而要标识局域网中的不同主机,我们需要使用IP地址的主机号来进行标识,那么也就是说,一个IP地址由两部分组成:网络号和主机号。我们下面就举例来说明。

        一个IP地址,比如192.168.1.1/24,实际上它包含了两个方面的含义,一个是它代表了这个IP地址处在哪个局域网中,而另一个是它代表了这个局域网中的哪个主机。在这里,分析如下:


    可以看到上面的IP地址后面还有一个/24,这是什么意思呢?这是表示192.168.1.1这个IP地址的前24位表示的是网络号,在这里就是192.168.1,192.168.1(11000000|10101000|0000001)这24位就代表了一个局域网络,而最后的8位(00000001)就代表一台主机,通过这两种方式的结合,我们就可以用一个IP地址来唯一标识一个局域网络中的一台主机,所以在不考虑其它通信技术的前提下(如NAT技术等,后面会有课程介绍),互联网上所有主机的IP地址一定是唯一的。

    继续来作一下拓展,对于192.168.1.1/24这个IP地址,还可以写成这样的形式:192.168.1.1 255.255.255.0。这样一表示的话,我们可以把255.255.255.0称为掩码,它就是用来限定一个IP地址的网络号到底是前面哪几位。这样来说,255.255.255.0其实也是用点分十进制的方法来表示的,如果把它表示把二进制的话,那就是11111111.11111111.11111111.000000000,如果位是1,就表示所对应的IP地址的那些位就表示网络号,比如这里,255.255.255.0的前24位都是1,所以192.168.1.1这个IP地址的前24位就是用来表示网络号,而剩下的8位就用来表示主机号。

    所以往后当我们看到两个IP地址时,如果没有给出掩码,我们是没有办法判断它们是否同属于一个局域网的,比如192.168.1.1和192.0.1.1,就这样给出两个IP地址,没有什么作用,因为根本就没有给出掩码!

    关于网络号和主机号,是非常重要的概念,下面再来总结一下:

  • 网络号:用来区分不同的局域网,可以用来判断不同的主机是否同属于一个网络
  • 主机号:用来区分同一局域网上的不同主机

(3)网络地址和广播地址

  • 网络地址

        前面我们用192.168.1.1/24这个IP地址来给出网络号和主机号的概念,再次强调,它代表了两种不同的含义(这里要提问,其实答案上面已经有)。其实对于网络号192.168.1,这样看起来似乎不太好看,所以习惯性的,我们会把网络号后面的位数全部补0,然后再用来表示一个网络,比如192.168.1,二进制就是11000000|10100011|00000001,为了跟32位的IP地址表示方法相一致,我们会习惯性地把后面的八位补0,也就是变成11000000|10100011|00000001|00000000,用点分十进制表示就是192.168.1.0,但正常情况下,我们还需要再加上一个掩码,即192.168.1.0/24,OK,我们现在就是用这样的方式来表示一个网络,是的,再强调一遍,192.168.1.0/24就表示一个网络,我们就把这个地址称为网络地址。


提示:

         网络地址=网络号+后面补0+掩码

        如果这时我再给出一个网络地址192.168.2.0/24,我们要判断192.168.1.0/24和192.168.2.0/24是不是同一个网络,只需要比较它们的前24位即可,显然它们代表了两个不同的网络。很明显,用网络地址的方式就可以非常清晰地描述一个网络。


提示1:

       网络地址是一种特殊的IP地址,它表示的不是一个主机,而是一个网络,所以在局域网中,网络地址是不允许分配给一台主机的。我们可以做一个简单的实验。

  • 课堂实验:尝试给一台主机或一个配置一个网络地址

1

2

3

4

5

6

Router>en

Router#conf t

Router(config)#int f0/0

Router(config-if)#no shu

Router(config-if)#ip add 192.168.1.0 255.255.255.0

Bad mask /24 for address 192.168.1.0

核心提示2:

       这里需要强调的是,其实我们在给一个主机或一台设备配置IP地址的时候,其实确切地说,是给这台主机或这台设备的网络接口,也就是网卡接口(专业名词:网络适配器)配置一个IP地址,因此,在以后我们提到要给一台设备配置一个IP地址时,指的是给这台设备的接口配置一个IP地址,这点尤其注意。

       另外,我们常用专业名词“网络节点”来描述一台网络设备,其实这个节点指的仅仅是这台设备的一个接口而已。(你可以看到,我们给路由器的不同接口配置了不同的IP地址)

  • 广播地址

  a.广播

        以太网的发展有其丰富的历史背景,“广播”一词从以太网诞生之初就注定要跟随以太网一生,即便是到了以太网飞速发展的今天(速度已经上千兆、上万兆),但广播依然存在于以太网中。很显然,广播普遍存在于我们目前的局域网中(因为现在的局域网几乎都是以太网),那么,所谓的广播是什么呢?

        小学初中高中的时候,学校发放通知会通过广播(其实就是一个大喇叭,然后再有一个大大的扬声器)的形式发放,这样的话,全校的师生都可以听到广播的消息(其实这也是数据通信方式的一种方式,只不过传递信息是以声波的形式进行的)。

        那么以太网有没有类似这样的情况呢?就是在一台主机上发送数据,局域网中的所有主机都可以收到这个数据。如下:

        其实只要发送一个广播包,局域网中的所有主机都可以收到这个数据。那么广播包又是怎么定义的呢?


提示:广播包

        所谓的广播包,其实就是目的IP地址为广播地址的数据包(很好理解嘛,广播包,就是目的地址为广播地址的数据包)。

        关于数据包中目的地址的知识,可以复习以往讲过的数据封装和解封装的知识。

b.广播地址

        好了,现在来说一下什么是广播地址。前面我们提到192.168.1.0/24这个网络地址,广播地址,只要把网络号后面的0全部都变为1即可,也就是192.168.1.255/24,这个地址就是192.168.1.0/24这个网络中的广播地址。很显然,一个局域网中有且仅有一个广播地址。在192.168.1.0/24这个局域网中,只要我们把数据发送给192.168.1.255/24这个IP地址,那么本局域中的所有主机都会收到这个数据。


实验:

  • 演示广播包的发送

     要求大家也要亲自演示一遍。

(4)分类的IP地址

        IP地址习惯上可以分为下面几类:

        我们只需要记住A类、B类、C类即可,即这些IP地址的掩码分别为255.0.0.0、255.255.0.0和255.255.255.0。

(5)VLSM(变长子网划分)

        所谓VLSM,就是子网划分,没必要弄得太高深,那么什么子网划分?

        任务1:假定给你一个网段192.168.1.0/24(注意,我们使用了网段这个词,这也是没有问题的),要你架设一个局域网,问你可以在你的局域网放置多少台主机?OK,非常好办,方案如下:


192.168.1.0/24这个局域网,除了192.168.1.0/24(网络地址)和192.168.1.255(广播地址)这两个地址不可以用外,其余都可以用,那么也就可以把2^8-2=254个IP地址分配给主机,也就是说,这个局域网中可以有254台主机。IP地址范围如下:

  • 192.168.1.1~192.168.1.254

        任务2:假定给你一个网段192.168.1.0/24,要你架设两个局域网,问你可以在你的局域网放置多少台主机?


提示:网络位向主机位借位

这下有点meng了吧!怎么架设呢?哈哈,其实这时候我们只需要增加一位网络号即可,即原来是24位,现在变成25位,那么就相当于现在我把一个大的网段192.168.1.0/24分成了两个较小的网段192.168.1.0/25和192.168.1.128/25这两个较小的网段。每一个网段就可以构建一个局域网,而每一个局域网同时拥有自己的网络地址和广播地址。

        因此,对于任务2,我们把192.168.1.0/24分成192.168.1.0/24和192.168.1.128/25这两个网段,IP地址的分配方案如下:

网段 网络地址 广播地址 IP总数 可用IP地址范围 可用IP地址数
192.168.1.0/25 192.168.1.0 192.168.1.127 2^7=128
192.168.1.1

~

192.168.1.126

2^7-2=126
192.168.1.128/25 192.168.1.128 192.168.1.255 2^7=128
192.168.1.129

~

192.168.254

2^7-2=126

        上面这些内容非常重要,务必要掌握!其实如果看一些书籍的话,可能还会有更种各样的公式和各种各样的所谓技巧,其实说实在的,你只要把这些原理理解了,实在是没有必要是刻意记住这些公式和技巧,随着技术的慢慢积累,你会发现你自然而然地就在用这些技巧,但是你从来没有去刻意记过。(PS:希望大家可以慢慢达到这种水平)

        其实我本人觉得,是否对计算机网络中的局域网(或者就说网络)有一个较为深刻的理解,就看你会不会划分子网,如果会了,那么我相信你对局域网的理解会有一个很大的提升,不需要怀疑太多,接触的知识越多,你会发现如果你不懂子网划分,你会发现什么也做不了。

  • 实验:把192.168.1.0/24划分为两个子网,并使用PT搭建一个网络拓扑,完成相关配置

(5)CIDR

        VLSM是网络号向主机号借位,而CIDR是主机号向网络号借位,前者可以形成各多的子网(局域网),但同时,每个子网中的主机数据必然会减少;而后者则恰恰相反,即通过减少子网的数目来让一个局域网拥有更多的主机。

        关于CIDR,不作要求,有兴趣可以自己查阅书籍或向我了解。

        IP地址的内容到这里就算结束了,当然实际上IP地址的知识还有很多很多,但其实作为入门,可以理解这些内容就非常不错了。(PS:博主本人之前加了很多H3C的网络工程师群,通过交流发现,很多正在工作中的所谓工程师,连最基本的子网划分都不会!当需要划分子网时,他们竟然要使用软件!!!不可思议吧?)


3.基本路由概念

        在同一个局域网进行数据通信,交换机只会把数据解封装到第二层,即数据链路层,然后查看其中的目的MAC地址,并从相应的接口发送出去。

        而在两个不同的局域网中,如果局域网1中的主机A要想把数据发送到局域网2中的主机B,那么这个数据必须要通过路由器(当然三层或多层交换机也可以,但是先不要考虑这种情况),因为我们说,路由器是用来连接不同的局域网的(一个接口连接一个局域网,不同的接口连接不同的局域网)。那么路由器怎么就知道要把数据从哪里发送出去呢?也许我们都会想当然地以为,路由器它这么聪明,它自己会选择呀!亲,路由器的确是很聪明,但是,如果我们不告诉它数据应该往哪里发送,它是不知道下一步要做什么的。

        路由器把一个网络中的数据交给另一个网络,这一个过程,我们就称之为路由,注意这里的“路由”是动词,而不是平常所说的那种所谓的家用小型路由器。

        关于路由的概念,会在课堂上通过实验来进行说明。

  • 实验:通过搭建一个简单的网络环境来理解网络通信中的路由

4.下一步要做什么

        通过对IP地址的学习,下一步我们就需要了解数据在不同的网络中到底是如何转发的,也就是说路由器到底是怎么帮我们选路的(即路由),这也就是我们要讨论的内容。

        后面的课程,我们将会以各种各样的实验来较为深入地学习下面的这些技术:

  • 静态路由技术
  • 动态路由技术
  • RIP协议、RIPv2协议、OSPF路由协议

        敬请关注!

时间: 2024-09-20 16:44:23

教程1:IP地址和路由基本概念的相关文章

Linux技术:用IP地址的用途理解Loopback接口

1.问题 IP地址到底是属于主机的还是属于网卡的?这个问题有点太学院派了,现实中,只要懂得IP地址的概念以及IP路由,基本上没有问题.IP作为一个网络层协议,它更多的意义在于寻址而不是标识主机,因此你可以认为IP是属于网卡的. 然而不同的人对于IP地址有不同的看法,程序员看来,IP地址是属于主机的,因为他们总是用一个套接字来表示一个服务,套接字中的IP地址表示一台主机,协议和端口号表示了该主机上的一个特定进程:对于网络工程师而言,他们会认为IP地址是属于一个网段的,也就是编写于网卡上的,如果一台

【Linux网络编程】IP地址介绍

什么是 IP 地址 IP 地址(Internet Protocol Address)也称为网间地址.网际地址.IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异. IP 地址是 TCP/IP 协议栈 里的网络层地址方案,IP地址是一种用来对网络设备的逻辑标识. 举个生活中的例子,如果我要寄

java-怎么校验ip地址是否属于某ip段范围里??

问题描述 怎么校验ip地址是否属于某ip段范围里?? 如图,"配置ip信息"那个框框里,要先配置好起始ip段和结束ip段,然后在新增设备哪里,要输入设备的ip地址 现在就困在一个验证问题,1,要验证配置的ip段是否属于同一个网段,图上那个肯定配错的,2,输入的ip地址是否输入配置的ip段的范围里 问题是没想好怎么验证能符合上面那两点 求大神指教....还有,这种情况,一半需要验证ip和掩码和网关之间的正确性么??? 解决方案 判断是否是同一个网段是根据子网掩码与运算得出的 解决方案二:

50点的小型网络 IP地址规划实例

某科技公司成立,成立之初,这个公司只有数十人,每个人根据工作需要,都配备有电脑终端,有一台公用的服务器负责文件存储和打印机共享,这些设备要实现联网.另外,公司由于业务的需要,在内部联网之后要建立和Internet的连接.要实现并配置这家公司的基本要求,在IP管理中需要包含如下范畴:◆ 选择一个适合几十个网络终 端的IP地址分配范围.◆ 自动分配内部每台终端的IP地址.◆ Internet连接后要保证每台计算机都能够上网,并不需要Internet上的其他用户能够直接访问到内部网络.◆所有客户端要进

企业在云迁移过程中需解决常见的IP地址问题

在企业将应用和数据在迁移到云端期间,许多组织忽视了围绕IP地址的潜在障碍.因此,企业需要了解云计算提供商如何管理IP地址分配.而在从本地数据中心迁移到公共云的工作负载迁移过程中,企业经常忽略IP地址问题. 用户的云计算提供商和云实例的活动通常受到IP地址范围和可用性的限制,因此用户的工作负载在公共云中使用的地址通常与其在场景中使用的地址(通常是动态的)不同. 例如,当用户将内部服务(如Web服务器)迁移到公共云(如Amazon Web Services)时,最好希望其内部服务的IP地址随迁移和公

云迁移:克服常见IP地址问题

在迁移到云端期间,许多组织都忽略了围绕IP地址的潜在障碍.开始云迁移,要了解云提供商如何管理地址分配. 在工作负载从本地数据中心迁移到公有云期间,企业常常忽略IP地址问题. 你的云提供商和你的云实例活动通常限制了IP地址的范围和可用性,因此公有云中工作负载所使用的地址通常都与你本地使用的不同--通常是动态的. 例如,当你迁移内部服务,如网络服务器到像AWS公有云时,理想情况下,你希望内部服务的IP地址可以随着迁移而移动,同时对于那个公有云实例可以应用这一地址.但这通常不可发生.相反,相反,公有云

linux网络编程之TCP/IP基础(三) IP数据报格式和IP地址路由

一.IP数据报格式 IP数据报格式如下: 版本 IP协议版本号,长度为4位,IPv4此 字段值为4,IPv6此字段值为6 首部长度 以32位的字为单位,该字段长度为4位,最小值为5,即不带任何选项的IP 首部20个字节:最大值为15,所以首部长度最大为60个字节 服务类型(TOS) 长度为8位.此字段包含3位的优先 权(现已忽略),4位的服务类型子字段和1位的保留位(必须置0).4位的服务类型分别为最小延迟(D).最大吞吐量(T ).最高可靠性(R).最小费用(F),如下图. 总长度 该字段长度

Win7本机IP地址设置图文教程

1.首先在Win7桌面上找到"网络"入口,如下图: 进入Win7网络 2.进入网络之后我们再点击顶部的"网络共享中心",如下图: 进入Win7网络共享中心 3.进入Win7网络共享中心之后,我们再点击左侧的"更改网络适配器",如下图: 选择更改网络适配器 4.再之后我们就可以看到电脑的本地连接设置入口了,如下图: Win7本地连接 5.接下来我们我们将鼠标放置在"本地连接"上,然后点击鼠标右键,在弹出的选项当中,选择属性,如下

Win7旗舰版IPv4自动获取IP地址设置教程

  电脑在使用中难免会遇到无法联网的问题,此时需要对IPv4互联网协议进行相关设置,而在不同的操作系统下设置IPv4方式也有不同,那么在win7旗舰版系统中该如何将IPv4设置为自动获取IP地址呢? Win7旗舰版IPv4自动获取IP地址设置方法/步骤: 1.在电脑桌面的右下角找到宽带连接的图标,并轻轻地单击一下 2.在弹出的对话框里找到"打开网络共享中心",单击点进去 3.出来的对话框里找到"本地连接",单击一下 4.而后,会继续弹出对话框,在里面找到"