网段划分
IP地址分为两部分,网络号和主机号
网络号
:保证相互两个网段之间有不同的标识主机号
: 在同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
- 不同的子网就是把网络号相同的主机放在一起
- 如果在子网里面增加一台主机,则这台主机的网络号和这个子网的网络号一致,但是主机号必须不能和子网中其他的主机重复
IP地址不用的时候就要回收回来
但是,手动管理子网内的IP,是一个相当麻烦的事情
- 有一种技术叫做DHCP,可以自动给子网内新增主机节点分配IP地址,避免了手动管理IP的不变
- 一般路由器都有带DHCP的功能,因此路由器可以看作一个DHCP服务器
初步认识
如,
- 一个计算机学院1班2号的学生,捡到了一个学生证,里面有它的学院和专业代码,要把学生证还给对方
- 它首先现在自己这个学院专业这个群里面,找到负责人
- 负责人,收到了消息,把这个消息发在全校所有学院专业的群里面,每个人都来查看是谁的,不是就扔掉这个(公网)
- 校学生负责人收到了消息,知道了她是经管的,并@经管学生负责人
- 经管学生负责人收到了,看到了班级和个人,就把消息发给了那个人
- 在路上的人只关心学号的前半部分,通过划分不同的群,来进行查找的,这样就能一次排除一个或者多个群
- 到达目标群(经管院),就不关心前半部分了,只关心后半部分
网络划分本质:提高查找效率,减少查找的难度,便于组网
IP地址分类
- A类:0.0.0.0到127.255.255.255。
- B类:128.0.0.0到191.255.255.255。
- C类:192.0.0.0到223.255.255.255。
- D类:224.0.0.0到239.255.255.255。
- E类:240.0.0.0到247.255.255.255。
分类划分之后,可以让不同国家组织根据自己的体量选择适合自己的网段
弊端
大多数的组织都申请B类网络地址,这样也很浪费空间,理论上,申请b类地址,一个子网内可以允许6万5千多太主机,A类就更多了,
在实际网络中,不可能有这么多主机,就造成很大浪费
针对这种浪费IP的情况,又引入了CIDR(Classless interdomain Routing),不进行划分
- 引入一个额外的子网掩码(subnet mask)来区分网络号
- 子网掩码是一个32位的正整数,前面全1,后面全0
- 将IP地址和子网掩码来进行按位与,得到的就是网络号
- 网络号和主机号的划分和这个IP地址是A类,B类,C类是无关的
- 子网后面有多少个0,就代表这个网络里面允许有多少个主机号
例1.
IP地址 | 140.252.20.68 | 8C FC 14 44 |
---|---|---|
子网掩码 | 255.255.255.0 | FF FF FF 00 |
网络号 | 140.252.20 | |
子网地址范围 | 140.252.20.0~140.252.20.255 |
子网掩码为FF FF FF 00
例2.
IP地址 | 140.252.20.68 | 8C FC 14 44 |
---|---|---|
子网掩码 | 255.255.255.240 | FF FF FF F0 |
网络号 | 140.252.20.64 | 8C FC 14 40 |
子网地址范围 | 140.252.20.64 |
子网掩码FF FF FF F0
特殊IP
- 将IP地址中的主机地址全部设置为全0,就是网络号,代表了这个局域网
- 将这个IP地址中的主机地址全部设置成全1,就是广播地址,用于给一个链路中的所有主机发送数据包
- 127.* 的IP地址用于本地环回,
IP地址的数量限制
现在IP地址不够了
动态分配IP地址
:接入网络的时候,设备分配IP地址,走了之后,IP地址回收NAT技术
(后面介绍)IPV6
:IPV6并非ipv4的简单升级,IPV6用16个字节128位来标识一个IP地址,但是IPV6没有普及
私有IP地址和公网IP地址
如果一个组织内部组建局域网,IP地址只用于局域网内部的通信,而不连接到Internet上,理论上任意IP都是可以,但是RFC1918规定了用于组建居于网内的私有IP地址
- 10.* ,前8位是网络号,共又16777216个地址
- 172.16.到172.31。,前12位是网络号,共1048576个地址
- 192.168.* ,前16位是网络号,共65535个地址
包含在这个范围内的,都是私有IP,其余的被称为公网IP(全局IP)
路由器最大的功能是可以用来组件局域网的
- 路由器有两个IP,LAN口,子网IP,对内部的,WAN口,公网IP,对外的
- 我们自己的请求在对外发送的时候,我们的源IP地址可能一直在被中间路由器替换,(NAT技术)
- 替换成路由器的WAN口IP
- 不同子网的人,想要直接通信还是得去公网通信,无法跳过公网
- 墙,就是信息屏障,把报文直接丢弃掉
- 路由器LAN口连接的主机,都从属于这个路由器的子网中
- 不同的路由器,子网IP都是一样的(通常都是192.168.1.1),子网内的主机IP不能重复,但是子网间的IP地址可以重复
- 每一个家用路由器,又作为运营商路由器的子网中的一个节点,这样的运营商路由器可能有很多级,最外层的运营商路由器,WAN口IP就是一个公网IP
路由
在复杂的网络结构中,找到一条通往终点的路线
在网络中只看目标网络
IP数据包的传输过程也和问路一样
- 当IP数据包,到啊的路由器的时候,路由器回先查看目的IP
- 路由器决定这个数据包是能直接发送给目标主机,还是需要发送给下一个路由器
- 依次反复,一直到达目标IP地址
每个节点都会维护一个路由表
路由表如下
- 这台主机有两个网络接口,一个网络接口连接到10.0.24.0,另一个网络接口连接到link-local网络
- 路由表的
Destination
是目的网络地址,Genmask
是子网掩码,Gateway
是下一跳的地址,Iface
是发送接口,Flags
的U标志表示次条目有效,G标志表示此条目的吓一跳地址是某个路由器的地址,没有G标志的条目表示目的网络地址是与本主机接口直接相连的,不必经过路由转发
- 当数据到达路由器的时候,该路由器会用目的IP地址用
子网掩码
进行按位与,同destination
进行对比,如果匹配就到这个子网去,就从这个对应的Iface
发出 - 如果没有找到的话,就从
默认路由default
发出, - 数据包经过不断路由后,最终就能到达目标主机所在的目标网络,此时就不用根据目标IP中的网络号进行路由,而是用主机号进行路由,最终就能发送给目标主机了
路由表生成算法
路由可分为静态路由和动态路由:
- 静态路由:是指由网络管理员手工配置路由信息。
- 动态路由:是指路由器能够通过算法自动建立自己的路由表,并且能够根据实际情况进行调整。
路由表相关生成算法:距离向量算法、LS算法、Dijkstra算法等。