计算机网络(第六版)复习提纲16

三 IP地址与MAC地址
1 IP层只能看到IP数据报
2 路由器只根据目的IP地址进行转发
3 局域网的链路层只能看到MAC帧
4 IP层抽象的互联网屏蔽了下层的复杂细节,在网络层讨论问题能够使用统一的、抽象的IP地址来研究主机和主机或路由间的通信
问题:
1 主机或路由如何知道MAC—》下一节ARP
2 路由的转发表如何得出—》4.5节
四 地址解析协议ARP=》知道IP找MAC
适用范围:同一个局域网下
逆地址解析协议RARP=》知道MAC找IP《=DHCP协议已经包含了RARP的功能
1 解析过程
主机A要向主机B发送IP报,首先根据B的IP地址在ARP的高速缓存中找是否有对应的B 的MAC,如有就发送。
如果没有就允许ARP解析过程:
① ARP进程在局域网上广播发送ARP请求分组,内容为:”我的IP是XX.XX.XX.XX,我的MAC是XX-XX-XX-XX-XX-XX,我想知道IP为XX.XX.XX.XX主机的MAC地址“。
② 本局域网上所有在线主机的ARP进程收到此ARP请求分组。
③ 主机B的IP地址与ARP请求分组一致,于是收下ARP请求,向主机A单播发送ARP响应分组,内容为”我的IP为XX.XX.XX.XX,我的MAC是XX-XX-XX-XX-XX-XX“。其他主机由于IP不一致,不对ARP请求进行回应。
④ 主机A收到主机B的ARP响应分组,将主机B的IP到MAC的映射写入ARP高速缓存中。
2 高速缓存
保存在高速缓存中的每一个IP到MAC的映射都设置生存时间,超过生存时间的删除,重新发送ARP进行更新,以防止MAC地址失效。
3 使用ARP的四种典型情况
① 主机A要把IP报发给相同网络N1上的主机B,需要在本网络N1上发送ARP。
② 主机A要把IP报发给不同网络N2/N3上的主机B,需要找到本网络N1上一台路由器R1的MAC地址,IP报发给R1,剩下由R1来完成③/④
③ 路由器R1要把IP报发给相同网络N2上的主机B,需要找到B的MAC
④ 路由器R1要把IP报发给不同网络N3上的主机B,需要找到接在N2上一个路由器R2的MAC
4 为什么组合使用IP和MAC而不仅用MAC?
全世界各式各样的网络使用不同的 MAC地址,这些异构网络互相通信必须进行非常复杂的MAC地址转换工作,由用户或用户主机来完成这项工作几乎不可能。IP编址把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用ARP来找到MAC地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。

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

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

相关文章

AI嵌入式K210项目(19)-安装CanMV IDE开发软件

文章目录 前言一、软件下载安装二、软件简介三、设备连接四、在线模拟五、开机运行程序附录:MicroPython固件烧录总结 前言 前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关…

TypeScript(四) 运算符

1. 运算符 1.1. 描述 运算符用于执行程序代码运算。 1.2. 运算符主要包括: (1)算术运算符 (2)逻辑运算符 (3)关系运算符 (4)按位运算符 (5)赋值…

C++异步编程

thread std::thread 类代表一个单独的执行线程。在创建与线程对象相关联时,线程会立即开始执行(在等待操作系统调度的延迟之后),从构造函数参数中提供的顶层函数开始执行。顶层函数的返回值被忽略,如果它通过抛出异常…

内部类 --java学习笔记

内部类 是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,那么这个类就是内部类当一个类的内部包含了一个整体的事务,且这个事务没必要单独设计时,就可以把…

(十三)centos7案例实战——用户、用户组及用户权限管理

前言 对于完备的centos系统来说,创建一套规范的账户权限系统是十分必要的。针对不同的用户提供不同的操作权限,避免直接使用root账号,造成系统的误操作,导致一些不必要的损失,将删库跑路扼杀在摇篮中。本节内容会从用…

基于springboot校园台球厅人员与设备管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括校园台球厅人员与设备管理系统的网络应用,在外国管理系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。校园台球厅人员与设备管理系统具…

五、C#与数据库交互(数据存储过程与触发器)

在C#中与数据库交互时,除了基本的查询和更新操作,还经常需要使用存储过程和触发器。下面我将简要介绍如何在C#中使用存储过程和触发器。 存储过程 存储过程是一组为了完成特定功能的SQL语句集,它可以被存储在数据库中,并可以被调…

Fastbee物联网项目新手快速入门

一,前提条件 后端环境准备如下: 正式环境推荐硬件资源最低要求4c8G,硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。 启动fastbee之前,请先确定…

课时6:编程语言逻辑

1.2.2 编程语言逻辑 学习目标 这一节,我们从 语言分类、编程逻辑、小结 三个方面来学习。 语言分类 语言分类 低级编程语言:机器:- 二进制的0和1的序列,称为机器指令。- 一般人看不懂汇编:- 用一些助记符号替代机…

LPC804开发(4.ctimer使用)

1.前言 昨天晚上画完板子,还剩点时间就再翻了翻手册,大致清楚了时钟树的运行,顺带搞清楚了定时的使用,那就出一份教程吧。 如果各位在此之前没有接触过LPC单片机,还是建议先把程序直接贴进自己的项目,稍微…

“拔叔”的新片又杀疯了!

近,“拔叔”麦斯米科尔斯的新片登上口碑榜。 该片曾入围去年威尼斯金狮奖,上映后颇受好评,目前豆瓣评分8.2分。 将代表丹麦角逐2024年奥斯卡最佳外语片,目前已入15强。 作为“丹麦最性感的男人”,拔叔的实力不容小觑。…

Logistics 逻辑回归概念

1. sigmoid函数 逻辑回归算法的拟合函数,叫做sigmoid函数: 函数图像如下(百度图片搜到的图): sigmoid函数是一个s形曲线,就像是阶跃函数的温和版,阶跃函数在0和1之间是突然的起跳,…

Spring Boot常用的注解有哪些

Spring Boot常用的注解有: SpringBootApplication:用于标记Spring Boot应用的主类,通常放在启动类上,相当于同时使用Configuration、EnableAutoConfiguration和ComponentScan。 ComponentScan:用于自动扫描并注册Bean…

刷题09 双指针

2540. 最小公共值 给你两个整数数组 nums1 和 nums2 ,它们已经按非降序排序,请你返回两个数组的 最小公共整数 。如果两个数组 nums1 和 nums2 没有公共整数,请你返回 -1 。 如果一个整数在两个数组中都 至少出现一次 ,那么这个整…

std::for_each

std::for_each 是 C STL 中的标准函数之一&#xff0c;用于对指定的容器或序列中的元素执行指定的操作。该函数的头文件为 <algorithm>&#xff0c;定义在 namespace std 中&#xff0c;因此需要包含该头文件才能使用该函数。 std::for_each 函数是 C STL 中自 C98 就开…

「优选算法刷题」:汉明距离

一、题目 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 示例 1&#xff1a; 输入&#xff1a;x 1, y 4 输出&#xff1a;2 解释&#xff1a; 1 (0 0 0 1) 4 (0 1 0 0)↑ …

【JavaSE篇】——类和对象

目录 &#x1f393;类定义和使用 &#x1f393;简单认识类 &#x1f6a9;类的定义格式 ❗注意事项 &#x1f393;类的实例化 &#x1f6a9;什么是实例化 &#x1f6a9;类和对象的说明 &#x1f393;this引用 &#x1f6a9;为什么要有this引用 &#x1f6a9;什么是thi…

【JavaScript 基础入门】02 JavaScrip 详细介绍

JavaScrip 详细介绍 目录 JavaScrip 详细介绍1. JavaScript 是什么2. JavaScript的作用3. HTML/CSS/JS 的关系4. 浏览器执行 JS 简介5. JavaScript 的组成6. JavaScript 的特点 1. JavaScript 是什么 JavaScript&#xff0c;通常缩写为 JS&#xff0c;是一种高级的&#xff0c;…

分布式技术浅见之复制

分布式技术浅见之复制 前言一、何为复制&#xff1f;1.1 主从复制和无主从复制1.2 同步复制与异步复制1.3 来点栗子1.3.1 Redis1.3.2 Mysql1.3.3 Mongo 二、复制是如何实现的&#xff1f;2.1 复制的过程2.2 来点栗子2.2.1 Redis2.2.2 Mysql2.2.3 Mongo 2.2 复制的实现方式2.4 举…

OpenHarmony—不支持解构赋值

规则&#xff1a;arkts-no-destruct-assignment 级别&#xff1a;错误 ArkTS不支持解构赋值。可使用其他替代方法&#xff0c;例如&#xff0c;使用临时变量。 TypeScript let [one, two] [1, 2]; // 此处需要分号 [one, two] [two, one];let head, tail [head, ...tail]…