【计算机网络】第五章:[网络层]IP地址和子网划分(Part1.IP地址)

网络层的功能

简单来说就是为数据包选择最佳路径,尽可能的转发数据包。分为两种,一种是管理员告诉路由器怎么走,一种是路由器自己来选择。前者是静态路由,后者是动态路由。

网络层提供的两种服务

在计算机通信中,可靠传输应该由端系统还是网络来负责?

我们思考一个简单的例子,网购某一样物品,你下单后确认商人发单,只需要在家等待收到快递即可。如果你没有收到快递,或者收到了物品出现了损坏,那么你是去联系卖家还是快递公司呢?

是卖家。我们出现网购中的任何环节上的不满需要反馈时,都会告诉卖家,然后卖家替我们查找问题所在并给我们一个满意的答复。在计算机通信中也是同样的,数据包在传输过程中,如果每一个步骤都确保可靠性,则意味着每过一个路由都要拆开数据包来确认数据,那么经过很多路由后到达目的地这一过程效率就会大大下降。数据包的确有丢包或者损坏的概率,但是概率比较低,我们默认他不会坏,如果收到发现坏了则要求发送端重传即可,这样在整体上保证可靠传输而不在部分上保证可靠传输就能够提高效率。

综上所述,是端系统提供可靠性传输而不是网络。

那么网络层需要向运输层提供的服务是:虚电路服务和数据报服务。


虚电路服务
在这里插入图片描述
如图,网络管理员按照上图路径配置,则数据报转发就只走这条链路而不考虑其他路线了。如果指定的这条链路断了,则这条网络就不通了,因为管理员没有配置其他路径。
这种配置方法可以不写目标和源地址,因为链路唯一确定。


数据报服务
在这里插入图片描述
数据包写上地址(源+目标),并由路由器选择路径。这种方式更灵活,它发送数据时不分组不排序,每一个数据包独立发送并尽最大努力交付。因为是临时选择路径,则某一条链路断线,则也能换其他线路,能够保证连接。至少网络通,可能会比较慢也比不通强。

在这里插入图片描述
比较一下二者的优缺点。

虚拟互联网

在这里插入图片描述
转发器:信号放大。
数据链路层还有交换机。
网关:现在已经演变成路由器的接口。现在的网关就是通向其他网段的路由器接口。
在这里插入图片描述
虚拟的互联网络屏蔽了网络的复杂性,我们上网只需要接入网线或者输入账号密码即可,非常简单,不懂网络的任何人都可以快捷使用。
在这里插入图片描述
网络协议:
在这里插入图片描述
网络层的四个协议,要明白的是
IP以ARP协议为基础实现功能,而ICMP和IGMP都是以IPv4协议来实现功能,这里要求我们闭上眼能有这个图浮现出来。

IP Address& MAC Address

在计算机网络中每一个设备如果想要在网络上通信必须有MAC和IP两个地址。两者缺一不可。IP地址是网络层的地址,MAC地址是数据链路层的地址。IP地址决定了数据包的最终去向,而MAC地址决定了数据包下一跳的目标。
在这里插入图片描述
IP地址分为网络部分和主机部分。由32位二进制组成,每八位一组。图中可以看到,同一网段内的网络部分——网络地址都是相同的。路由器的多个接口也对应不同网段,路由器的作用就是在不同网段间转发数据,一般而言,路由器的对应的网段接口是该网段的第一个地址(不成文的规定,为了避免地址冲突)。

为了表述方便,接下来按照.来区分。4个部分分别称之为第一部分,第二部分……

IP地址的分类

两个特殊的主机地址:
全0地址:默认给网段用,计算机不可用
全1地址:广播地址,所有局域网内计算机都要接收且MAC地址是全1(全F)
在这里插入图片描述
A类地址:网络部分是第一部分,且开头的第一位二进制是0,127是特殊的保留,0作为网络ID不可用,所以第一部分可以是1-126.只要网络部分是1~126就是A类地址。一个A类地址有256x256x256-2个地址,除去的两个是广播地址和网段地址。

同理还有BCDE类地址。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
D类地址用于多播地址,应该记住这些地址范围,因为对于病毒而言,广播数据包管理员非常容易发现,而多播地址管理员不小心可能就会当成正常数据包处理。多播地址没有子网掩码。多播和组播是一个概念。
E类地址是保留为了今后使用,目前仍没有应用的实例。

为了方便记忆,可看下图。
在这里插入图片描述

保留的IP地址

在这里插入图片描述
127.0.0.1:本地环回地址,我。WIN+R输入\127.0.0.1可以访问本地的共享资源。如果本机配置了Web服务器,还可以通过http://127.0.0.1来访问本地网站。
在这里插入图片描述
即便计算机没有网卡,ping 127.0.0.1也通。因为访问本地资源不需要网卡,只要求操作系统里的TCPIP协议个工作正常即可。卸载网卡后重新扫描即可重新加载网卡。
如果这个都ping不通那么就说明需要重装OS了。
ps)在ping 的时候,127.x.x.x任何地址,只要127开头都可以通。但是本地资源必须是0.0.1
在这里插入图片描述
在WIN系统中,把地址设置为自动获得,就会向网络中的DHCP服务器请求得到一个合法的地址,如果网络中没有DHCP分配地址,则win系统会给自己分配一个169.254.0.0~169.254.255.255的地址,这叫做自动私有地址。微软设计这个功能是为了在没有DHCP服务器的情况下,使用该地址的设备们也能在同一网段交互。这些已经使用私有地址的设备会每隔一段时间就再发一个广播来请求获得一个合法地址,如果有DHCP服务器为其分配地址,则该私有地址会立刻被替换。上图是用VMWare禁用DHCP服务后的网络状态,被分配了169.254.x.x的地址。
在这里插入图片描述
0.0.0.0:在请求IP地址而未获得IP地址时使用,如果网络内与其他计算机地址冲突时也会显示该字段。上图是网络中IP地址冲突时,第二个设备的ipconfig。

公网地址和私网地址

在这里插入图片描述
公网 : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet
私网 : 私有 IP 或保留 IP,不能直接连上 Internet 的 IP ,主要用于局域网络内的主机联机规划。
而且公网的规划为了易于安排,一般而言会有一定规律。所以当我们有一个IP就可以通过某数据库查出其大体位置。私网地址在世界范围内是可重复的,比如公网地址同样是192.168.1.113根据子网掩码不同可以同时存在复数个,而对于私网地址更是可以任意重复,只要两个不同单位的相同的私网地址之间不互相访问即可。


私网保留地址:有必要记住,因为私网保留地址是固有的私网地址,这些地址外网是无法直接访问的,想要访问必须建立端口映射或者VPN拨号。是绝对无法远程直接访问服务器的。私网地址比公网地址安全。
在这里插入图片描述

NAT地址转换

对于私网地址,如果不在任何处理下访问互联网,则发数据包的过程没问题,但是数据包往回返的时候,由于此时的目标地址是私网地址,而网络中的路由不知道这个地址在哪,就无法转发。所以为了私网上网,我们需要一种网络地址转换服务。
网络地址转换:私网地址在路由器处将源地址变更为路由器的公网地址,这样既可保证到目标的数据包有来有回。当数据包回来后,路由器再将数据包的目标地址改成私网地址。从而完成了私网访问公网的操作。
在这里插入图片描述
提前说明:除了改地址,还需要改端口。网站一启动,就会使用TCP协议的80端口来连接客户端,传输层在封装时会写上需要的协议,源端口和目标端口80.然后再在网络层加上目标IP和源IP地址。这样的数据包给到web时,我们通过netstate -n 就可以看到与其相连的端口。

一般而言,既然内网在上网时会替换成公网地址,那么内网是不是使用非保留的私网地址也可以呢?毕竟上网的时候就替换了,不是无所谓吗?
A)私网地址最好使用保留的私网地址,因为内网使用了哪一个公网网段的地址就不能再访问哪一个公网的地址。一般而言没有问题,但是假如说目标IP正好和本机的IP处于一个网段,都是192.168.1.x,这种情况下发送数据时会先解析是否在同一网段,而恰巧解析的结果是处于同一网段,那么发送端会想要通过交换机直接访问来访问,当然是不可能成功的了。

子网掩码

子网掩码又称为网络掩码或地址掩码。它的作用就是高速计算机它的IP地址哪些是主机部分哪些是网络部分。
在这里插入图片描述
如果子网掩码是3个255的话,也就意味着这个IP地址的前三个部分是网络部分。最有一部分的主机部分。也就说255的子网掩码表示了对应IP地址的网络部分。
在这里插入图片描述
网络中计算机想要通信,必须首先判断是否与目标在同一网段。如果目标与自身在同一网段,发送端会发送一个ARP广播来解析目标MAC地址,解析后封装成帧直接交给接收端。如果网段不同,则需要通过路由器转发,就不能发广播来解析目标MAC地址,因为路由器不转发广播。
在这里插入图片描述
如果子网掩码配置错误,会导致网络故障。一般来说,计算机在将要发数据包时,会通过和子网掩码进行与运算来计算自身和目标两个地址的网段,计算的结果相同则会通过arp广播来解析MAC并封装传输,否则会封装传给路由器。
ex)10.1.2.15和10.1.3.15这两个地址的子网掩码都是255.255.255.0所以他们的网络部分应该是前三部分,如果此时解析会得出不在一个网段的结论,并转发给路由器。这是正常的。但是如果子网掩码某一端写成了255.255.0.0,那么解析时就会得到两个设备在同一网段的结论,此时发广播接收端无法收到,必然无法通信。

访问的实现

在这里插入图片描述
如图所示,一个数据帧的构成需要IP和MAC地址。图中的灰色部分是数据部分,和两个IP地址构成数据包,然后再加上源MAC和当前目标的MAC构成数据帧。图中是A计算机向计算机F发出的访问,然后MAC地址的选择是当前MAC地址和目标MAC地址,这里的目标是对于路由或者设备本体。也就是说,IP地址全程不变,但是数据帧解封和封装的过程中,新封装的MAC地址的源和目标都是当前所处的设备的MAC(可以是路由)加上下一个设备的MAC(可以是路由或计算机)。
MAC在不断变化的过程中实现数据包的交互和数据帧的重新封装;IP决定最终目标,MAC决定数据包的动向,两层必不可少。
路径选择就近原则,且目标web服务器无法知道访问者的mac地址,但是知道IP地址。因为封装好的数据帧应为在这里插入图片描述
阶段1:
网络访问的实现:首先主机请求DNS解析域名,把域名(*.com)解析成IP地址,然后将IP地址返回主机,然后将该信息作为数据进行封装,封装时,一个数据包应该包含数据、目标IP和本机IP三部分。然后数据包再进行加工成为数据帧,应该包含数据包、本机MAC、和目标MAC三部分,注意目标MAC并不是最终目标的MAC,因为路由器的作用就是寻找最佳路径并选择,所以这里的目标MAC作为起始点,应该是局域网转发路由的MAC。然后进入广域网,实现多个路由之间的传递,最终访问到目标。


封装如下:
在这里插入图片描述

思考1:为什么需要两个地址(IPMAC)只用一个MAC不可以吗?
思考2:目标PC能知道源PCMAC地址吗?

1Answer):数据通讯的规则决定了IP地址决定最终目标,MAC地址决定的是下一个中转地址。如果只使用MAC地址,那么只有在局域网内,要访问的PC都接入一个集线器或者交换机时才能实现。那么假如说整个因特网是一个足够大的局域网,那么根据局域网的广播信号,每次通讯会发给所有计算机信号,如此庞大的资源消耗是问题之一;其次当某台设备上网时,会存在占线导致其他设备无法上网的问题,所以是不可能的。

2Answer):不可以。因为收到的最后一个数据帧包含的源MAC地址实际上是上一个中转站路由器的MAC地址,而不是发送数据的PC的MAC地址,这个MAC地址在第一步中转时就被过滤掉了。


实验部分:【计算机网络原理·实验·第五章】本地环回地址和网段内广播

猜你喜欢

转载自blog.csdn.net/Chahot/article/details/106841107