当前位置: 首页 > news >正文

Linux网络-基础概念

1.网络发展

独立模式:在开始没有网络,每个计算机之间相互独立,处理各自的数据

网络互联:当时代不断发展,计算机之间需要进行数据交互,多台计算机连接在一起进行数据共享

局域网LAN:当计算机的数量不断增加,通过交互机和路由器连接在一起

广域网LAN:通过路由器将全球各地的计算机都连接在一起

2.协议

最原始的协议并不完善,虽然大家可能遵守一套协议,但是语言不同,也无法正常通信,各个计算机厂商的协议设定也不同,就需要全球计算机领域的领先组织来创建一套共同的标准,让大家都遵守,大家就可以互相通信了,因为使用的是同一套标准!

1.协议看做是一种约定,全球都要遵守这种约定,本质是为了减少通信成本,快速形成共识

2.协议是层状的,协议本质上也是一种软件,在设计上更好的进行模块化,解耦合,让软件维护的成本更低

输出一个结论:协议就是通信双方都认识的结构化数据类型

3.OSI七层模型

OSI七层网络模型称为开放系统互联参考模型,是逻辑上的定义和规范,了解一下即可

这只是理想状态,实际是五层协议

 4.TCP/IP五层模型

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

 为什么要有TCP/IP协议?

多台主机通过网络通信,本质上也是设备到设备,就是通信的距离变长了,距离变长就会引发新的问题,传输过程中数据丢失,如何处理数据,如何定位要传输的目标主机,当下立即要去哪里的问题,而TCP/IP协议本质就是用来解决网络长距离通信的一种方案,协议是层状的,不同的层解决不同的问题!

 操作系统可以不同,但是每个操作系统内的网络协议栈都是相同的,这也是为什么他们之间可以相互通信!

 协议其实就是通信双方都认识的结构化数据类型

双方都有同样的结构体,双方都是使用统一的代码来实现协议,所以可以识别对方发来的数据

协议是分层的,每层都有双方的协议,所以只有同层之间互相才可以认识对方的协议

5.局域网通信原理 

 这里我们以大家最常见的以太网来说明,当两台主机在同一个局域网,是可以直接通信的

5.1MAC地址

每台主机在局域网上,我们需要有位移的标识来确定主机的唯一性,就需要MAC地址

MAC地址用来识别数据链路层中相连的节点,长度为48位

MAC地址无法被修改,在网卡出厂时就已经确定,MAC地址一般情况是唯一的

局域网通信,主机对收到的报文确定是不是发给自己的,是通过目标MAC地址判断

在以太网中,任何时刻只能有一台主机向网络发送数据

如果有多台发送,会发生数据干扰,也叫数据碰撞

为了避免数据碰撞,所有发送数据的主机要进行碰撞检测和碰撞避免算法

没有交换机的情况下,一个以太网就是一个碰撞域

在一个以太网有多台主机,主机A要发给主机E数据,其他主机都可以收到主机A发送的信息,但是他们进行目标MAC地址判断,发现自己不是目标MAC地址,就进行丢弃,所以只有主机E拿到数据 

我们从协议栈来理解一下

报头:对应协议层的结构性字段

除了报头,剩下的就是有效载荷

报文=报头+有效载荷 

OS是硬件的管理者,是人发送数据,所以我们需要自顶向下进行封装,通过网卡传输数据,然后再由底向上进行解包和分用,解包就是将报头和有效载荷进行分离,分用就是将有效载荷传给上一层协议,通过上述图片我们也可以理解为什么叫协议栈

 6.IP地址

IP地址是在IP协议中用来标识网络中不同主机的地址

IP协议有两个版本,IPv4和IPv6 IPv4地址是一个4字节,32位整数

夸网段的主机数据传输,数据从一台计算机传输到另一台计算机需要经过一个或多个路由器!

我们来区分一下IP地址和MAC地址

IP地址是从哪里来到哪里去 源IP地址-目标IP地址

MAC地址是上一站从哪里来下一站到哪里 上一站MAC地址-下一站MAC地址

我们来举个例子:IP地址相当于我们的长远目标,比如我们要从起始站北京到终点站重庆

源IP就是北京,目标IP就是重庆,而到重庆需要进过石家庄,郑州,南阳等城市,这个MAC地址就是变化的,当高铁开始走时,源MAC地址就是北京,目标MAC地址就是石家庄,当到了石家庄,源MAC地址就是石家庄,目标MAC地址就是郑州

IP地址不变,MAC地址一直在变

 

当然只经过一个路由器是特例,也会经过多个路由器,道理是相同的 

 

IP网络层存在意义:我们知道局域网有很多种,提供IP网络层,让世界的网络都是IP网络,屏蔽掉最底层的网络

相关文章:

  • Nginx代理缓存静态资源
  • 爬虫技术:数据获取的利器与伦理边界
  • 【CompletableFuture】常用方法(三)
  • JetsonNano详细使用笔记(二)
  • CentOS 7 虚拟机网络配置异常 典型问题:启动了NetworkManager但是network无法启动
  • 家用旧电脑搭建小型服务器操作步骤教程:一步一步本地部署到公网访问
  • 升级OpenSSL和OpenSSH 修复漏洞
  • InputStream重复读取导致文件损坏问题解决方案
  • 【C分解多位整数输出1位数2各位空格最后无空格3倒序/读取指定字符否则退出】2022-6-29
  • Flask设计网页截屏远程电脑桌面及切换运行程序界面
  • Javaweb学习——day6(JDBC入门 CRUD)
  • 【Unity】MiniGame编辑器小游戏(三)马赛克【Mosaic】
  • EPOLL相关接口和原理
  • CppCon 2016 学习:BUILDING A MODERN C++ FORGE FOR COMPUTE AND GRAPHICS
  • 如何将数据从安卓设备传输到 iPhone | 综合指南
  • 【QT】QT项目修改QT设计师界面类类名和文件名的方法
  • 408第二季 - 组成原理 - 数据类型转换
  • 在linux上用nginx配置ssl应该怎么操作?下面是示例
  • Python实现企业微信Token自动获取到SQLite存储
  • 微服务拆分 SpringCloud
  • wordpress插入视频/全网关键词优化公司哪家好
  • 网站开发小图片/免费自助建站哪个最好
  • jquery个人网站开发/erp123登录入口
  • 北京如何做网站网页/日本预测比分
  • 政府制作网站收费/怎么做线上销售
  • 网站建设林晓东/杭州seo营销