计算机网络网络层(期末、考研)

计算机网络总复习链接🔗

目录

  • 路由算法
    • 静态路由与动态路由
    • 距离-向量算法
    • 链路状态路由算法
    • 层次路由
  • IPv4(这个必考)
    • IPv4分组
    • IPv4地址与NAT
    • 子网划分与子网掩码、CIDR
    • ARP、DHCP与ICMP
      • 地址解析协议ARP
      • 动态主机配置协议DHCP
  • IPv6
    • IPv6特点
  • 路由协议(必考)
    • 域内路由与域间路由
    • 路由信息协议(Routing Information Protocol,RIP)
      • RIP的特点:
      • 距离向量算法:
      • RIP的缺点如下:
    • 开放最短路径优先(OSPF)协议
    • 边界网关协议(BGP)
  • IP组播
    • 组播的概念
    • IGMP与组播路由算法
  • 移动IP
    • 移动IP通信过程
  • 网络层设备
    • 路由器
    • 路由表与路由转发

路由算法

静态路由与动态路由

距离-向量算法

链路状态路由算法

层次路由

IPv4(这个必考)

IPv4分组

IPv4地址与NAT

子网划分与子网掩码、CIDR

ARP、DHCP与ICMP

地址解析协议ARP

  • ARP协议用来完成IP地址到MAC地址的映射。
  • ARP工作在网络层,工作原理如下:
  • A欲向B发送IP数据报,先在其ARP高速缓存中查看有无主机B的IP地址。有则将此硬件地址写入MAC帧,然后通过局域网将MAC帧发往此硬件地址。没有则通过使用目的地址为FF-FF-FF-FF-FF-FF的MAC帧来封装并广播ARP请求分组,使用同一个局域网里的所有主机都收到此ARP请求。主机B收到该ARP请求后向A发送一个ARP响应分组(单播发送),分组中包含主机B的IP与MAC地址的映射关系,主机A收到ARP响应分组就将此映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧。ARP由于“看到了”IP地址所以它工作在网络层,而NAT路由器由于“看到了”端口,所以它工作在传输层。
  • ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做,尽管ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的网络。
  • 从IP地址到硬件地址的解析是自动进行的,主机的用户并不知道这种地址解析过程。只要主机或路由器和本网络的另一个已知IP地址的主机或路由器进行通信,ARP就会自动地将这个IP地址解析为数据链路层所需要的硬件地址。

动态主机配置协议DHCP

  • 用于给主机动态地分配IP地址,它提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手动参与。DHCP是应用层协议,它是基于UDP的。
  • DHCP的工作原理是客户/服务器模式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才可以回复此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文称为提供报文。
  • DHCP服务器和DHCP客户端的交换过程如下:
    1. DHCP客户机广播“DHCP发现”消息,试图找到DHCP服务器
    2. 收到后广播DHCP提供
    3. 收到DHCP提供后接受IP地址,广播DHCP请求
    4. DHCP广播确认

IPv6

IPv6特点

路由协议(必考)

自治系统:单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。

域内路由与域间路由

  1. 内部网关协议(Interior Gateway Protocol,IGP)
    内部网关协议即在一个自治系统内部使用的路由选择协议,它与互联网中其他自治系统使用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和OSPF。
  2. 外部网关协议(External Gateway Protocol,EGP)
    若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时(两个自治系统可能使用不同的IGP),就需要使用一种协议将路由选择信息传递到另一个自治系统中。如BGP-4。
    自治系统和内部网关协议、外部网关协议

路由信息协议(Routing Information Protocol,RIP)

RIP是一种分布式的基于距离向量的路由选择协议。

  1. 网络中每个路由器都要维护从它自身到其他每个目的网络的距离记录(距离向量)。
  2. 距离也称跳数(Hop Count),规定从一个路由器到直接连接的距离为1,每经过一个路由器距离加1。
  3. RIP认为好的路由就是通过的路由器的数量少,即优先选择跳数少的路径。
  4. RIP允许一条路径最多只能包含15个路由器。因此距离等于16时,表示网络不可达。可见RIP只适用于小型互联网。距离向量可能会出现环路的情况,规定路径上最高跳数的目的是为了防止数据报不断循环在环路上,减少网络拥塞的可能性。
  5. RIP默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息,以便自动建立并维护路由表(动态维护)。
  6. 在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同。但在新的RIP2中,支持变长子网掩码和CIDR。

RIP的特点:

  1. 仅和相邻路由器交换信息。
  2. 路由器交换的信息是当前路由器知道的全部信息,即自己的路由表。
  3. 按固定的时间间隔交换路由信息,如每隔30秒。通过每隔30秒的RIP广播,相邻两个路由器互相将自己的路由表发给对方。
  4. RIP是应用层协议,它使用UDP传送数据。RIP选择的路径不一定是时间最短的,但一定是具有最少路由器的路径。因为它是根据最少跳数进行路由选择的。

距离向量算法:

每个路由器表项都有三个关键数据:<目的网络N,距离d,下一跳路由器地址X>。对于每个相邻路由器发送过来的RIP报文执行如下步骤:

  1. 对地址为X的相邻路由器发送来的RIP报文,先修改此报文中的所有项目:把“下一跳”的地址都改为X并把“距离”都加1。
  2. 对修改后的RIP报文的每个项目,执行如下步骤:
    ①当原来的路由表中没有网络N时,把该项目添加到路由表中。
    ②当原来的路由表中有网络N时,且下一跳路由器地址是X,用收到的新的项目替换原路由表中的旧项目。
    ③当原来的路由表中有目的网络N时,且下一跳路由器地址不是X时,如果收到的项目中的距离d小于路由表中的距离,那么就用收到的项目替换原项目,否则什么也不做。
  3. 如果180秒(RIP默认超时时间为180秒)还没收到相邻路由器更新路由表,那么把此相邻路由表记为不可达路由器,即把距离设置为16。

RIP的缺点如下:

  1. RIP限制了网络的规模,它能使用的最大距离为15。
  2. 路由器之间交换的是路由器中的完整路由表,因此网络规模越大,开销也越大。
  3. 网络出现故障时,会出现慢收敛现象(即需要较长时间才能将此信息传送到所有路由器),俗称“坏消息传得慢”,使更新过程的收敛时间长。

开放最短路径优先(OSPF)协议

  • 和RIP相比有以下4点主要区别:

    1. OSPF向本自治系统中的所有路由发送消息,这里使用的是洪泛法,RIP只向自己相邻的几个路由器发送消息。
    2. 发送的消息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“路由状态”说明本路由器和那些路由器相邻及该链路的“度量”(或代价)。而在RIP中,发送的信息是本路由器所知道的全部信息,即整个路由表。
    3. 只有当前链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛快,不会出现RIP“坏消息传的慢”的问题。而在RIP中不管网络拓扑是否发生变化,路由器之间都会定期交换路由表的信息。
    4. OSPF协议是网络层协议,它不使用UDP或TCP,而直接用IP数据报传送(其IP数据报首部的协议字段为89),而RIP是应用层协议,它在传输层使用UDP。
  • 除了以上的区别外,OSPF还有以下特点:

    1. OSPF对不同的链路可以根据IP分组的不同服务类型而设置不同的代价。因此OSPF可以对不同的业务计算出不同的路由,十分灵活。
    2. 如果同一个目的网络有多条代价相同的路径,那么可以将通信量分配给这几条路径。这称为多路径间的负载平衡。
    3. 所有在OSPF路由器之间交换的分组都具有鉴别能力,因而保证了仅在可信赖的路由器之间交换链路状态信息。
    4. 支持可变长度的子网划分和无分类编址CIDR。
    5. 最后所有路由器都能建立一个链路状态数据库,即全网拓扑图。
    6. OSPF使用Dijkstra最短路径算法计算到各目的网络的最优路径,以此构建自己的路由表。虽然使用Dijkstra算法能计算出完整的最优路径,但路由表中不会存储完整路径,而只存储“下一条”(到了下一跳就知道再下一跳怎么走)。
    7. 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,称为区域。划分区域的好处是,将利用洪泛法交换链路状态信息的范围局限于每个区域而非整个自治系统,减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。这些区域也有层次之分。处在上层的域称为主干区域,负责连通其他下层的区域,并且还连接其他自治域。每一个区域有一个32位的区域识别符(点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200个。
  • OSPF的五种分组类型

    1. 问候分组:用来发现和维护邻站的可达性。
    2. 数据库描述分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息。
    3. 链路状态请求分组:向对方请求发送某些链路状态项目的详细信息。
    4. 链路状态更新分组:用洪泛法对全网更新链路状态。
    5. 链路状态确认分组:对链路更新分组的确认。
    • 通常每隔10秒,每两个相邻路由器要交换一次问候分组,以便知道哪些站可达。在路由器刚开始工作时,OSPF让每个路由器使用数据库描述分组和相邻路由器交换本数据库已有的链路状态摘要信息。然后路由器使用链路状态请求分组,向对方请求发送自己缺少的某些链路状态的详细信息。经过一系列的这种分组交换,就建立了全网同步的链路数据库。
    • 在网络运行的过程中,只要一个路由器的链路状态发生变化,该路由器就要使用链路状态更新分组,用洪泛法向全网更新链路状态。其他路由器在更新后,发送链路状态确认分组对更新分组进行确认。

边界网关协议(BGP)

  • 是不同自治系统路由器之间交换路由信息的协议,是一种外部网关协议。边界网关协议常用于互联网的网管之间。
  • BGP的工作原理:每个自治系统的管理员要选择至少一个路由器作为自治系统的“BGP发言人”。一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。当所有的BGP发言人都相互交换网络可达性信息后,各BGP发言人就可以找出到达各个自治系统的较好路由。
  • 每个BGP发言人除了必须运行BGP以外,还必须运行该AS所用的内部网关协议,如OSPF或RIP。
  • BGP有四种报文
    1. 打开报文:用来与相邻的另一个BGP发言人建立关系。
    2. 更新报文:用来发送某一路由的信息,以及列出要撤销的多条路由。
    3. 保活报文:用来确认打开报文并周期性地证实邻站关系。369
    4. 通知报文:用来发送检测到的差错。
协议RIPOSPFBGP
类型内部内部外部
路由算法距离向量链路状态路径-向量
传递协议UDPIPTCP
路径选择跳数最少代价最低较好,非最佳
交换结点和本结点相邻的路由器网络中所有的路由器和本结点相邻的路由器
交换内容当前本路由器知道的全部信息,即自己的路由表与本路由器相邻的所有路由器的链路状态首次:整个路由表非首次:有变化的部分

IP组播

组播的概念

IGMP与组播路由算法

移动IP

移动IP通信过程

网络层设备

路由器

路由表与路由转发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/252760.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

山西电力市场日前价格预测【2023-12-16】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-16&#xff09;山西电力市场全天平均日前电价为259.00元/MWh。其中&#xff0c;最高日前电价为333.74元/MWh&#xff0c;预计出现在18:00。最低日前电价为0.00元/MWh&#xff0c;预计出…

alibaba druid连接池

alibaba druid连接池 如果是SpringBoot 3.x&#xff0c;使用以下依赖 com.alibaba druid-spring-boot-3-starter ${druid-spring-boot-starter.version} application.yml配置 登录页面配置 切面监控springboot类 对 Web 请求的监控 配置filter&#xff0c;收集统计信息&#x…

深度剖析JavaScript中冒泡和捕获机制、事件代理

JS事件传播的两种机制包括冒泡和捕获&#xff0c;下面将具体剖析它们之间本质的区别。 事件冒泡: 先触发子元素的事件&#xff0c;再触发父元素的事件。 创建一个 ul label 和 li label, 分别绑定一个父id 和 子 id, 再通过创建 script&#xff0c;去绑定各自的点击事件。 <…

【C++】封装:练习案例-设计立方体类

练习案例&#xff1a;设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 思路&#xff1a; 1&#xff09;创建立方体类 2&#xff09;设计属性 长&#xff0c;高&#xff0c;宽 3&#xff09;设计行为 获取立方…

配置 vim 默认显示行号 行数 :set number

vi ~/.vimrc 最后添加一行 :set number保存退出&#xff0c;再次 vim 打开文件&#xff0c;默认就会显示行号了

SpringBoot - application.yml 多环境切换解决方案

问题描述 这个问题玩过 SpringCloud 的小伙伴估计会想到用 bootstrap.yml 来解决这个问题。但是如果说为了解决这个问题引入了一堆的 SpringCloud Jar&#xff0c;就感觉杀鸡用牛刀。 于是今天我们想只有 application.yml 自己就可以解决这个问题&#xff0c;如何搞定&#x…

vue中2种取值的方式

1.url是这种方式的&#xff1a;http://localhost:3000/user/1 取得参数的方式为&#xff1a;this.$route.params.id 2.url为get方式用&#xff1f;拼接参数的&#xff1a;http://localhost:3000/user?phone131121123&companyId2ahttp://localhost:3000/ 取得参数值的方式…

linux脚本中 #!/bin/sh、#!/bin/bash

我们通常看到的脚本文件总是有以下这样的开头&#xff1a; #!/bin/bash本文解释一下这是什么&#xff0c;以及为什么要写它。 首先解释一下 #! &#xff0c;因为 #!有个专有的名词&#xff0c;叫 shebang 发音类似中文的 “蛇棒” 。为什么叫 shebang 呢&#xff1f; 首先 #…

连锁管理系统是什么?有哪些功能?

连锁管理系统帮助门店实现POS收银管理、门店管理、采购订货管理、线上商城搭建、供应链管理一体化管理系统&#xff0c;快速提高门店管理效率&#xff0c;无论你的门店有多少&#xff0c;连锁总部都能通过系统随时洞察监管门店的所有运营数据。 连锁管理系统由&#xff1a;1个…

Web安全漏洞分析—文件包含

在当今数字化时代&#xff0c;随着Web应用程序的广泛应用&#xff0c;网络安全问题愈加凸显。其中&#xff0c;文件包含漏洞作为一种常见但危险的安全隐患&#xff0c;为恶意攻击者提供了可乘之机。在这篇博客中&#xff0c;我们将深入探讨文件包含漏洞的本质、攻击手法以及应对…

visio打出根号,下标,并调整符号的大小

插入公式对象 打出根号和带下标的字母 调整符号大小 把做好的公式符号弄到visio中的图中 ctrla 复制符号 进入visio中粘贴 并 调整大小 调整大小直接拖动边框上的圆点即可。

【数据结构】八大排序之希尔排序算法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 一.优化直接插入排序算法 我们在之前对直接插入排序算法的优化部分通过对直接插入排序的分析可以得到一个结论,即: 进行直接插入排序的数组,如果越接近局部有序,则后续进行直…

软件设计师——计算机组成原理(三)

&#x1f4d1;前言 本文主要是【计算机组成原理】——软件设计师——计算机组成原理的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

计算机网络:运输层

0 本节主要内容 问题描述 解决思路 1 问题描述 1.1 知识回顾 利用如下拓扑对前面的知识进行回顾。 图1 拓扑图 问题&#xff1a;源主机 H 1 \textrm{H}_1 H1​要和目的主机 H 2 \textrm{H}_2 H2​进行通信&#xff0c;源主机 H 1 \textrm{H}_1 H1​要构建数据包封装来自应…

SQL进阶理论篇(九):为什么不存在完美的索引

文章目录 简介索引片和过滤因子如何通过宽表避免回表什么是过滤因子理想索引设计&#xff1a;三星索引为什么很难存在理想的索引设计&#xff1f;参考文献 简介 本节将主要介绍以下部分&#xff1a; 什么是索引片&#xff0c;什么是过滤因子&#xff1f;设计索引的时候&#…

1847_MOSFET预驱以及作用

Grey 全部学习内容汇总&#xff1a;GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1847_MOSFET预驱以及作用 MO…

5分钟部署你的第一个K8S应用

查看k8s集群信息 kubectl cluster-info查看节点信息 kubectl get node查看内部组件 kubectl get pod -A部署第一个K8S应用-Nginx&#xff0c;并通过公网ip访问 创建deployment&#xff08;Pod控制器的一种, 直接删除pod后&#xff0c;会自动创建新的&#xff0c;需要删除de…

黑马头条--day02.文章列表查看

目录 一.分表 1.导入数据库sql脚本 2.导入实体类 3.分表规则 二.文章列表接口 (1)思路 2)接口定义 3)功能实现 1.1)&#xff1a;导入heima-leadnews-article微服务&#xff0c;资料在当天的文件夹中 1.2)&#xff1a;定义接口 1.3)&#xff1a;编写mapper文件 1.4)&…

Support Vector Machine(SVM)——支持向量机

1.从逻辑回归到SVM 回顾一下逻辑回归的模型 然后经过sigmoid函数得到预测y1的概率&#xff0c;sigmoid函数如下图 对于单个样本来说损失函数如下 当一个输入的真实标签为1时&#xff0c;损失函数就只剩&#xff0c;如左图所示,我们想要让&#xff0c;来使损失函数尽可能的小 对…