网络协议,OSI,简单通信,IP和mac地址

认识协议

1.讲故事

2004年,小明因为给他爹打电话(座机)费用太贵,所以约定一种信号,响一次是报平安,响两次是要钱,响三次才需要接通。

2.概念

协议:是一种约定,这种约定可以减少通信成本。

3.网络协议解决的问题

A向B发送信息,距离很远,必须要经过设备的中转,才能到达B端电脑。

网络协议就是解决:网络通信中因为距离变远而出现的新问题。

网络分层

1.软件分层

每个层次或模块负责特定的功能,并通过定义良好的接口与其他层次或模块进行交互。

  1. 提高可维护性:通过将系统划分为不同的层次,每个层次只处理特定的任务,使得系统更加易于理解和维护。
  2. 增强可扩展性:当需要添加新功能或修改现有功能时,只需要在相应的层次上进行修改,而无需影响其他层次。
  3. 促进技术独立性和专业分工:不同的层次可以使用不同的技术和框架来实现,使得每个层次的开发和维护可以更加专业和高效。

2.网络分层

好处:层与层之间是松耦合的,可以随时替换和方便维护。

OSI七层模型

TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.

因为有了用户层,用户会自己实现会话层,表示层。而平常也不说物理层,所以最常是四层。

物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆

(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决

定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测

到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太

网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.

网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规

划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标

主机.

应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问

协议(Telnet)等. 我们的网络编程主要就是针对应用层.

3.网络 vs OS

因为TCP 和 IP 是OS内部实现的,网络也属于操作系统源代码的一部分。

所以只要遵守TCP IP协议,不同的OS系统都能够通信。

而双方想看到相同的数据类型,所以就得在网络传输上约定好,所以协议就是struct结构体。

局域网通信

1.局域网单通信

每个网络有自己的Mac地址,在局域网中所有人都能收到消息,但根据要送达的地址发现自己不同,就丢弃了数据。

MAC地址是物理网卡硬件地址,在出厂时就会设定,不能修改,它的大小是6字节,一台计算机可以绑定多个网卡,进而可以拥有多个MAC地址。

2.数据碰撞

因为C一直给局域网发数据,和我A发的数据就会进行碰撞,此时都要停下来。

所以:局域网本质是个临界资源,只不过是在事后(发信息后拦截)处理的。

碰撞检测:比如令牌环网就是持有令牌才能够上网。

如何黑掉一个局域网? 只需要给它一直发送垃圾数据进行碰撞,就可以使得另一主机无法上网。

自己电脑的Mac地址:Xshell下 ifconfig命令可以看到 ether: xxxx

3.以太网

以太:物理上没有的介质,但网络上可以有的数据传输的介质。

每向下发一层,就多一层协议报头,而每一层新加的报头是协议报头,上面所有层的报头+数据 变为有效载荷。

理解:“报头” = 协议报文 + 有效载荷,报文在不同层有不同的名字。

应用层 —— request / response 传输层 —— 数据段 网络层 —— 数据报 链路层 —— 数据帧

而到另一台主机上,就要自底向上进行解包和分用

1.解包 : 将报头和有效载荷进行分离

2.分用 : 将自己的有效载荷交付给上一层的协议。

4.跨网络文件传输

看图:主机A 要发送数据到 主机 B,但是两个主机不在一个网络中,而中间的路由器,又同时存在于两个网络,那就可以让A把数据发给路由器了。那问题是发给路由器后,还怎么把数据传给主机 B呢?

上图:两套地址 : 源头 和 目的地(IP地址) 上一站 和 下一站(MAC地址)。

主机A 到 路由器 :

先自顶向下进行封装,通过以太网通信到路由器(因为MAC地址只在同一局域网中有效,所以访问不到B的,只能访问到路由器的MAC地址),传输到路由器的底层,还是得自底向上进行解包和分用,到达路由器(只剩IP地址,和有效载荷)。

路由器 到 主机 B:

还是得自顶向下做封装,MAC地址的dest变为MACB,通过令牌环网通信到主机B底层,再解包和分用直至最上层拿到”你好“。

看图:在IP层网上,两个主机对应的协议没有差别(我发的就是你收的),而底层一个是以太网的报头,一个是令牌环网的报头,但在IP层就已经是一个东西了。(一切皆IP)

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

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

相关文章

14. RTCP 协议

RTCP 协议概述 RTCP(Real-time Transport Control Protocol 或 RTP Control Protocol 或简写 RTCP),实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议。 注:RTP 协议和 RTP 控制协议&#…

新版嘎嘎快充互联互通系统配置文档

宝塔环境配置 登录宝塔账号,安装nginx、mysql5.7、php7.2、supervisor、redisphp安装扩展: 1)安装swooleloader72 将嘎嘎官方提供的swoole_loader_72_nts.so文件上传到 /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718…

【Tkinter界面】Canvas 图形绘制(03/5)

文章目录 一、说明二、画布和画布对象2.1 画布坐标系2.2 鼠标点中画布位置2.3 画布对象显示的顺序2.4 指定画布对象 三、你应该知道的画布对象操作3.1 什么是Tag3.2 操作Tag的函数 https://www.cnblogs.com/rainbow-tan/p/14852553.html 一、说明 Canvas(画布&…

重塑IT审计的未来:数智化审计赋能平台的创新与实践

重塑IT审计的未来:数智化审计赋能平台的创新与实践 一、当前企业开展IT审计面临的挑战 随着信息技术的快速发展、企业数字化转型的持续深入,以及网络安全合规要求的不断增强,企业开展新型IT审计重要性越来越突出,但实施难度却越来…

阿里新发布的UniAnimate现高效人像动画生成;在ComfyUI中使用Stable 3模型;音频版的gpt2o;将 PDF 文档转换为音频播客

✨ 1: UniAnimate 阿里新发布的UniAnimate通过统一的视频扩散模型,实现高效人像动画生成,支持长视频生成 UniAnimate 是一种专注于一致性人像动画生成的统一视频扩散模型。该模型通过映射参考图像、姿势指导和噪声视频到一个共同特征空间,实…

Docker笔记-Debian容器内搭建ssh服务

登陆容器之后修改密码: passwd 密码设置完成后安装openssh-server apt-get install openssh-server 修改端口号为50022并添加配置 vim /etc/ssh/sshd_config 修改成 Port 50022 PasswordAuthentication yes PermitRootLogin yes 启动 rootlinux:~# /etc/in…

Linux文件与内容查阅、归档压缩

#Linux系统基础 文件与内容查找、归档压缩 find命令搜索文件 grep对文件的内容进行搜索 tar命令进行文件的压缩与解压缩 一、文件的查找 格式实例:find . -name "123.txt"说明find起始目录查找类型查找条件./ 或 .-name“123.txt”在当前目录中查找…

idea打开hierarchy面板

hierarchy:查看类层级关系图 不同版本的IDEA的快捷键不一样,同时如果修改了IDEA快捷键,也可能会不一样,具体查看可通过IDEA上方的Navigate来查看navigate--Type Hierarchy,就可以看见其快捷键了,我的快捷键…

统计信号处理基础 习题解答10-17

题目: 在选择不含信息的或者不假设任何先验知识的先验PDF时,我们需要从数据中得到最大的信息量。在这种方式下,数据是了解未知参数的主要贡献者。利用习题10.15的结果,这种方法可以通过选择使I最大的来实现。对于例10.1的高斯先验PDF,该如何选择和2使得 是不含信息…

【Vue】自学笔记(四)

上一篇:Vue笔记(三)-CSDN博客 1.VueCli自定义搭建项目 先确保安装了全局工具VueCli 如果没有,则先运行命令 npm i vue/cli -g 选择最后一个自定义搭建项目 选择需要自动搭建的功能 这里我需要router和css预处理器就空格勾选上&…

liunx常见指令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 二、安装环境 1.租借服务器 2.下载安装 XShell 3.使用xshll登录服务器 三、Linux基础命令 一、文件和命令 ​编辑1、cd 命令 2、pwd 命令 3、ls 命令 4、cp 命令 …

栈的实现详解

目录 1. 栈1.1 栈的概念及结构1.2 栈的实现方式1.3 栈的应用场景 2. 栈的实现2.1 结构体2.2 初始化2.3 销毁2.4 入栈2.5 出栈2.6 获取栈顶元素2.7 判空2.8 获取个数 3. test主函数4. Stack.c文件5. Stack.h文件6. 运行展示 1. 栈 1.1 栈的概念及结构 栈:一种特殊的…

【机器学习300问】112、什么是特征点检测?

特征点检测是计算机视觉中的一种技术,用于识别图像中具有显著局部特征的点。这项技术在多个领域内扮演着核心角色,包括图像识别、三维重建、运动跟踪和图像匹配等。 一、特征点任务的目的 在计算机视觉(CV)中,特征点检…

MFC基础学习应用

MFC基础学习应用 1.基于对话框的使用 左上角为菜单键(其下的关于MFC主要功能由IDD_ABOUTBOX决定) 附图 右下角为按钮(基本功能由IDD_DIALOG决定,添加按钮使用由左上角的工具箱完成) 附图 2.自行添加功能与按钮//功能代码 void CMFCApplication4Dlg:…

课设--学生成绩管理系统

欢迎来到 Papicatch的博客 文章目录 🍉技术核心 🍉引言 🍈标识 🍈背景 🍈项目概述 🍈 文档概述 🍉可行性分析的前提 🍈项目的要求 🍈项目的目标 🍈…

简易五子棋

简介 使用Java实现简易五子棋 规则介绍 游戏使用一个标准的1515方格的棋盘,双方分别用黑白两种颜色的棋子进行对战。黑子先行,双方轮流在空棋盘的交叉点上落子,每人一次只能落一子。游戏的目标是让自己的五颗棋子连成一线,这条…

2024-06-08 Unity 编辑器开发之编辑器拓展9 —— EditorUtility

文章目录 1 准备工作2 提示窗口2.1 双键窗口2.2 三键窗口2.3 进度条窗口 3 文件面板3.1 存储文件3.2 选择文件夹3.3 打开文件3.4 打开文件夹 4 其他内容4.1 压缩纹理4.2 查找对象依赖项 1 准备工作 ​ 创建脚本 “Lesson38Window.cs” 脚本,并将其放在 Editor 文件…

01——生产监控平台——WPF

生产监控平台—— 一、介绍 VS2022 .net core(net6版本) 1、文件夹:MVVM /静态资源(图片、字体等) 、用户空间、资源字典等。 2、图片资源库: https://www.iconfont.cn/ ; 1.资源字典Dictionary 1、…

5.数据仓库与数据挖掘期末复习

ETL的含义Extract 、 Transformation、Load。ODS的全称Operational Data Store。 DW全称 Data WarehourseDM全称是Data Mart数据仓库数据抽取时所用到技术是增量、全量、定时、调度STAGE层作用是提供业务系统数据文件的临时存储ODS层作用ods提供业务系统细节数据长期沉淀MID层…

Go TOKEN机制与跨域处理方式

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…