计算机网络-第4章 网络层(2)

主要内容:网络层提供的两种服务:虚电路和数据报(前者不用)、ip协议、网际控制报文协议ICMP、路由选择协议(内部网关和外部网关)、IPv6,IP多播,虚拟专用网、网络地址转换NAT,多协议标记交换MPLS

4.5 互联网的路由选择协议

互联网采用的路由选择协议是自适应的(动态的)、分布式路由选择协议。

互联网采用分层次路由选择协议原因:1互联网规模大;2许多单位不愿公开内部网络细节,并希望连接互联网。基于此可把互联网分为小的自治系统AS。一个AS对其他AS表现出一个单一和一致的路由选择策略。一个大的ISP为一个自治系统。

路由选择协议分为两大类:内部网关协议IGP(RIP和OSPF)、外部网关协议EGP(BGP-4)。

路由信息协议RIP:一种分布式基于距离向量的路由选择协议,互联网标准协议;要求网络中的每一个路由器都维护自己到每一个目的网络的距离记录(这是一组距离,即距离向量)。距离也称跳数,没经过一个路由器,跳数加1.

RIP协议特点:1仅和相邻路由交换信息;2交换的信息是当前路由器所知道的全部信息,即自己现在的路由表;3按固定时间间隔交换。

路由器刚开始工作时,路由表是空的,先更新相连的路由器(距离为1,社交网络中的一度关系);若干次更新后,所有路由器都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址。

一般情况下,RIP协议可以收敛,且过程较快。收敛指AS中所有结点都得到正确的路由选择信息。

路由表更新原则找出每个目的网络的最短向量。该更新算法也叫距离向量算法。

RIP协议报文格式:

RIP协议采用运输层的用户数据报UDP进行传送。

RIP在网络出现故障时,要经过比较长的时间才能将信息传送到所有路由器;该特点也叫做:好消息传播得快,坏消息传播得慢。适用于小网络。

开放最短路径优先OSPF,为克服RIP缺点在1989年提出,最短路径优先是因为采用了Dijkstra得最短路径算法SPF。最主要特征为采用了链路状态协议,而非RIP的距离向量协议。

三个要点:1采用洪泛法(路由器通过所有输出端口向所有相邻的路由发送消息,每一个相邻路由再将此信息发给所有相邻的路由器)向本自治系统的所有路由器发送消息。2发送的消息为本路由器相邻的所有路由器的链路状态(链路状态为本路由器都和哪些路由器相邻,该链路的度量,如费用、距离、时延、带宽等,有时称度量为代价)。3只有当链路状态发生变化时,路由器才向所有路由器用洪范法发送此消息。

各路由器频繁交换链路状态信息,最终都能建立一个链路状态数据库,即全网的拓扑结构图。每一个路由器使用链路状态数据库中的数据,构造自己的路由表(Dijkstra最短路径算法)。

OSPF的更新过程收敛得快。OSPF将一个自治系统再划分为若干个更小得范围,叫做区域,减少整个网络的通信量。

OSPF使用层次结构的区域划分,上层区域为主干区域。

OSPF不用UDP,直接用IP数据报传送。OSPF分组使用24字节的固定长度首部。

OSPF特点:1允许管理员给每条路有指派不同的代价;对不同类型的业务可计算不同的路由。2到同一目的网路有多条相同代价的路由,可将通信量分配给这几条路由,也叫多路径间的负载均衡;3分组具有鉴别功能;4支持可变长的子网划分和无分类的编址CIDR;5每个链路状态都有32位序号。

OSPF五种分组:1问候;2数据库描述;3链路状态请求;4链路状态更新;5链路状态确认。

外部网关协议BGP,边界网关协议。背景:1互联网规模太大,自治系统AS之间路由选择非常困难。2自治系统AS之间的路由选择必须考虑有关策略。

BGP力求寻找一条能够到达网络且较好的路由,非最优,采用路径向量路由选择协议,不同于RIP、OSPF。

BGP发言人之间交换路由信息时,先建立TCP连接(端口号179),之后建立BGP会话。交换路由信息的两个BGP发言人位对方的邻站或对等站。

BGP报文首部:

路由器构成:一个具有多个输入端口和多个输出端口的专用计算机,其任务为转发分组。路由器的转发分组是网络层的主要工作。

路由器结构可分为:路由选择部分和分组转发部分。选择部分也叫控制部分,核心构件为路由选择处理机,任务为根据选定的路由选择协议构造出路由表,并定期更新。分组转发由三部分组成:交换结构、一组输入端口和输出端口。交换结构也称交换组织,作用为根据转发表对分组进行处理。

转发表由路由表得出,转发仅涉及一个路由器,路由表由许多路由器协同工作的结果,基于复杂的路由算法,网络的拓扑变化,动态改变路由,构建成路由表。路由表由软件实现,转发表由硬件实现。

转发表必须包含完成转发功能的所有信息,该表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息(如下一跳的以太网网址)的映射。

输入端口处理和输出端口处理:

交换结构把分组从一个输出端口转移到某个合适的输出端口。实现这种交换有多种方法:

名词解释:

理想的路由算法:1正确和完整;2计算上简单;3适应通信量和网络拓扑的变化;4稳定;5公平;6最佳(合理);

静态和动态路由选择策略:通过能否根据网络通信量和拓扑自适应调整划分。前者也叫非自适应路由选择,后者叫自适应路由选择。

域间/域内路由选择:自治系统之间的路由选择,自治系统内部的路由选择;

区域边界路由器,主干路由器,自治系统边界路由器:通过名字理解,不解释了。

4.6 IPv6

IP是互联网的核心协议,IPv4再2011年已经用尽。结局IP地址耗尽的根本措施为采用更大地址空间的新版本IPv6.目前为止IPv6还只是草案标准阶段。

IPv6的变化;

IPv6的首部:

IPv6共有128位地址,采用冒号十六进制记法,每个16位的值用十六进制表示。

IPv6数据包到目的地址可以是以下三种基本类型地址之一:单播、多播、任播。

IPv6的地址分类:

IPv到IPv6的过渡:双协议栈、隧道技术。

双协议栈:IPv6数据报转到IPv4网络时,把首部换成4的首部。之后再恢复为6.某些字段无法恢复。

隧道技术:IPv6数据包要进入IPv4网络时,把6的数据报封装成4的数据报的数据部分。

4.7 IP多播

IP多播:一个源点发送到许多终点,即一对多通信。如实时信息的交付(如新闻、股市行情)、软件更新,交互式会议,多媒体通信。

能够运行多播协议的路由器为多播路由器。

单播与多播的对比:

IP多播需要两种协议:网际组管理协议IGP、多播路由选择协议

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

互联网不安全,企业内部计算机内部连网,无连接互联网需求,分配本地地址,无需申请全球地址。

RFC1918指定了一些专用地址,只能用于内部通信,不用于互联网主机通信。互联网中的所有路由器对目的地址为专用地址的数据报一律不转发。

三个专用地址块:

(1) 10.0.0.0.到10.255.255.255

(2)172.16.0.0到172.31.255.255

(3)192.168.0.0到192.168.255.255

分别相当于1个A类,16个B类,256个C类

VPN通过公用互联网传送的数据必须加密。

VPN的虚拟指的是好像专用网,其实不是,并没有使用通信专线,效果上和专网一样。如机构需构建自己的VPN,需要购买专门的硬件和软件。

IP隧道,专网A的计算机与专网B的计算机通信,需要通过专网A的指定路由R1和专网B的指定路由R2,R1与R2之间像是一条直通的点对点链路,被抽象的认为“隧道”。R1,R2会对内部数据报进行加密和解密,以及重新添加数据报首部和解析首部。

外地出差的员工,通过个人电脑中的VPN软件远程接入公司VPN。

网络地址转换NAT

专用网内部的主机在分配到专用IP地址后访问互联网,需转换成全球IP。

在专用网连接互联网的路由器上装NAT软件,可进行上述转换,这种路由器叫NAT路由器。

NAT地址转换表:

网络地址与端口转换NAPT:为更有效的利用NAT路由器上的全球IP地址,在原来的基础上添加运输层的端口号;

缺点:NAPT属于网络层,需要访问和转换运输层的端口号,没有严格按照层次关系。

名词解释:

本地互联网/专用互联网/专用网:采用专用IP地址的互联网络。ip专用地址也叫可重用地址;

虚拟专用网VPN:利用公用互联网作为本机构各专网的通信载体,这样的专用网即为虚拟专用网;

内联网、外联网:专网内部网络;有外部机构接入的内网。

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

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

相关文章

爬虫 配置charles

1,安装charles(青花瓷) 网上有很多资源这里我也传不上去 2,配置代理 访问控制 监听端口 证书 安装过程:点击help --》SSL proxying --》install charles root certificate --》安装证书 --》选择本地计算机 --》点下一步 --》选择将所有的证书都放入下列存储 -- 》…

java拷贝数组

package com.mohuanan.exercise;public class Exercise {public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7, 8, 8}; //格式化快捷键 CTRL 加 Alt 加 L键// F1截图 F3贴图//调用 copyOfRangeint[] ints copyOfRange(arr, 3, 7);for (int i 0; i &l…

Monitor.TryEnter使用避坑

创建线程的函数 internal class MultiThread {/// <summary>/// 线程的工作函数类型/// </summary>public delegate void WorkProc();/// <summary>/// 创建进程的函数/// </summary>/// <param name"work">进程要执行的函数</par…

代码随想录算法训练营Day44 ||leetCode 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ

完全背包 518. 零钱兑换 II 遍历硬币和金额&#xff0c;累加所有可能 class Solution { public:int change(int amount, vector<int>& coins) {vector<int> dp(amount1,0);dp[0]1;for (int i 0; i < coins.size();i){for(int j coins[i]; j < amount;…

中科大计网学习记录笔记(十八):网络层:数据平面:导论

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

从汇编来角度剖析C语言函数调用过程

目录 1.引言 2.寄存器 3.栈帧 4.函数调用前调用者的动作 5.被调用者在函数调用后的动作 6.被调用者返回前的动作 7.调用者在返回后的动作 8.总结 1.引言 当一个c函数被调用时&#xff0c;一个栈帧(stack frame)是如何被建立&#xff0c;又如何被消除的。这些细节跟操作…

解决 version GLIBCXX_*.*.* not found

1. 情况描述 linux机器&#xff0c;编译程序正常&#xff0c;但是运行程序报错 2. 错误原因 查看 libstdc.so 中CXXABI 版本,命令&#xff1a; strings /lib64/libstdc.so.6 | grep CXXABI 结果&#xff1a; 发现是libstdc版本过低导致 3. 解决问题 a> 查找当前环境上是否…

离散化算法,以Acwing802.区间和为例子(C++实现)

目录 1.例题2.算法实现思路3.代码 1.例题 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0现在&#xff0c;我们首先进行 n 次操作&#xff0c;每次操作将某一位置 x 上的数加 c接下来&#xff0c;进行 m 次询问&#xff0c;每个询问包含两个整数 l 和 r&#…

从0到1:如何用AI完成高质量的科研论文写作?

人工智能革命&#xff1a;如何让聊天机器人更懂你 人工智能正在以其强大的数据处理和语言生成能力改变世界。在学术界&#xff0c;大语言模型&#xff08;LLM&#xff09;为科学交流带来了一种新的工具。我们旨在有效地将AI工具与学术写作相结合&#xff0c;以更有效和更有影响…

【零基础学习04】嵌入式linux驱动中信号量功能基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…

HTML5+CSS3+移动web——CSS 文字控制属性

系列文章目录 HTML5CSS3移动web——HTML 基础-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136070953?spm1001.2014.3001.5502HTML5CSS3移动web——列表、表格、表单-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136221443?spm1001.2…

反无人机电子护栏:原理、算法及简单实现

随着无人机技术的快速发展&#xff0c;其在航拍、农业、物流等领域的应用日益广泛。然而&#xff0c;无人机的不规范使用也带来了安全隐患&#xff0c;如侵犯隐私、干扰航空秩序等。为了有效管理无人机&#xff0c;反无人机电子护栏技术应运而生。 目录 一、反无人机电子护栏…

JavaScript---VConsole插件配置使用,一步到位简单实用!

1. 寻找到自己需要的VConsole插件js文件 个人喜欢BootCDN这个平台&#xff08;直接在线引用或者下载本地引入均可~&#xff09; vConsole (v3.15.1) - A lightweight, extendable front-end developer tool for mobile web page. | BootCDN - Bootstrap 中文网开源项目免费 C…

【Web】浅聊XStream反序列化本源之恶意动态代理注入

目录 简介 原理 复现 具体分析之前 我们反序列化了个什么&#xff1f; XStream反序列化的朴素通识 具体分析 第一步&#xff1a;unmarshal解组 第二步&#xff1a;readClassType获取动态代理类的Class对象 第三步&#xff1a;调用convertAnother对动态代理类进行实例…

JS数组相关知识

获取数组的最大值/最小值&#xff1a; let arrary [2,5,4] let max arrary[0] for(let i 0;i<arrary.length;i){if(arrary[i]>max){max arrary[i]} }console.log(max);//查询数组最小值let arr [2,21,34,23,45] let min arr[0] for(let i 0;i<arr.length;i){if…

mybatis-编写mapper.xml SQL语句时无提示

你们好&#xff0c;我是金金金。 场景 可以看见sql颜色都是白色的&#xff0c;而且编写的时候没有提示&#xff0c;简直痛苦 排查 中途有设置过SQL方言等&#xff0c;都没有解决我的问题 解决 很简单&#xff0c;https 改成 http 就有提示了&#xff01;&#xff01;&#x…

【Java并发知识总结 | 第二篇】乐观锁和悲观锁详讲

文章目录 2.乐观锁和悲观锁详讲2.1悲观锁2.2乐观锁2.3如何实现乐观锁2.3.1版本号机制2.3.2CAS算法2.3.3CAS底层 2.4乐观锁存在的问题2.4.1ABA问题&#xff08;1&#xff09;问题描述&#xff08;2&#xff09;解决 2.4.2循环时间长、开销大2.4.3只能保证一个共享变量的原子操作…

rust学习(手动写一个线程池)

哈哈&#xff0c;主要是为了练习一下rust的语法&#xff0c;不喜勿喷。 一.Executor申明 struct AExecutor<T> {results:Arc<Mutex<HashMap<u32,T>>>, //1functions:Arc<Mutex<Vec<ATask<T>>>> //2 } 1.results&#xff1a…

使用python实现一个dicom影像解析入库程序demo

简介 DICOM&#xff08;Digital Imaging and Communications in Medicine&#xff09;是医学图像和相关信息的国际标准。它定义了医学影像的格式和通信协议&#xff0c;使得不同设备和系统之间可以交换和共享医学图像和相关数据&#xff0c;如CT扫描、MRI图像、超声波图像等。…

原来jmeter接口测试还可以这么做...

JMeter是一个Java应用程序&#xff0c;是基于开源的性能测试工具。它可以用来对Web应用程序或FTP服务器进行压力测试&#xff0c;以便确定它们在高负载下还能否正常运行。JMeter支持各种协议&#xff0c;如HTTP、HTTPS、FTP、SOAP、REST等。 本文将介绍JMeter的详细使用教程&a…