第四章 网络层(二)

子网划分之等分成4个子网

  • 假如某公司四个部门,每个部门50台计算机,现在使用192.168.0.0/24这个C类网段,从安全考虑打算把每个部门的计算机放到独立的网段,这就要求将192.168.0.0/24这个C类网络划分为4个网段,该怎么划分呢?

顺着网络层(一)的思路:

  • 这个时候每一个子网就是原来的1/4,子网掩码只需要向右移动两位,把前两位作为网络位,后六位作为主机位即可。此时,前两位就为:00,01,10,11,后六位主机位补上以后,四个网段的地址就划分出来了。(前面已经说过,主机位全0或者全1,留作他用)
    • 192.168.0.1~192.168.0.62
    • 192.168.0.65~192.168.0.126
    • 192.168.0.129~192.168.0.190
    • 192.168.0.193~192.168.0.254

-子网掩码统一为255.255.255.192
如图:
在这里插入图片描述

等分成八个网段呢?

  • 八个网段的话,只需要把网络位往右移三位,这个时候,主机位就剩下五位。前三位的网络位为:000,001,010,011,100,101,110,111,主机位除去第一个和最后一个地址:
    • 192.168.0.1~192.168.0.30
    • 192.168.0.33~192.168.0.62
    • 192.168.0.65~192.168.0.94
    • 192.168.0.97~192.168.0.126
    • 192.168.0.129~192.168.0.158
    • 192.168.0.161~192.168.0.190
    • 192.168.0.193~192.168.0.222
    • 192.168.0.225~192.168.0.254
  • 子网掩码为:255.255.255.224,如图
    在这里插入图片描述
    假如说点到点的网络,子网掩码应该为多少呢?
  • 点到点的网络只需要2个IP地址,但是加上主机位全0和全1的两个地址,就需要四个地址,所以这时子网掩码应该为11111100,主机位可以为01,10(除去00,11),子网掩码最好为252。

变长子网划分

  • 如果一个单位有200台机器,网段为192.168.0.0/24,其中100台在一个网段,50台在一个网段,20台在一个网段,10台在一个网段,如何划分呢?
  • 如果了解了上面定长子网划分之后,变长子网划分问题也就迎刃而解了。
  • 想象一下,100台机器在一个网段,那么主机位只需要7位就可以满足,所以子网掩码为255.255.255.128;地址可以为192.168.0.1~192.168.0.126。
  • 50台机器在一个网段,那么主机位需要6位,性价比最高,所以子网掩码为255.255.255.192,地址可以为192.168.0.129~192.168.0.190
  • 20台机器在一个网段,那么主机位5位就可以满足,子网掩码为255.255.255.224,地址为192.168.0.193~192.168.0.222
  • 10台机器在一个网段,主机位4位即可,子网掩码255.255.255.240,地址为192.168.0.225~192.168.0.238
  • 精打细算下来,主机地址还有所富裕!!!

拓展:B类网络如何划分呢?

  • 地址:172.16.0.0,子网掩码255.255.0.0,把它划分成两个地址段,写出每一个地址段的第一个地址和最后一个地址。

B类地址和C类划分的过程比较类似,但是B类地址划分成两个网段,每一段的地址非常多,按照C类的划分,B类地址划分之后的子网掩码为255.255.128.0,主机位除去全0和全1的地址,划分之后为:

  • 172.16.0.1~172.16.127.254
  • 172.16.128.1~172.16.255.254
超网

两个网段合并

  • 前面学的是把IP地址进行拆分,分配地址,接下来就要利用超网,对IP地址进行聚合。如图:在这里插入图片描述此时主机A与主机B若想要通信,有哪些方法?
  • 很明显,192.168.0.2/24与192.168.1.2/24不在同一个网段,第一种方法可以在路由器每一个接口端分设两个网关,192.168.0.1与192.168.1.1,对来自主机A与主机B的信息进行转发。
  • 第二种方法可以进行超网聚合,也就是说把主机A与B划分到同一个网段,如何划分呢?观察IP地址如果把子网掩码设置为23位,那么192.168.0.2/23与192.168.1.2/23,是不是就同在一个网段了,他们拥有同一个网关192.168.0.1。这样两台主机也可以同时通信了。

四个网段合并

有四个网段的计算机,它们分别为,192.168.0.0,192.168.1.0,192.168.2.0,192.168.3.0,子网掩码为255.255.255.0,如果想把它们合并为一个网段,如何合并?

  • 先看一下0(二进制00),1(二进制01),2(二进制10),3(二进制11),所以在聚合的时候需要留两位作为主机位,这时的子网掩码可以设置为255.255.252.0,此时这四个网段的网关就为192.168.0.1。所以合并子网有什么规律呢?如图在这里插入图片描述是不是很神奇?

IP地址与MAC地址

区别

  • IP地址决定了数据包最终要到哪一台计算机
  • MAC地址决定了下一条地址给谁
    如图:在这里插入图片描述
  • 计算机A想要与计算机B通信,首先会把数据包(数据段+源IP地址+目的IP地址)传送给交换机,因为交换机比较傻,所以需要给交换机指定要转发给哪一台设备,而识别的方式就是MAC地址,也叫物理地址。
  • 所以源MAC地址为M1,目的MAC地址为路由器的地址M2,路由器通过查找路由表,找出在计算机B所在的12.0.0.0网段怎么走,路由器的接口比较多,查出路由表之后,会对数据包的源MAC地址和目的MAC地址进行更改,分别设置为M3,和M4。
  • router2收到数据包之后,通过查找路由表,再次对数据包的源MAC地址和目的MAC地址进行更改,分别设置为M5,和M6。到达计算机B。

所以对以上通信过程,我们发现:

  1. 交换机是基于数据帧的MAC地址转发数据帧,而路由器是基于数据包的IP地址,通过查找路由表,转发数据包
  2. 在整个传输过程中,数据包是没有任何变化的,在通过网络设备的时候,数据帧要用新的物理层地址重新封装
  3. MAC地址决定了数据帧下一跳哪个设备接收,但是IP地址决定了数据包的起点和终点。

ARP&RARP

网络层四大协议:

  1. IP协议
  2. ARP协议(包括RARP)
  3. IGMP协议
  4. ICMP协议

ARP协议负责把IP地址解析成MAC地址,主要靠广播。

  • ARP简介:不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
  • 每一台主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
  • 当主机A欲向本局域网上的某个主机B发送IP数据报时。就先在其ARP高速缓存中查看有无主机B的IP地址。如果有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
  • ARP高速缓存的作用: 为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入了ARP请求分组。当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中,这对主机B以后向A发送数据报时就更方便了。

在这里插入图片描述

如果ARP缓存表里面没有,会通过以下方式:

  • 当一台计算机A通过交换机想要和本网段的计算机B通信时,就会发送一个ARP广播:告诉计算机A谁是IP地址为x.x.x.x(主机B的IP地址)的主机,本网段的每一台电脑都会收到这条广播,只有主机B会应答:我是,然后把自己的MAC地址告诉A。
  • 通过这个过程,可以发现,存在许多的安全问题。ARP欺骗,网络抓包,网络执法官,P2P终结者都是利用ARP协议,做的一些非法的勾当。

举个ARP欺骗的例子,P2P终结者:

  • 一台交换机连接了多台计算机M1,M2,M3,M4等等,在同一网段192.168.0.0/24,交换机连接一台路由器作为网关192.168.0.1,当M1,M2,M3在寻找网关时,路由器会告诉它们,自己就是网关。
  • 那么问题来了,如果M4电脑上装了P2P终结者软件,它就会发ARP广播包,告诉其它计算机,M4为网关,那么在其它计算机内,之前由路由器发的网关数据包,就会被覆盖掉,从而默认为计算机M4为网关,以后上网的流量都会先经过M4,再由M4转发给路由器。这个时候,M4就可以控制所有电脑的带宽。网速也就变的非常慢了。

使用ARP的四种典型情况

  • 发送方是主机,要把IP数据包发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。
  • 发送方是主机,要把IP数据包发送到另一个网络上的主机,这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。
  • 发送方是路由器,要把IP数据包转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址。
  • 发送方是路由器,要把IP数据包转发到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

RARP(逆向ARP)

  • ARP是通过IP地址得到物理地址
  • RARP则是通过物理地址来获取IP地址的过程

IP数据报

一个IP数据报由首部和数据两个部分组成。

  • 首部的前一部分是固定长度,一共20字节,是所有IP数据报都必须具有的。
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

如图:在这里插入图片描述
绿色的首部

  1. 版本(占4位):指IP协议的版本,目前的协议版本号为4(IPV4)或者6(IPV6)

  2. 首部长度(占4位):表示首部有多长。可以看到,首部里面有一个可选字段(长度可变),所以需要用首部长度,来表示一下。可表示的最大数值位15个单位(一个单位4字节),因此IP的首部长度的最大值为60字节。

  3. 区分服务QOS(8位):作用就是为每一个数据包打上一个标记,所传输的数据着不着急。比如:打语音和发邮件所传输的信息,肯定是语音信息的优先级更高一些。

  4. 总长度(16位):代表首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传输单元MTU。

  5. 标识(16位):它是一个计数器,用来产生数据报的标识,不是序号,每产生一个数据包,就会增加1。

  6. 标志(flag 占3位):用来表明该数据包是否分片(分片的原因就是当数据量巨大时,超过了各网络设备的MTU,就需要进行分片处理)。目前只有前两位有意义。最低位是MF。MF=1的时候标识后面“还有分片”。MF=0标识最后一个分片。标志字段中间的一位是DF。只有在DF=0时才允许分片。

  7. 片偏移(13位):较长的分组在分片后某片在原分组中的相对位置,以8个字节为偏移单位,如图:在这里插入图片描述如果某一个数据包含有3800字节,最大传输单元MTU为1400,那么就可以用0/8,1400/8,2800/8,得出来片偏移量为0,175,350。

  8. 生存时间(TTL 8位):数据报在网络中可通过得路由器数目的最大值。经过一个路由器会减去1,直到减到0丢掉。

  9. 协议(8位):指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个处理过程。如图:在这里插入图片描述都是IP数据包,但是里面的内容不一样,用一个数字来标识里面是什么类型的数据包。可以通过百度来查询数据包对应的协议号:在这里插入图片描述

  10. 首部校验和(16位):验证首部里面有没有错误。

  11. 源地址(4字节32位)

  12. 目标地址(4字节32位)

  13. IP数据报的可变部分:IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容非常丰富。选项字段的长度可变,从一个字节到四十个字节不等,取决于所选的项目。增加首部的可变部分是为了增加IP数据报的功能,但是这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。

最后是黄色的数据部分

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺旺的碎冰冰~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值