计算机网络复习-网络层

embedded/2024/12/22 11:33:20/

章节主要内容

在这里插入图片描述

虚拟互连网络

  • 实际的计算机网络是错综复杂的
  • 物理设备通过使用ip协议,屏蔽了物理网络之间的差异
  • 网络中的主机使用ip协议连接时,则无需关注网络细节
    在这里插入图片描述

IP协议

  • ip协议使得复杂的实际网络变为一个虚拟互连的网络
  • ip协议使得网络层可以屏蔽细节而专注网络层的数据转发
  • ip协议解决了在虚拟网络中数据报传输路径的问题
    在这里插入图片描述
  • mac地址是固定不变的,就算换了计算机它的硬件地址是固定的
  • ip地址是可变的,比如换一个wifi的话IP地址就会发生变化,受网络环境影响
  • IP地址长度为32位,常分为4个8位
  • IP地址尝试用点分十进制来表示在这里插入图片描述
    在这里插入图片描述

头部信息

在这里插入图片描述

  • 版本:占4位,指的是IP协议的版本,通信双方的版本必须是一致的,当前主流版本是4,即ipv4,也有ipv6
  • 首部位长度:占4位,最大数值为15,表示的是IP首部长度单位是“32位字”(4个字节),也即是IP首部最大长度为60字节
  • 总长度:占16位,最大数值为65535,表示的是IP数据报总长度(IP首部+IP数据)
  • TTL:占8位,表明IP数据报文在网络中的寿命,每经过一个设备,TTL减1,当TTL=0时网络设备必须丢弃该报文
  • 协议:占8位,表明IP数据所携带的具体数据是什么协议的(如:TCP、UDP等)
    在这里插入图片描述
  • 首部校验和:占16位,校验IP首部是否有出错

IP协议的转发流程

在这里插入图片描述
第一种

  • A发出目的地为C的IP数据报,查询路由表发现下一跳为E
  • A将数据报发送给E
  • E查询路由表发现下一跳为F,将数据报发送给F
  • F查询路由表发现目的地C直接连接,将数据报发送给C

第二种

  • A发出目的地为C的IP数据报,查询路由表发现下一跳为E
  • A将IP数据报交给数据链路层,并告知目的MAC地址是E
  • 数据链路层填充源MAC地址A和目的MAC地址E
  • 数据链路层通过物理层将数据发送给E
  • E的数据链路层接收到数据帧,把帧数据交给网络
  • E查询路由表,发现下一跳为F
  • E把数据报交给数据链路层,并告知目的MAC地址为F
  • E的数据链路层封装数据帧并发送
  • F的数据链路层接收到数据帧,把帧数据交给网络
  • F查询路由表,发现下一跳为C
  • F把数据报交给数据链路层,并告知目的MAC地址为C
  • F的数据链路层封装数据帧并发送
    其中:
    • 数据帧每一跳的MAC地址都在变化
    • IP数据报每一跳的IP地址始终不变

ARP协议与RARP协议

ARP协议

  • ARP协议的作用,就像是一个"黄页电话簿"或者"地址查询服务"。当你知道某个人(设备)的身份证号码(IP地址),但是不知道他们实际住在哪里(MAC地址),就可以使用ARP协议来获取他们的实际居住地址。

  • ARP协议是地址解析协议
    在这里插入图片描述

  • ARP缓存表,就是一个IP地址的映射
    在这里插入图片描述

  • ARP缓存表有两种情况:

  • 第一种是ARP缓存表有IP地址和MAC地址的映射关系
    -如果有映射关系的话就可以使用网络层的ip地址找到数据链路层的mac地址

  • 第二种是ARP缓存表没有IP地址和MAC地址的映射关系
    -如果没有映射关系的话ARP会广播一个ip的信息,所以设备收到信息会回应一个包,表示说是不是这个IP地址,如果是就会记录IP地址和MAC地址。

  • ARP缓存表是ARP协议和RARP协议运行的关键

  • ARP缓存表缓存了IP地址到硬件地址之间的映射关系

  • ARP缓存表中的记录并不是永久有效的,有一定的期限,因为IP地址会变化
    在这里插入图片描述

RARP协议

  • RARP协议,逆地址解析协议 在这里插入图片描述

ARP总结

  • ®ARP协议是TCP/IP协议栈里面基础的协议
  • ARP和RARP的操作对程序员是透明的
  • 理解®ARP协议有助于理解网络分层的细节

IP地址的子网划分

  • IP地址长度为32位,常分为4个8位
  • IP地址常用点分十进制来表示(0 ~ 255,0 ~ 255, 0 ~ 255, 0 ~ 255)

分类的IP地址

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

  • 特殊的主机号
    -主机号为0表示当前网络段,不可分配为特定主机
    -主机号为全1表示广播地址,向当前网络段所有主机发送消息,主机号不是网络
  • 特殊的网络
    -A类地址网络段全0(00000000)表示特殊网络
    -A类地址网络段后7位全1(01111111:127)表示回环地址
    -B类地址网络段(10000000.00000000:128.0)是不可使用的
    -C类地址网络段(192.0.0)是不可使用的
    在这里插入图片描述
  • 回环地址
    -127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

划分子网

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

  • 子网掩码
    -子网掩码和IP地址是一样的,都是32位
    -子网掩码由连续的1和0组成
    -某一个子网的子网掩码具备网络号位数个连续的1
    在这里插入图片描述
    通过上面两个的与运算得出子网号

无分类编址CIDR

  • CIDR中没有A、B、C类网络号、和子网划分的概念
  • CIDR将网络前缀相同的IP地址称为一个“CIDR地址块
    在这里插入图片描述
  • 斜线记法
    -193.10.10.129/25
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

网络地址转换NAT技术

  • 网络地址转换NAT技术就是把内网地址和外网地址互转
  • IPv4最多只有40+亿个IP地址
  • 早期IP地址的不合理规划导致IP号浪费
    在这里插入图片描述

在这里插入图片描述

  • 三类内网地址
    -10.0.0.0~10.255.255.255(支持千万数量级设备)
    -172.16.0.0~172.31.255.255(支持百万数量级设备)
    -192.168.0.0~192.168.255.255(支持万数量级设备)

在这里插入图片描述

  • 网络地址转换(网络地址转换)
  • NAT技术用于多个主机通过一个公有IP访问互联网的私有网络
    在这里插入图片描述
  • 转换过程是在路由器中执行的

ICMP协议

  • 双际控制报文协议(Internet ControlMessage Protocol)
  • ICMP协议可以报告错误信息或者异常情况
  • 作用是辅助IP协议的传输
    在这里插入图片描述

差错报告报文

在这里插入图片描述

询问报文

在这里插入图片描述

ICMP应用

Ping应用

  • ping实际上就是使用了ICMP的询问报文

Traceroute应用

  • Traceroute可以探测IP数据报在网络中走过的路径
  • 就是使用TTL设置为1,2,3…一直到最终的设备接收到为止来获取各路的IP地址

网络层的路由概述

在这里插入图片描述

  • 每一顶点表示一个网络、路由器或计算机
  • 每一条边表示一条网络路径
  • 路由算法实际上是图论的算法
  • 算法是正确的、完整的
  • 算法在计算上应该尽可能的简单
  • 算法可以适应网络中的变化
  • 算法是稳定的和公平的

自治系统

  • -个自治系统(AS)是处于一个管理机构下的网络设备群
  • AS内部网络自行管理,AS对外提供一个或者多个出(入)口
  • 自治系统内部路由的协议称为:内部网关协议(RIP, OSPF)
  • 自治系统外部路由的协议称为:外部网关协议(BGP)
    在这里插入图片描述

内部路由网关协议之RIP协议

距离矢量(DV)算法

  • 每一个节点使用两个向量Di和Si
  • Di描述的是当前节点到别的节点的距离
  • Si描述的是当前节点到别的节点的下一节点
  • 每一个节点与相邻的节点交换向量Di和Si的信息
  • 每一个节点根据交换的信息更新自己的节点信息
    在这里插入图片描述

RIP协议的过程

  • RIP(Routing Information Protocol)协议,路由信息协议
  • RIP协议是使用DV算法的一种路由协议
  • RIP协议把网络的跳数(hop)作为DV算法的距离
  • RIP协议每隔30s交换一次路由信息
  • RIP协议认为跳数>15的路由则为不可达路由
    1.路由器初始化路由信息(两个向量D;和S;)
    2.对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳地址设置为X,所有距离加1)
    i.检索本地路由,将信息中新的路由插入到路由表里面
    ii.检索本地路由,对于下一跳为X的,更新为修改后的信息
    iii. 检索本地路由,对比相同目的的距离,如果新信息的距离更小,则更新本地路由表
    3.如果3分钟没有收到相邻的路由信息,则把相邻路由设置为不可达(16跳)
    在这里插入图片描述
  • RIP协议:实现简单,开销很小
  • RIP协议:限制了网络的规模
  • RIP协议:“坏消息传的慢”,更新收敛时间过长

内部网关路由协议之OSPF协议

链路状态(LS)协议

  • 向所有的路由器发送消息
  • 消息描述该路由器与相邻路由器的链路状态
  • 只有链路状态发生变化时,才发送更新信息

OSPF协议的过程

  • OSPF(Open Shortest Path First:开放最短路径优先)
  • OSPF协议的核心是Dijkstra算法

五种消息类型

  • 问候消息(Hello)
    链路状态数据库描述信息
  • 链路状态请求信息
  • 链路状态更新信息
  • 链路状态确认信息
    在这里插入图片描述
    在这里插入图片描述

外部网关路由协议之BGP协议

  • BGP(Border Gateway Protocol: 边际网关协议)
  • BGP协议是运行在AS(自治系统)之间的一种协议
  • BGP协议能够找到一条到达目的比较好的路由

为什么要使用BGP

  • 互联网的规模太大了
  • AS内部使用不同的路由协议
    在这里插入图片描述
  • AS之间需要考虑除网络特性以外的一些因素(政治、安全…)

BGP发言人

  • BPG并不关心内部网络拓扑
  • AS之间通过BGP发言人交流信息
  • BGP发言人可以人为配置策略

http://www.ppmy.cn/embedded/29461.html

相关文章

《原则》生活和工作 - 三余书屋 3ysw.net

原则:生活和工作 您好,今天我们解读的书是《原则:生活和工作》。这本书和我们之前解读过的《原则:应对变化中的世界秩序》是同一个作者写的。那本书的主题非常宏大,它讨论的是世界运行的原则。而今天我们聊的《原则&a…

Linux 第十八章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

WPF —— 跑马灯

标签页面 <Label Width"800" Height"80" Background"Black" VerticalAlignment"Top"></Label><Label Width"360" Height"40"HorizontalAlignment"Left" VerticalAlignment"Top&quo…

什么是DevOps?

&#xff08;学校作业&#xff09; 维基百科定义 DevOps&#xff08;Development和Operations的组合词&#xff09;是一种重视“软件开发人员&#xff08;Dev&#xff09;”和“IT运维技术人员&#xff08;Ops&#xff09;”之间沟通合作的文化、运动或惯例。透过自动化“软件交…

C# 使MessageBox.Show弹出框保持最前

要确保 MessageBox.Show 弹出框保持在最前面&#xff0c;你可以使用 MessageBoxOptions 枚举中的 SetForeground 选项。这将确保消息框置于其他窗口之前。 以下是如何在 C# 中使用 MessageBox.Show 来显示一个保持最前的消息框的示例代码&#xff1a; MessageBox.Show("…

设计模式:建造者模式

目录 一&#xff0c;概念 二&#xff0c;不使用建造者有什么麻烦 三&#xff0c;格式 一&#xff0c;概念 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于将复杂对象的构建与其表示分离&#xff0c;以便同样的构建过程可以创建不同…

excel办公系列-图表元素及其作用

Excel图表元素及其作用 Excel图表由各种元素组成&#xff0c;每个元素都有其特定的作用&#xff0c;可以帮助我们更清晰地传达数据信息。下面将介绍Excel图表中常见的一些元素及其作用&#xff0c;并附上相关截图。 原始数据 月份 网站访问量 (万次&#xff09; 销售额 (万…

IDEA中测试时的包名问题

报错&#xff1a;Unable to find a SpringBootConfiguration, you need to use ContextConfiguration or SpringBootTest(classes...) with your test 原因&#xff1a;&#xff08;图是别人那巴来的&#xff09;启动类所在的包名和测试类的包名不一致导致的&#xff0c;原因是…