计算机网络——网络层

注:本博客是基于谢希仁的《计算机网络》第七版编写,主要是为了自己考研,准备专业课

考点归纳:
在这里插入图片描述

网络层

功能:网络互连、路由选择、拥塞控制,负责为分组交换网上的不同主机提供通信服务

1.网络层提供的两种服务

  1. 网络层提供服务的特点:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,不保证可靠通信

    尽最大努力交付指:不保证无差错交付、分组不丢失、按序到达、分组不重复

  2. 虚电路和数据报服务之间的区别和联系:
    在这里插入图片描述
    在这里插入图片描述

2.网际协议IP(协议数据单元:IP数据报)

与IP配套使用的三个协议:

  1. 地址解析协议ARP
  2. 网际控制报文协议ICMP
  3. 网际组管理协议IGMP

在这里插入图片描述
2.1.虚拟互连网络:

虚拟互联网络:逻辑互连的网络,可以由多种异构网络互连组成,在网络层上看起来像一个统一的网络
在这里插入图片描述

中间设备:用来将网络互相连接

  1. 物理层的中间设备:转发器(repeater)。仅是把一个网络扩大,并未进行网络互联

  2. 数据链路层的中间设备:网桥(bridge)。 作用同上

  3. 网络层的中间设备:路由器(router)。一台专用计算机,用来在互联网中进行路由选择,存储转发分组

  4. 网络层以上的中间设备:网关(gateway) 。用网关连接两个不兼容的系统需要在高层进行协议转换

2.2.分类的IP地址

IP地址的编址方法:

  1. 分类的IP地址:最基本的编址方法

  2. 子网的划分:对最基本编址方法的改进

  3. 构成超网:比较新的无分类编址方法

分类的IP地址

将IP地址划分为若干个固定类,每一类地址都由网络号(net-id)和主机号(host-id)构成,每一个IP地址在整个互联网范围内是唯一的
在这里插入图片描述
A、B、C类地址都是单播地址;D类地址用于多播

IP地址的记法:点分十进制记法

常用的三类IP地址:

  1. A类:

    1. 最大可指派网络数:126(2^7-2) 8位除去1个固定位剩7位,减2因为要除去全0和全1位

    2. 第一个可指派的网络号:1

    3. 最后一个可指派的网络号:126

    4. 每个网络中最大主机数:16777214(2^24-2(全0+全1))

  2. B类:

    1. 最大可指派网络数:16383(2^14-1) 16位除去2个固定位,减1因为有两个固定位为10,所以不存在全0或全1,但规定128.0.0.0不使用,故减去
    2. 第一个可指派的网络号:128.1
    3. 最后一个可指派的网络号:191.255
    4. 每个网络中最大主机数:65534(2^16-2)
  3. C类:

    1. 最大可指派网络数:2097151(2^21-1) 24位除去3个固定位,减1同B类,192.0.0.0规定不使用

    2. 第一个可指派的网络号:192.0.1

    3. 最后一个可指派的网络号:223.255.255

    4. 每个网络中最大主机数:254(2^8-2)

IP地址的指派范围: (三类IP地址的全0、全1主机号均不用,故均-2)
在这里插入图片描述
网络上的IP地址:

  1. 同一局域网上的各IP地址的网络号都是相同的

  2. 用转发器/网桥互连的网段仍是一个局域网,因只有一个网络号

  3. 所有分配到网络号的网络都是平等的

2.3.IP地址与硬件地址

  1. 两者区别(考点):从层次看,硬件地址或物理地址是数据链路层和物理层使用的地址,由48bit组成;IP地址是网络层和以上各层使用的地址,是一种逻辑地址,由32bit组成

    ⚠️在数据链路层看不见IP数据报的IP地址(因IP数据报是MAC帧的数据部分)

  2. 为什么使用IP地址和硬件地址?

    因全世界存在着各式各样的网络,它们使用不同的硬件地址,若只使用硬件地址,则需要进行复杂的硬件地址转换工作;而使用IP地址后,使得通信双方像连接在同一个网络上简单方便
    在这里插入图片描述

2.4.地址解析协议ARP

解决问题:主机或路由器怎么知道应当在MAC帧的首部填入什么样的硬件地址?

   ARP:  IP地址    —>    硬件地址
   RARP: 硬件地址   —>   IP地址
  1. IP地址与MAC地址:源IP地址和目的IP地址始终不变;而源MAC地址和目的MAC地址在每条链路上都要变化 在这里插入图片描述

  2. 作用:解决同一局域网上的主机或路由器的IP地址与硬件地址的映射问题

  3. 工作方式:每个主机里都设有一个ARP高速缓存,里面有所在局域网上各主机和路由器的IP地址到硬件地址的映射表,且这个映射表经常动态更新

  4. 工作流程(考点):当主机A向局域网上某个主机B发送IP数据报时,先在ARP高速缓存中查看有无主机B的IP地址,若有,就可查出对应的硬件地址,反之,执行ARP请求分组:

    1. ARP请求分组(广播):在局域网广播一个ARP请求分组,包含发送方硬件地址,发送方IP地址,目的方硬件地址(未知时填0),目的方IP地址

    2. 在本局域网上的所有主机上运行的ARP进程都将收到此ARP请求分组(本地广播ARP请求,路由器不转发ARP请求)

    3. ARP响应分组(单播):某主机收到ARP请求分组后,发现本机IP与查询IP一致,就回复ARP响应分组(发送自己IP地址与硬件地址,还包含发送方硬件地址,发送方IP地址),同时将请求分组中IP与硬件地址对应关系保存,方便下次使用

    4. 收到回复的ARP响应分组后,将对应IP和硬件地址存入ARP高速缓存中,方便下次使用

    在这里插入图片描述

  5. 生存时间:ARP高速缓存中每条映射都只存在一段时间,超过时间后就被删除

  6. 特点:

    1. ARP协议只解决同一局域网上IP地址和硬件地址映射问题,不在同一局域网则无法解决

    2. ARP工作过程对用户来说是透明的

四种使用ARP的典型情况:(了解)

在这里插入图片描述

  1. 发送方是主机,要把IP数据报发送到本网络上的一个主机,这时ARP找到目的主机的硬件地址

  2. 发送方是主机,要把IP数据报发送到另一个网络上的一个主机,这时ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成

  3. 发送方是路由器,要把IP数据报发送到本网络上的一个主机,这时ARP找到目的主机的硬件地址

  4. 发送方是路由器,要把IP数据报发送到另一个网络上的主机,这时ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成

几种不需要使用ARP的典型情况:(考点)

  1. 在源主机的ARP高速缓存中已经含有目的IP地址项目
  2. 源主机发送广播分组
  3. 源主机和目的主机使用点对点通信链路

2.5.IP数据报格式
在这里插入图片描述

首部各字段含义:

  1. 版本:占4位,说明该IP数据报使用的IP协议的版本,通信双方必须使用同一个IP协议版本

  2. 首部长度:占4位,长度20~60字节,因为IPv4中首部存在可变部分,所以需要指出首部的长度以划分首部与数据部分;以4字节为单位,不是4的整倍数时要填充至整倍数

  3. 区分服务:占8位,只在区分服务时才起作用,一般不用

  4. 总长度:占16位,说明该IP数据报的总长度(首部+数据)。IP数据报封装为MAC帧时受限于MAC帧的MTU(46-1500字节),所以IP数据报还存在“分片”操作—将IP数据报分为多片,封装进多个MAC帧。IP数据报最大长度2^16-1=65535字节

  5. 标识:占16位,IP数据报若存在分片,则接收方需要将各分片组合出原IP数据报,相同标识号的IP数据报就说明它们其实是同一个源IP数据报。

  6. 标志:占3位,目前只有前两位有意义,最低位为MF(More Fragment),若MF=1则说明该数据报后面“还有分片”。中间一位为DF(Don’t Fragment),若DF=1则不能分片,只有DF=0才可以分片

  7. 片偏移offset:占13位,用于说明该IP数据报(已分片)在源IP数据报中的相对位置(相对于数据字段的起点,该片从何处开始),单位是8字节,每个分片一定是8字节的整倍数

  8. 生存时间TTL:限制IP数据报在计算机网络中生存的时间,最大跳数为255

  9. 协议:说明该IP数据报的上层协议类型
    在这里插入图片描述

  10. 首部校验和:验证首部是否存在传输错误,只检验首部,不包括数据部分(减小开销)

  11. 源地址

  12. 目的地址

  13. 可变部分:长度为1~40字节,IP地址中的可变部分可用于支持很多操作,但很多情况都用不上,而且会增加路由器处理分组的开销,所以IPv6中的数据报首部做成了固定长度

首部校验和示例参考: 二进制反码求和

2.6.IP层转发分组的流程

每个路由器路由表表项数:每有一个网络就要有一个路由表项,接口所在网络为直连网络,直接交付

默认路由:可以减少路由表所占用的空间和搜索路由表所用的时间,将不在路由表中的网络都连向默认路由

路由表:只有目标网络和对应的下一跳地址,并不储存到某个网络的完整路径
在这里插入图片描述

分组转发算法:

  1. 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
  2. 若N就是与此路由器直接相连的某个网络地址,则进行直接交付,否则就要执行(3)进行间接交付
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(4)
  4. 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(5)
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(6)
  6. 报告转发分组出错

3.划分子网和构造超网

3.1.划分子网

两级IP地址的问题:(了解)

  1. IP地址空间利用率有时很低

  2. 给每个物理网络分配一个网络号会使路由表变得很大,因而使网络性能变坏

  3. 两级IP地址不够灵活

基本思路:借用主机号若干位作为子网号;划分子网后的IP地址 ::= {<网络号>,<子网号>,<主机号>}

⚠️划分子网是对于一个网络内部而言的,对外部网络仍表现为一个网络
在这里插入图片描述

子网掩码:

作用:用来找出IP地址中的子网部分,长度为32位,原IP中网络号和子网部分置为1,主机号部分置为0,如下图所示
在这里插入图片描述

默认子网掩码:在不进行子网划分时,也要给出子网掩码,就用默认子网掩码
在这里插入图片描述

子网数:2^k-2,k表示子网号的位数,减去全0和全1,就是可用子网数(虽然现在全0和全1地址也可以使用,但不推荐)

子网划分方法:

  1. 固定长度划分:所划分的所有子网的子网掩码都是相同的,取所用最大的主机数进行划分

  2. 变长划分:根据需求灵活划分

3.2.使用子网时的分组转发:

子网划分后的路由表:包含目的网络地址、子网掩码、下一跳地址

子网划分后的路由转发分组算法:

  1. 从收到的数据包首部提取出目的IP地址
  2. 将此地址与路由表中的子网掩码部分作操作
  3. 比较结果是否与相应的目的网络地址相同
  4. 如果相同,则选择相应的下一跳,否则继续进行下一行的比较

3.3.无分类编址CIDR(构造超网):

概述:无分类域间路由选择,一种新型地址分类方法,消除了传统的A,B,C类地址和划分子网的概念,重新将IP地址划分为两个部分,即:“网络前缀”和“主机号”

⚠️指网络前缀不再有位数的限制,即没有A,B,C类之分

CIDR的主要特点:

  1. 消除了传统A、B、C类地址及划分子网的概念,重新将IP地址划分为两个部分即,”网络前缀”和”主机号”
  2. 把网络前缀相同的连续IP地址组成一个CIDR地址块,只要知道任一个地址,就可以知道这个地址块的起始地址和最大地址以及地址数

格式:使用网络前缀代替网络号和子网号,使IP地址变回两级格式

斜线表示法:/24表示子网掩码前24位为1,即网络前缀的位数

CIDR地址块:把网络前缀都相同的连续IP地址组成CIDR地址块

路由聚合:一个CIDR地址块能表示很多地址,这种地址的聚合称为路由聚合,也称为构成超网
在这里插入图片描述

CIDR地址块的分配:
在这里插入图片描述

  1. 该ISP由64个C类地址,若不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要由64个项目,采用地址聚合后,只需用路由聚合后的一个项目206.0.64.0/18就能找到该ISP
  2. 该大学需要800的主机地址,因2^10-2>800,所以主机位应取10位,前22位作为网络前缀,由于子网全0默认不可用,故从206.0.68.0/22开始

最长前缀匹配:

  1. 用收到的目的地址与路由表中的每条掩码依次相与,取最长前缀匹配项的地址作为下一跳

  2. 因为前缀越长,其地址块就越小,因而路由就越具体

4.网际控制报文协议ICMP

作用:ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

报文格式:
在这里插入图片描述
4.1.ICMP报文种类

报文类型:差错报告报文,询问报文
在这里插入图片描述

ICMP差错报告报文封装过程:
在这里插入图片描述
⚠️此处加上数据部分的前8个字节是为了得到运输层的端口号

常用的ICMP询问报文:

  1. 回送请求和回答:

    ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问,这种询问报文用来测试目的站是否可达以及了解其状态

  2. 时间戳请求和回答:

    ICMP时间戳请求报文是请某台主机或路由器回答当前的日期和时间,用于时钟同步和时间测量

4.2.ICMP的应用:

  1. 分组网间探测PING(Packet InterNet Groper):用于探测两台主机间是否连通

  2. 路由探测(traceroute): 用来跟踪一个分组从源点到终点的路径,路由器通过路由探测,可以知道其周围全部路由的信息

5.互联网的路由选择协议

回答问题:路由器中的路由表是如何得出的?

  1. 路由选择协议基本概念

    1. 静态路由选择和动态路由选择

      1. 静态路由:人工配置每一条路由,不能及时适应网络状态的变化,适用于简单的小型网络
      2. 动态路由:自适应进行路由选择,能较好地适应网络状态的变化,适用于较复杂的大型网络
    2. 分层次的路由选择协议:
      将整个互联网划分为多个较小的AS,进行分层次的路由选择

    3. 自治系统AS(Autonomous system)
      一个有权自主地决定在本系统中应采用何种路由协议的小型单位,在AS内部使用内部网关协议,AS之间使用外部网关协议

  2. 路由选择协议分类:
    在这里插入图片描述

    1. 内部网关协议IGP:在一个自治系统内部使用。如RIP、OSPF协议

    2. 外部网关协议EGP:在不同自治系统之间使用。如BGP协议

      ⚠️AS之间的路由选择也叫域间路由选择,而AS内部的路由选择也叫域内路由选择

    在这里插入图片描述

5.2.内部网关协议—RIP(路由信息协议)

  1. 概述:一种分布式,基于距离的路由选择协议

  2. 距离:直连网络距离为1,每过一个非直连网络距离加1,距离也称为跳数,每经过一个路由器跳数就加1,距离实际上指最短距离

    RIP允许一个路径最多包含15个路由器,也就是距离最大值为16,故RIP适合小型互联网使用;RIP不能在两个网络之间同时使用多条路由(只选择“距离”最短的路径)

  3. 工作流程:每个路由器每隔一段时间向外广播,每个路由器收到广播后更新自己的路由表

  4. RIP协议的特点:(考点)

    1. 仅和相邻路由器交换信息,不相邻的路由器不交换信息

    2. 交换的信息是当前本路由器现在的路由表

    3. 按固定时间间隔交换信息

  5. 距离向量算法:

    1. 路由器收到地址为X的相邻路由器的一个RIP报文,修改报文中所有项目,把下一跳地址改为X,把距离字段值都+1

    2. 对修改后的RIP报文中的每个项目重复以下步骤

      1. 若项目中目的地址不在路由表中,则加入路由表;

      2. 若下一跳给出的路由器地址与RIP报文传来地址相同,则用收到的项目替换原路由表中的项目(即更新,即使距离可能增大)

      3. 若收到项目中的距离小于路由表中的距离,进行更新

      4. 若超过3分钟未收到相邻路由信息,则将其标记为不可达,即把距离置为16

      5. 返回

  6. RIP协议报文格式:
    在这里插入图片描述
    ⚠️********************

    1. RIP协议使用运输层的用户数据报UDP进行传送

    2. RIP报文最大长度:4+20*25=504字节

    3. RIP存在的问题:当网络出现故障时,要经过较长时间才能将此信息传送到所有路由器

    4. RIP协议特点:好消息传播快,坏消息传播的慢

5.3 内部网关协议—OSPF(开放最短路径协议):

  1. 主要特征:使用分布式的链路状态协议,而不像RIP使用距离向量协议

  2. OSPF的要点:

    1. 向本自治系统中所有路由器发送信息。使用洪泛法

    2. 发送信息:与本路由器相邻的所有路由器的链路状态,即说明与哪些路由器相邻,以及该链路的“代价”

      ⚠️RIP协议是发送“到所有网络的距离和下一跳路由器”

    3. 只有当链路状态发生变化时,才使用洪泛法发生信息;不是定期更新

  3. 链路状态数据库:全网的拓扑结构图,能较快的更新,收敛较快

  4. OSPF的区域:
    在这里插入图片描述

    为使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干各更小的范围,叫做区域;必须要有一个主干区域,其它区域一般都和主干区域直接相连;

    优点:使用泛洪法交换链路信息时,仅在一个区域内而不是整个自治系统中,这减小了整个网络上的通信量

  5. OSPF报文: 在这里插入图片描述

OSPF报文的5种分组类型:(了解)

  1. 类型1:问候分组;

  2. 类型2:数据库描述分组;

  3. 类型3:链路状态请求分组;

  4. 类型4:链路状态更新分组,用泛洪法对全网更新链路状态;

  5. 类型5:链路状态确认分组

5.4.外部网关协议EGP—BGP协议

BGP协议的作用:寻找一条能够到达目的网络且比较好的路由,不一定是最佳路由,采用路径向量路由选择协议

6.IPv6

  1. 主要变化:(相比于IPv4)
    1. 采用更大的地址空间 128位
    2. 拓展的地址层次结构 子网划分更大
    3. 首部长度固定 40B
      但允许在数据部分增加扩展首部
    4. 支持即插即用,自动配置
  2. 实现 IPv4 到 IPv6 过渡:双协议栈技术、隧道技术

7.虚拟专用网VPN和网络地址转换NAT

  1. 虚拟专用网VPN(Virtual Private Network):

    1. 作用:用于机构内部的通信,而不是用于和网络外非本机构的主机通信,但没有真正使用通信专线,VPN只是在效果上和真正的专用网一样
    2. 远程接入VPN:可以满足外部流动员工访问公司网络的需求
    3. 实现技术:隧道技术、加密技术
  2. 网络地址转换NAT(Network Address Translation ):

    要在路由器上安装NAT软件,装有NAT软件的路由器称为NAT路由器,它至少有一个有效的外部全球IP地址,使得所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换为全球IP地址,才能和互联网连接

    作用:实现专用网中的主机A与互联网上的主机B进行通信

    网络转换的工作过程/工作原理

    1. 离开专用网时:专用网中的主机A将IP数据报(目的地址为B的IP地址)发送给NAT路由器,NAT路由器将此IP数据报中的源IP地址替换为本机全球唯一的IP地址,再将此新的IP数据报发送给主机B

    2. 进入专用网时:主机B接收到此新的IP数据报后,进行回复,将回复消息发送给NAT路由器(即目的地址为其全球唯一IP地址),NAT路由器接收到回复消息后,通过NAT地址转换表,把IP数据报中的旧的目的地址,转换为主机A的IP地址,最后将消息发送给主机A

    ⚠️通过NAT路由器的通信必须由专用网内的主机发起,因外部主机并不知道内部主机的IP地址,无法发起通信


1、虚拟专用网VPN工作原理
在这里插入图片描述

 ①主机A建立分组,将其IP地址作为源地址,将主机B的IP地址作为目的地址,将分组发送到VPN设备1,通常是网关
 ②分组到达VPN设备1,VPN设备1在分组中增加新头部;在此分组中,将分组的源IP地址写为自己的IP地址V1,目的地址写为对等VPN设备2的IP地址V2,然后发送
 ③分组通过Internet到达VPN设备2,VPN设备2能够识别新增的头部,对其进行拆除,从而得到第1步由主机A生成的原分组,再根据分组的IP地址信息,进行正常的转发

2、路由转发的基本过程

   从数据包中提取出目的IP地址,将此地址与路由表中的子网掩码部分作与操作,比较结果是否与相应的目的地址相同,
   如果相同,则选择相应的下一跳,否则继续进行下一行的比较
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络网络层习题的答案如下: 1. 答:该IP地址所在的网络号为218.23.49.32,可分配的IP地址范围为218.23.49.33~218.23.49.62。 2. 答:将该网络号198.168.3.0划分成6个子网,可以采取以下方法: 198.168.3.0/20 198.168.3.64/20 198.168.3.128/20 198.168.3.192/20 198.168.3.224/20 198.168.3.256/20 每个子网中的主机地址范围如下: 198.168.3.0/20:198.168.3.1~198.168.3.63 198.168.3.64/20:198.168.3.65~198.168.3.127 198.168.3.128/20:198.168.3.129~198.168.3.191 198.168.3.192/20:198.168.3.193~198.168.3.255 198.168.3.224/20:198.168.3.256~198.168.3.319 198.168.3.256/20:198.168.3.320~198.168.3.-(填充) 其中,填充部分表示该子网中没有可用的主机地址。 3. 答:该单位有4000台机器,平均分布在16个不同地点。如选用子网掩码为255.255.255.0,可以分配给每个地点一个子网号。每个地点主机号的最小值和最大值可以通过以下公式计算得出: 最小值 = 2^n - 2,最大值 = 2^n - 2 + 2^(n-1) - 2,其中n为子网号位数。 根据上述公式,可以计算出每个地点主机号的最小值和最大值如下: 地点号码 n: 子网最小主机数(范围) 子网最大主机数(范围) 最小主机数(范围) 最大主机数(范围) 0 4 - 4 4000 4 4 4 4 4000 8 4 4 4 4000 4 4 4 4 4000 当n=4时,子网掩码为二进制数: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 将子网掩码转换为十进制后为: “****-****-****-****-****-****-****-****”,共有3个连续的“*”符号。 根据此规则,为每一个地点分配一个子网号。因此,第一个地点的子网号为第5个子网(子网号位为5,地址为57~~74)。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [计算机网络层——习题](https://blog.csdn.net/m0_63148076/article/details/131264940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [计算机网络——网络层课后习题答案](https://blog.csdn.net/weixin_46548255/article/details/124369187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值