计算机网络(四上)——网络层!!!重中之重

news2024/11/24 20:38:50

先来个整章的大框架,看起来也没有多少东西(bushi)。

这篇文章,就先写

一、网络层的功能

 

互联网在网络层的设计思路是,向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务

1.1.异构网络互联

1.网络互联是指:

将两个以上的计算机网络,通过一定的方法,用一种或多种中间设备相互连接。

根据所在的层次中继系统可分为:

1>物理层:中继器、放大器、集线器

2>数据链路层:网桥或交换机

3>网络层:路由器

4>网络层以上:网关

物理层和数据链路层的中继系统仅仅是扩大了该网络,但仍是一个网络。因此网络互联通常是指用路由器进行网络互联和路由选择。路由器是一台专用计算机,用于路由选择

2.通过IP使得性能各异的网络在网络层看起来就像一个统一的网络。

1.2.!!!路由选择和分组转发

路由器的主要功能:路由选择和分组转发

路由选择:(控制层面)告诉你往哪搬

根据特定的路由选择协议构造出路由表,同时经常或定期和相邻路由器交换路由信息而不断地更新和维护路由表

分组转发:(数据平面)搬砖

路由器根据转发表将用户的IP数据报从合适的端口转发出去

1.3.拥塞控制

作用:确保子网能够承载所达到的流量

1>开环控制:在设计网络是事先将有关发生拥塞的因素考虑周到(静态)

2>闭环控制:事先不考虑发生拥塞的各种因素(动态)

1.4.SDN

路由选择功能由远程控制器计算。

 

二、路由算法

1.静态路由(管理员手动配置)

简单、可靠在负荷稳定、拓扑变化不大的网络中运行效果很好。适用于小型网络

2.动态路由(自适应算法)

路由器之间彼此交换信息,按照路由算法优化出路由表。适用于大型网络

1>全局性:链路状态路由算法(OSPF),所有路由器都能掌握完整的网络拓扑和链路费用(跳数)信息

2>分散性:距离——向量路由算法(RIP),路由器只能掌握物理相连的邻居及链路费用

3.层次路由

 

自治系统AS(一个AS可包含很多局域网)

1>内部网关协议IGP:OSPF,RIP。不同AS内部可以使用不同的协议

2>外部网关协议EGP:具体协议为BGP

三、IPV4

 1.IP数据报格式

1.首部+数据部分

 

首部:固定部分(20B)+可变部分

首部长度最小为5,单位是4B,表示首部长最短为(固定部分)20B,最长为60B;

总长度(首部+数据)单位是1B;

TTL(防止数据无限传输)

源IP地址:4B

目的IP地址:4B

2.IP数据报分片

最大传输单元(MTU):链路层数据帧上限,以太网的MTU是1500字节,下限是64字节

                                       网络层上限是1420B

如果数据报过长,就要对数据报进行分片。

首部中的标识+标志+片偏移,用来进行分片操作

标识:统一数据报

标志:只有两位(DF(don't Fragment)1,禁止分片0允许分片;MF(1,表示还有分片;0表示没有分片))

片偏移:某片在原分组中的相对位置,单位是8B

3.IPV4地址与NAT

1>IPV4地址:

A、B、C、D、E四类地址

注意一些特殊地址:

 

主机号全0:表示网络本身

主机号全1:表示本网络的广播地址

全0:表示本网络上的本主机

全1:本网络的广播地址

2>网络地址转换NAT

将A/B/C类地址的一部分网段拿出来作为私有IP,路由器对于私有网段的数据报一律不准转发

使得整个专用网只需一个全球IP,减少了IP地址的需求量

私有IP地址只能用于LAN,不能用于WAN连接(因此私有地址不能直接与internet相连,必须通过网关利用NAT将私有IP地址转换为INternet中的合法IP后才能用于internet)

私有IP地址也称为可重用地址



4.子网划分 与子网掩码、CIDR(在网络内部再次划分子网)

1、三级IP地址:网络号+子网号+主机号

 2、使用子网时的分组转发:

3、 使用子网掩码时,路由器的分组转发算法:

1>从收到分组的首部提取目的IP;

2>先判断是否为直接交付,若无,执行<3>

3>若路由器中有目的地址的特定主机路由,则交付给下一跳路由器(相当于优先级高,特定路由先挑);

4>对路由器每一行中的子网掩码与目的地址相与,结果为N,若N与该行的目的网络地址匹配,则给下一跳路由器;

5>若路由表中有默认路由,则交付给默认路由器

6>转发分组出错

4.CIDR

查找路由表时:匹配时采用最长前缀匹配

 

5.ARP、DHCP和ICMP

1.IP地址和MAC地址

2.ARP和RARP

ARP看到了IP地址,工作在网络层

NAT路由器看到了端口,因此工作在传输层

 

 3.ICMP(网际控制报文协议)

ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。

IP报文有两种,ICMP差错报文和ICMP询问报文。

一、差错报文:

1>终点不可达

2>源点抑制

3>时间超过(TTL到0)

4>参数问题

5>改变路由(重定向)

二、不发送差错报文的几种情况:

1.第一个分片后续的数据报片都不发ICMP差错报告报文

2.具有主播地址的数据报都不发送ICMP差错报文

3.具有特殊地址的数据报不发送ICMP差错报文

三、ICMP询问报文

1.回送请求报文

2.时间戳请求报文

3.掩码地址请求

4.路由器询问地址

四、IPV6

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

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

相关文章

Springboot +Flowable,流程表单应用之动态表单

一.简介 整体上来说&#xff0c;我们可以将Flowable 的表单分为三种不同的类型&#xff1a; 动态表单 这种表单定义方式我们可以配置表单中每一个字段的可读性、可写性、是否必填等信息&#xff0c;不过不能定义完整的表单页面。外置表单 外置表单我们只需要定义一下表单的 k…

kafka 从入门到精通

kafka 从入门到精通 安装 zookeeper模式 创建软件目录 mkdir /opt/soft cd /opt/soft下载 wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz解压 tar -zxvf kafka_2.13-3.4.0.tgz 修改目录名称 mv kafka_2.13-3.4.0 kafka配置环境变量 vim /etc/pr…

C51基础之单片机编程中通用指针和定向指针

通用指针和定向指针 参考资料&#xff1a;Keil > Help > uVision Help > Cx51 Compiler User’s Guide > Language Extensions > Pointers 一、Cx51指针的几种用法 int *ptr; /* 指向&#xff1a;任意空间的int变量&#xff0c; 存储在&…

什么是Java中的finalize()方法?它有什么作用

在Java中&#xff0c;finalize()方法是一个由Object类定义的方法&#xff0c;用于在对象被垃圾回收器回收之前执行一些清理工作。finalize()方法是一个被保护的方法&#xff0c;可以被子类重写&#xff0c;但是通常情况下不需要显式地调用该方法。 finalize()方法的作用 在Jav…

MYSQL原理、设计与应用

概述 数据库(Database&#xff0c;DB)是按照数据结构来组织、存储和管理数据的仓库&#xff0c;其本身可被看作电子化的文件柜&#xff0c;用户可以对文件中的数据进行增删改查等操作。 数据库系统是指在计算机系统中引入数据库后的系统&#xff0c;除了数据库&#xff0c;还…

首次开通社交账号亲自招聘人才 周星驰都在关注的Web3 你知道是什么吗?

60岁的“星爷”周星驰要进军元宇宙了&#xff1f; 谁能想到&#xff0c;向来低调的他首次注册社交账号&#xff0c;竟是为了发布一条招人信息&#xff0c;挑选的还不是新片男女主角&#xff0c;而是Web3人才&#xff0c;一脚跨界到了互联网科技领域。 今天一整天&#xff0c;…

2022-2023 年度广东省职业院校学生专业技能大赛中职组“网络安全”赛项竞赛任务书(样题)

2022-2023 年度广东省职业院校学生专业技能大赛中职组“网络安全”赛项竞赛任务书&#xff08;样题&#xff09; 一、竞赛时间 总计&#xff1a;210 分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A 模块 A-1 登录安全加固 90 分钟 200…

node笔记_express结合formidable实现前后端的文件上传

文章目录 ⭐前言⭐安装http请求的文件解析依赖库&#x1f496; 安装 formidable&#x1f496; node formidable接受formData上传参数 ⭐上传的页面搭建&#x1f496; vue2 element upload&#x1f496; node 渲染 上传文件 ⭐后端生成api上传文件到指定目录&#x1f496;完整的…

【Spring篇】Spring入门案例

&#x1f353;系列专栏:Spring系列 &#x1f349;个人主页:个人主页 目录 一、IOC入门案例 1.入门案例思路分析 2.入门案例代码实现 二、DI入门案例 1.入门案例思路分析 2.入门案例代码实现 三、图书推荐 介绍完Spring的核心概念后&#xff0c;接下来我们得思考一个问题…

2023年安徽省中职网络安全跨站脚本攻击

B-4:跨站脚本攻击 任务环境说明: √ 服务器场景:Server2125(关闭链接) √ 服务器场景操作系统:未知 √ 用户名:未知 密码:未知 1.访问服务器网站目录1,根据页面信息完成条件,将获取到弹框信息作为flag提交; 通过尝试知道这里存在xss漏洞

【CVE-2022-26134】Confluence OGNL RCE 漏洞

漏洞描述 远程攻击者在未经身份验证的情况下&#xff0c;可构造OGNL表达式进行注入&#xff0c;实现在Confluence Server或Data Center上执行任意代码。 影响版本 Confluence Server and Data Center > 1.3.0 Confluence Server and Data Center < 7.4.17 Confluenc…

九头蛇3389远程爆破

1.初学KALI hydra&#xff08;海德拉&#xff09;。 实验环境&#xff1a;VM16,虚拟机两台&#xff0c;Windows10系统&#xff0c;KALI系统&#xff0c;用nmap查看目标端口是否开放。 2.在KALI虚拟机上面使用命令nmap查看WIN10的3389端口是否打开。 3.在KALI虚拟机上面建立用…

Java sdk使用加载账户私钥调用合约

Java sdk使用加载账户私钥调用合约 1.智能合约案例 1.2 智能合约的流程 1.2 智能合约详细代码 实现了一个简单的商店功能。它定义了三个结构体&#xff1a;用户、商家和商品&#xff0c;以及对应的映射关系。它提供了一些方法用于注册用户和商家&#xff0c;创建商品&#x…

MVC模式和三层架构

MVC模式和三层架构 MVC模式三层架构MVC与三层架构的联系MVC与三层架构的异同 MVC模式 MVC&#xff08;Model View Controller&#xff09;是软件工程中的一种软件设计模式&#xff0c;它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方…

路由器+Gdbserver+IDA Pro远程调试

最近在复现路由器漏洞&#xff0c;也踩了不少坑&#xff0c;记录一下&#xff0c;希望能对需要的人有一些帮助。使用的路由器型号为RT-AC68U&#xff0c;ARM架构&#xff0c;小端序&#xff0c;Linux内核版本2.6.36&#xff0c;很老&#xff0c;主要的时间也花费在找能支持这个…

2023年最新版kali linux安装教程

一、前期准备 前排提醒&#xff0c;文末有绿色版安装包免费领取&#xff01; 二、VMware虚拟机配置 1、打开vmware&#xff0c;点击创建新的虚拟机 2、选择自定义(高级)选项&#xff0c;点击下一步 3、继续下一步 4、选择【稍后安装操作系统】&#xff0c;然后点击下一步 …

【Mybatis】使用mybatis框架连接mysql数据库详细步骤

和我之前写的通过导入jdbc驱动jar包来连接mysql数据库而言&#xff0c;用mybatis来说可以有很多好处呀&#xff0c;首先mybatis&#xff0c;就是对jdbc的优化方案对吧&#xff0c;&#xff0c;jdbc的硬编码和一些繁琐的操作在使用mybatis的时候我就彻底抛掷脑后了哈哈哈。 同时…

MySQL数据库下载及安装教程(最最新版)

MySQL数据库下载及安装教程&#xff08;最最新版&#xff09; 一、下载mysql数据库二、安装Mysql三、验证是否安装成功&#xff08;一&#xff09;、命令提示符cmd窗口验证&#xff08;二&#xff09;、MySQL控制台验证 一、下载mysql数据库 进入MySQL官方网站&#xff08;htt…

SVG实现中国地图

1.SVG是什么&#xff1f; svg 是Scalable Vector Graphics的缩写&#xff0c;指可伸缩矢量图形&#xff0c;可以用于绘制复杂不规则的控件。 svg绘制原理&#xff0c;就是利用了Path绘制图形。 1&#xff09;svg利用xml定义图形。在xml中就包晗了绘制Path所需的数据。 2&…

创建数据库中,超详细常用的MySQL命令(含解析、图解与全部代码)

目录 系统命令行 MySQL命令行 数据库命令 数据表命令 建表并导入数据 表的其他操作 系统命令行 以下是在系统命令行&#xff0c;已管理员身份运行的情况下&#xff0c;MySQL的一些命令 1.这两条是关闭MySQL服务与开启MySQL服务的命令 net stop MySQL net start MySQL80…