计算机网络——网络层(1)

计算机网络——网络层(1)

  • 小程一言
    • 专栏链接: [link](http://t.csdnimg.cn/ZUTXU)
  • 网络层:数据平面
    • 网络层概述
      • 核心功能
      • 协议
      • 总结
    • 路由器工作原理
      • 路由器的工作步骤
      • 总结
    • 网际协议
      • IPv4
      • 主要特点
      • 不足
      • IPv6
      • 主要特点
      • 现状
    • 通用转发和SDN
      • 通用转发
      • SDN(软件定义网络)
      • 总结

小程一言

我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。
面向群体:在学计网的在校大学生,工作后想要提升的各位伙伴,

专栏链接: link

在这里插入图片描述

网络层:数据平面

网络层概述

网络层是OSI(开放式系统互联)模型中的第三层,也是TCP/IP协议栈中的第三层。它主要负责在不同网络之间进行数据包的路由和转发,以实现数据的传输。网络层的主要作用是为不同的主机之间提供通信服务,确保数据能够从源主机传输到目标主机。

核心功能

  1. 寻址:寻址是指确定数据包的源和目标的地址,
  2. 路由:路由则是决定数据包从源到目标的路径。
  3. 网络层使用IP地址来进行寻址,通过路由选择算法来确定数据包的传输路径。

在这里插入图片描述

协议

  1. IP协议:是网络层的核心协议,负责将数据包从源主机传输到目标主机
  2. ICMP协议: 用于在网络中进行错误报告和诊断。

总结

网络层是整个网络通信中非常重要的一部分,它负责在不同的网络之间进行数据传输和路由选择,为上层协议提供可靠的通信服务。

路由器工作原理

路由器是一种网络设备,用于在不同的网络之间转发数据包,它是网络层的设备,主要负责网络层的路由功能。

路由器的工作步骤

  1. 数据包接收:路由器接收来自不同网络的数据包,每个数据包包含了目标主机的IP地址以及数据内容。
  2. 数据包分析:路由器根据数据包中的目标IP地址,使用路由表来确定数据包应该被发送到哪个接口。
  3. 转发数据包:一旦确定了数据包的出口接口,路由器就会将数据包发送到相应的网络中。
  4. 更新路由表:路由器会不断地更新自己的路由表,以确保能够选择最佳的路径来转发数据包。这些更新可以通过路由协议(如OSPF、BGP等)来实现。
  5. 网络地址转换(NAT):在一些情况下,路由器还可能执行网络地址转换(NAT)的功能,将内部网络的私有IP地址转换成公共IP地址,以实现内部网络和外部网络的通信。

总结

路由器的工作原理就是根据数据包中的目标IP地址,选择最佳的路径来转发数据包,同时不断地更新自己的路由表,以确保网络中的数据能够快速、准确地传输。

在这里插入图片描述

网际协议

IPv4

因特网协议的第四个版本,是互联网上最常用的网络层协议之一。IPv4使用32位地址,通常以点分十进制表示,例如192.168.1.1。IPv4地址被用于标识网络上的设备,每个设备都必须拥有唯一的IPv4地址。

主要特点

  1. 地址分配:IPv4地址被分为五个类别,分别是A、B、C、D和E类地址。其中A、B、C类地址用于主机地址分配,D类地址用于多播,E类地址保留未分配。由于IPv4地址空间有限,随着互联网的发展,IPv4地址已经非常稀缺。
  2. 数据包格式:IPv4数据包由首部和数据两部分组成。首部包含了版本号、头部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部校验和、源IP地址和目的IP地址等字段。
  3. 路由选择:IPv4协议使用路由选择算法来决定数据包的传输路径,路由选择算法可以根据目的IP地址和路由表来选择最佳的路径。
  4. 无连接性:IPv4是一种无连接协议,数据包在传输过程中不会维护连接状态,每个数据包都是独立传输的。

不足

尽管IPv4在互联网发展中发挥了重要作用,但由于IPv4地址空间有限,导致了IPv4地址枯竭的问题。因此,IPv6(Internet Protocol version 6)作为IPv4的替代方案,已经逐渐被广泛采用,以解决IPv4地址空间不足的问题。IPv6采用128位地址,大大扩展了地址空间,同时还具有其他一些改进和增强的特性。
**
**

IPv6

IPv6(Internet Protocol version 6)是因特网协议的第六个版本,是IPv4的后继版本,旨在解决IPv4地址空间有限的问题。IPv6采用128位地址,通常以冒号分隔的八组十六进制数字表示,例如2001:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6地址空间的巨大扩展使得它能够为未来的互联网发展提供足够的地址资源。

在这里插入图片描述

主要特点

  1. 大地址空间:IPv6采用128位地址,相比IPv4的32位地址空间大大扩展,提供了约3.4x10^38个地址,以满足未来互联网设备的需求。
  2. 简化的首部:IPv6的数据包首部相对于IPv4来说更加简化,减少了一些不常用的字段,提高了数据包的处理效率。
  3. 自动地址配置:IPv6支持自动地址配置,设备可以通过IPv6的无状态地址自动配置(SLAAC)或者动态主机配置协议(DHCPv6)来获取IPv6地址。
  4. 安全性增强:IPv6在设计上考虑了安全性,支持IPsec协议的一些特性,提供了更好的数据传输安全性。
  5. 改进的多播和任播:IPv6对多播和任播的支持有所改进,提供更加灵活和高效的多播和任播机制。

现状

IPv6在技术上提供了许多改进和增强,但由于IPv4网络的广泛应用和IPv6的推广进程较为缓慢,目前仍然存在IPv4和IPv6共存的情况。然而,随着互联网设备的不断增加和IPv4地址资源的枯竭,IPv6的部署和应用将逐渐成为未来互联网发展的主流趋势。

通用转发和SDN

通用转发

网络设备根据预先配置的路由信息和转发表来进行数据包的转发。在通用转发中,网络设备根据静态的路由表来确定数据包的转发路径,这些路由信息通常是管理员手动配置的,因此网络的配置和管理相对较为繁琐。通用转发的转发决策是基于设备本身的硬件和软件,缺乏智能化和动态化的特点,因此在面对复杂的网络环境和流量管理时可能表现不佳。

SDN(软件定义网络)

是一种新型的网络架构,它将网络控制平面和数据转发平面分离。在SDN中,网络的控制逻辑被集中到一个中心化的控制器中,通过控制器对网络进行统一的管理和控制。SDN可以实现灵活的网络配置和动态的流量控制,管理员可以通过控制器进行网络配置和流量管理,而不需要逐个配置每个网络设备。这种集中式的控制架构使得SDN网络更加灵活、可管理性更高,并且能够更好地适应网络的变化和需求。

总结

通用转发是传统的网络转发方式,静态的路由表和转发表由设备本身管理,缺乏灵活性和智能化;而SDN则是一种新型的网络架构,通过集中式的控制器对网络进行统一的管理和控制,可以实现灵活的网络配置和动态的流量控制,提高了网络的灵活性和可管理性。因此,SDN相比通用转发具有更大的优势和应用前景。

在这里插入图片描述

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

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

相关文章

ORM-08-EclipseLink 入门介绍

拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.(手写简易版 mybatis) 1. EclipseLink概述 本章介绍了EclipseLink及其关键特性:包括在EclipseLink中的组件、元数据、应用程序架构、映射和API。 本…

蓝桥OJ3694肖恩的投球游戏plus

二维差分 #include<bits/stdc.h> using namespace std;const int N 1e3 5; int a[N][N],d[N][N];int main() {int n, m, q;cin >> n >> m >> q;for (int i 1 ; i < n; i){for (int j 1; j < m; j){cin >> a[i][j];d[i][j] a[i][j] a…

大模型工作笔记

当前主要从三个方面入手解决幻觉问题&#xff1a; 检测数据中虚假信息&#xff0c;提升数据质量&#xff1b;扩大模型规模并增大预训练数据量&#xff0c;模型能力的提升能实现幻觉水平的降低&#xff1b;结合搜索增强以及知识库等方法&#xff0c;提升生成信息的准确性。 使…

C语言和C++中不定参数解析

你所看到的惊艳&#xff0c;都曾被平庸历练 文章目录 简介C语言不定参数不定参宏函数 C不定参数方法一&#xff1a;递归展开方式二&#xff1a;折叠表达式方法三&#xff1a;逗号表达式 总结 简介 相信学过c/c的佬们都知道&#xff0c;如果一个函数将自己的参数确定好后&#…

想成为offer收割机?收好这份面试实战攻略!

很多小伙伴之所以会屡屡求职失败&#xff0c;是因为他根本就不知道在面试当中面试官到底要的东西是什么。 所以面试时&#xff0c;大家要不断提醒自己&#xff1a;我是来找工作的&#xff0c;必须考虑清楚说什么样的话&#xff0c;做什么样的事&#xff0c;才对找工作有帮助。…

leetcode1237. 找出给定方程的正整数解

1237. 找出给定方程的正整数解https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/ 难度中等 101 给你一个函数 f(x, y) 和一个目标结果 z&#xff0c;函数公式未知&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满…

Kali如何启动SSH服务并实现无公网ip环境远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

计算机网络 第6章(应用层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 计算机网络 第3章&#xff08;数据链路层&#xff09; 计算机网络 第4章&#xff08;网络层&#xff09; 计算机网络 第5章&#xff08;运输层&#xff09; 计算机…

WebSocket服务端数据推送及心跳机制(Spring Boot + VUE):

文章目录 一、WebSocket简介&#xff1a;二、WebSocket通信原理及机制&#xff1a;三、WebSocket特点和优点&#xff1a;四、WebSocket心跳机制&#xff1a;五、在后端Spring Boot 和前端VUE中如何建立通信&#xff1a;【1】在Spring Boot 中 pom.xml中添加 websocket依赖【2】…

Python + Selenium —— 元素定位函数 find_element!

WebDriver 中的 find_element() 方法用来查找元素&#xff0c;并返回 WebElement 对象。是 WebDriver 中最常用的方法。 前面提到的八种定位方式都有对应的方法&#xff0c;如find_element_by_id()。 在 WebDriver 中还有一种用法&#xff0c;就是单纯的find_element()。需要…

年销180万辆的特斯拉,护城河却在崩塌

文&#xff5c;刘俊宏 2023年率先开启汽车价格战的马斯克&#xff0c;伤敌一百自损八千&#xff1f; 在1月25日的特斯拉2023Q4财报电话会上&#xff0c;特斯拉CEO马斯克对中国公司的竞争力如此感叹道&#xff0c;“要是没有贸易壁垒&#xff0c;他们将摧毁&#xff08;destroy…

FastDeploy项目简介,使用其进行(图像分类、目标检测、语义分割、文本检测|orc部署)

FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的推理性能优化。包括 物…

Redis配置类,序列化

解释说明&#xff1a; 当前配置类不是必须的&#xff0c;因为 Spring Boot 框架会自动装配 RedisTemplate 对象&#xff0c;但是默认的key序列化器为JdkSerializationRedisSerializer&#xff0c;导致我们存到Redis中后的数据和原始数据有差别 如&#xff1a; 但是取是可以取出…

Linux第35步_在“移植uboot”前安装“libncurses5-dev,bison和flex”工具

在“移植uboot”前&#xff0c;需要在Ubuntu中安装“libncurses5-dev&#xff0c;bison和flex”工具&#xff0c;否则在“编译uboot”时&#xff0c;会报错。 一、了解相关知识 1、libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数库。 2、bison是用C编写的语法解析…

web蓝桥杯真题--13、水果摆盘

背景介绍 目前 CSS3 中新增的 Flex 弹性布局已经成为前端页面布局的首选方式&#xff0c;这次试题将利用 Flex 实现经典布局效果。 准备步骤 在开始答题前&#xff0c;你需要在线上环境终端中键入以下命令&#xff0c;下载并解压所提供的文件。 wget https://labfile.oss.a…

Vue+OpenLayers7入门到实战:快速搭建Vue+OpenLayers7地图脚手架项目。从零开始构建Vue项目并整合OpenLayers7.5.2

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。 本章会详细讲解从NodeJS环境到npm环境的各个步骤,再到使用vue-cli脚手架快速生成项目,以及添加OpenLayers7地图库依赖,编写简单的xyz高德地图显示…

AR 自回归模型

文章目录 总的代码ADF 检验(是否平稳)差分操作拟合AR 模型预测可视化总的代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt from statsmodels.tsa.ar_model import AutoReg from statsmodels.tsa.stattools import adfuller# 生成一个示例时间序…

DualSPHysics源码结构解读,新手入门

DualSPHysics代码下载&#xff0c;进入官网&#xff1a;https://dual.sphysics.org/ 可以看到下载的地方有①Full package ②Source code&#xff0c;官方的解读是&#xff1a;如果你只是想运行案例的话就下载Full package&#xff0c;如果想要自己进行修改构建的话&#xff0…

【数据结构】72变的双端队列

双端队列 前言一、双端队列1.1 双端队列的定义1.2 输入受限的双端队列1.3 输出受限的双端队列1.5 输入输出都受限的双端队列1.6 小结 二、双端队列的使用2.1 双端队列的出队序列——暴力求解2.1.1 栈的出栈序列2.1.2 输入受限的双端队列2.1.3 输出受限的双端队列2.1.4 输入输出…

Qt基础-项目中添加文件夹及子文件

本文讲解Qt项目中添加文件夹 1、项目中新建文件夹 打开工程目录&#xff0c;在目录下建立文件夹&#xff0c;如建立文件Dialogs 2、移入文件 将需要归类的头文件.h和源文件.cpp放入该文件夹下&#xff1b; 3、4、项目-右键-添加现有文件 查看Pro文件 发生了改变 4、也可以采…