网络基础----子网,IP和网段划分

1.什么是网络划分,网络划分的目的是为了什么?
在回答这两个问题之前,我们需要知道ip地址的概念,ip地址一共有32比特位,它由两部分构成,网络号和主机号。
两个部分组合在一起就构成了一台主机的地址,这个ip地址有什么用?

通过名字就可以看出ip地址类似门牌号,网络号就保证相互连接的两个网段具有不同的标识,主机号:同一网段内,主机之间有相同的网络号当不能有相同的主机号。
有相同的网络号的主机构成了子网,不同的子网又有路由器连接起来传递数据报文。
32比特位中关于网络号和主机号的划分就达到了网络的划分。
网络划分的目的之一是为了效率。

可能有童鞋会问,为什么这么麻烦,把主机分成多个子网,再传递数据报文,这和把数据报文从A主机发到B主机,和效率的提高有什么关系?
网络基础----子网,IP和网段划分_第1张图片
假如你在学校捡到一个钱包,里面有失主的学生证和学号,作为一个新世纪的青年,当然要找到施主本人,把钱包还给他,这个时候就有两种策略

  1. 一个个的找这个学校的学生,直到找到和这个钱包里和学号符合的学生
  2. 先通过学号找到所在院系,在在所在院系里找所在班最后再班里找到失主。
    可以看出第二种效率更高,因此我们要进行子网的划分,当主机A发送数据报文到主机B中,先通过目的ip地址找到目的网路地址,在目的子网中找到目的主机传递消息。
    所以划分子网是很必要的,在子网中的ip地址不能相同,一般手动管理IP是一个相当痛苦的过程,有一种技术叫做DHCP,能够自动的给子网内新增主机节点分配IP地址,避免了手动管理IP的不便。
    一般的路由器都带有DHCP功能,因此路由器也可以看作一个DHCP服务器。
    2.怎么进行网段划分?
    过去有一种划分网络号和主机号的方案,把所有ip地址分为5类如下图所示
    网络基础----子网,IP和网段划分_第2张图片
    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
    随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就 分配完了, 而A类却浪费了大量地址;
    申请了一个B类地址, 理论上一个子网内能允许6万5千多个主机. A类地址的子网内的主机数更多. 然而实际网络架设中, 不会存在一个子网内有这么多的情况. 因此大量的IP地址都被浪费掉了. 针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing):
    1.引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;
    2.子网掩码也是一个32位的正整数. 通常用一串 “0” 来结尾;
    3.将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号;
    4.网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;
    举一个例子
    IP地址 140.252.20.68
    子网掩码 255.255.255.0
    网络号 140.252.20.0
    范围 140.252.20.0到140.252.20.255

IP地址 140.252.20.68
子网掩码 255.255.255.240
网络号 140.252.20.64
范围 140.252.20.64到140.252.20.79

为什么范围会不一样?因为他们的网络号不一样,网络号可以由ip地址与子网掩码按位与算出来,主机号从全零到全1就是子网范围。
如果主机号为全0就是网络地址,全1就是主机地址。127.*的IP地址用于本机环回
通常是127.0.0.1

3.IP地址的数量
从上面看出无论是哪种方法ip的大小表示都是332个比特位,大概42亿9千万,那么是不是理论上一共可以有43亿左右的主机能够联网?实际上抛去一些特殊的ip地址,有些网卡可能会有多个IP地址,这会导致ip地址不够用。
为了解决这个问题,就有了治标和治本的方法。
1.动态分配ip地址:只给接入网络的设备分配ip地址,所以对于同一个mac地址的主机来说,每次分配的ip地址不一定一样。
2.NAT技术
3.CIDR技术
4.DHCP技术
5.IPV6技术
前四个是治标的方法,而ipv6是治本的方法,ipv6的特点是用128个比特位表示地址,允许有2^128个主机。
**4.私有IP地址和公网IP地址 **
如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上 使用任意的IP地址都 可以,但是RFC 1918规定了用于组建局域网的私有IP地址
10. ,前8位是网络号,共16,777,216个地址
172.16.到172.31.11. .,前12位是网络号,共1,048,576个地址
192.168.*,前16位是网络号,共65,536个地址
包含在这个范围中的, 都成为私有IP, 其余的则称为全局IP(或公网IP)

网络基础----子网,IP和网段划分_第3张图片
路由器作用就像是一个学生会里传递老师和同学间的消息的部长,既有学生的职责又有部长的职责。

一个路由器可以配置两个IP地址, 一个是WAN口I
P, 一个是LAN口IP(子网IP).
路由器LAN口连接的主机, 都从属于当前这个路由器的子网中.
不同的路由器, 子网IP其实都是一样的(通常都是192.168.1.1).
子网内的主机IP地址不能重复. 但是子网之 间的IP地址就可以重复了. 每一个家用路由器, 其实又作为运营商路由器的子网中的一个节点. 这样的运营商路由器可能会有很多级, 外层的运营商路由器, WAN口IP就是一个公网IP了.
子网内的主机需要和外网进行通信时, 路由器将IP首部中的IP地址进行替换(替换成WAN口IP), 这样逐级 替换, 终数据包中的IP地址成为一个公网IP.
这种技术称为NAT(Network Address Translation,网络地 址转换).
如果希望我们自己实现的服务器程序, 能够在公网上被访问到, 就需要把程序部署在一台具有外网IP的服 务器上. 这样的服务器可以在阿里云/腾讯云上进行购买.
5.路由
在网络中找一条通向目标主机的路。
假如A主机发送一个数据报文目标主机为B主机。
A发送的IP报文首先到路由器中,路由器会根据ip地址和路由表来确定这个报文发送的方向。
反复如此直到发送到目标主机,或者耗费完生存时间丢弃。
在linux系统中输入route命令得到当前系统的路由表
在这里插入图片描述
路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址
Iface是发送接 口,Flags中的U标志表示此条目有效(可以禁用某些 条目),G标志表示此条目的下一跳地址是某个路由器的 地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;

假设发送的数据报是192.168.142.6
先与255.255.255.0相与得到192.168.142.0和第二行的目标地址相同,由enss33发送出去。
假设发送的数据报是192.168.465.7
先与255.255.255.0相与得到192.168.456.0和第二行的目标地址不相同,执行第一行default的enss33发送出去,再由下一个路由器的路由表确定该数据报文发送路线。
常见的路由表生成算法有Dijkstra算法,链路向量选路算法,距离向量算法等。

你可能感兴趣的:(踩过的坑,作业,个人理解)