计算机网络-网络层

网络层

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输

需要解决以下主要问题:

  • 网络层向运输层提供怎样的服务
  • 网络层寻址问题
  • 路由选择问题

两种服务

在这里插入图片描述

IPv4地址概述

IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符

在这里插入图片描述

分类编址的IPv4地址

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 根据地址左起第一个十进制的值,判断网络类别(0-127的为A类,128-191的为B类,192-223的为C类)
  2. 根据网络类别,就可以找出地址中的网络号部分和主机号部分(A类地址网络号为左起第一个字节,B类地址网络号为左起前两个字节,C类地址网络号为左起前三个字节)
  3. 三种情况不能指派给主机或路由器接口:A类网络号0和127;主机号全0;主机号全1

在这里插入图片描述

在这里插入图片描述

划分子网的IPv4地址

在这里插入图片描述

在这里插入图片描述

  • 默认的子网掩码是指在未划分子网的情况下使用的子网掩码
  • A类地址:255.0.0.0
  • B类地址:255.255.0.0
  • C类地址:255.255.255.0

无分类编址的IPv4地址

1993年,IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)的RFC文档

  • CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念
  • CIDR可以更加有效地分配IPv4的地址空间
  • CIDR使用“斜线记法”,或称CIDR记法。在IPv4地址后面加“/”,在斜线后面写上网络前缀所占的比特数量

128.14.35.7 / 20 网络前缀占用的比特数量:20 主机编号占用的比特数量:32-20=12

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

IP数据报的发送和转发过程

主机发送IP数据报

  • 若在同一个网络,则属于直接交付
  • 若不在同一个网络,则属于间接交付,传输主机所在网络的默认网关(路由器),由默认网关帮忙转发

路由器转发IP数据报

  • 检查IP数据报首部是否出错
  • 根据IP数据报的目的地址在路由表中查找匹配的条目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

静态路由配置及路由环路问题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

路由选择协议概述

静态路由选择

  • 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由
  • 简单、开销小
  • 不能及时适应网络状态(流量、拓扑)的变化
  • 一般只在小规模网络中采用

动态路由选择

  • 路由器通过路由选择协议自动获取路由信息
  • 复杂、开销大
  • 适用于大规模网络

因特网所采用的路由选择协议的主要特点

  • 自适应:动态路由选择
  • 分布式:路由器之间交换路由信息
  • 分层次:将整个因特网划分为许多较小的自治系统AS

在这里插入图片描述

在这里插入图片描述

路由信息协议RIP的基本工作原理

路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一

RIP要求自治系统AS内的每一个路由器都要维护从他自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V”

RIP使用跳数作为度量来衡量到达目的网络的距离

  • 路由器到直连网络的距离定义为1
  • 路由器到非直连网络的距离定义为所经过的路由器数加1
  • 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达。因此,RIP只适用于小型互联网

RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由

当到达同一目的的网络有多条“距离相等”的路由时,可以进行等价负载均衡

RIP包含以下三个要点

  • 和谁交换信息 仅和相邻路由器交换信息
  • 交换什么信息 自己的路由表
  • 何时交换信息 周期性交换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开放最短路径优先OSPF的基本工作原理

OSPF(Open Shortest Path First)

“开放”表明OSPF协议不是受某一家厂商控制,而是公开发表

“最短路径优先”是因为使用了Dijkstra提出的最短路径算法

OSPF是基于链路状态的,不像RIP基于距离向量

OSPF采用SPF算法计算路由,保证不会产生路由环路

OSPF不限制网络规模,更新效率高,收敛速度快

在这里插入图片描述

在这里插入图片描述

使用OSPF的每个路由器都会产生链路状态通告LSA,包含以下内容:

  • 直连网络的链路状态信息
  • 邻居路由器的链路状态信息

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送

使用OSPF的每个路由器都有一个链路状态数据库LSDB

在这里插入图片描述

OSPF有以下五种分组类型:

  1. 问候分组
  2. 数据库描述分组
  3. 链路状态请求分组
  4. 链路状态更新分组
  5. 链路状态确认分组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

边界网关协议BGP的基本工作原理

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

BGP-4有以下四种报文:

  • OPEN报文
  • UPDATE报文
  • KEEPALIVE报文
  • NOTIFICATION报文

在这里插入图片描述

IPv4数据报的首部格式

在这里插入图片描述

  • 版本:占4比特,表示IP协议版本

  • 首部长度:占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。最小十进制取值为5,表示只有20字节的固定部分;最大十进制取值为15,表示包含20字节固定部分和最大40字节可变部分

  • 可选字段:长度从1个字节到40个字节不等。支持排错、测量、安全等措施

  • 填充字段:确保首部长度为4字节的整数值。使用全0填充

  • 区分服务:占8比特,用来获得更好的服务

  • 总长度:占16比特,表示IP数据报的总长度(首部+数据载荷)。最大取值为十进制的65535,以字节为单位

  • 标识:占16比特,属于同一个数据报的各分片数据报应该具有相同的标识。IP软件维持一个计数器,每产生一个数据报,计数器值加1,并将此值赋值给标识字段

  • 标志:占3比特:DF位:1表示不允许分片,0表示允许分片;MF位:1表示“后面还有分片”;0表示“这是最后一个分片”;保留位:必须为0

  • 片偏移:占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。以8个字节为单位

  • 生存时间TTL:占8比特,最初以秒为单位,最大生存周期为255秒;路由器转发IP数据报时,将IP数据报首部中的该字段的值减去IP数据报在本路由器上耗费的时间,若不为0就转发,否则就丢弃。现在以“跳数”为单位,路由器转发IP数据报时,将IP数据报首部中的该字段的值减1,若不为0就转发,否则丢弃

  • 协议:占8比特,指明IPv4数据报的数据部分是何种协议数据单元

  • 首部检验和:占16比特,用来检验首部在传输过程中是否出现差错。比CRC检验码简单,称为因特网检验和。IP数据报每经过一个路由器,路由器都有重新计算首部校验和。由于IP层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,因此在IPv6中,路由器不再计算。

    协议名称ICMPIGMPTCPUDPIPv6OSPF
    协议字段值126174189

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

网际控制报文协议ICMP

  • ICMP(Internet Control Message Protocol)
  • 主机或路由器使用ICMP来发送差错报告报文和询问报文
  • ICMP报文被封装在IP数据报中发送

发送ICMP共以下五种:

  • 终点不可达
  • 源点抑制:路由器或主机由于拥塞而丢弃数据报时,向源点发送源点抑制报文,使源点知道吧数据报发送速率放慢
  • 时间超过:不是自己的数据报经过路由器,会将其生存时间TTL字段的值减1。结果为0,丢弃并向源点发送时间超过报文
  • 参数问题:检验和出现误码
  • 改变路由(重定向):更新更好的路由

不应发送ICMP:

  • 对ICMP差错报告报文
  • 对第一个分片的数据报片的所有后续数据报片
  • 对具有多播地址的数据报
  • 对具有特殊地址(如127.0.0.0或0.0.0.0)

常用的ICMP询问报文:

  • 回送请求和回答:测试目的站是否可达
  • 时间戳请求和回答:进行时钟同步和测量时间

在这里插入图片描述

在这里插入图片描述

WindowsUnix
tracert命令traceroute命令
应用层直接使用网际层ICMP在运输层使用UDP协议
使用ICMP回送请求和回答报文以及差错报告报文仅使用ICMP差错报告报文

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

VPN(Virtual Private Network):虚拟专用网中的各主机所分配的地址应该是本机构可自由分配的专用地址,而不是需要申请的、在因特网上使用的公有地址

内联网VPN:同一机构内不同部门的内部网络所构成的虚拟专用网VPN

外联网VPN:一个机构的VPN需要有某些外部机构参加

远程接入VPN:外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的VPN软件,建立VPN隧道,即可访问资源

NAT(Network Address Translation)能够使用大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源

在这里插入图片描述

是需要申请的、在因特网上使用的公有地址

内联网VPN:同一机构内不同部门的内部网络所构成的虚拟专用网VPN

外联网VPN:一个机构的VPN需要有某些外部机构参加

远程接入VPN:外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的VPN软件,建立VPN隧道,即可访问资源

NAT(Network Address Translation)能够使用大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源

[外链图片转存中…(img-0fOFj8ux-1715252338851)]

在这里插入图片描述
如有侵权,联系删除

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

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

相关文章

Cocos 2048从创建到发布上线

一、制作2048小游戏过程 扫描体验2048小游戏 场景搭建,4X4棋盘和基础设置绘制背景板,包含预制体等信息考虑在棋盘中随机出现两个数字方块,数字为2,初始化操作滑动事件部分,让方块移动起来,每滑动一次就生成…

websevere服务器从零搭建到上线(二)|Linux上的五种IO模型

文章目录 阻塞 blocking非阻塞 non-blockingIO复用 IO multiplexing信号驱动 signal-driven异步 asynchronous拓展知识 看过上篇文章英国基本能理解本文五张图的内容websevere服务器从零搭建到上线(一)|阻塞、非阻塞、同步、异步 本文要能够在…

出差——蓝桥杯十三届2022国赛大学B组真题

问题分析 该题属于枚举类型&#xff0c;遍历所有情况选出符合条件的即可。因为只需要派两个人&#xff0c;因此采用两层循环遍历每一种情况。 AC_Code #include <bits/stdc.h> using namespace std; string str;//选择的两人 bool ok(){if(str.find("A")!-1…

java-Spring-Lombok-讲解-(一文一言)创伤是成熟的途径

高手都在孤独前进-致敬我们不悔的青春 我打算每篇文章下找一下文言警句-说不那天会用上&#x1f601;&#x1f601;&#x1f601;&#x1f601; 每篇一言 创伤是成熟的途径 希望经历过创伤的人,能更好享受当下, 爱自己胜过爱别人呀 目录 &#x1f3bb;Lombok简介 &#…

HTML5 Canvas发光Loading动画特效源码

源码介绍 之前我们分享过很多基于CSS3的Loading动画效果&#xff0c;相信大家都很喜欢。今天我们要来分享一款基于HTML5 Canvas的发光Loading加载动画特效。Loading旋转图标是在canvas画布上绘制的&#xff0c;整个loading动画是发光3D的视觉效果&#xff0c;HTML5非常强大。 …

【SpringBoot整合系列】SpringBoot整合RabbitMQ-消息过期(死信队列和延迟队列)

目录 业务场景传统轮询消息队列完整版 默认情况TTL&#xff08;消息的有效期&#xff09;TTL 的设置有两种不同的方式单条消息过期队列消息过期特殊情况 死信队列概述应用场景产生原因原理图死信交换机死信队列实现一下 延迟队列背景定时任务&#xff1f;延迟队列实现思路代码 …

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2 1、 for i in range(3):Dev.step(3)Dev.turnRight()Dev.step(4)Dev.turnLeft()2、 for i in range(3):Spaceship.step(3)Spaceship.turnRight()Spaceship.step(1)3、 Dev.turnLeft() Dev.step(Dev.x - Item[1].…

STM32--4G DTU 及 阿里云

模块概述 ATK-IDM750C/IDM751C 是正点原子(ALIENTEK)团队开发的一款高性能 4G Cat1 DTU 产品&#xff0c; 支持移动 4G、联通 4G 和电信 4G 手机卡。它以高速率、低延迟和无线数传作为核心功能&#xff0c; 可快速解决应用场景下的无线数传方案。 它支持 TCP/UDP/HTTP/MQTT/DN…

生产制造行业推拉式生产的复合应用

一、案例分析&#xff08;汽配行业&#xff09; 重点&#xff1a; 1. MTO/MTS 与 PUSH/PULL 有关系但是不是充分关系 2. MTO/MTS 是公司经营策略&#xff0c;更多是对市场需求的经营策略&#xff0c;体现在生产时机上的不同&#xff0c;一个是等客户需求&#xff0c;一个是填…

Ansible-inventory和playbook

文章目录 一、inventory 主机清单1、列表表示2、inventory 中的变量3、变量3.1 主机变量3.2 组变量3.3 组嵌套 二、playbook剧本1、playbook的组成2、编写剧本2.1 剧本制作2.2 准备nginx.conf2.3 运行剧本2.4 查看webservers服务器2.5 补充参数 3、剧本定义、引用变量3.1 剧本制…

【Linux网络】HTTPS【上】{运营商劫持/加密方式/数据摘要/https的诞生}

文章目录 1.引入1.1http与https1.2SSL/TLS1.3VPN1.4认识1.5密码学1.6为什么要加密&#xff1f;运营商 1.7常见的加密方式对称加密非对称加密 2.加密与解密3.数据摘要 && 数据指纹MD5 数字 签名理解三者数据摘要&#xff08;Digital Digest&#xff09;&#xff1a;数字…

vivado 低级别 SVF JTAG 命令

低级别 SVF JTAG 命令 注释 &#xff1a; 在 Versal ™ 器件上不支持 SVF 。 低级别 JTAG 命令允许您扫描多个 FPGA JTAG 链。针对链操作所生成的 SVF 命令使用这些低级别命令来访问链中的 FPGA 。 报头数据寄存器 (HDR) 和报头指令寄存器 (HIR) 语法 HDR length […

【数据结构课程学习】:队列学习

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;数据结构课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f697; 1.队列的基本概念&#xff1a…

[muduo网络库]——muduo库的Reactor模型(剖析muduo网络库核心部分、设计思想)

一、前言 在学习 C 服务端的过程中&#xff0c;必不可少的一项就是熟悉一个网络库&#xff0c;包括网络库的应用和其底层实现。我们熟知的网络库有 libevent、libev、muduo、Netty 等&#xff0c;其中 muduo 是由陈硕大佬个人开发的 TCP 网络库&#xff0c;最近跟着课程正在深…

分布式与一致性协议之ZAB协议(四)

ZAB协议 ZooKeeper是如何选举领导者的。 首先我们来看看ZooKeeper是如何实现成员身份的&#xff1f; 在ZooKeeper中&#xff0c;成员状态是在QuorumPeer.java中实现的&#xff0c;为枚举型变量 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING }其实&…

代码生成工具1 ——项目简介和基础开发

1 项目简介 需要提前在数据库建好表&#xff0c;然后执行代码生成工具&#xff0c;会生成简单的Java文件&#xff0c;避免重复编写增删改查代码。类似的工具网上有很多&#xff0c;本人开发这个工具属于自娱自乐。这个专栏会记录开发的过程。 2 项目搭建 数据库使用MySQL &…

js图片回显的方法

直接上代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body>// HTML部分<input type"file" id"fileInput"><button onclick"show…

深度学习技术之加宽前馈全连接神经网络

深度学习技术 加宽前馈全连接神经网络1. Functional API 搭建神经网络模型1.1 利用Functional API编写宽深神经网络模型进行手写数字识别1.1.1 导入需要的库1.1.2 加载虹膜&#xff08;Iris&#xff09;数据集1.1.3 分割训练集和测试集1.1.4 定义模型输入层1.1.5 添加隐藏层1.1…

栈结构(详解)

1.栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&am…

省级生活垃圾无害化处理率面板数据(2004-2022年)

01、数据简介 生活垃圾无害化处理率是指经过处理的生活垃圾中&#xff0c;达到无害化标准的垃圾所占的比例。这一指标是衡量城市垃圾处理水平的重要标准&#xff0c;反映了城市对垃圾进行有效管理和处理的能力。 生活垃圾无害化处理的主要方式包括生活垃圾焚烧、生活垃圾卫生…