【Linux:网络基础】

网络协议:

协议实际上可以称为一种“约定”,通过网络通信中的数据约定,不同主机必须遵循相同的网络协议才可以实现通信。

协议即为通信双方都认识的结构化的数据类型

协议分层

协议的本质也是软件,在设计上为了更好的进行模块化,解耦合,被设计成为了层状结构

OSI

网络中分层有:OSI七层模型和TCP/IP五层模型

  • 把网络从逻辑上分为了七层结构,每一层都有相关的,相对应的物理设备
  • OSI七层模型是一种框架性的设计方法

而工程实践中只有五层协议,也就是TCP/IP

TCP/IP五层模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇 .
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

 

由于物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型 

为什么要有TCP/IP?

每一个计算机内部都有自己的协议,而网络通信最大的特点就是主机之间的距离变远了,而距离变远则会带来一系列新的问题,而解决新问题就需要新的协议

  • TCP/IP协议本质是一种解决方案
  •  TCP/IP协议能分层,前提是问题是分层的

 

网络传输流程:

首先知道主机之间是如何进行通信的?

报文=报头+有效载荷,主机之间通信通过识别报文一层一层的往下解包实现,每一台主机都有一个唯一的标识:mac地址

mac地址:

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48, 6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 能会冲突; 也有些网卡支持用户配置mac地址)

mac地址通信: 

  • 在以太网中,任何时刻都只能有一台机器向网络中发送数据
  • 如果多台机器发送数据,就会发生数据干扰,统称为数据碰撞
  • 所有发送数据的主机都需要进行数据检测和碰撞避免 

  • 用户A发送数据,数据一层一层的往下包装为报头
  • 到达网卡后发送给B
  • B通过网卡把数据推送进底层,一层一层的向上解包拿取数据
  • 这种通信方式可以视为一种栈结构,封装的过程为栈的入栈,解包的过程为弹栈 
  • 因此tcp/ip也叫做网络协议栈

IP与MAC地址的区别:

  • IP在整个路由地址中是一直不变的
  • Mac地址一直改变
  • 目的IP是一种长远目标,而Mac是下一阶段目标,目的IP是路径选择的重要依据,mac地址是局域网转发的重要依据 

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

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

相关文章

C++刷怪笼(9)继承

目录 1.前言 2.正文 2.1继承的概念和定义 2.1.1继承的概念 2.1.2继承的定义 ​编辑 2.1.3继承类模板 2.2基类和派生类间的转换 2.3继承中的作用域 2.3.1隐藏规则 2.4派⽣类的默认成员函数 2.4.1个常⻅默认成员函数 2.4.2实现⼀个不能被继承的类 2.5继承与友元 2.…

QT中使用图表之QChart概述

在Qt中使用QChart类可以快速绘制一个图表出来,比如折线图、饼图、柱状图等 QChart类用来管理图表中的图形、图例、轴等 QChartView是专门用来显示图表的类,相当于一个QWidget或者窗口,用来显示QChart 即总的步骤就是 1、创建QChartView的…

codeforces _ 补题

C. Ball in Berland 传送门:Problem - C - Codeforces 题意: 思路:容斥原理 考虑 第 i 对情侣组合 ,男生为 a ,女生为 b ,那么考虑与之匹配的情侣 必须没有 a | b ,一共有 k 对情侣&#x…

零基础学西班牙语,柯桥专业小语种培训泓畅学校

No te comas el coco, seguro que te ha salido bien la entrevista. Ya te llamarn. 别瞎想了!我保证你的面试很顺利。他们会给你打电话的。 这里的椰子是"头"的比喻。在西班牙的口语中,我们也可以听到其他同义表达,比如&#x…

一、开发环境的搭建

环境搭建步骤: 下载软件安装软件运行软件 其他: Visual studio 安装包文件:https://www.alipan.com/s/nd5RgzD4e3b 下载软件 在浏览器中搜索Visual studio,选择如图的选项 点击该区域,进入该页面,【或…

SSH免密钥登录

1: 用 ssh-key-gen 在本地主机上创建公钥和密钥 winr cmd 打开控制台 ssh-keygen -t rsa 一直按enter 2: 用 ssh-copy-id 把公钥复制到远程主机上 user 是用户名 remote_host是远程主机 ssh-copy-id -i ~/.ssh/id_rsa.pub userremote_host 3: 直接登录远程主机&#xf…

对外部供应商依赖带来的战略限制分析

当企业过分依赖单一或少数供应商时,一旦这些供应商出现问题,如生产延误、质量问题或财务困难,企业的运营将受到严重影响。例如,2020年的新冠疫情期间,许多企业因为供应商无法按时交货而面临生产停滞,导致巨…

Windows11家庭版安装Docker Desktop软件教程

下载Windows安装包 我们建议将源代码和其他数据绑定到 Linux 容器中时,将其存储在 Linux 文件系统中,而不是 Windows 文件系统中。 docker官网首页https://www.docker.com/ (需要科学上网)下载Windows版本的Docker Desktop。 或者使用已经下载好的Docker Desktop 安装包…

理解ADC:为什么量化噪声也会产生谐波?附带介绍 Dither(抖动)

前言 今天继续从经典的 ADI 《MT-001》说起,通常情况下量化噪声是白噪声,但如果量化噪声与输入信号之间存在相关性,就不能被当做白噪声对待。 文中举了一个有意思的例子:理想 ADC 的采样频率为 80 MSPS ,一种情况输入…

外包干了7天,技术明显退步。。。。。

先说一下自己的情况,本科生,22年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

vue组件在项目中的常用业务逻辑(1)

若要使用一个组件(已有基本结构) 1.在api>index.js获取接口数据(这里是模拟数据) 2.去vuex仓库(store>home.js)存储数据(state mutations actions三连环) (准备…

Linux网络命令:系统中用于显示和操作 ARP缓存表的命令arp详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、获取帮助 三、示例 1. 显示所有 ARP 表项 2. 以数字形式显示 IP 地址 3. 删除指定的 ARP 表项 4. 添加一个静态 ARP 表项 5. 显示详细信息 四、详细说明 1、ARP 缓存表 2、静态 ARP 表项 3、动态 ARP 表项 五、常…

如何在短时间内入门并掌握深度学习?

如何在短时间内快速入门并掌握深度学习,是很多读者的困惑——晦涩难懂的数学 知识、复杂的算法、烦琐的编程……深度学习虽然让无数读者心怀向往,却也让不少人望而生畏,深感沮丧:时间没少花,却收效甚微。 如何才能更好…

图像分割从基础到进阶:阈值化、K-means和Mean-Shift算法的应用

图像分割是计算机视觉中的一项关键技术,用来将图像划分为若干个 有意义 的区域,以便后续的图像处理和分析工作。根据任务的不同,图像分割可以进一步细分为语义分割、实例分割和全景分割: 语义分割 (Semantic Segmentation) 对图像…

JavaEE进阶----18.<Mybatis补充($和#的区别+数据库连接池)>

详解了 1.$和#的区别 2.数据库连接池。 3.简单了解MySQL企业开发规范 一、Mybatis面试题:$和#的区别是什么? MyBatis 参数赋值有两种方式,咱们前面使用了 #{} 进行赋值,接下来我们看下二者的区别。 1.1 #是预编译SQL,$…

瑞格智慧心理服务平台 NPreenSMSList.asmx sql注入漏洞复现

0x01 产品描述: ‌ 瑞格智慧心理服务平台‌是一个集心理测评、心理咨询、心理危机干预、心理放松训练等功能于一体的综合性心理健康服务平台。该平台由北京瑞格心灵科技有限公司开发,旨在为用户提供全方位的心理健康服务。0x02 漏洞描述:…

Webserver(1.8)操作函数

目录 文件属性操作函数access函数chmod函数chown函数truncate函数 目录操作函数mkdir函数rmdir函数rename函数chdir函数*getcwd函数 目录遍历函数*opendir函数*readdir函数closedir函数 dup、dup2函数dupdup2 fcntl函数 文件属性操作函数 access函数 判断某个文件是否有某个权…

(49)MATLAB实现迫零均衡器原理与代码

文章目录 前言一、迫零均衡器设计说明二、迫零均衡器MATLAB源代码1.函数说明2.代码实现3.辅助函数 前言 使用MATLAB实现迫零均衡器。给出完整的MATLAB设计源代码。 一、迫零均衡器设计说明 理想的迫零均衡器有无限多个抽头权系数,是不能实现的,本文考虑…

springboot揭秘00-基于java配置的spring容器

文章目录 【README】【1】基本概念:Configuration与Bean【2】使用AnnotationConfigApplicationContext实例化spring容器【2.1】使用java配置简单构建spring容器【2.1.1】AnnotationConfigApplicationContext与Component及JSR-330注解类一起使用 【2.2】使用register…

线程和进程延续

1.线程和进程启动终止方式 1.创建子进程,子线程 2.退出进程/线程 3.回收僵尸进程资源 / 回收线程资源 4.进程终止函数 / 线程清理函数 2.线程状态切换 pthread_create()变为就绪态,调度后成为运行态,pthread_join()成为阻塞态…