【网络】计算机网络基础

news2025/1/12 19:06:50

Linux网络

对网络的理解

在网络传输中存在的问题:

  1. 找到我们所需要传输的主机
  2. 解决远距离数据传输丢失的问题
  3. 怎么进行数据转发,路径选择的问题

有问题,就有解决方案;

我们把相同性质的问题放在一起,做出解决方案

解决方案设计成为层状结构,层内部高内聚,层于层之间低耦合。

层状结构有利于减少后期维护成本,只需要对某一层的错误进行处理

在这里插入图片描述

在Linux中一切皆属于文件,网卡资源也被划分为文件,以文件的方式进行管理。

传输层和网络层都属于操作系统层。

操作系统种类很多,但是网络只能有一种(因为TCP/IP协议必需相同)。

OSI七层模型

  1. 应用层

网络服务与最终用户的一个接口 各种应用程序协议 协议有:HTTP(超文本传输协议) FTP(文本传输协议) TFTP(简单文件传输协议)
SMTP(简单邮件传输协议) SNMP(简单网络管理协议) DNS(域名系统) TELNET(远程终端协议)
HTTPS(超文本传输安全协议) POP3(邮局协议版本3 ) DHCP(动态主机配置协议)

  1. 表示层

数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 信息的语法语义以及他们的关联,如加密解密、转换翻译、压缩解压
格式有,JPEG、ASCll、EBCDIC、加密格式等 [2] 如LPP(轻量级表示协议)

  1. 会话层

建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 不同机器上的用户之间建立及管理会话
对应主机进程,指本地主机与远程主机正在进行的会话 安全协议:SSL(安全套接字层协议)、TLS(安全传输层协议)

  1. 传输层

定义传输数据的协议端口号,以及流控和差错校验。
接受上一层数据,在必要的时候把数据进行切割,并将这些数据交给网络层,并保证这些数据段有效到达对端 协议有:TCP
UDP,数据包一旦离开网卡即进入网络传输层

  1. 网络层

进行逻辑地址寻址,实现不同网络之间的路径选择。 控制子网的运行,如逻辑编址、分组传输、路由选择 协议有:ICMP(互联网控制信息协议)
IGMP(组管理协议) IP(IPV4 IPV6)(互联网协议) 安全协议、路由协议(vrrp虚拟路由冗余)

  1. 数据链路层

建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 物理寻址、同时将原始比特流转变为逻辑传输线路
地址解析协议:ARP、PARP(反向地址转换协议)

  1. 物理层

建立、维护、断开物理连接。(由底层网络定义协议) 机械、电子、定时接口通信信道上的原始比特流传输 TCP/IP
层级模型结构,应用层之间的协议通过逐级调用传输层(Transport layer)、网络层(NetworkLayer)和物理数据链路层(Physical Data Link)而可以实现应用层的应用程序通信互联。

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

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

网络传输基本流程

同一局域网中的传输流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不同局域网中的传输流程

在这里插入图片描述

路由器作用在网络(IP)层

数据包封装和分用

应用层数据通过协议栈发到网络上时,每一次往下时,每层协议都要加上一个数据哦报头(header),称为封装。

当数据包到达目的主机,往上解包时,每过一层协议都会消去对应的报头,称为分用。

MAC地址和IP地址的区别

在数据传输过程中,存在两套地址,分别是MAC和IP

IP地址存在的出发点和结束点(目的主机)的地址。

MAC地址存储的是中转地址:

​ 在原距离传输的过程中,我们需要经过很多的中转站(路由器),我们的MAC地址就是储存的是我们需要去的下一个中转站的地址。

认识IP地址

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

  1. IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  2. 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  3. 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255,如192.192.0.0;

IPv6是16位,128字节;

认识MAC地址

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

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

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

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

相关文章

【C++】深拷贝和浅拷贝 ③ ( 浅拷贝内存分析 )

文章目录 一、浅拷贝内存分析1、要分析的代码2、调用有参构造函数创建 Student 实例对象3、调用默认拷贝构造函数为新对象赋值4、修改拷贝对象成员变量指针指向的数据5、析构报错 一、浅拷贝内存分析 1、要分析的代码 下面的代码中 , 没有定义拷贝构造函数 , 因此 C 编译器会自…

无涯教程-JavaScript - CSC函数

描述 CSC函数返回以弧度指定的Angular的余割值。 语法 CSC (number)争论 Argument描述Required/OptionalNumberThe angle (in radians) that you want to calculate the cosecant of.Required Notes CSC(n)等于1/SIN(n) 如果Angular为度,则将其乘以PI()/180或使用RADIANS…

每日一题 198. 打家劫舍

难度:中等 这是昨天的每日一题忘记做了,没想到正好是今天的题目的简化版,详细思路可以看http://t.csdn.cn/Smr0t 代码: class Solution:def rob(self, nums: List[int]) -> int:if len(nums) 1:return nums[0]a, b nums[0…

怒刷LeetCode的第3天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:动态规划 第二题 题目来源 题目内容 解决方法 方法一:模拟 方法二:数学规律 方法三:分组 第三题 题目来源 题目内容 解决方法 方法一:数学方法 方法…

001-项目介绍

项目介绍 文章目录 项目介绍编写目的小小说明 项目介绍目前状态目录项目介绍第一代第二代第三代软件部署硬件篇 总结 关键字: Qt、 Qml、 分享、 记录、 目录 编写目的 这是我目前参与的一个真实项目,而且我非常幸运地能够从头到尾地参与其中。在面…

微信小程序|自定义弹窗组件

目录 引言小程序的流行和重要性自定义弹出组件作为提升用户体验和界面交互的有效方式什么是自定义弹出组件自定义弹出组件的概念弹出层组件在小程序中的作用和优势为什么需要自定义弹出组件现有的标准弹窗组件的局限性自定义弹出组件在解决这些问题上的优势最佳实践和注意事项避…

Shell脚本编写:从零到精通

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

C#-WinForm-发送邮件

登录QQ邮箱——设置——开启“POP3/SMTP服务” 登陆QQ邮箱→打开设置→开启“POP3/SMTP服务”,获取“授权码” 简单总结一下: 1、使用SmtpClient发送电子邮件是很简单的,只要正确创建了MailMessage对象和SmtpClient就可以很容易的发送出去电…

Mybatis-Plus入门(1)

单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是MybatisPlus. 官方网站如下: 简…

超级好用绘图工具(Draw.io+Github)

超级好用绘图工具(Draw.ioGithub) 方案简介 绘图工具:Draw.io 存储方式: Github 1 Draw.io 1.2 简介 ​ 是一款免费开源的在线流程图绘制软件,可以用于创建流程图、组织结构图、网络图、UML图等各种类型的图表。…

【面试题】forEach能跳出循环吗?

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 如果面试官,或者有人问你foreach怎么跳出循环,请你…

LeetCode 2596. 检查骑士巡视方案

【LetMeFly】2596.检查骑士巡视方案 力扣题目链接:https://leetcode.cn/problems/check-knight-tour-configuration/ 骑士在一张 n x n 的棋盘上巡视。在有效的巡视方案中,骑士会从棋盘的 左上角 出发,并且访问棋盘上的每个格子 恰好一次 。…

关于感恩教师的演讲稿格式及范例

关于感恩教师的演讲稿格式及范例 感恩教师的演讲稿格式应该是:开头感谢听众,正文部分根据题目内容书写,结尾部分再次感谢听众。 以下是一篇关于感恩教师的演讲稿的例子: 尊敬的老师,亲爱的同学们: 大家好…

循环结构在反汇编中特征

本文将使用IDA分析C语言中循环结构(do while&#xff0c;while&#xff0c;for)在反汇编中的特征 目录 IDA分析 do whhile 循环 IDA分析 while 循环 IDA分析 for 循环 do while while和for哪个效率高 IDA分析 do whhile 循环 测试代码 #include <stdio.h> int main…

基于SSM框架的《超市订单管理系统》Web项目开发(第二天)完成登录模块和用户退出模块

《超市订单管理系统》&#xff08;第二天&#xff09; 基于SSM框架的Web项目开发 ​ 昨天我们实现了登录功能&#xff0c;但是用的是模拟数据。今天我们要链接数据库整合SpirngMybatis&#xff0c;读取数据库中的真实数据&#xff0c;用来跟我们输入的userCode和userPassword进…

iText实战--根据绝对位置添加内容

3.1 direct content 概念简介 pdf内容的4个层级 层级1&#xff1a;在text和graphics底下&#xff0c;PdfWriter.getDirectContentUnder() 层级2&#xff1a;graphics层&#xff0c;Chunk, Images背景&#xff0c;PdfPCell的边界等 层级3&#xff1a;text层&#xff0c;Chun…

2023年商会研究报告

第一章 行业发展概况 1.1 定义和功能 商会&#xff0c;通常被称为商业协会或商业会所&#xff0c;是由具有相似的行业、商业、贸易、专业或地理背景的企业和商家所组成的组织。这些组织的核心目标是促进其会员之间的交流、合作和互助&#xff0c;进而推动相关行业或商业领域的…

Docker Swarm集群部署

Docker Swarm集群部署 任务平台 3台虚拟机&#xff0c;一台作为manager 节点&#xff0c;另两台作为work节点。 文章目录 Docker Swarm集群部署安装docker配置防火墙开放端口在 manager 节点创建 Swarm 集群创建用于swarm服务的自定义的overlay网络测试跨主机容器通信 安装do…

Python教程:@符号的用法

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 符号在 Pyth…

LLC谐振变换器软启动过程分析与问题处理

启动步骤 1.使用Burst模式升压至200V—稳定的充电5S钟&#xff0c;保证所有电容完全充满。 Burst模式过程&#xff1a;1.开启一次脉冲发送–>判断母线电压大小&#xff0c;确定下次启动脉冲的时间档位–>连续启停控制–>不断给电容充电–>进入200V稳定充电状态–…