【计算机网络】网络层总结

目录

知识梗概

IP地址

子网划分

IP包头格式

路由

网络层协议

ARP病毒/ARP欺骗


知识梗概

IP地址

IP相关介绍:机器之间需要交流,必须要一个地址才能找到对应的主机,IP地址是主机的一种表示,保证主机之间的正常通信;它是一种网络编码,用来确定网络中的节点;

IPv4:32位,大概42亿个IP地址,随着全球的网民不断飙升,出现了IPv6,IPv6具有128位,可以提供更多的地址。

IP地址的组成:主机部分+网络部分。主机部分和网络部分占的位数不同,分出来ABCDE五类地址:

A类:1~126开头,127开头的地址给本地的loopback(环回)接口使用了,主要用于TCP/IP协议在本机的测试使用;

B类:128~191开头

C类:192~223开头

私有地址

公有ip:在互联网中使用,不可以重复

私有ip:在局域网中使用,可以重复

NAT技术:公司内部网使用私有ip---路由器--->转换成公网ip--->访问互连网(该技术后面会重点说,这里先有个印象,想想大家平时连自己家里的网,IP地址总是192.168什么什么的开头,难道没有一样的嘛?为什么不会冲突?)

子网掩码

用来确定ip的网络地址,也就是这个IP是哪个网段的 ,不同的网段一般不能直接通信,需要通过路由器转发的。通过子网掩码和IP地址,就能算出网段是什么?

32个二进制位:对应ip地址的网络部分用1表示,对应ip地址的主机部分用0表示;

IP地址和子网掩码做逻辑与运算得到网络地址;

所以我们来尝试计算一下对应IP所处的网段地址:

那我们如何查看自己的IP地址呢?

windows:ipconfig /all--查看ip地址、物理地址

windows:nslookup www.qq.com--查看解析域名对应的ip地址

linux:ip route:查看网关和直连路由及其接口

ip add:显示接口名称,MTU,接口状态、ip地址、以太网mac地址等

Linux中还可以使用ifconfig来查看ip以及mac地址

子网划分

子网划分是干什么呢?

大网划为小网,满足不同网络对ip地址的需求,实现网络的层次性;

子网划分不再是有类地址A、B、C类,而是无类地址;

网络部分向主机部分借位,主机部分的能容纳的主机就会变少;

一个子网的有效的ip地址段:去除全0和全1的ip地址

最多借位到/30,此时有效的ip地址是两个;

出现/32,表示一个ip地址是一个网段,这是一个主机路由

IP包头格式

IP包头:前面我们说到,数据在网络层会添加一个IP头部,也就是这里的IP包头:

对IP包头格式的介绍

版本:IPV4或IPV6;

首部长度:ip包头的长度,因为长度可变,因此需要定义;

总长度:IP数据包的总长度;

标识符、标志、偏移量:保证数据包重组时不会出错;

TTL:生命周期字段,经过一个路由器值就-1,为0时,数据包被丢弃。防止一个数据包在网络中无限循环下去;

源IP地址4字节

目的IP地址4字节

可选项:其他东西

路由

路由的原理:跨越从源主机到目的主机的一个互联网络来转发数据包的过程

接下来就要介绍网络层最最最重要的机器--路由器。

路由器是什么?-->能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备;

将一个网段的数据转发到另一个网段,实现跨网段通信;路由器里面存储信息的东西叫路由表,路由表里有很多路由信息,一条路由信息就叫一个路由条目;

路由器工作简单来说就是:收到数据包-->根据目的ip查找路由表-->转发

简单介绍一下路由表的路由类型

提到路由器就不得不提两个重要的协议:ARP协议

1、ARP协议-->地址解析协议,得到IP地址对应的mac地址。在网络层用IP交流,但是数据包到达数据链路层时还是要得到mac地址的,这个时候要用到这个ARP协议拿到对应IP的mac地址,数据才能传输下去。

2、动态路由协议-->

动态路由协议是路由器之间用于交换、计算和维护路由表的协议。它的基本工作原理包括以下四个阶段:

邻居发现阶段:运行了相同动态路由协议的路由器之间,首先需要建立一个用于交换路由的对等点关系,这些路由器又称为邻居路由器。

路由交换阶段:发现邻居后,每个路由器会主动通过广播或单播的方式把自己的路由信息发送给邻居路由器。经过一段时间后,每个建立了对等点关系的路由器都拥有了整网的路由信息。

路由选择阶段:路由器根据收到的路由信息,结合自身的路由算法,选择出到达目标网络的最佳路径,并生成路由表。

维护路由阶段:为了感知突发的网络故障(如设备故障或线路中断等),邻居路由器之间会发送周期性的心跳包。当心跳包超时时,就会认为邻居关系失效,此时路由器需要自动维护路由表的更新,将故障路径移除。

动态路由协议的主要作用包括维护路由信息、建立路由表和决定最佳路由。它的优点在于可以自动适应网络状态的变化,并自动维护路由信息而不需要网络管理员的参与。然而,由于需要相互交换路由信息,动态路由协议会占用一定的网络带宽和系统资源,并且其安全性不如静态路由。

在动态路由协议中,目的网络是否可达取决于网络状态。动态路由协议按照寻址算法的不同,可以分为距离矢量路由协议和链路状态路由协议。距离矢量路由协议采用距离矢量算法,是相邻的路由器之间互相交换整个路由表,并进行矢量的叠加,最后学习到整个路由表。而链路状态路由协议则采用链路状态算法,路由器不是简单的从相邻的路由器学习路由,而是把路由器分成区域,收集区域内的路由信息,生成网络拓扑结构图,从而计算出最佳路径。

OSPF(开放最短路径优先)是一种典型的链路状态路由协议,被广泛应用于企业内部网络、云计算环境、校园网络和互联网接入网络等场景。它支持路由聚合和路由器冗余,提高网络的可伸缩性和可靠性,并可以通过动态地适应网络拓扑的变化,提供灵活的、可扩展的路由服务。同时,OSPF还支持ECMP(等价多路径)负载均衡,从而能够更好地利用多个路径,提高网络的负载能力。

查看路由表的命令

linux : ip route

windows : route print

路由器转发数据包的封装过程

mac地址在局域网中使用,IP地址在整个互联网中使用;

NAT技术:网络地址转换技术,将公网和私网地址进行转换,解决了IPV4地址不足的问题,所有的局域网都可以使用相同的网段IP地址,每个路由器的WAN口具有一个公网IP地址,出去的时候路由器会修改IP包里的源IP为公网IP;

想要知道到达一个指定的地址,比如说要访问www.baidu.com,要经过哪些路由器?

这就涉及到路由追踪的知识:可以使用:tracepath www.baidu.com命令。

通过最多30个跃点追踪,用一个循环,每次TTL+1,最多加到30,能探测到www.baidu.com经过了哪些路由器。

网络层协议

arp协议---->
地直接写协议,主要是在局域网中使用,将已知的IP地址解析为mac地址;

arp缓存表:

arp -n查看缓存表;

arping 192.168.1.1发送广播包得到该IP(在使用的IP)的mac地址;还可以检查一个ip是否有冲突(有相同的IP)

Icmp协议---->
网络控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

Icmp协议没有自己的IP地址,所以要借用IP协议(网际协议)

抓包工具

简单介绍一下,可以下载使用一下,上手比较简单:

ARP病毒/ARP欺骗

相关思维导图可分享!关注后台私

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

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

相关文章

LabVIEW高效目标跟踪系统

LabVIEW高效目标跟踪系统 随着机器视觉技术的飞速发展,设计和实现高效的目标跟踪系统成为了众多领域关注的焦点。基于LabVIEW平台,结合NI Vision机器视觉库,开发了一种既高效又灵活的目标跟踪系统。通过面向对象编程方法和队列消息处理器程序…

File contains parsing errors: file:///etc/yum.repos.d/nginx.repo报错解决,文件配置出现问题

执行yum指令出现以下错误: 解决方案:yum的配置文件出现问题, 先删除yum.repos.d目录下所有文件 rm -f /etc/yum.repos.d/* 然后重新下载阿里的资源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.…

无人机+大载重+长航时:油电混动多旋翼无人机技术详解

多旋翼无人机是一种具有三个及以上旋翼轴的特殊的无人驾驶旋翼飞行器。具有稳定性强、操控简单、勤务性高、价格便宜等优势,因此在市场上的应用非常广泛。此外,利用地面供电的绳系多旋翼通过电缆向多旋翼持续传输电能,可以大大提高多旋翼的空…

【Java EE】MyBatis使用注解操作数据库

文章目录 🍀参数传递🌴增(Insert)🌸返回主键 🍃删(Delete)🌳改(Update)🌲查(Select)🌸起别名🌸结果映射🌸开启驼峰命名(推荐) ⭕总结 🍀参数传递 需求: 查找…

邊緣智能2024—AI開發者峰會(5月9日)數碼港即將啟幕

隨著 AI (人工智能)技術的飛速發展,我們正迎來邊緣計算智能化與分布式AI深度融合的新時代,共同演繹分布式智能創新應用的壯麗篇章。"邊緣智能2024 - AI開發者峰會"將聚焦於這一前沿領域,探討如何通過邊緣計算…

网络安全知识点

网络安全 1. 网络安全的定义,网络安全的属性。 定义:针对各种网络安全威胁研究其安全策略和机制,通过防护、检测和响应,确保网络系统及数据的安全性。 属性:机密性 认证(可鉴别性&#xff09…

启发式搜索算法4 -遗传算法实战:吊死鬼游戏

相关文章: 启发式搜索算法1 – 最佳优先搜索算法 启发式搜索算法2 – A*算法 启发式搜索算法2 – 遗传算法 有一个小游戏叫吊死鬼游戏(hangman),在学习英语的时候,大家有可能在课堂上玩过。老师给定一个英文单词,同学们…

第 8 章 机器人平台设计(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 学习到当前阶段大家对ROS已经有一定的认知了,但是之前的内容更偏理论,尤其是介绍完第6…

Excel 透视表:数据分析利器

Excel 透视表:数据分析利器 Excel 透视表是 Excel 中一个强大的数据分析工具,可以帮助用户快速、轻松地汇总、分析大量数据。它能够将复杂的数据转化为易于理解的摘要信息,并提供多种视图和选项供用户探索数据。 重要性 Excel 透视表在数据…

大数据信用花了,一般多久能正常?

在当今数字化时代,大数据技术被广泛应用于各个领域,包括金融、电商、社交等。然而,随着大数据技术的普及,个人信用问题也日益凸显,其中“大数据信用花”现象尤为引人关注。那么,大数据信用花究竟是什么?一…

【Unity】修改模型透明度

在 Unity 中修改模型透明度主要有两种方法:通过材质和通过着色器。以下是两种方法的步骤和解释: 方法 1:通过材质 在 Unity 编辑器中,选择你想要修改透明度的模型。在 Inspector 窗口中,找到模型的 Renderer 组件&am…

HTML5本地存储账号密码

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML5本地存储账号密码</title> </head…

【Java从入门到精通】Java方法

在前面几个章节中我们经常使用到 System.out.println()&#xff0c;那么它是什么呢&#xff1f; println() 是一个方法。System 是系统类。out 是标准输出对象。 这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。 那么什么是方法呢&#xff1f; …

主成分分析在R语言中的简单应用:使用mvstats包

在数据科学领域&#xff0c;主成分分析&#xff08;PCA&#xff09;是一种广泛使用的技术&#xff0c;主要用于数据降维和探索性数据分析。PCA可以帮助我们发现数据中的模式&#xff0c;减少数据集的复杂性&#xff0c;同时保持数据中最重要的特征。本文将介绍如何在R语言中使用…

04_jvm性能调优_并行收集器介绍

并行收集器&#xff08;此处也称为吞吐量收集器&#xff09;是类似于串行收集器的分代收集器。串行和并行收集器之间的主要区别在于并行收集器具有多个线程&#xff0c;用于加速垃圾回收过程。 通过命令行选项-XX:UseParallelGC 可启用并行收集器。默认情况下&#xff0c;使用…

LeetCode 105.从前序与中序遍历构造二叉树

题目描述 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,nul…

【LeetCode刷题记录】110. 平衡二叉树

110 平衡二叉树 给定一个二叉树&#xff0c;判断它是否是平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,3,3,null,null,4,4] 输出&#xff1a;false 示例 3&…

vue3项目引入VueQuill富文本编辑器(成功)及 quill-image-uploader 图像模块(未成功)

tip&#xff1a;重点解释都写在代码注释里了&#xff0c;方便理解&#xff0c;所以看起来比较密集 富文本基本使用 项目文件夹路径安装依赖 npm install vueup/vue-quilllatest --save 全局注册&#xff1a;main.js // main.js// 自己项目的一些配置&#xff08;只放了主要…

注册表获取autoCAD安装位置

注意事项 注意&#xff1a;①64位操作系统注册表会重定向&#xff0c;RegOpenKeyEx第4个参数得加上KEY_WOW64_64KEY&#xff1b;②RegOpenKeyEx遍历子项时注意第2和第4参数&#xff0c;参考图&#xff1a; ③RegQueryValueEx同样得注意第6参数 完整代码 std::unordered_map…

基于ssm+vue+Mysql的药源购物网站

开发语言&#xff1a;Java框架&#xff1a;ssmJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.…