【Linux】网络基础(一)

文章目录

网络发展

起初计算机是用在军事上的
独立模式: 计算机之间相互独立

网络互联:多台计算机连接在一起实现网络互联

局域网LAN:计算机数量越来越多了,通过交换机和路由器连接在一起


广域网WAN:将远隔千里之外的的计算机连接在一起

所谓局域网广域网是相对概念,我们家庭路由器就可以看作局域网,把家家户户连接的社区就是广域网。社区看作局域网,把社区连接的就是广域网,中国网络看作局域网,连接世界就是广域网

认识协议

协议是一种约定

计算机之间通过光信号电信号交流,通过频率强弱来代表0和1,要想传递不同信息,就要约定好数据格式,比如000代表什么信息

要想多台计算机之间相互通信,就要约定共同的标准,这就是网络协议

🚩网络协议

🚩协议分层

打电话的例子,语言层汉语有协议,通信设备层也有协议


英语之间交流,我们只需在语言层变更,不必改电话协议

改成无线电协议,不必改汉语协议。

所以,分层最大的好处是封装

这个例子我们只有两层,实际上的网络协议层数更多,更复杂

OSI七层协议

该协议将网络从逻辑上分为7层,概念清楚,理论完整,
应用层

表示层

会话层
传输层
网络层
数据链路层

物理层

🚩TCP/IP五层(四层)协议

我们学习时,会将上三层合称应用层,
TCP/IP五层协议,又因为物理层不重点学习,也叫做,TCP/IP四层协议,

为什么是TCP/IP协议?,因为他俩分别代表传输层,网络层,我们重点学习传输层网络层

每层都要有自己的协议

应用层:处理发来的数据(https http ftp smtp)
tcp协议:长距离传输丢失数据问题
ip协议:如何定位主机
数据链路层:保证数据准确到达下一个设备

🚩网络传输基本流程

网络协议栈与OS关系



网络通信的本质就是贯穿协议栈的过程

🚩数据包的封装和解包

用户层拿到了有效载荷,会添加报头再传给传输层,传输层会再添加报头传给网络层,网络层再添加报头传给数据链路层,通过物理层将数据传到另一台主机后,数据链路层会解包属于自己的报头,向上传输,网络层解包自己的报头,传输层解包自己的报头,应用层解包自己的报头,最后拿到数据

扩展

  • 每一层协议都要提供一种能力,分离报头和有效载荷的能力
  • 每一层协议,都要在报头提供,决定将有效载荷提供上一层协议的能力

MAC地址

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

MAC48位,6字节,用十六进制加:表示, 08:00:27:03:fb:19

MAC在网卡出厂就设置了,MAC地址通常唯一

局域网,多台主机共同向其中发数据,主机H1发送数据会被其他所有主机接收,数据内容包含M1发出M10接收(假如),H2主机接收后发现自己是M2,不是M10,直接丢弃,就不再向上层传输,主机H10接收发现自己就是M10,向上层传输

其中,同一时间,只能有一台主机向局域网发送数据,所以主机发送数据前,要执行避免碰撞的算法

交换机:核心工作:划分碰撞域,当左侧主机交换数据时,数据不会传到右侧,当右侧发生碰撞时,碰撞也不会干扰到左侧

相关推荐
zb200641201 天前
SpringBoot详解
java·spring boot·后端
guygg881 天前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
Hello_Embed1 天前
嵌入式上位机开发入门(二十六):将 MQTT 测试程序加入 APP 任务
网络·笔记·网络协议·tcp/ip·嵌入式
武藤一雄1 天前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章52-交点查找
图像处理·人工智能·opencv·算法·计算机视觉
2023自学中1 天前
i.MX6ULL 板子的完整启动流程图(从上电 → 用户空间)
linux·嵌入式
闫利朋1 天前
Ubuntu 24.04 桌面安装向日葵完整指南
linux·运维·ubuntu
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】第7题:HashMap的get流程是什么
java·后端·面试·哈希算法·散列表·hash-index·hash
heimeiyingwang1 天前
【架构实战】混合云架构设计方案
架构
yu85939581 天前
MATLAB连续线性化模型预测控制(SL-MPC)
算法·机器学习·matlab