互联网通信原理

互联网通信原理

ISO/OSI(开放系统互连)的七层模型

在这里插入图片描述

注意事项
  1. 上三层是为用户提供服务的,下四层负责实际数据传输
  2. 下四层的传输单位 传输层(数据段)、网络层(数据包)、数据链路层(数据帧)、物理层(比特<位>)
  3. 越上层的设备越智能,能识别当前以下所有协议,越贴近用户;越下层的设备越傻瓜,越贴近硬件
  4. 数据发送时,数据从上层往下层传输;数据接收时,数据从下层向上层传输
  5. 数据不能跨层传递,每层之间通过逻辑的接口传递
  6. 物理层负责实际数据传递,其他层只是逻辑对应
  7. OSI模型只是理论模型,不能对应实际协议或硬件

局域网

协议
IEEE 802.3有线局域网协议
IEEE 802.11无线局域网协议
常用网络设备
路由器(Router)用于不同逻辑网段通信
交换机(Switch)用于相同逻辑网段通信

交换机分二层交换机和三层交换机

二层交换机:整个交换机只拥有一个MAC地址,此MAC地址不能作为网络访问目标,此MAC只用于交换机之间特殊运算

三层交换机:可以当成是路由器,每个接口拥有一个独立的MAC地址,可以用于网络访问目标

网段
物理网段
	如果电脑在不同的物理空间(两个物理空间不能直接相连)或者两个物理空间是通过路由器连接的,我们认为他们不在同一个物理网段之中
逻辑网段

逻辑网段的话比较复杂,他的情况较多

我们首先把地址进行分类,来说明什么是逻辑网段

IP地址分类
A类IP地址二进制为,必须以0开头
00000001.00000000.00000000.00000000 1.0.0.0
01111111.11111111.11111111.11111111 126.255.255.255
127.0.0.1 本地回环地址
默认子网掩码: 255.0.0.0
B类IP地址的二进制位,必须以10开头
10000000.00000000.0000000.00000000 128.0.0.0
10111111.11111111.11111111.1111111 191.255.255.255
默认子网掩码:255.255.0.0
C类IP地址的二进制位,必须以110开头
11000000.00000000.0000000.00000000 192.0.0.0
11011111.11111111.11111111.11111111 223.255.255.255
默认子网掩码:255.255.255.0
D类IP地址的二进制位,必须以1110开头(组播地址)
11100000.00000000.00000000.00000000 224.0.0.0
11101111.11111111.11111111.11111111 239.255.255.255
E类IP地址的二进制位,必须以1111开头(保留)
11110000.00000000.00000000.00000000 240.0.0.0
11111111.11111111.11111111.11111111 255.255.255.255
A;IP地址的前一组代表不同的逻辑网段
IP地址后三组代表同一个逻辑网段中,不同的主机
网段  : 2(7)-2 = 126
主机数: 2(24)-2 = 16777214B:IP地址的前两组代表不同的逻辑网段
IP地址后两组代表同一个逻辑网段中,不同的主机
网段数:2(14) = 16384
主机数:2(16)-2 = 65534C:IP地址的前一组代表不同的逻辑网段
IP地址后三组代表同一个逻辑网段中,不同的主机
网段数:2(21)=2097152
主机数:2(8)-2 = 254

C类IP地址可用子网掩码:

子网掩码二进制位数子网数主机数
255.255.255.0/241256-2
255.255.255.128/252128-2
255.255.255.192/26464-2
255.255.255.224/27832-2
255.255.255.240/281616-2
255.255.255.248/29328-2
255.255.255.252/30644-2
总结:根本目的:是节约IP地址(把完整网段划分成小子网,提高IP地址利用率)降低成本原则:子网掩码必须和IP地址同时出现,否则没有意义作用:和子网掩码1对应的IP地址,代表网络地址位;和子网掩码0对应的IP地址,代表主机地址位可用标准:子网掩码中只要1是连续的,就是正确子网掩码 子网计算公式:网络地址:把IP地址和子网掩码的二进制,按位进行逻辑与运算广播地址:有效子网掩码中,有几个0,就把IP地址的后几位换为1子网个数:有效子网掩码中,有几个1,子网数就是2的几次方主机个数:有效子网掩码中,有几个0,主机数就是2的几次方减2私有IP不需要进行子网掩码划分,公网IP(现在已知IPV4地址有2的32次方,现在是稀缺资源)需要子网掩码划分,在这块使用私有IP就是为了好算

网络通信设备

交换机通信原理
基本功能

交换机用于相同逻辑网段通信,不会分割广播域(广播可以到达的范围),协议MAC地址,数据链路层

1.拓扑图

在这里插入图片描述

电脑A封装数据:端口号:Sport:随机端口号(10000以上):Dport:固定端口号(看个人访问的应用层服务端口号)IP地址:SIP(起始IP地址):A(已知)DIP(目标IP地址):B(局域网查询、访问,公网DNS域名查询)MAC地址:SMAC:A(已知)DMAC:B(查询本机MAC地址表)
查询未知MAC地址:电脑(优先级):查询本机MAC地址表(根据IP地址查找MAC地址)ARP协议(地址解析协议):已知对方IP地址,不知道对方MAC,利用ARP广播查询MAC地址交换机:查询本机MAC地址表(根据MAC地址查询IP地址)泛洪(泛洪是数据链路层,泛洪的是MAC地址)
路由器通信原理
基本功能

路由器用于不同逻辑网段通信,会分割广播域,协议IP地址,网络层

在这里插入图片描述

电脑A封装数据SIP:A(已知)DIP:B(局域网查询、公网DNS)
路由器处理IP的方案  (路由器绝不是通过广播查询未知IP地址)查询路由表(命令查询:route print):直连网段:不需要特殊配置,给直连网段的相连网卡配置IP地址的同时,直连网段就已经写入路由表非直连网段:静态路由:由管理员手工运算生成非直连网段的路由路径(优点:路由器消耗资源小,转发效率高)(缺点:人不可靠,适合小型网络,适合环境稳定的网络)动态路由:由路由器运算生成路由路径(优点:由路由器运算生成路由路径,适合不同的网络环境)(缺点:动态路由协议不止一种,适合不同的网络学习环境。学习的成本更高)

OSI模型每层功能

在这里插入图片描述

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

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

相关文章

git基础教程(10) git push将本地修改推送到远端

git push 命令用于将本地分支的更新推送(上传)到远程仓库。命令的基本语法为: git push [<repository> [<refspec>...]]<refspec>的格式是<+><src>:<dst> 你可以理解成: git push <远程仓库名称> <本地分支名称>:<远…

MySQL数据库——15.连接的使用

常见的连接类型包括 INNER JOIN(内连接)、LEFT JOIN(左连接)和 RIGHT JOIN(右连接)。 INNER JOIN(内连接) INNER JOIN 也称为等值连接,它获取两个表中字段匹配关系的记录。具体用法如下: SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.col…

数据库系统概论(超详解!!!)第六节 触发器

数据的完整性是为了防止数据库中存在不符合语义的数据。 一种是在定义表时声明数据完整性&#xff0c;称为声明完整性。 另一种是在服务器端编写触发器来实现&#xff0c;称为过程完整性。完成比参照完整性约束和CHECK约束更复杂的数据约束。 1、触发器概述 触发器是一种特…

力扣经典150题第三十三题:最小覆盖子串

目录 解题思路与实现 - 最小覆盖子串问题描述示例解题思路算法实现复杂度分析测试与验证总结 感谢阅读&#xff01; 解题思路与实现 - 最小覆盖子串 问题描述 给定一个字符串 s 和一个字符串 t&#xff0c;返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字…

图文教程 | 2024年最新Typora激活使用教程合集

前言 汇总一下网上的三种方法。 &#x1f4e2;博客主页&#xff1a;程序源⠀-CSDN博客 &#x1f4e2;欢迎点赞&#x1f44d;收藏⭐留言&#x1f4dd;如有错误敬请指正&#xff01; 关于安装教程&#xff1a;http://t.csdnimg.cn/SCIQ8http://t.csdnimg.cn/SCIQ8自行跳转安装 一…

35. 【Android教程】视频页面:ViewPager

ViewPager 是一种可以让用户通过左右滑动来切换页面的控件&#xff0c;通过它我们可以展示超过屏幕尺寸大小的内容&#xff0c;在某种程度上它可以说是实现多页面的最佳方式&#xff0c;同时 ViewPager 还支持任意动态的添加/删除页面。比如我们可以将不同的类别的内容分别放在…

java 创建和请求sse服务

主要依赖 <!--spring-boot父工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version></parent><dependency><gro…

AOP基础

一、AOP概述 AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程、面向方面编程&#xff09;&#xff0c;其实就是面向特定方法编程。 使用场景&#xff1a;①记录操作日志&#xff1b;②权限控制&#xff1b;③事务管理等。 优势&#xff1a;①代码无侵入…

学校管网的仿写

工字形布局完成 效果 代码部分 在这里插入代码片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

密码学 | Random Oracle 随机预言机

​ &#x1f951;原文&#xff1a;究竟什么才是随机预言机呢&#xff1f; - 玄星的回答 &#x1f951;答主指出&#xff1a; 英文维基明明对 随机预言机 给出了两个完全不同的理解&#xff0c;但这两个理解之间的连接词却是 “Stated differently”&#xff0c;即 “换句话说…

Unity ECS

一&#xff1a;前言 ECS与OOP不同&#xff0c;ECS是组合编程&#xff0c;而OOP的理念是继承 E表示Entity&#xff0c;每个Entity都是一个有唯一id的实体。C表示Component&#xff0c;内部只有属性&#xff0c;例如位置、速度、生命值等。S表示System&#xff0c;驱动实体的行为…

npm i 依赖下载失败

git config --global url."https://".insteadOf git://解决npm install 报错 npm ERR code 128 Permission denied_please make sure you have the correct access right-CSDN博客

怎么把相机储存卡里的照片导出来?介绍两种方法

随着摄影技术的不断发展和普及&#xff0c;相机已成为我们记录生活、捕捉美好瞬间的设备。然而&#xff0c;对于许多摄影爱好者来说&#xff0c;如何将相机储存卡里的照片安全、高效地导出到电脑或其他设备中&#xff0c;却成为了一个令人头疼的问题。本文将为您详细介绍从相机…

SpringCloud之服务远程调用(OpenFeign)

1.OpenFeign OpenFeign是一个声明式的http客户端&#xff0c;作用是基于SpringMVC的常见注解&#xff0c;实现更便捷的http请求发送 2.OpenFeign使用步骤 &#xff08;1&#xff09;导入依赖坐标 <!--OpenFeign--><dependency><groupId>org.springframewo…

c++IO

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;本篇文章给大家介绍c中文件操作。 先回忆一下c语言文件操作 void Test_c_bin() {//二进制写ServerInfo info { "127.0.0.1", 8080 };FILE* fout fopen("test.bin", "wb");fwrite(&in…

Rust常用特型之Sized特型

在Rust标准库中&#xff0c;存在很多常用的工具类特型&#xff0c;它们能帮助我们写出更具有Rust风格的代码。 一个Sized 类型是指 它所有的值在内存中有相同的大小&#xff0c;反之没有相同大小就是UnSized 类型。 Rust中几乎所有的类型都是Sized的&#xff0c;例如每个u64在…

18 统计网站每日的访问次数

1.将竞赛的数据上传HDFS,查看数据的格式 通过浏览器访问hdfs,查看该文档前面的部分数据 每条数据的字段值之间使用逗号隔开的 &#xff0c;最终时间是第五个自动&#xff0c;获取第五个字段值的中的年月日。 2.通过Idea创建项目mr-raceData ,基础的配置 修改pom.xml,添加依赖 …

Spring Boot集成fastdfs快速入门Demo

1.什么是fastdfs FastDFS 是一个开源的高性能分布式文件系统&#xff08;DFS&#xff09;。它的主要功能包括&#xff1a;文件存储&#xff0c;文件同步和文件访问&#xff0c;以及高容量和负载平衡。主要解决了海量数据存储问题&#xff0c;特别适合以中小文件&#xff08;建议…

从零开始搭建网站(第二天)

今天把之前的htmlcssjs项目迁移过来&#xff0c;直接使用tspiniavue3vite组合&#xff0c;搭建过程可以看从零开始搭建性能完备的网站-思路过程&#xff08;1&#xff09;_自己架设一个芯参数网站-CSDN博客。之后安装一下volar扩展。迁移过来使用Vue重构时发现之前使用的左右两…

【Python】如何利用MinHash和LSH进行大规模文本数据去重

十年之前 我不认识你 你不属于我 我们还是一样 陪在一个陌生人左右 走过渐渐熟悉的街头 十年之后 我们是朋友 还可以问候 只是那种温柔 再也找不到拥抱的理由 情人最后难免沦为朋友 &#x1f3b5; 刘若英《十年》 去重逻辑实现 数据准备&#xff1a;在内…