Linux:网络基础1

网络协议分层

所有网络问题,本质都是通信距离变长了,为了尽可能减少通信成本,定制了协议。

协议分层的优势:

软件设计方面的优势 - 低耦合
一般我们的分层依据: 功能比较集中,耦合度比较高的模块-- 一层 , 高内聚

每一层都要解决特定的问题!

 OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范; 把网络从逻辑上分为了7层.

每一层都有相关、相对应的物理设备,比如路由器,交换机; OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七 个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;

但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解.

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

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

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

物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决 定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测 到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太 网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.

网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规 划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

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

应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问 协议(Telnet)等. 我们的网络编程主要就是针对应用层.

 物理层中的集线器的作用是防止信号衰竭,再生整形放大。

modem(猫、调制解调器):模拟量转信号量,模拟量适合传播。

传统路由器工作在网络层,现代路由器工作在应用层。

对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;

对于一台路由器, 它实现了从网络层到物理层;

对于一台交换机, 它实现了从数据链路层到物理层;

对于集线器, 它只实现了物理层

协议报头

协议每一层都有,而每一个协议最终表现就是协议都要有报头

协议通常是通过协议报头来进行表达的

每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头

网络传输流程图

报文 = 报头 + 有效载荷

 跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

 数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链 路层叫做帧(frame).

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装 (Encapsulation).

首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议 字段" 将数据交给对应的上层协议处理.

每一层协议都要面对的两个问题:

如何判断哪里是报头,哪里是有效载荷?

如何判断自己的有效载荷交给上层哪个协议?

数据封装的过程

 数据分用的过程

 网络中的地址管理

认识IP地址

IP协议有两个版本, IPv4和IPv6. 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4

IP地址是在IP协议中, 用来标识网络中不同主机的地址;

对于IPv4来说, IP地址是一个4字节, 32位的整数;

我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个 字节, 范围是 0 - 255;

认识MAC地址

MAC地址用来识别数据链路层中相连的节点; 长度为48位, 及6个字节.

一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19) 在网卡出厂时就确定了, 不能修改.

mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可 能会冲突; 也有些网卡支持用户配置mac地址)

局域网通信

两台局域网的主机能够直接通信,根据MAC地址判断信息是不是发给我的。
局域网通信的原理:
每一台机器都有自己的”名字“,每一台主机都有网卡,每一张网卡有自己的地址,MAC地址
表明自己在局域网中的唯一性

局域网有以太网,令牌环网,无线LAN……

以太网:任何一个时刻,只允许一个主机在局域网中发消息(碰撞域),发生碰撞就重发。

令牌环网:持有令牌才能发消息。

ifconfig

查看主机的IP地址和MAC地址。

 云服务器etho入网接口(与公网IP不同)是公司内私有接口。

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

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

相关文章

2023五一数学建模A题完整思路

已更新五一数学建模A题思路,文章末尾获取! A题完整思路: A题是一个动力学问题,需要我们将物理学概念运用到实际生活中,我们可以先看题目 问题1: 假设无人机以平行于水平面的方式飞行,在空中投…

代码审计笔记之开篇

思想 代码审计是从软件测试发展而来,早起一般采用常规软件测试与渗透测试的手段来发现源码漏洞,但是随着软件规模的越来越大,架构越来越复杂,安全漏洞和后门也越来越多越来越隐蔽,这使得传统的软件测试方法很难检出源…

达梦数据库中注释的使用

在管理规模较大的数据库时,我们往往需要面对大量的表与视图,与此同时在表与视图中可能会存在着许多的字段,让人难以迅速分辨,不利于对于数据库对象的管理。除了在命名时,对于有意义的表、视图及列,应尽量赋…

你可能需要的IDEA-Java开发插件

Idea开发插件 Alibaba Cloud AI Coding Assistant 阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手,它提供代码智能补全和代码示例搜索能力,帮助你更快更高效地写出高质量代码。 让我觉得比较有意思的…

CentOS防火墙的常用快捷命令

CentOS是免费开源的Linux发行版之一,它兼容RHEL并由社区进行维护,大多数美国服务器提供对该系统支持。在使用CentOS系统时,您需要了解一些常用命令,比如开启、查看、关闭防火墙等。本文将介绍下CentOS防火墙的常用命令。 CentOS是一种面向企业级服务器环境的Linux发行版,…

直击德国PLS展,联诚发倾力打造沉浸式视觉盛宴!

当地时间4月25-28日,备受关注的2023德国法兰克福国际专业灯光音响展ProlightSound(以下简称“PLS展”)在德国法兰克福盛大召开。联诚发携多款创新产品及多领域的应用解决方案精彩亮相,为全球客户打造沉浸式视觉盛宴,展…

JavaScript详解

一、前置知识 1.1第一个JS程序 JavaScript 代码可以嵌入到 HTML 的 script 标签中。 1.2JS书写格式 1.2.1行内样式 直接嵌入到html元素内部 1.2.2内嵌格式 1.2.3外部格式 注意这种情况下,script标签中间不能写任何代码,必须空着,就算…

java内存占用过大分析,mat内存快照分析

背景 最近功能模块上线后,生产内存占用显著提升,查看gc日志发现年轻代频繁从2G回收到60M左右,猜测是在方法中频繁创建大对象导致,由于一时间无法通过review代码找出问题所在,只好将生产jvm内存快照dump后通过java mem…

HCIA-RS实验-STP和RSTP(2)

接上一篇文章;其他的不多说,新建一个新的配置设备;如果接上一个实验的配置的话,建议先把所有配置删除后再执行;新的拓扑也与上一个实验一致; 目录 创建新配置 配置RSTP 查看stp版本 配置边缘端口 …

深度学习 GNN图神经网络(四)线性回归之ESOL数据集水溶性预测

线性回归之ESOL数据集水溶性预测 一、前言二、ESOL数据集三、加载数据集四、数据拆分五、构造模型六、训练模型七、测试结果八、分类问题参考文献 一、前言 本文旨在使用化合物分子的SMILES字符串进行数据模型训练,对其水溶性的值进行预测。 之前的文章《深度学习…

vue - pc端实现对div的拖动功能

实现对div的拖动功能,需要先要知道以下的一些原生事件和方法; 1,事件: 方法描述onmousedown鼠标按钮被按下onmousemove鼠标被移动onmouseup鼠标按键被松开 2,方法: 方法描述event.clientX返回当事件被触发时鼠标指针相对于浏览…

02 【Sass语法介绍-变量】

sass有两种语法格式Sass(早期的缩进格式:Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS,任何css文件将后缀改为scss,都可以直接使用Sassy CSS语法编写。 所有有效的 CSS 也同样都是有效的 SCSS。 Sass语法介绍-变量 1.前言 Sass …

【VM服务管家】VM4.0平台SDK_2.5 全局工具类

目录 2.5.1 全局相机:全局相机设置参数的方法2.5.2 全局相机:获取全局相机列表的方法2.5.3 全局通信:通信管理中设备开启状态管理2.5.4 全局通信:接收和发送数据的方法2.5.5 全局变量获取和设置全局变量的方法 2.5.1 全局相机&…

2023-4-27-深入理解C++指针类型间强制转换

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

记一次峰回路转的注入

0X01 背景 自己之前写过一篇记录,当时是由于之前是一位校友刚做开发,叫我友情帮忙测试一波,由于是开发的新手,漏洞比较多,所以直接从注入开始讲起,但是到getshell的过程也算是一场峰回路转再跌跌撞撞的路程…

【Java笔试强训 17】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥杨辉三角…

洞见数字时代的创新原力,数云原力大会暨2023TECH第五届数字中国技术年会开幕

4月25日,神州控股、神州信息、神州数码集团共同主办的数云原力大会暨2023TECH第五届数字中国技术年会开幕。开幕式上,数百位投身并关注数字技术、数字产业发展的学者、技术专家、从业者、行业用户齐聚一堂,围绕云原生、数字原生、大数据、金融…

这一次,让Kotlin Flow 操作符真正好用起来

前言 Kotlin Flow 如此受欢迎大部分归功于其丰富、简洁的操作符,巧妙使用Flow操作符可以大大简化我们的程序结构,提升可读性与可维护性。 然而,虽然好用,但有些操作符不太好理解,可惜的是网上大部分文章只是简单介绍其…

吴恩达 Chatgpt prompt 工程--1.Guidelines

课程链接 Setup #安装 !pip install openai#设置key !export OPENAI_API_KEYsk-... # or #import openai #openai.api_key "sk-..."import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv())openai.api_key os.geten…

记一次SSRF漏洞的学习和利用

导语:本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。 1.前言 本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。此漏洞并结合腾讯云的API接口,可以获取大量嘶吼服务器的敏感信息。利用这些敏感信息,又…