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

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

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

相关推荐
Rick19932 小时前
spring如何解决循环依赖
java·后端·spring·循环依赖
24白菜头2 小时前
第十六届蓝桥杯C&C++大学B组
数据结构·c++·笔记·算法·职场和发展·蓝桥杯
ken22322 小时前
双硬盘、分别独立安装 linux & win 双系统。BIOS 设置问题导致无法启动: UEFI 与 Legacy
linux·运维·服务器
zhangfeng11332 小时前
租界GPU平台 趋动云虚拟服务器中新建 Conda 环境 持久化 并基于 base 环境复刻(指定安装目录`)
服务器·chrome·conda
程序员敲代码吗2 小时前
深入解析ZooKeeper在分布式系统中的角色与挑战
linux·分布式·zookeeper
Rsun045512 小时前
Spring中有哪些地方用到了反射
java·后端·spring
Azure DevOps2 小时前
Azure DevOps Server:使用团队日历
运维·microsoft·azure·devops
小年糕是糕手2 小时前
【35天从0开始备战蓝桥杯 -- Day1】
jvm·数据结构·c++·程序人生·算法·职场和发展·蓝桥杯
Gold Steps.2 小时前
Go 语言核心:函数、结构体与接口深度解析
开发语言·后端·golang