Linux学习笔记——网络基础一

news2024/11/28 10:32:43

文章目录

  • 计算机网络发展过程
    • 独立模式
    • 网络互联
    • 局域网LAN
    • 广域网WAN
  • 计算机网络协议的概念
  • 网络协议
  • 协议分层
  • OSI七层模型
  • TCP/IP五层(或四层)模型
  • 网络传输基本流程
  • 数据包封装和分用
  • 各层间通信
  • IP地址
  • MAC地址

计算机网络发展过程

独立模式

  计算机之间相互独立;
在这里插入图片描述

网络互联

  多台计算机连接在一起, 完成数据共享;
在这里插入图片描述

局域网LAN

  计算机数量更多了, 通过交换机和路由器连接在一起;

在这里插入图片描述

广域网WAN

  将远隔千里的计算机都连在一起; 所谓 "局域网"和"广域网"只是一个相对的概念。广域网,也可以看做一个比较大的局域网。
在这里插入图片描述


计算机网络协议的概念

   协议是双方约定同一种语言,进行沟通,计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式。

在这里插入图片描述


网络协议

   计算机生产厂商有很多;计算机操作系统, 也有很多;计算机网络硬件设备, 还是有很多;如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是网络协议; 网络协议是通信双方,约定通信时使用的数据格式,进行网络通信。


协议分层

   操作系统要进行协议管理,对协议进行管理也是先描述再组织。协议本质就是软件,软件是可以“分层”的,所以协议在设计的时候就是按照层状划分的。网络协议划分成层状结构是为了面对复杂场景,对功能进行解耦,便于进行维护。
在这里插入图片描述

   在这个例子中, 协议只有两层; 但是实际的网络通信会更加复杂(通信的复杂本质上和距离成正相关), 需要分更多的层次.分层最大的好处在于 “封装” 。


OSI七层模型

  • OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。
  • 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

   OSI是指定的一种标准,理论设计和工程实践有差别,实际操作中TCP/IP协议考虑应用层场景复杂的情况,将应用层、表示层、会话层统一定制为应用层。

在这里插入图片描述


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

 TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。物理层我们考虑的比较少,因此很多时候也可以称为 TCP/IP四层模型。

在这里插入图片描述

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。
  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层。

网络传输基本流程

  同一个网段内的两台主机进行文件传输 ,两台计算机通过TCP/IP协议通信的过程如下所示:

请添加图片描述

  网络数据的转发需要先经历自己的网络协议栈,进而通过网络将数据转化为光电信号,传输到对端机器,对端机器收到数据之后,需要经历自己的机器网络协议栈的层层向上提交,一直将数据提交到应用层的应用程序当中。

请添加图片描述

  跨网段的主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器 ,这种设计保证了在使用TCP/IP协议的网络中,IP以及向上的协议所能看到的报文都是一样。

请添加图片描述


数据包封装和分用

  数据包 = 报头 + 报文/有效载荷,每层协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame) ,应用层数据通过协议栈发到网络上时,经过每层协议的时候都要加上一个数据首部(header) /报头 ,称为封装,封装的本质就是添加报头,分用/解包的本质就是去掉抱头并展开分析,将本层的有效载荷交付给上层协议。。首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息 。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。

  数据包的封装,就是每一层在传输给下一层数据/有效载荷的时候,会在数据前加上该层特有的报头。数据包的分用就是被封装完毕后的数据经管网络传给接受方时,接受方进行封装的逆过程,提取有效载荷。每一个协议都要考虑如何封装报文,如何解包,以及将有效载荷交付给上层哪一个协议的问题。

请添加图片描述
请添加图片描述
在这里插入图片描述


各层间通信

  发送方与接收方各层之间必须采用相同的协议才能建立连接,实现正常的通信。应用层之间必须采用相同的编码解码规则,才能保证用户信息传输的正确性。传输层之间必须采用相同的端口号与协议关系,才能保证上层应用进程间的通信。网络层之间必须采用相同的逻辑寻址过程才能保证数据不会传输到错误的目的地。数据链路层之间如果协议不同,接收方无法“理解”数据的内容。物理层之间必须硬件接口规格相同,否则接收不到信号。

  在实际的网络环境中,发送方和接受方之间会有很多的硬件设备起到中转的作用。从发送主机物理网卡发出的电信号通过网线到达交换机,交换机将电信号转换成二进制数据送往交换机的数据链路层。交换机根据数据帧头部的MAC地址将数据智能转发到对应的路由器设备,在转发前要重新将二进制数据转换成物理的电信号。路由器接受到数据后,会拆掉数据链路层的MAC头部信息,将数据包送往网络层,路由器将检测数据包头部的目标IP地址信息,并根据该信息进行路由转发,将数据报文转发到下一路由器上,在转发前要重新封装新的MAC头部信息,并将数据转换成二进制。之后的过程与前面大同小异。简单来说就是路由器接受电信号,将电信号转换成二进制数据发往网络层,然后根据MAC地址和IP地址进行重新封装转换为电信号进行转发,然后对应的交换机接受电信号,然后根据MAC地址传送到接收主机的网卡中。


IP地址

  IP协议有两个版本, IPv4和IPv6. 没有特殊说明的, 默认都是指IPv4。IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数,通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是0~255。IP地址的作用:可以在网络当中唯一标识一台主机,一个公网IP地址只能被一台机器所占有,一个机器可以拥有多个IP地址。


MAC地址

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


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

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

相关文章

rc.local脚本延时启动

rc.local脚本延时启动1、问题描述2、解决方法3、rc.local脚本依赖关系的处理3.1、对脚本进行分类,分别设置延时启动策略4、测试重启rc-local.service5、rc.local脚本执行特点5.1、rc.local脚本在操作系统启动时只执行一次。5.2、在rc.local脚本中执行程序时是没有环…

人工智能专题-知识表示

文章目录人工智能专题-知识表示大纲2.1 知识表示的概念2.1.1 知识表示观点2.1.2 知识表示的要求2.2 一阶谓词逻辑表示法2.2.1 一阶谓词概念2.2.2 谓词逻辑表示方法2.3 产生式表示法2.4 语义网络表示法2.5 框架表示法人工智能专题-知识表示 大纲 大纲:掌握知识表示方…

jenkins——环境变量、节点配置以及节点环境变量的使用

这里写目录标题一、Jenkins 环境变量1、环境变量分类a、系统内置环境变量b、用户自定义环境变量2、环境变量的使用3、控制台输出二、Jenkins 节点配置1、Jenkins的常用节点2、准备工作3、SSH类节点配置4、Java web节点配置5、Java web节点配置详细步骤三、Jenkins 节点环境变量…

“三箭齐发”,诸葛智能三大产品全新升级,助力企业迈向数字化经营 | 爱分析调研

调研:文鸿伟 撰写:文鸿伟 诸葛智能,是容联云旗下敏捷开放的场景化数据智能服务商,累积服务全国1000企业,覆盖泛互联网、泛电商、金融、汽车、产业科技、企服等数十个垂直领域。 自2015年成立至今,诸葛智…

HTML5 <li> 标签、HTML5 <legend> 标签

HTML5 <li> 标签 实例 HTML5 <li>标签用于表示文档中列表的项目&#xff0c;在下述例子中&#xff0c;我们分别在有序列表和无序列表中使用了<li>标签。 HTML 两个列表实例&#xff1a; 一个有序列表 (<ol>) 和 一个无序列表 (<ul>) : <ol…

机器学习入门实例-加州房价预测-2(数据整理)

计算相关性 使用corr()计算standard correlation coefficient&#xff08;Pearson’s r&#xff09;。矩阵不是很方便观察&#xff0c;可以直接排序median_house_value列&#xff0c;可以看出median_house_value与median_income的相关性挺大的。 corr_matrix visual_data.cor…

pdf 批量翻译-批量翻译照片

实现英语批量翻译通常需要使用机器翻译技术和程序编程知识。 下面是一些主要步骤&#xff1a; 选择机器翻译API&#xff1a;选择一种适合你的需求的机器翻译API&#xff0c;比如Google Translate API、Microsoft Translate API或者百度翻译API等。 注册API服务&#xff1a; 注…

721 Chapter3 MVCC(设计trade-off)

MVCC核心概念 1.读写互相不阻塞对方 2.读事务可以读一致性快照 3.支持时间旅行&#xff0c;也就是读过去的快照 但是存在写倾斜的问题。Write Skew Anomaly. 所以就MVCC到达不了serizable MVCC实现 MVCC time order 就靠原子操作CAS来check是否有人在写入&#xff0c;同时…

【Docker】通过dockerfile构建Nginx镜像部署多Web应用

【Docker】Docker安装 docker打包镜像Dockerfile构建镜像编写Dockerfile脚本构建镜像前的准备执行Dockerfile脚本 构建镜像镜像导入配置nginx.conf文件Docker操作查询index.html的路径修改web1下ProjectConfig-72e0c4f7dd.json配置文件修改nginx配置文件nginx.confDockerfile构…

GIS空间数据格式简介

Gis数据存储零、前言一、基础概念二、矢量数据1、定义2、基础3、WBT/WKB4、坐标系5、Geometry6、要素 / 要素集7、存储格式8、图层三、栅格数据1、定义2、基础3、存储格式零、前言 1、首先该篇文档主要是针对刚入坑的朋友&#xff0c;如果你对gis的存储结构谙熟于心&#xff0…

【python】计算机视觉~舌象图片中舌体倾斜判别(四)

返回至系列文章导航博客 1 简介 在智能舌诊时&#xff0c;需要判断舌头的胖瘦&#xff0c;这需要舌头在图片中处于近似垂直的位置才方便判断&#xff0c;不能过于倾斜。那么如何让计算机智能地知道舌体是否倾斜呢&#xff1f;这是这篇文章讨论的重点&#xff01; 首先也是最重…

一种轻量的“虚拟机”——Windows 沙盒模式

Windows 沙盒模式Windows沙盒的好处操作步骤Windows沙盒的好处 相比虚拟机和第三方的沙盒软件&#xff0c;Windows Sandbox启用后仅占用100MB硬盘空间&#xff0c;还能与物理机安全地共享部分内存空间。简单来说就是易用、免费、不卡机&#xff01; 由于要保证沙盒内的数据不…

表面弛豫、重构以及覆盖效应

目录 1表面弛豫 2表面能的计算 3对称和非对称板块模型 4 表面重构 5表面上的吸附质 6表面覆盖效应 1表面弛豫 在上述例子中,为了建立五层原子的板块模型,将原子放置在了板块模型中。原子的位置是理想的,是 材料中的体相原子位置。在体相的 金属中,任何两个相邻原子的间…

burpsuite 插件编写基础

文章目录一、什么是扩展 / 插件&#xff1f;二、burp 的扩展三、开发步骤一、什么是扩展 / 插件&#xff1f; 关于这个话题&#xff0c;知乎有一个回答题不错&#xff0c;主要也是引用了wikipedia 插件/扩展&#xff0c;是向现有的计算机程序添加特定功能的软件组件。 主程序…

3.2.2队列的顺序存储实现

队列是一种操作受限的顺序表&#xff08;只能在队头删除&#xff0c;在队尾插入&#xff09;。 所以依旧使用静态数组的形式去存储队列。 &#xff08;1&#xff09;创建&#xff08;初始化&#xff09; 现定于&#xff08;顺序队列&#xff09;的结构体 初始化队列时&#x…

CentOS7---Nginx安装并配置虚拟主机

1、源码安装nginx&#xff0c;并提供服务脚本 源码包的获取&#xff1a;官网下载 实验环境&#xff1a;和企业环境类似&#xff0c;关闭防火墙&#xff0c;禁用selinux&#xff0c;使用静态IP地址 安装步骤&#xff1a; 步骤一&#xff1a;安装Nginx所需的pcre库 [rootnode01 ~…

openvpn (用户名密码模式)

目录 一、介绍 1、定义 2、原理 3、加密和身份验证 二、在centos 7.5上搭建openvpn 1、安装openvpn 和easy-rsa&#xff08;该包用来制作ca证书&#xff09; 2、配置/etc/openvpn/ 目录 3、创建服务端证书及key 4、创建客户端证书 5、把服务器端必要文件放到etc/openvpn/ 目录下…

LeetCode 785. Is Graph Bipartite【DFS,二分图】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

[牛客101] 二叉树的层序遍历

这道题会考察很多知识点,这里专门进行详解 文章目录题目描述二. 题目分析完整代码题目描述 二. 题目分析 首先,我们会想到存储方式为二维数组.数组每一行存储一层的结点.怎么确定每一行要存储几个结点呢.由于节点与节点之间存在父子关系,所以,在存储某一层的结点时,就可以通过…

使用Process Explorer和Dependency Walker排查C++程序中dll库动态加载失败问题

目录 1、exe主程序启动时的库加载流程说明 2、加载dll库两种方式 2.1、dll库的隐式引用 2.2、dll库的动态加载 3、本案例中的问题描述 4、使用Process Explorer和Dependency Walker分析dll库加载失败的原因 4.1、Process Explorer工具介绍 4.2、使用Process Explorer工…