IP协议(2) 和 数据链路层协议基础

IP协议续

1.路由选择

在复杂的网络结构中,我们需要找到一个通往终点的路线,这就是路由选择

举个例子:我们在没有手机导航之前,想去一个地方得是到一个地方问一下路的方式最终找到目的地

路由的过程,其实就是样子问路的过程

1.当IP数据包到达路由器的时候,会查看目的IP

2.路由器决定这个数据包是能直接发送给目标主机还是需要发送给下一个服务器(查询路由表)

3.依次反复,知道到达目的IP地址

如何判定数据包应该发到哪里??

这就依赖路由器存储了一个路由表结构,能找到路线就直接发送,否则按照默认发送

IP地址

IP地址分为网络号和主机号 

教材上经常说分为ABCDE五类地址,实际上现在已经取消了这种叫法了

 

因为这种方案的局限性太大了,A类和B类这样的地址能存放的主机数太多了,实际上根本不可能有这么大的局域网,这么多的主机,这样就浪费了很多IP地址

于是人们提出了新的划分方案,称之为 CLDR

1.引入一个子网掩码来区分网络号和主机号

2.子网掩码也是一个32位的正整数 通常用 0 结尾

3.将IP地址和子网掩码进行按位与得到的就是网络号

4.网络号和主机号的划分和ABC类地址无关

例:子网掩码  255.255.255.0     8位子网掩码

网络号 140.205.20.0  

这里能表示的地址范围就是 140.202.20.0 - 140.202.25.255

;

特殊IP地址

127.0.0.1  常用的测试IP地址,表示本机 (本机环回测试)

其实127.*都可以表示本机IP

每个网段的1 和 255 的地址是不可用的

1代表该网段

255代表广播地址(一对多)

数据链路层

1.以太网数据帧格式

以太网数据帧的数据格式很简单

这里数据链路层也搞了一套地址体系

MAC地址    一个主机只能有一个MAC地址,相当于身份证号,出厂即有

MAC地址和IP地址的区别:

MAC地址侧重于局部的转发(相邻设备)

IP地址侧重于全局的转发

举个例子

我现在想从这个路线走

南京 -> 西安 -> 四川

南京 - > 西安

源IP   南京  目的IP    四川

源mac   南京  目的 mac   西安

西安 -> 四川 

源IP  南京  目的 IP  四川

源mac  西安 目的mac   四川

1.目的地址      需要发送到的MAC地址

2.源地址          发送的源地址

3.类型              分为几种类型     

                         类型 0800 + 数据报(16-1500字节) 可能是syn这样的特殊报文也可能是正常                             的业务数据

                         类型0806   ARP 请求/应答 + PAD

                         类型8035 RARP请求/应答 + PAD

ARP协议和RARP协议是两个横跨数据链路层和网络层的协议

主要进行IP和MAC地址之间的转换

RARP则是转换回IP地址,类似于hash表的结构(转发表不是路由表)

转发表:一个设备和哪些设备是连接的

4.CRC             校验和,和之前的一样,是为了检验数据传输途中有没有发生比特翻转

注:这里载荷的部分有一个特殊的要求:最短是46字节最长是1500字节

原因:受限于物理设备

46字节是因为ARP是46字节

1500字节的上限就取决于以太网的网口,网线等硬件设备 也称之为 MTU

所以IP数据包的拆包往往是因为这个MTU的限制导致的,而不是64KB的上限导致的

以太网是如此,但是还有其他的传输协议,所以MTU并不是固定1500的

DNS(域名解析系统)

通过IP地址来描述网络设备的位置

这里域名就是一个更好记的网址 ,用其来代表IP地址,方便记忆

很久以前是引入的hosts文件,类似于哈希表,每次访问域名就会获取查询

随着互联网发展的越来越快,维护hosts表就很麻烦了,此时就有大佬搭建了一个(DNS服务器),查询到的结果就是域名对应的IP

由于全世界都得上网,对于根域名服务器来说压力太大了,此时我们就在各国搞一个镜像,分别为每个国家的顶级DNS服务器,然后再进行分级管理,每次用户访问就就近访问即可.

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

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

相关文章

oracle 19c上安装样例数据库

样例schema的分类 HR: Human Resources OE: Order Entry PM: Product Media IX: Information Exchange SH: Sales History BI: Business Intelligence 安装样例数据库 1:HR的安装,通过dbca时候 2:HR的安装,安装完数据库后&#…

Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如:F:\allure-2.13.7\bin 环境变量、Path、添加 F:\a…

docker中三种常用的持久化数据的方式

文章目录 介绍1.docker run -v2.volumes3.bind mounts 介绍 “前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。” 在Docker中,有以下三种常用的持久化数据的方式,可…

读千脑智能笔记01_新皮质

作者简介 1988年至1992年,创造了平板电脑GridPad,它属于第一批平板电脑 1992年,成立了Palm公司,之后在长达10年的时间内,设计了一些最早的掌上电脑和智能手机,如PalmPilot和Treo 在2002年创立了红木神经科学…

Camunda ScriptTask SendTask ReceiveTask操作

文章目录 开始脚本任务(ScriptTask)发送任务(SendTask)接收任务(ReceiveTask)流程图xml 开始 前面我们已经介绍了Camunda最基本的操作和常见的监听器,如果不熟悉Camunda,可以先看一下,方便搭建环境,亲手测试。 Camunda组件与服务…

编程实例源代码,知识库管理软件源码文件下载及代码说明

编程实例源代码,知识库管理软件源码文件下载及代码说明 一、前言 知识库管理软件是一款图片集查询软件,软件可以使用中文编程工具免费自由版开发完成。 编程工具下载及源码文件下载路径 编程入门视频教程链接 https://edu.csdn.net/course/detail/3…

C++之平衡二叉搜索树查找

个人主页:[PingdiGuo_guo] 收录专栏:[C干货专栏] 大家好,我是PingdiGuo,今天我们来学习平衡二叉搜索树查找。 目录 1.什么是二叉树 2.什么是二叉搜索树 3.什么是平衡二叉搜索树查找 4.如何使用平衡二叉搜索树查找 5.平衡二叉…

EBC金融英国CEO:高波动性周期下,如何寻找市场的稳定性?

利率主导的市场,将在2024年延续。目前,固收市场对于降息的定价,正通过利率传导至不同资产中。尽管市场迫切利用通胀去佐证降息,但各国央行仍囿于通胀目标的政策桎梏。政策和市场预期的博弈将继续牵动市场脉搏,引发价格…

英码科技携手昇腾共建算力底座:推出EA500I超强AI处理能力边缘计算盒子!

在数字经济浪潮中,算力已成为不可或缺的驱动力,为各行各业的数字化转型提供了强大的推动力。面对多元化和供需不平衡的挑战,需要实现从理论架构到软硬件实现的质的飞跃,以满足持续增长的算力需求,华为昇腾在这一方面展…

2024PMP考试新考纲-【业务环境领域】典型真题和很详细解析(2)

华研荟继续分享【业务环境Business Environment领域】在新考纲下的真题,帮助大家体会和理解新考纲下PMP的考试特点和如何应用所学的知识和常识(经验)来解题,并且举一反三,一次性3A通过2024年PMP考试。 2024年PMP考试新…

【每日一题】7.LeetCode——合并两个有序链表

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢…

网络协议 UDP协议

网络协议 UDP协议 在之前的文章中有对UDP协议套接字的使用进行讲解,本文主要对UDP协议进行一些理论补充。 文章目录 网络协议 UDP协议1. 概念2. UDP协议格式2.1 数据报长度2.2 校验和/检验和2.2.1 CRC校验2.2.2 MD5算法 1. 概念 UDP,即User Datagram P…

使用阿里云的IDaaS实现知行之桥EDI系统的单点登录

,在开始测试之前,需要确定用哪个信息作为“登陆用户的ID字段”。 这个字段用来在完成SSO登陆之后,用哪个信息将阿里云IDaaS的用户和知行之桥EDI系统的用户做对应。这里我们使用了 phonenumber 这个自定义属性。需要在阿里云做如下配置&#x…

[力扣 Hot100]Day20 旋转图像

题目描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 出处 思路 旋转时每四个位置为一组进行swap操作,找好对…

暴搜,回溯,剪枝

力扣77.组合 class Solution {List<List<Integer>>retnew ArrayList<>();List<Integer>pathnew ArrayList<>();int n; int k;public List<List<Integer>> combine(int _n, int _k) {n_n;k_k;dfs(1);return ret;}public void dfs(int…

MSVC++远程调试

1. 介绍 MSVC的调试功能非常强大&#xff0c;可以下断点&#xff0c;单步调试&#xff0c;查看堆栈变量信息等。实际用于生产的电脑环境复杂&#xff0c;更容易发生Bug。生产电脑&#xff0c;由于各种原因有些可能无法安装MSVC用来现场调试。基于打印日志&#xff0c;查看日志…

【DDD】学习笔记-限界上下文对架构的影响

通信边界对架构的影响 限界上下文的通信边界会对系统的架构产生直接的影响&#xff0c;在此之前&#xff0c;我们需要理清几个和边界有关的概念。如前所述&#xff0c;我提出了限界上下文的通信边界的概念&#xff0c;并将其分为进程内通信与进程间通信两种方式。在 Toby Clem…

grafana安装DevOpsProdigy KubeGraf 1.5.2

安装DevOpsProdigy KubeGraf需要安装kube-state-metrics 官方地址&#xff1a;https://github.com/kubernetes/kube-state-metrics/tree/release-2.10/examples/standard 查看k8s版本和kube-state-metrics对应版本&#xff1a; [rootmaster1 kube-state-metrics]# ll 总用量 …

C++ Web 编程

什么是 CGI&#xff1f; 公共网关接口&#xff08;CGI&#xff09;&#xff0c;是一套标准&#xff0c;定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。CGI 规范目前是由 NCSA 维护的&#xff0c;NCSA 定义 CGI 如下&#xff1a;公共网关接口&#xff08;CGI&…

人工智能福利站,初识人工智能,机器学习,第四课

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…