软考第六章 网络互连与互联网

news2024/11/15 5:39:56

网络互连与互联网

1.网络互连设备

组成因特网的各个网络叫做子网,用于连接子网的设备叫做中间系统。它的主要作用是协调各个网络的工作,使得跨网络的通信得以实现。

网络互连设备可以根据它们工作的协议层进行分类:

  • 中继器:工作于物理层
  • 网桥和交换机:工作于数据链路层
  • 路由器:工作于网络层
  • 网关:工作于网络层以上的协议

1.1 中继器

用中继器连接两个网段可以延长信号的传输距离,中继器的功能是对接收信号进行再生和发送。在以太网中限制最多使用4个中继器。中继器工作于物理层,只是起到扩展传输距离的作用,对高层协议是透明的。中继器也能把不同传输介质的网络连接在一起。

集线器的工作原理与中继器相同,简单来说,集线器就是一个多端口中继器,它把一个端口上收到的数据广播发送到其他所有端口上。

1.2 网桥

网桥要分析帧地址字段,以决定是否把收到的帧转发到另一个网段上。网桥工作于MAC子层,只要两个网络MAC子层以上的协议相同,就可以通过网桥互连。例如可实现同轴电缆以太网与双绞线以太网之间的互连,或是以太网与令牌环网之间的互连。

1.3 路由器

路由器根据网络逻辑地址在互连的子网之间传递分组。路由器适合于连接复杂的大型网络,它工作于网络层,因而可以用于连接下面三层执行不同协议的网络,协议的转换由路由器完成。

1.4 网关

网关是最复杂的网络互连设备,它用于连接网络层之上执行不同协议的子网,组成异构型的因特网。网关能对互不兼容的高层协议进行转换。为了实现异构型设备之间的通信,网关要对不同的传输层、会话层、表示层和应用层协议进行翻译和变换。由于工作复杂,因而用网关因特网时效率比较低,而且透明性不好,往往用于针对某种特殊用途的专用连接。

2.广域网互连

广域网互连一般采用在网络层进行协议转换的方法实现,这里使用的互联设备是路由器。

2.1 OSI 网络层内部结构

OSI把网络层划分为3个子层:

  • 子网访问子层:对应于实际的网络层,它可能符合也可能不符合OSI的网络层标准,如果两个实际网络的子网访问子层不同,则不能简单的互连

  • 子网相关子层:增强实际网络的服务,使其接近于OSI的网络层服务

  • 子网无关子层:提供标准的OSI网络服务。

2.2 面向连接的网际互连

X.75网关执行X.25协议,从而实现两个子网的互连。两个网络之间建立一条网际虚电路。

2.3 无连接的网际互连

因特网协议(IP)是为ARPAnet研制的网际数据报协议,后来ISO以此为蓝本开发了无连接的网络协议(CLNP)。在这里叙述IP协议,CLNP与IP是类似的。

3.IP协议

IP地址分为5类。在点对点通信中使用A、B、C类地址,D类地址是组播地址。E类地址保留作为研究之用,以后的IPv6地址就是在此基础上扩展的。

img

IP数据报:

在这里插入图片描述

4.ICMP

ICMP与IP协议同属网络层,用于传送有关通信问题的消息,例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向助级提供最短通路信息等。ICMP报文封装在IP数据报中传送,因此不保证可靠的提交。

5.TCP和UDP

在TCP/UDP协议簇中有两个传输协议,即传输控制协议(TCP)和用户数据报协议(UDP)。TCP是面向连接的,而UDP是无连接的。

5.1 TCP协议

img

端口编号用于标识TCP用户:

应用层协议端口号
FTP20(数据) + 21(控制)
SSH 安全登录,文件传送和端口重定向22
Telnet 远程登录协议,不安全的文本传送23
SMTP 简单邮件传送协议25
DNS53
HTTP80
POP3 邮局协议第3版110
IMAP 网络邮件接入协议143
HTTPS443

三次握手四次挥手:

img img

5.2 TCP拥塞控制

计算平滑往返时间估值:
S R T T ( K + 1 ) = α × S R T T ( K ) + ( 1 − α ) × R T T ( K + 1 ) SRTT(K+1) = \alpha \times SRTT(K) + (1-\alpha ) \times RTT(K+1) SRTT(K+1)=α×SRTT(K)+(1α)×RTT(K+1)
重传计时器的设置:
R T O ( K + 1 ) = m i n ( U P B O U N D , m a x ( L O W B O U N D , β × S R T T ( K + 1 ) ) ) RTO(K+1) = min(UPBOUND,max(LOWBOUND,\beta \times SRTT(K+1))) RTO(K+1)=min(UPBOUND,max(LOWBOUND,β×SRTT(K+1)))
慢启动和拥塞控制:

img

TCP部分详细可参考自顶向下方法

5.3 UDP协议

这里写图片描述

UDP协议分为首部字段和数据字段,其中首部字段只占用8个字节,分别是个占用两个字节的源端口、目的端口、长度和检验和。

6.网关协议

6.1 自治系统

自治系统是由同构型的网关连接的因特网,自治系统内部的网关之间执行内部网关协议(IGP),互相交换路由信息。不同自治系统之间咏外部网关协议(EGP)交换路由信息。

6.2 外部网关协议

最新的外部网关协议叫BGP,现在BGP4已经广泛地应用于不同ISP的网络之间,成为事实上的Internet外部路由协议标准。BGP4是一种动态路由发现协议,支持CIDR。BGP的主要功能是控制路由策略,例如是否愿意转发过路的分组等。BGP基于TCP连接。

运行于同一AS内部的BGP称为iBGP,运行于不同AS之间的BGP称为eBGP。

BGP协议总结

BGP的四种报文:

报文类型功能描述
打开(open)建立邻居关系
更新(update)发送新的路由信息
保持活动状态(keep alive)对open的应答/周期性地确认邻居关系
通告(notification)报告检测到的错误

在BGP中可用上述4种报文实现3个功能过程:

  • 建立邻居关系:open–keep alive
  • 邻居可达性:周期性地相互发送keepalive
  • 网络可达性:每个路由器维护一个数据库,记录着它可到达地所有子网。当情况有变化时用更新报文把最新信息及时地传送给其他BGP路由器。信息包括:
    • 网络层可到达信息(NLRI)。发送路由器可到达的子网地址列表。
    • 经过的自治系统(AS_path)。
    • 下一跳(Next-Hop)

6.3 内部网关协议

常见内部路由协议包括路由信息协议(RIP)、开放最短路径优先协议(OSPF)、中间系统到中间系统的协议(IS-IS)、内部网关路由协议(IGRP)和增强的IGRP协议(EIGRP)等。最后两种是思科公司的专利协议。

RIP

采用Bellman-Ford的距离矢量路由算法,适用于小型网络,因为它允许的跳步数不超过15步。RIP以跳步技术来度量路由费用。

RIPv2报文封装在UDP数据报中发送,占用端口号520。

OSPF

是一种链路状态协议,用于在自治内部的路由器之间交换路由信息。OSPF从各个路由器收集链路信息,构造网络拓扑结构图,使用dijkstra的最短通路优先算法计算到达各个目标的最佳路由。OSPF采用TCP连接发送报文,每个报文都要求应答,通信更加可靠。

为了适应大型网络配置的需要,OSPF协议引入了“分层路由”的概念。

6.4核心网关协议

核心网关协议(GGP):主干网中的核心网关是由InterNOC直接控制的,GGP更具有专业性。当一个核心网关加入主干网时用GGP协议向邻机广播发送路由信息,各邻机更新路由表,并进一步传播新的路由信息。

7.路由器技术

7.1 NAT技术

主要解决IP地址短缺问题,NAPT还进行了端口号转化。

7.2 CIDR技术

CIDR的IP地址的表示与划分方法

7.3 第三层交换技术

IETF开发的多协议标记交换(MPLS)把第2层的链路状态集成到第三层的协议数据单元中,从而简化和改进了第3层分组交换的交换过程。当分组进入MPLS网络时,标记边缘路由器(LER)就为其加上一个标记,这种标记不仅包含了路由表项中的信息,而且还引用了IP头中的源地址字段、传输层端口号和服务质量等。这种分类一旦建立,分组就被指定到对应的标记交换通路(LSP)中,标记交换路由器(LSR)将根据标记来处置分组,不再经过第三层转发,从而加快了网络的传输速度。

8.IP组播技术

有人形容IP组播模型是:你在一端注入分组,网络正好可以把分组提交给任何需要的接收者。组播技术的有效性在于:在把一个组播分组提交给所有组播成员时,只有与该组相关的中间节点可以复制分组,在通往各个组成员的网络链路上只传送分组一个副本,所以利用组播技术可以提高网络传输的效率,减少主干网拥塞的可能性。实现IP组播的前提是组播源和组成员之间的下层网络必须支持组播。

8.1 因特网组管理协议

IGMP是在IPv4环境中提供组管理的协议,参加组播的主机和路由器利用IGMP交换组播成员资格信息,以支持主机加入或离开组播组。在IPv6环境中,组管理协议已经合并到ICMPv6协议中,不再需要单独的组管理协议。IGMP报文封装在IP数据报中传输。

成员资格询问报文由组播路由器发出,分为3种子类型:

  • 通用询问:路由器用于了解在它连接的网络上有哪些组的成员
  • 组专用询问:路由器用于了解在它连接的网络上一个具体的组是否有成员
  • 组和源专用询问:路由器用于了解在它连接的主机是否愿意加入一个特定的组

为了维护一个当前活动的组播地址列表,组播路由器要周期性地发送IGMP通用询问报文,封装在以224.0.0.1(所有主机)为目标地址的IP数据报种。仍然希望保持一个或多个组成员身份的主机必须读取这种数据报,并且对其保持成员身份的组回答一个报告报文。

组播路由器无须知道组播组中每一个主机的地址,对于一个组播组,它只需要知道至少有一个组播成员处于活动状态就可以了。所以成员们可以等待别人发(

当主机要离开一个组时,它向所有路由器发送一个组离开报告,当路由器收到这样的报告时,它要确定该组是否还有其他成员存在,这时可以用组和源专用的询问报文。

8.2 组播路由协议

建立组播树是实现组播传输的关键技术。

  • 密集模式路由协议:假定组播成员密集地分布在整个网络中,而且网络有足够的带宽,允许周期性地通过泛洪传播来建立和维护分布树。
  • 稀疏模式路由协议:适用于带宽小、组播成员分布稀疏的互联网络。

9.IP QoS技术

Best-Effort服务模型:尽力而为

Best-Effort是最简单的QoS服务模型,用户可以在任何时候,发出任意数量的报文,而且不需要通知网络。提供Best-Effort服务时,网络尽最大的可能来发送报文,但对时延、丢包率等性能不提供任何保证。Best-Effort服务模型适用于对时延、丢包率等性能要求不高的业务,是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等。

IntServ服务模型:预留资源

IntServ模型是指用户在发送报文前,需要通过信令(Signaling)向网络描述自己的流量参数,申请特定的QoS服务。网络根据流量参数,预留资源以承诺满足该请求。在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,用户才开始发送报文。用户发送的报文应该控制在流量参数描述的范围内。网络节点需要为每个流维护一个状态,并基于这个状态执行相应的QoS动作,来满足对用户的承诺。

IntServ模型使用了RSVP(Resource Reservation Protocol)协议作为信令,在一条已知路径的网络拓扑上预留带宽、优先级等资源,路径沿途的各网元必须为每个要求服务质量保证的数据流预留想要的资源,通过RSVP信息的预留,各网元可以判断是否有足够的资源可以使用。只有所有的网元都给RSVP提供了足够的资源,“路径”方可建立。

DiffServ服务模型:差分服务

DiffServ模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其是网络出现拥塞时不同的类会享受不同级别的处理,从而得到不同的丢包率、时延以及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的时延、抖动、丢包率等QoS指标。

Diffserv模型中,业务流的分类和汇聚工作在网络边缘由边界节点完成。边界节点可以通过多种条件(比如报文的源地址和目的地址、ToS域中的优先级、协议类型等)灵活地对报文进行分类,对不同的报文设置不同的标记字段,而其他节点只需要简单地识别报文中的这些标记,即可进行资源分配和流量控制。

与Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,应用程序发出报文前,不需要预先向网络提出资源申请,而是通过设置报文的QoS参数信息,来告知网络节点它的QoS需求。网络不需要为每个流维护状态,而是根据每个报文流指定的QoS参数信息来提供差分服务,即对报文的服务等级划分,有差别地进行流量控制和转发,提供端到端的QoS保证。DiffServ模型充分考虑了IP网络本身灵活性、可扩展性强的特点,将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作,是当前网络中的主流服务模型。

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

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

相关文章

双周赛102(模拟、BFS技巧、求最短路模板问题)

文章目录双周赛102[6333. 查询网格图中每一列的宽度](https://leetcode.cn/problems/find-the-width-of-columns-of-a-grid/)模拟[6334. 一个数组所有前缀的分数](https://leetcode.cn/problems/find-the-score-of-all-prefixes-of-an-array/)模拟(一次遍历)😭[6335…

【黑马】JavaWeb开发教程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)目录合集

​Java Web 传统路线: 课程讲述路线: 视频链接: 2023新版JavaWeb开发教程,实现javaweb企业开发全流程 学习时间: 断断续续,按照课程安排正常学习,历时15天,完结撒花!…

快速认识并上手Eureka注册中心

文章目录一、初识Eureka1.1 EurekaServer1.2 EurekaClient1.2.1 EurekaClient中的角色二、EurekaServer2.1 搭建EurekaServer2.1.1 依赖引入2.1.2 添加注解2.1.3 配置eureka地址2.1.4 验证2.2 注册EurekaClient2.2.1 引入客户端依赖2.2.2 配置eureka地址2.2.3 验证2.3 服务发现…

【C++】多态---下(多态的原理)

前言: 在多态---上中我们了解了什么是多态,以及多态的使用条件等。本章将进行更深入的学习,我们详细理解多态的原理。 目录 (一)虚函数表 (1)虚函数表的引入 (2)虚表…

RHCE——时间服务器(ntp)

1.配置ntp时间服务器,确保客户端主机能和服务主机同步时间 2.配置ssh免密登陆,能够通过客户端主机通过redhat用户和服务端主机基于公钥验证方式进行远程连接 一.配置ntp时间服务器,确保客户端主机能和服务主机同步时间 1、软件安装 [rootl…

宝可梦朱紫太晶化效果小记

首先,不得不吐槽一下,switch上这么多代宝可梦下来,好玩是好玩,但是整体效果和优化不能说糟烂,只能说稀碎。 看这个朱紫的截帧都给我看吐了,上点心啊老任 回到效果,首先是实现方式 主要有俩点 …

3.Earth Engine语法Javascript版(基本属性2)

1.地图MAp 1. Map.add(item)这个方法通常是在地图展示区加入各种ui使用,如ui.Label 2.Map.centerObject(object, zoom)设置地图居中位置,参数object是矢量数据或者影响数据;zoom是缩放级别。 3.Map.addLayer(ee.Object, visParams, name, …

树莓派利用python-opencv使用CSI摄像头调用监控视频

目录 一、安装python-opencv。 二、使用工具Xshell7和MobaXterm 三、连接并打开CSI摄像头 3.1连线如图所示: 3.2打开摄像头 四、编写摄像头代码调用摄像头 一、安装python-opencv。 一定要选择配置好的安装python-opencv,不要去配置安装&#xff0c…

012 - C++指针

本期我们将学习 C 中的指针。 指针是一个令很多人都很痛苦的内容,然而指针其实没有大家想象中的那么复杂。另外我先要说明本期我们要讨论的是原始的指针,还有一种常用的指针叫智能指针,这个我们在之后的内容中会接触学习。 计算机处理内存&…

LeetCode_二叉搜索树_中等_236.二叉搜索树的最近公共祖先

目录1.题目2.思路3.代码实现(Java)1.题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 …

jQuery讲解|这一章就够了|(超详细|保姆级)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…

【设计模式】生产者消费者模型

带你轻松理解生产者消费者模型!生产者消费者模型可以说是同步与互斥最典型的应用场景了!文末附有模型简单实现的代码,若有疑问可私信一起讨论。 文章目录一:为什么要使用生产者消费者模型?二:生产者消费者模…

JDK 17:Java 17 中的新特性简介

Java 开发工具包 (JDK) 17 将是一个长期支持 (LTS) 版本,预计来自 Oracle 的扩展支持将持续数年。该功能集定于 6 月 10 日冻结,届时 JDK 17 将进入初始阶段。作为 OpenJDK JDK 17 的一部分提交的功能包括: 特定于上下文的反序列化过滤器允许…

计算机网络 实验一

⭐计网实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。 一、实验目的 掌握在Packet Tracer软件中搭建实验平台,配置基本的网络参数…

8D和A3报告

8D和3A报告,他们都不仅仅是记录问题的一种文书,而是解决问题的工具。 A3发展于TPS (Toyota Production system),可以用来解决问题,沟通,记录,是一种流程,当人们在使用A3…

MySQL中添加新字段

© Ptw-cwl 要在MySQL中添加新字段,您可以使用ALTER TABLE语句。 以下是添加新字段的基本语法: ALTER TABLE table_name ADD column_name datatype;其中: table_name 是您要在其中添加新字段的表的名称。column_name 是新字段的名称。…

Linux安装Anaconda

目录1.下载Anaconda的安装包2.安装Anaconda3.用conda创建虚拟环境4.安装项目依赖包1.下载Anaconda的安装包 首先需要在官网上选择需要安装的版本。 官网地址:https://repo.anaconda.com/archive/,如选择当前最新版本进行安装: https://repo.…

TWIST阅读笔记

目录TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation摘要本文方法语义引导的实例提议生成提议纠正基于提议的伪标签更新TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation 摘要 利用无标签数…

浙大版《C语言程序设计实验与习题指导(第3版)》题目集实验2合集

实验2-1-1 计算摄氏温度 本题要求编写程序,计算华氏温度100F对应的摄氏温度。计算公式:C5(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 输入格式:本题目没有输入。 输出格式:按照下…

Java每日一练(20230413)

目录 1. 子集 II 🌟🌟 2. 快乐数 ※ 3. 整数反转 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 子集 II 给你一个整数数组 nums ,其中可能…