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

计算机网络总复习链接🔗

目录

  • 路由算法
    • 静态路由与动态路由
    • 距离-向量算法
    • 链路状态路由算法
    • 层次路由
  • 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.mzph.cn/news/220896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android studio 创建按钮项目

1&#xff09;、新建一个empty activity项目&#xff0c;切换到project视图&#xff1a; 2&#xff09;、修改app\src\main\res\layout\activity_main.xml文件&#xff0c;修改后如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <andr…

html基础知识

1、文字阴影代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta http-eq…

Vue 工作开发小技巧

一、汇总 ​ 本博客&#xff0c;记录了一些Vue在日常开发工作中比较实用的小技巧&#xff0c;后续会陆续添加更新。 ​ 1、利用Sass的:global定义全局样式。 ​ 2、在<style>内部使用v-bind给CSS属性绑定属性值。 ​ 3、父子组件传值时&#xff0c;使用.sync修饰符后…

cgteamwork与shotgrid对比

最近有项目接触使用并二开cgteamwork&#xff0c; 也重新认识了cgteamwork&#xff0c;感受到国产软件的强大&#xff0c;国内中小CG公司的首选&#xff0c;原因&#xff1a; 1 上手容易&#xff0c;不会的有售前工程师教&#xff0c;他们全国各地城市到处跑。 感概业务的强大…

智能优化算法应用:基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.生物地理学算法4.实验参数设定5.算法…

Visual studio+Qt开发环境搭建以及注意事项和打开qt的.pro项目

下载qt-然后安装5.14.2_msvc2017 不知道安装那个就全选5.14.2的父级按钮 https://download.qt.io/archive/qt/5.14/5.14.2/ 安装Visual studio,下载直接下一步就行 配置Visual studio的qt环境 在线安装-重启Visual studio会自动安装 离线安装-关闭Visual studio点击安装 关闭…

桂电|《操作系统》实验一:UNIX/LINUX及其使用环境(实验报告)

桂林电子科技大学2023-2024学年 第 一 学期 操作系统A 实验报告 实验名称 实验一 UNIX/LINUX及其使用环境 实验指导老师&#xff1a; 成绩 院 系 计算机与信息安全学院 专业 计算机科学与技术(卓越工程) 学 号 姓名 课内序…

Spring Boot+FreeMarker=打造高效Web应用

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring BootFreeMarker的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一. FreeMarker是什么 二…

本地连锁门店经营可以借助系统实现哪些功能?

不少的连锁门店目前还是很基础的ERPPOS收银&#xff0c;其他的还是走传统的手工管理&#xff0c;大多连锁老板知道借助信息化系统可以帮助门店实现精细化管理&#xff0c;提高运营效率&#xff0c;降低成本&#xff0c;增强竞争力&#xff0c;但不知道怎么去做&#xff0c;能做…

每日汇评:黄金需要突破2050美元的供应区域才能延续复苏

周四早间&#xff0c;金价接近每盎司2,030美元&#xff0c;创下6天来的最高水平&#xff1b; 美联储确认鸽派政策转向&#xff0c;美元和美国国债收益率双双下挫&#xff1b; 英国央行和欧洲央行2023年的最终政策公告可能会进一步推高金价&#xff1b; 随着投资者重新评估美联储…

2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 C题 亚马逊野火 原题再现&#xff1a; 野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此&#xff0c;对这一现象进行建模&#xff0c;特别是对其空间发生和扩展进行建模&…

0x13 链表与邻接表

0x13 链表与邻接表 数组是一种支持随机访问&#xff0c;但不支持在任意位置插入和删除元素的数据结构。与之相对应&#xff0c;链表支持在任意位置插入或删除元素&#xff0c;但只能按顺序依次访问其中元素。我们可以使用一个struct来表示链表的节点&#xff0c;其中可以存储任…

《师兄啊师兄》第二季开播 李长寿渡劫归来扬名四海

看新国风&#xff0c;上优酷动漫&#xff01;由优酷出品&#xff0c;玄机科技制作&#xff0c;改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》&#xff08;作者&#xff1a;言归正传&#xff09;的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》于今日10:00正式回归。…

如何性能测试中进行业务验证?

在性能测试过程中&#xff0c;验证HTTP code和响应业务code码是比较基础的&#xff0c;但是在一些业务中&#xff0c;这些参数并不能保证接口正常响应了&#xff0c;很可能返回了错误信息&#xff0c;所以这个时候对接口进行业务验证就尤其重要。下面分享一个对某个资源进行业务…

Python多线程threading的使用方法

前言 有时候&#xff0c;我们在编写Python程序时&#xff0c;会遇到比较耗时的函数方法&#xff0c;我们的需求是等这个耗时的函数执行完毕之后&#xff0c;在执行后面的程序&#xff0c;这时候就需要用到多进程。 下面我们来举一个使用多进程threading的例子 例子 import t…

Unity | AVpro的最基础使用方法(视频播放插件)

一、 AVpro的使用方法 (一)准备播放器MediaPlayer 1. AVpro的播放器是MediaPlayer&#xff0c;在Heirarchy面板里创建 2.播放器里放视频 a.把视频放到StreamingAssets文件夹下 b.你就可以在MediaPlayer里面找到这个视频 c.选中以后&#xff0c;就会变成 这里点击播放可以播放…

FET偏置控制器电路的卫星接收器LNB电路

都具有FET偏置控制器电路的卫星接收器LNB电路 芯片的描述&#xff1a;D3211是一-块用于卫星接收LNBs的专用电路&#xff0c;具有极化电压检测切换、22KHz脉冲检测切换和提供高放、本振级GaAs或HEMT FET晶体管工作点偏置等功能。D321 1内部的22K检测及切换控制由22K有源滤波器、…

RT-DETR改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练自定义模型

💡该教程为改进RT-DETR专栏,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可💡更方便的统计更多实验数据,方便写作 RT-DETR改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练…

车联网助力自动驾驶发展

单车智能决策难点 芯片&#xff0c;成为自动驾驶的最大瓶颈 自动驾驶对芯片算力要求极高。要求自动驾驶处理器在每秒能够处理数百万亿次的计算&#xff1b; 自动驾驶对计算的实时性要求极高。任何一点时延&#xff0c;都有可能造成车毁人亡&#xff1b; 对低能耗有极大的…

Java并发编程基础总结

进程和线程概念 什么进程 进程是系统运行的基本单位&#xff0c;通俗的理解我们计算机启动的每一个应用程序都是一个进程。如下图所示&#xff0c;在Windows中这一个个exe文件&#xff0c;都是一个进程。而在JVM下&#xff0c;每一个启动的Main方法都可以看作一个进程。 什么…