铁佛 发表于 2024-6-26 08:14:38

【计算机网络】个人学习条记——第四章 网络层:CIDR编址&IP地址&子网掩码

第四章 网络层



[*] 一、网络层概述【了解】

[*] 1、概述

[*]网络层向上只提供无连接且不可靠但尽最大努力交付的数据报服务,其主要任务是将IP数据报通过路由的选择与转发从源端发送到目标端,为数据报互换网上的网络主机提供通信服务。
[*]IP数据报和IP分组是同义词,IP数据报就是我们常说的‘分组’
[*]IP地址告诉我们去那边,路由器告诉我们怎么去,MAC地址告诉我们去了以后详细要找谁。

[*] 2、网络层与传输层

[*]网络层实现主机与主机间的逻辑通信,不保证可靠传输
[*]传输层实现进程与进程之间的通信,保证可靠传输

[*] 3、网络层的信息传输(网络层的两个层面)

网络层传输的数据主要包括两个方面的内容

[*]转发源主机和目标主机之间的数据
[*]传送路由信息
可以将网络层分为两个层面
[*]控制层面:路由选择算法
[*]数据层面:路由转发表,主机间的数据


[*] 二、IP协议与IP地址(子网掩码计算与CIDR编址)【重点】

[*] 1、IP数据报及其首部各字段【重点-片偏移的计算】

[*] IP数据报的结构
首部固定长度为20字节
https://img-blog.csdnimg.cn/direct/3b46bdfde61e4a6a97942d7ecacbec02.png
[*] IP数据报首部各字段及其寄义(重点关注片偏移字段,有考计算题,其他字段也是要知道的)

[*] 版本:指的是所利用的IP协议版本(IPV4/IPV6)通信双方版本必须一致
[*] 首部长度:计量单位为4字节,即当首部长度字段的值为5时,表示首部长度为4x5=20字节。也就是首部长度字段的最小值是5。
[*] 服务类型:一样寻常没用到
[*] 总长度:计量单位是1字节,该字段占了16比特位,以是其二进制数最大能够表示216-1,也就是IP数据报的最大长度为216-1字节。但一样寻常达不到这个最大长度,由于IP数据报是要向下封装的,数据链路层的协议都规定了每个数据帧中数据字段的最大值,也就是上一章提到的MTU最大传输单位。
[*] 标记:占3比特位,只有后两位有意义

[*]最后一位记为MF,当MF=1时表示后面还有分片,MF=0时表示这个数据报是若干数据报中的最后一个
[*]中心位记作DF,当DF=0时表示答应分片

[*] 片偏移【考计算】:数据由于数据过大无法举行封装时,要举行分片,片偏移就是用来标记这个数据报搭载的数据分片是原来数据的哪一个部分,大概说是排在原来数据的哪一个位置。
https://img-blog.csdnimg.cn/direct/89a54bd81d4c4f418c702282de182336.png

[*]片偏移字段以8字节(64比特位)作为偏移单位。
[*]例题:现在应用层产生了8192字节的数据,运输层接纳UDP协议(已知UDP首部为8字节),现在链路层要用以太网来传输,问应该分别成几个IP数据报片,计算出每个数据报片的数据部分长度以及片偏移字段的值?
基于这道题先来复习一下数据是怎么层层封装的
https://img-blog.csdnimg.cn/direct/6a290f1b25b549bdb7f64b7ad98da660.png
最后看一下为什么这么分片,以及最后片偏移字段值是怎么来的
https://img-blog.csdnimg.cn/direct/c71f3f0e7bfd445bab1a8f9d59e415e4.png
总结一下就是:由于受到底层协议的束缚,上层要往下传输、封装数据的时候要思量一下底层的感受,塞不下的话不能硬塞,以是要举行分片。
另外,偏移量是偏移量,片偏移字段值是片偏移字段值,个人以为这个要分清楚,字段值是记载在报文中的数值。在这道题中,偏移量是每个分片递增1480字节,但是记载下来的时候,由于片偏移字段的计量单位是8字节,以是每个分片偏移量都还要再除以8。

[*] 生存时间TTL:生存时间就是这个报文的有效时间,过期就抛弃,这个值在TCP拥塞控制算法的时候会涉及到。TTL的单位是“跳”,就是跳转了几个路由器,经过一个路由器称之为1跳,下一个路由器称之为下一跳。
[*] 协议(了解即可不消记)
https://img-blog.csdnimg.cn/direct/6a08d45f0ed84fcdbfc098d31bc418d2.png
[*] 首部校验和:这个字段只负责校验IP数据报的首部,数据部分不管,每经过一个路由器都会校验一次
[*] 源地址
[*] 目标地址


[*] 2、IP协议的配套协议与设备(后面都会睁开)

[*]IP协议的配套协议

[*]地址解析协议ARP
[*]网际控制报文协议ICMP
[*]网际组管理协议IGMP

[*]各条理所利用的设备,由下往上分别是:

[*]物理层:转发器,集线器
[*]数据链路层:网桥、互换机,网桥和上面的转发器、集线器仅仅是对网络的扩充,并不能称之为互连
[*]网络层:路由,真正意义上的网络互连是靠路由器来实现的
[*]传输层、应用层:网关


[*] 3、IP地址及其分类【紧张】

[*]IP地址的表示
IP地址由4字节(32为)的点分10进制数来表示,每字节用点号隔开,比方:129.20.10.1。(点分十进制:每个字节写成十进制而且彼此以点号相隔)
[*]IP地址的构成(知识)
IP地址由两部分构成,{[网络号],[主机号]}
[*]IP地址的分类(了解即可,感觉考的概率不大)
依照网络号、主机号所占位数的不同以及网络号的固定的前几位不同,可以将IP地址分别成ABCDE五类
https://img-blog.csdnimg.cn/direct/9a4701f8246c46c486048228adadf612.png
主要利用照旧ABC这三类地址。
- 每一类IP地址的最大可用网络数,取决于其除开固定的网络号以外剩余的网络号位数所能表示的最大十进制数
- 每一类IP地址所能容纳的主机个数,取决于其主机号占整个IP地址长度的位数所能表示的最大十进制数,而且减去主机号全0和全1两种特别环境。
(学习期间使用的教材:《计算机网络第八版——谢希仁》,参考课程:王道考研计算机网络)
   

[*]特别的IP地址(这个有须要知道)
下面的全1全0指的是二进制写法的时候全1全0
https://img-blog.csdnimg.cn/direct/0eb7f91d59034e1bbb69cf41560a2741.png

[*] 4、无分类编址CIDR&子网掩码【重中之重】——子网分别与路由聚合

经典的IP地址分别方法不敷用了,以是要接纳一种船新的方法来对IP地址举行分类,无分类域间路由选择CIDR
CIDR表示的IP地址由两部分构成:不受限制的网络前缀(n<32)和主机号(32-n)
https://img-blog.csdnimg.cn/direct/27e10e6bb0b84cb29dfa0840a5dec9b2.png

[*] 网络前缀
网络前缀用一个斜杠/加上网络前缀位数来表示,放在完整IP地址的后面。好比:128.14.35.7/20,这里的20就表示该CIDR表示的IP地址网络前缀是20位,相应的其主机号就是32-20=12位
[*] 地址块

[*]CIDR将所有网络前缀都相同的所有一连IP划归为一个区块,称为CIDR地址块。
[*]一个地址块所能容纳的IP地址数目取决于网络前缀的位数
[*]主机号全0表示本网络,以是一样寻常要单纯表示一个地址块的时候会把其主机号的部分全0处置处罚
https://img-blog.csdnimg.cn/direct/bb9c2db17aac4b5898cc92e279d108a9.png

[*] 子网掩码(地址掩码)与子网分别原理

[*]子网掩码用来做咩野?

[*]用来计算某个IP地址是否属于本网络,并由此决定路由是否需要转发这个IP地址产生的数据包,如果属于本网络则路由不到场转发。将二进制源地址与目标地址都与子网掩码相与,网络号一致的就阐明是处在同个网络,路由器就不举行转发。
[*]子网掩码也用于举行最长前缀匹配,利用CIDR记法对路由表查询的时候可能会有多个匹配结果,将IP地址和子网掩码相与以后取网络前缀最长的作为最终匹配结果。(前缀越长,地址块就越小,表示的主机/路由就越详细)

[*]子网掩码的构成
网络号全1,主机号全0就表示子网掩码。对于CIDR记法来说,斜杠后面的数字所表示的网络前缀个数就是子网掩码有几个1。
[*]基于子网掩码的网络地址计算【紧张】
二进制IP地址与子网掩码举行按位与(AND)运算,得到的就是网络地址。注意区分以下运算规则

[*]与运算:有0则0,全1才1
[*]或运算:有1则1,全0才0
[*]异或运算:同0异1
例:现有IP地址128.14.35.7/20,计算其网络地址?
先将十进制的IP转化成二进制写法,再子网掩码表示出来,/20表示网络前缀有20位,也就是子网掩码前20位都是1,剩下12位是0,最后两者举行与运算即可
https://img-blog.csdnimg.cn/direct/64b840306d6b418fbdcf14d5dd488fb9.png


[*] 子网分别与路由聚合(构成超网)是什么

[*]子网分别:对于CIDR记法来说,子网的分别就是将一个大地址块,按照利用的主机数目和地理位置的不同分别成不同的小地址块。
[*]路由聚合(构成超网):就是对CIDR地址块的聚合,可以理解为找一个最小公倍数,即找到一个刚刚好大的CIDR地址块,使其刚刚好能够表示某几个需要聚合的小的CIDR地址块,其实最终的结果就是收缩他的网络前缀(对网络前缀取交集),使其能容纳的主机变多,这个网不就自然变大了吗?


[*] 5、IP地址的分组转发(最长前缀匹配原则)
分组转发指的是将数据按不同协议的需求要求切分成不同小块,封装成一个IP数据报文举行传输,每个报文都包罗了源地址和目标地址,根据源地址和目标地址判断是否属于同一个子网,进而选择举行直接转发大概间接转发。而利用CIDR时,路由在查转发表的时候可能会查到多条匹配结果,这时候就要选择网络前缀最长的路由,网络前缀越长,地址块越小,路由越详细。
https://img-blog.csdnimg.cn/direct/5d1a117ce2184f7dafdf69db8659e2be.png
- 路由进行分组转发的匹配原则——最长前缀匹配
具体操作过程:将二进制的目标IP和源IP都与子网掩码进行与运算,得到的就是网络地址,选择最长的即可。
   

[*] 6、子网分别与路由聚合详细操作&例题详解【重点哦】

https://img-blog.csdnimg.cn/direct/5ab7298a04484842b953b292413cf2d0.png

[*] 例题1:某单位分配到一个地址块129.250/16,已知该单位有4000台机器,均匀分布在16个不同的地点。要求给每一个地点分配一个地址块,并算出每个地址块中IP地址的最小值和最大值。
解:有两种解法,一种可以根据所需要的小网络个数来增加网络号的位数最后剩下的就都为主机号,还有一种是先确定最大的主机号再确定网络号的位数
https://img-blog.csdnimg.cn/direct/2706c1d521fd4e98862d4f5fc77922ac.png
[*] 例题2:有如下的4个/24地址块,要求举行最大可能的聚合
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
解:先转换成二进制数,写在一起,找相同部分,有种找最小公倍数的意思。
https://img-blog.csdnimg.cn/direct/2795b7d224b447e6b5375f48e7d24001.png
[*] 例题3:https://img-blog.csdnimg.cn/direct/7ae8ee5313c241bf9f3c78db6d816c8f.png
详细解析:分别地址块可以接纳“二叉树法”来搞,左右分支分别表示本位为0或1,每一层就表示一位数。根据主机号所能容纳的最大主机数来分配,大块的优先分给主机需求量大的。
以本题为例,本题初始网络号为23位,一共32位,则初始的主机号位数为9。开始往下分别,第一层表示24位网络号也就是/24,相应的主机号就剩8位,这个二进制数最大能表示255。这意味着现在的两个分支,也就是两个小网络,每个能容纳255台主机(去掉主机号全1的环境就是254台主机)。
如果/24往下再分一层就来到了/25,此时每个分支的最大主机容量就会减半,能装128台,而本题LAN3要求要150台,不敷装。以是在/24层要分一个分支用来表示LAN3,另外一个分支就继承往下分别到/25。
/25层,25位网络号,7位主机号,最大能装128台主机,往下再分一层到/26的话,每个分支最大能表示64台,而题目中LAN2要求91台主机,以是在/25层也要拿一个分支来给LAN2,用剩下的另一半分支继承往下分别。
/26层,26位网络号,6位主机号,最大能表示64台主机,题目中剩下的LAN1,LAN4,LAN5的需求量都太小,可以不消在这一层就分配,以是/26层的两个分支都能继承往下分。
/27层,27位网络号,5位主机号,每个分支最多容纳32台主机,现在一共有4个空闲分支,而题目剩下的只有3个LAN了,以是直接分到这一层就够了,拿三个分支每个LAN分一个就好了。
现在分完条理了,我们要来写对应的IP详细去表示。源地址块的二进制是(00011110,10001100,0111011||0,_ _ _ _ _ _ _ _ )用||来表示当前网络号到了哪一位,每个字节用逗号隔开,这样可能看的直观一点。
以LAN3为例:LAN3被划到了24层中值为1的分支上,以是二进制写法记作(00011110,10001100,01110111||,_ _ _ _ _ _ _ _ ),转成十进制就是30.138.119/24
以LAN2为例子:LAN2经过24层的0分支,被划到了25层中值为1 分支上,相应的在原来的地址上往后填上01,以是二进制写法记作(00011110,10001100,01110110,1||_ _ _ _ _ _ _ ),转成十进制就是30.138.118.128/25
以LAN5为例,划到他这里经过的蹊径为0011(看下图),相应的在原来的地址上往后填上0011,以是二进制写法记作(00011110,10001100,01110110,0 1 1|| _ _ _ _ _ ),转成十进制就是30.138.118.96/27
剩下的以此类推。
总的来说就是先画一个二叉树图,按照主机数需求量从大到小举行分配,最后根据路径在原先的网络号上填上数字就是这个网络的二进制IP地址了,转成十进制,补上该条理对应的网络号即可。
看一下下面的详细解题过程还有下一题可能会更好理解。
https://img-blog.csdnimg.cn/direct/629b1b879aff457d8255c870f75d4083.png
   

[*]例题4:https://img-blog.csdnimg.cn/direct/e54b2b531e62491aa466164dd2089476.png
解:大体思路照旧跟上一题一样,按照需求优先将大地址块分给需求大的,唯一一点不同的是,记得WAN也是要分别的。
https://img-blog.csdnimg.cn/direct/779dab3aae5440e0a789a5c69501a786.png


[*] 三、IP地址与MAC地址的关系(ARP协议)

[*] 1、IP地址与MAC地址的关系与区别

[*]IP地址是一个逻辑地址,是假造的,有公用IP和私用IP之分,用于在计算机网络中唯一标识一个路由、接口或一台主机。IP协议是网络层的东西,和TCP协议,UDP协议共同构成了网络层的焦点。可以简单理解为:IP地址用来告诉我们这台主机在哪,而路由器告诉我们怎么到达那边
[*]MAC地址是物理地址/硬件地址,是网卡或其他网络设备的固定地址,由生产厂商在生产时分配,而且通常不会更改,每个MAC地址都是唯一的,用于在局域网中唯一标识一个网络设备。MAC地址是一个6字节的十六进制数,MAC地址的前三位是由IEEE注册管理机构分配的厂商识别码,用于标识设备厂商,剩余的三个字节由厂商自行分配,用于区分同一厂家生产的不同设备。MAC地址是数据链路层的东西。可以简单理解为:MAC地址用来告诉我们到底是详细的谁,详细的哪一台主机
[*]根据公用的IP地址我们可以找到设备地点的局域网,但一个局域网中的所有设备的公用IP一样寻常是相同的,这时候我们要确定到底是网内的哪个主机大概设备,就要借助MAC地址来实现了。就好比你能通过班级号定位到是哪个班,但你没办法定位到是班里的哪个同学,要借助学号来确定到详细的个人。
[*]而IP地址和MAC地址之间并不是简单的映射,是需要通过ARP协议来解析的,ARP协议就是连接这两个协议的桥梁,通过ARP协议可以根据IP地址解析到详细某台设备的MAC地址。

[*] 2、ARP地址地址解析协议的工作原理

[*]ARP哀求:
当一个主机需要向另外一个主机发送数据时,起首会查抄该主机是否在本地网络中,如果目标主机不在同一网络中,发送方主机将默认利用网关的MAC地址来发送数据。如果在同一个网络中,发送方主机将发送一个ARP哀求广播到本地网络的所有主机,扣问一下目标IP地址到底是哪台主机拥有,也就是扣问目标地址对应的MAC地址。
[*]ARP响应:
吸取到ARP哀求的主机会查抄哀求中的目标IP地址是否与自己匹配。如果匹配,则该主机会发送一个ARP响应单播帧给发送主机,包罗自己的MAC地址作为响应。发送主机吸取到响应后,会将目标IP地址与对应的MAC地址建立映射关系,并将此映射信息存储在本地ARP缓存中,以便后续通信时直接利用。
[*]ARP缓存:
每台主机都会维护一个本地的ARP缓存表,用于存储IP地址与MAC地址的映射关系。这样,在发送数据时,发送主机可以直接查找本地的ARP缓存表,以获取目标IP地址对应的MAC地址,而无需再发送ARP哀求。

[*] 3、ARP报文的结构
https://img-blog.csdnimg.cn/direct/906e244931ce48fe822a37a7c3d2ec25.png
   

[*] 4、MAC帧的格式
https://img-blog.csdnimg.cn/direct/2fe5ccea279143ad81029e86106e370c.png

[*] 四、网际报文控制协议ICMP

[*] 1、ICMP报文的格式
https://img-blog.csdnimg.cn/direct/ccb3d4529a344c988c9c56400aa3f266.png
   

[*] 2、ICMP报文的类型

[*]ICMP扣问报文

[*]哀求报文
[*]答复报文

[*]ICMP差错陈诉报文、

[*]终点不可达
[*]超时
[*]参数问题
[*]改变路由(重定向)



[*] 五、路由选择协议(RIP、OSPF、BGP协议)

[*] 1、有关路由选择的根本概念

[*]抱负路由算法
路由选择协议的焦点就是路由算法,即需要接纳何种算法来获得路由表中的各个项目。一个抱负的路由算法具有以下特点
- 正确和完整的:正确是指沿着路由表给的路径能够最终找到目标主机。
- 计算简单:不能给网络通信量带去太大负担
- 具有自适应性:能够适应负载的变革。依据此,分为静态路由选择(非自适应路由选择)和动态路由(自适应路由选择)选择两大类
- 稳定性:路由算法能够收敛
- 公平性:对于所有用户都是公平的
- 能选出最佳路由
[*]分条理的路由选择协议
将互联网分别为多个小的自治体系,记作AS。

[*]内部网关协议(分布式路由选择协议,域间路由选择)

[*]RIP(距离向量算法)
[*]OSPF(链路状态协议,SPF)

[*]外部网关协议(域间路由选择)

[*]BGP(路径向量算法)
[*]BGP-4



[*] 2、RIP协议(重点)

[*]转发原理:跳数最少优先(跳数最少的路径不一定是最优路径,“好比搭乘公交时,中转次数少,偶然候意味着步行距离长”
[*]当跳数达到16时标记为不可达(一起上最多15跳,每经过一条路为一跳)
[*]特点

[*]仅和相邻的路由器互换信息
[*]所互换的信息是路由表
[*]按固定的时间间隔互换信息

[*]以上三个特点决定了RIP协议信息收敛的速率较快,即好消息流传快,坏消息流传慢(坏消息指的是网络故障信息)
[*]RIP详细更新算法

[*]收到来自A路由器的表,先将下一跳全部设置为A
[*]若A有,我没有的目标网络,则在我的表上新增。如果我有,A没有,不作操作
[*]若同目标网络,下一跳相同,视作最新的信息,更新
[*]若同目标网络,下一跳不同,视作不同路径,比力两者的距离。一样长大概A的更长则不操作,若A的比我的短则更新


[*] 3、OSPF协议

[*]利用了SPF最短路径算法
[*]特点

[*]利用链路状态协议,互换的信息是与本路由器相邻的所有路由器链路的状态
[*]向本自治体系内的所有主机发送信息,即接纳洪泛法
[*]不利用UDP而是直接利用IP数据报举行传送,故OSPF构成的数据报很短

[*]五种类型的分组

[*]问候分组
[*]数据库形貌分组
[*]链路状态哀求分组
[*]链路状态更新分组
[*]链路装填确认分组


[*] 4、外部网关协议BGP

[*]BGP的路由选择

[*]本地偏好选择:BGP会优先选择本地偏好属性设置的路由
[*]AS跳数最少路由:如果找不到本地偏好路由大概有多个偏好值一致的,则选择一个跳数最少的
[*]热土豆路由选择算法:如果前两种方法都找不到一个适当转发的路由器,则接纳热土豆算法,即尽快的将数据包转发出去,使分组以最快的速率即最少的转发次数脱离本地AS

[*]BGP协议的四种报文

[*]打开报文(OPEN):用来与BGP连接对等端建立关系
[*]更新报文(UPDATE):用来陈诉某一起由的信息,以及列出要撤销的路由
[*]保活报文(KEEPLIVE):用来周期性的检测与对等端的连通性
[*]通知报文(NOTIFICATION):用来发送检测到的差错



[*] 六、IP多播(IGMP协议)

[*] 1、IP多播
IP多播指的是在互联网上举行广播多播的操作,指的是在互联网上举行一对多的通信,能够以多播数据报的形式同时把数据发送给多个主机。能够运行多播协议的路由器称为多播路由器
实现IP多播需要两种协议:
- 网际组管理协议IGMP
- 多播路由选择协议
   

[*] 2、网际组管理协议IGMP
IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否还有主机参加或退出了某个多播组。IGMP协议是针对的本地局域网,它不知道IP多播组有多少主机,也不管互联网范围内的多播构成员,只管本地局域网。

[*] 七、假造专用网VPN和网络地址转换NAT

[*] 1、假造专用网VPN

[*]在互联网中,对于目标地址是专用网的包一律不会举行转发
[*]专用IP地址又称作可重用地址,是可以重复利用的,并不是特定与某个主机绑定
[*]接纳专用IP连接的网络称为专用互联网或本地互联网
[*]假造专用网VPN只是在利用结果上和专用网雷同
[*]一个假造专用网VPN内部至少要有一台路由器是能够合法的连接到互联网的,即要至少具有一个合法的环球IP地址
[*]所有通过互联网传输的数据都必须加密

[*] 2、网络地址转换NAT

[*]NAT主要实现的是网络地址和端口号之间的转换
[*]NAT的利用使得能够在专用网络内部利用专用IP地址,而在链接到互联网的路由器利用环球IP地址,能够实现IP地址资源的节省


[*] 八、多协议标签转换MPLS和软件界说网络SDN

[*] 1、多协议标签转换MPLS

[*]MPLS的特点

[*]支持面向连接的服务
[*]支持流量工程,网络负载均衡
[*]支持有效的利用假造专用网VPN

[*]MPLS会在入口节点给每一个IP数据报打上固定长度的标签,然后根据标签在数据链路层用硬件举行转发

[*] 2、软件界说网络SDN

[*]SDN控制器有三个条理

[*]通信层(与数据层面对接的接口称为南向接口)
[*]状态管理层
[*]到网络控制应用程序层的接口(与应用对接的接口称为北向接口)

[*]SDN体系的四个特征

[*]基于流的转发
[*]数据层面与控制层面分离
[*]位于数据层面互换机之外的网络控制功能
[*]可编程的网络




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【计算机网络】个人学习条记——第四章 网络层:CIDR编址&IP地址&子网掩码