【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,向上层传输

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

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

相关推荐
云浪26 分钟前
Go 堆实战:从完全二叉树到 Top-K 与任务调度
后端·go
在角落发呆8 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
yi0118 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
_upupup9 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
百度一下吧9 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学9 小时前
Docker镜像导入、容器启动
linux·运维·docker
木子n19 小时前
车载以太网与SOME/IP服务化通信实战-01.从字节到服务:SOME/IP报文解析与四通道开销账
网络·网络协议·tcp/ip·车载以太网·some/ip
Jason_zhao_MR9 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
回眸&啤酒鸭10 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j