Linux网络_网络基础预备

news2024/9/24 23:26:51

文章目录

  • 前言
  • 一、网络基础知识
    • 网络协议
    • 协议分层
      • OSI七层模型
      • TCP/IP五层(或四层)模型
  • 认识IP地址
  • 认识MAC地址
  • 数据包封装和分用


前言

Linux系统编程已经告一段落,但是我们在学习LInux系统编程所积累的知识,将仍然与后面网络知识强相关,学习网络的同时也是在复习系统知识。


一、网络基础知识

对于网络,我们并不陌生,就像现在你看我的文章,也是通过网络实现的,与朋友在微信、qq聊天也是通过网络。那么我们的网络数据是通过怎样的方式来传播的呢?

网络协议

从现实生活中,我们全球拥有许多不同的语言,例如汉语,英语,德语。 我们与自己的父母进行谈话用的都是汉语,所以我们才能互相知晓对方的意思。 但是如果你不懂德语却与一个德国人对话,那么你们就会拥有沟通障碍。

对于网络通信也是一样,全球各地拥有许多计算机厂商,会研发出各种各样的网络硬件设备,如果他们不统一网络协议,那么网络通讯就无异于我们与外星人交流一样。

如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守,这就是 网络协议

协议分层

要实现网络通讯,不仅仅只有一套协议,而是有许多套协议,而有的协议解决的并不是同一个问题,所以就需要协议分层。

OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。
在这里插入图片描述

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

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

在这里插入图片描述
物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型。
在这里插入图片描述
在这里插入图片描述

认识IP地址

IP地址是在IP协议中, 用来标识网络中不同主机的地址
;
对于IPv4来说, IP地址是一个4字节, 32位的整数;

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

IP地址是可以标识全网唯一的地址,所以要进行网络通信,发送方就必须要知道接受方的IP地址。

认识MAC地址

MAC地址用来识别数据链路层中相连的节点。

长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

例如在以太网中,就可以通过MAC地址来查找对应主机。

数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).
首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
在这里插入图片描述
以上图为例,当客户要通过网络发送数据,需要从应用层自下传输,且每经过一层都会封装对应的报头。 服务器再自上解包数据包。

1.应用层封装请求数据,向下交付给传输层。

2.经过传输层 封装 tcp协议相关报头,向下交付给网路层。

3.经过网络层 封装 ipv4 或ipv6协议与端口号相关报头,并且这里需要添加发送方和接受方双方的IP地址和端口号,向下交付给数据链路层。

4.经过数据链路层封装以太网MAC相关报头,将报文数据交给以太网,

5.经过以太网解包将数据链路层报头和其有效载荷分离,将剩下的报文交给对应主机或者路由器。

6.路由器拿到目标IP地址后,查到目标IP地址,再向下交给自己的令牌环驱动程序,并封装令牌环报头。

7.令牌环驱动程序再根据其令牌环报头的目标MAC地址,找到并将报文对应主机的令牌环。

8.令牌环解包将数据链路层报头和其有效载荷分离,将剩下的报文向上交付给网络层。

9.网络层解包将网络层报头和其有效载荷分离,将剩下的报文向上交付给传输层。

10.传输层解包将传输层报头和其有效载荷分离,最后得到请求数据向上交付给应用层。

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

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

相关文章

Nature plants|做完单细胞还可以做哪些下游验证实验

中国科学院分子植物科学中心与南方科技大学在《Nature Plants》期刊上(IF18.0)发表了关于苜蓿根瘤共生感知和早期反应的文章,该研究首次在单细胞水平解析了结瘤因子处理蒺藜苜蓿(Medicago truncatula)根系24小时内特异细胞类型的基因表达变化…

c++(四)

c(四) 运算符重载可重载的运算符不可重载的运算符运算符重载的格式运算符重载的方式友元函数进行运算符重载成员函数进行运算符重载 模板定义的格式函数模板类模板 标准模板库vector向量容器STL中的listmap向量容器 运算符重载 运算符相似,运…

上周暗网0day售卖情报一览

黑客声称以 1,700,000 美元出售 Outlook RCE 漏洞 0Day 令人担忧的是,一个名为“Cvsp”的威胁参与者宣布出售所谓的 Outlook 远程代码执行 (RCE) 漏洞 0day。这一所谓的漏洞旨在针对跨 x86 和 x64 架构的各种 Microsoft Office 版本,对全球用户构成重大安…

Facebook之魅:数字社交的体验

在当今数字化时代,Facebook作为全球最大的社交平台之一,承载着数十亿用户的社交需求和期待。它不仅仅是一个简单的网站或应用程序,更是一个将世界各地的人们连接在一起的社交网络,为用户提供了丰富多彩、无与伦比的数字社交体验。…

什么是NAND Flash ECC?

在存储芯片行业,数据完整性和可靠性是至关重要的。为了确保数据的准确性和防止数据丢失,ECC(错误校正码)在NAND Flash存储中扮演了关键角色。MK米客方德将为您解答NAND Flash ECC的基本概念、工作原理及其在实际应用中的重要性。 …

RGB 平均值统计

任务:有一一对应的图片多组如下,希望统计灰色部分原有grb平均值,彩色部分rgb平均值。 方法:由下图对各个像素分析,分为3类,并记录坐标,根据坐标统计上图的rgb平均值,结果放在一张Exc…

群晖异地组网-节点小宝搭建使用指南(全平台异地组网)

内网穿透,对于经常传输小文件、远程控制NAS的朋友来说是够用了,但是对经常异地端到端大文件传输需求的朋友来说就差点事,有没有一种免费、速度快、配置简单得方式的呢,答案是有的。节点小宝异地组网是一个非常不错的方式&#xff…

表空间[MAIN]处于脱机状态

达梦数据库还原后&#xff0c;访问数据库报错&#xff1a;表空间[MAIN]处于脱机状态 解决方法&#xff1a; 1&#xff1a;检查备份文件 DMRMAN 中使用 CHECK 命令对备份集进行校验&#xff0c;校验备份集是否存在及合法。 ##语法&#xff1a;CHECK BACKUPSET <备份集目录…

大字体学生出勤记录系统网页HTML源码

源码介绍 上课需要一个个点名记录出勤情况&#xff0c;就借助AI制作了一个网页版学生出勤记录系统&#xff0c; 大字体显示学生姓名和照片&#xff0c;让坐在最后排学生也能看清楚&#xff0c;显示姓名同时会语音播报姓名&#xff0c; 操作很简单&#xff0c;先导入学生姓名…

信息抽取模型TPLinker

1.motivation 早期传统方法首先抽取实体再抽取它们之间的关系&#xff0c;但是忽略了两个任务之间的关联。而后期采取的联合模型都存在着一个严重问题&#xff1a;训练时&#xff0c;真实值作为上下文传入训练&#xff1b;推理时&#xff0c;模型自身生成的值作为上下文传入&a…

代码随想录算法训练营第21天|● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

二叉搜索树的最小绝对差 题目连接 https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路&#xff1a; 利用二叉搜索树的中序遍历的特性&#xff0c;将二叉树转成有序数组&#xff0c;进而求任意两个数的最小绝对差。 代码 /*** Definition for a bina…

邮箱调用接口的服务有哪些?怎么配置接口?

邮箱调用接口安全性如何保障&#xff1f;使用邮箱服务器的方法&#xff1f; 邮箱调用接口为各种应用和系统提供了便捷的电子邮件发送与接收功能。选择合适的邮箱调用接口服务可以大大提升工作效率和用户体验。本AokSend将探讨一些主要的邮箱调用接口服务。 邮箱调用接口&…

本杀小程序开发实战手册:从构思到上线

一、引言 随着移动互联网的快速发展&#xff0c;剧本杀作为一种新兴的娱乐方式&#xff0c;受到了越来越多年轻人的喜爱。为了满足市场需求&#xff0c;开发一款剧本杀小程序成为了许多创业者和开发者的选择。本文将从构思、设计、开发到上线等方面&#xff0c;为您详细解析剧…

庆余年2火了,却把热爱开源的程序员给坑了

庆余年 2 终于开播了&#xff0c;作为一名剧粉&#xff0c;苦等了五年终于盼来了。开播即爆火&#xff0c;虽然首播的几集剧情有些拖沓&#xff0c;不过也不影响这是一部好剧。 然而&#xff0c;庆余年 2 的爆火&#xff0c;却把 npmmirror 镜像站给坑惨了。npmmirror 镜像站&…

第一个Flutter3项目

配置flutter国内源 首先&#xff0c;配置flutter的国内源&#xff1a; env:PUB_HOSTED_URL"https://pub.flutter-io.cn"; env:FLUTTER_STORAGE_BASE_URL"https://storage.flutter-io.cn"配置gradle国内源 修改gradle\wrapper\gradle-wrapper.properties…

【MySQL数据库】:MySQL内置函数

目录 日期函数 current_date 函数 current_time 函数 current_timestamp 函数 now 函数 date 函数 date_add 函数 date_sub 函数 datediff 函数 字符串函数 charset 函数 concat 函数 instr 函数 ucase 函数 lcase 函数 left 函数 length 函数 replace…

vue3 手动简单 24h 甘特图封装

甘特图 手动封装简版甘特图&#xff0c;纯展示功能&#xff0c;无其他操作 文章目录 甘特图前言效果图组件使用总结 前言 开始的思路是使用echarts 瀑布图来体现&#xff0c;但是试验后发现&#xff0c;头部时间功能不满足&#xff0c;然未找到其他组件&#xff0c;于是手动封…

数据集008:吸烟、抽烟检测数据集(含数据集下载链接)

数据集简介 两个数据集 一个是783张图片对应的xml文件 一个是2482张图片对应的xml文件 如下图所示&#xff1a; 部分代码&#xff1a; # 测试数据读取 def test_data_loader(datadir, batch_size 10, test_image_size608, modetest):"""加载测试用的图片…

LangChain打造一个AI客服

最近在学习LangChain&#xff0c;langchain的第一个入门应用就是和ChatGPT结合形成的一个AI客服&#xff0c;本期文章就带大家一起认识下 LangChain LangChain是现在用得最多的AI框架&#xff0c;langchain在帮助如基于文档数据的回答、聊天机器人和代理这类的应用程序 langch…

2024年【N1叉车司机】免费试题及N1叉车司机试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机免费试题根据新N1叉车司机考试大纲要求&#xff0c;安全生产模拟考试一点通将N1叉车司机模拟考试试题进行汇编&#xff0c;组成一套N1叉车司机全真模拟考试试题&#xff0c;学员可通过N1叉车司机试题及解析…