OSI七层模型

作为一个通信标准,规定了机器之间如何进行通信。

正如传统的通信方式 写信 一样,通信分为几个部分组成:发言者、接收者、信、信封、邮局。缺一不可。
而要在互联网进行通信,就必须遵循这个标准(流程)。

网络的先驱者们,将互联网的通信模型分为了 7 层,每一层都有自己的作用;
要注意:OSI是理论模型,现在实际使用的是 TCP/IP 模型。且有一种说法是,把1-4层都称为“网络层”,因为它们负责把应用层的程序数据带到另一个机器。

TCP/IP模型相比OSI模型,少了表示层与会话层,把物理层跟数据链路层合并成了网络接口层。所以只有四层。

OSI模型的两个原则:

1、每一层都是相互独立的;
即,每一层的信息都不能为其他层所使用。这是为了方便日后通信方式的变革。
举个栗子,ip地址为网络层所使用,假如,其他层也能使用的话,那么当我们的网络协议IPv4 进化为
IPv6时,就不仅仅要修改网络层了,还要修改相关层,这样会变得很麻烦;

2、每一层只能与它的相邻层通信。
也就保证了每一层都能发挥它的作用。跟分层理论互证。
当我们使用电脑与他人通信,数据便从上到下依次传输,到了他人的主机,再从下到上传输。
ps:正如上面所说的实际模型并非7层,我们实际使用时数据只需要经过 4 层 (TCP/IP模型)

物理层

书中定义:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。

作用:确保原始的数据可在各种物理媒体上传输

物理层,说白了,就是进行各种规定,并进行链路的创建、维持、拆除。实现将数据 从数据链路层取得 or 传给数据网络层,and 使得数据能在机器之间进行传输 。

主要任务

1、确定与传输媒体的接口的一些特性,即 机械特性、电气特性、功能特性、过程特性

机械特性:接口形状、大小、引线数量等,通俗讲也就是网线的水晶头的设计等一些规定
电气特性:规定电压范围(-5V~+5V)等在网线中传输时所用的电压范围
功能特性:例规定-5V代表0 +5V代表1 用电压的大小来表示 0 和 1
过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤

2、链路的管理

通信的目的是传送消息,而数据就是消息的实体,所谓的信号就是数据的电气、电磁表现。

所以在物理层传输数据的本质就是传送电信号、电磁波等。

例如,使用网线上网时,媒介就是网线,信息的载体就是电信号 or 光信号;
使用WiFi 上网时,媒介就是空气,信息载体就是电磁波。
ps:电磁波属于无线电波,其在空气中传播速度略小于光速。

电信号中根据代表消息的参数的取值方式不同,分为以下两大类:

模拟信号:代表消息的参数的取值是连续
数字信号:代表消息的参数的取值是离散

码元:在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。

基带信号(或基本频带信号):来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。为了解决这一问题,就必须对基带信号进行调制

调制分为两大类:

1、仅仅对基带信号的波形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。这类调制称为基带调制
这种基带调制是把数字信号转换为另一种形式的数字信号,大家更愿意把这个过程称为编码。

常用编码方式
不归零制 :正点平代表1,负电平代表0
归零制 :正脉冲代表1,负脉冲代表0
曼彻斯特编码 :位周期中心的向上跳变代表0,位周期中心的向下跳变代表1。也可以反过来定义。
差分曼彻斯特编码 :在每一位中心处始终都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1。

2、另一类调制则需要使用载波(carrier)进行调制,把基带信号的频率范围搬移到较高的频段,转换为模拟信号,这样就能够更好地在模拟信道中传输。经过载波调制后的信号称为带通信号(即仅在一段频率范围内能够通过信道),而使用载波的调制称为带通调制

常见的带通调制方式:

调幅(AM) 即载波的振幅随基带数字信号而变化。
调频(FM) 即载波的频率随基带数字信号而变化。例如,0或1分别对应于频率f1或f2。
调相(PM)即载波的初始相位随基带数字信号而变化。例如,0或1分别对应于相位0度或180度。

为了达到更高的信息传输速率,技术上采用更为复杂的多元制的振幅相位混合调制方法,
如正交振幅调制QAM(Quadrature Amplitude Modulation)

信道:传输信号的通道,表示向一个方向传送信息的媒体。
平常说的通信线路往往包含一条发送信息的信道和一条接受信息的信道。譬如最常见的双绞线。
注意,而同轴电缆只有一条数据线。

由此可见,根据信道不同,通信方式分为:

(1)单工通信:单向通信,只能有一个方向的通信;
(2)半双工通信:能双向通信,但是不能同时通信。一方在发送数据,另一方必须等待对方发完,自己才能发。如对讲机。
(3)全双工通信:能同时且双向通信,例如,电话。

为了提高信道传输数据的效率,有多种信道复用技术

频分复用 fdm:即,在同一时间,将频带拆分给多个用户使用;
时分复用 tdm:把时间分成周期性的 TDM(时分复用)帧,每一帧再分割成若干时隙。所有用户在时
分用帧中占有固定序号的时隙,即,在不同时间占有相同相同的频带宽度。
统计时分复用 stdm:使用一种叫 集中器(智能复用器)的机器,动态地分配时隙,即,根据用户实
际要发送的数据量来分配时隙。
波分复用 wdm :也就是光的频分复用。因为光的频率太高,所以用波长代替。
码分复用 cdm:码分多址。各用户可以同时使用相同的频带进行通信,使用码型进行区别。

当然,不管是哪种信道,都有一个信道极限容量,也就是信道的最高传输速率。

数字信号在信道中传播时,一定会有外界干扰,造成不同程度的失真。如果接收方能识别出来波形,那就对通信没有影响;但如果码元的传输速率过高,或信号传输的距离越远,或噪声干扰越大,或媒体传输质量越差,在接收端的波形失真就越严重。

为什么码元的传输速率越高波形失真越严重呢?
1924年,奈奎斯特提出奈氏准则:在假定理想的条件下,为了避免码间串扰,码元的传输速率有一个上限值:传输速率超过此上限,就会出现码间串扰问题,使接收端对码元的判决(即识别)称为不可能。

but,若信道的频带越宽,也就是能够通过的信号高频分量越多,那么就可以用更高的速率传送码元而不出现码间串扰。

由此,香农(Shannon)提出并严格证明了“在被高斯白噪声干扰的信道中,计算
最大信息传送速率C的公式”: C = W log2 (1+S/N) bit/s
W:信道的宽带 S:信道内所传信号的平均功率 N:信道内部的高斯噪声功率

【噪声的影响是相对的,如果信号相对较强,那么噪声的影响就相对较小。因此,信噪比就很重要。
信噪比就是信号的平均功率和噪声的平均功率之比,常记为S/N,并且用分贝dB作为度量单位:
信噪比 (dB) = 10 log10(S/N) (dB)

香农公式表明:信道的带宽(W)或信道中的信噪比越大(S/N),则信息的极限传输速率就越高。

香农公式的意义在于:只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。

但是,实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。

说了这么多信道的技术、通信方式、极限容量,那么,信道到底有哪些呢?
信道包括了有线信道、无线信道。
广义的有线信道还包括了相关的发送器、接收器等。

我们日常接触到的有线信道

同轴电缆 → 双绞线 → 光纤 (从古至今~)

同轴电缆:较早使用的传输媒介。


ps:数据线也称内层导体。
从它的结构可以看出,这种信道的工作方式是单工通信。

我们的电信号就是在数据线中传输的。

电信号是怎么来的呢?
外层的网状导体提供一个 0 v的参考电信号,与内层导体来形成一个电位差,以此来获得电信号。

另,同轴电缆还有科学命名:10B5、10B2(两种类型

10MB5

10 代表传输速率为 10Mbps(也就是10兆比特每秒,也就是 100万比特每秒;
B 代表Baseband 基带信号,也就是指发送端发出的没有经过调制的原始电信号 ;
2 代表最大传输距离 200m。(也就是最大传输距离/100的值

10MB2与机器的连接方式是使用吸血鬼接口
(顾名思义,要接入接口前,先开线缆上开口子,然后让接口的金属引导针直接与内部的数据线相连,以此来获得电信号)

后来出现了10MB2,比上者细很多,与上者还有最大传输距离以及使用接口的区别。
10MB2要和机器连接,就需要BNC 三件套:

BNC线缆连接器: 焊接或拧接在线缆的端部
BNC T型头: 连接机器的网卡和网络中的电缆
BNC 终端器: 防止信号到达线缆断口后反射回来产生干扰

再后来,就出现了现在使用最多的
双绞线


如图,双绞线内部有 8 根线,两两缠绕。同样的,每两根线中的其中一个是为了形成电位差。因此,双绞线中的四对,一对用于发送数据,一对用于接收数据,这样就实现了双工通信。而另外的两对,是为了以后扩展使用的。

之所以要两两缠绕,是因为这样能减少外界的电磁对信号的干扰。

科学命名,双绞线亦有 10BT、100BT、1000BT。
即传输速率分别为10Mbps、100Mbps、1000Mbps的双绞线。
ps:双绞线的最大传输距离理论上是100米。T是twised的缩写,代表双绞线。

当然了,要使用双绞线,同样需要接口——RJ45接口。

这种接口分公头、母头,公头必须跟母头连接。多机器时,母头往往位于集线器 、交换机上。

并且,双绞线中使用的四根线是规定好的,就是编号为1、2、3、6的线。

连接两台机器时,要使得一台的发送线与另一台的接受线相连。
但随着技术的进步,其实现在机器上的RJ45 的公头和母头在需要的时候会自行交换用于发送跟接收的线的。

光纤
由塑料或石英制成的纤维,维护成本比双绞线(铜)低得多。

光纤传输的不是电信号,而是光信号,原理是利用光的全反射
光在光纤的耗损比电在电线中的耗损低得多。

因此,要使用光纤通信,除了光纤,还需要光发射机(中的光调制器把电信号转换成光信号),以及光接收机(中的光电二极管)把光信号转换成电信号。

光纤的科学命名 1000BF :F代表fiber 纤维。

光纤有两种:
(1)单模光纤:传输波长单一的光,使用激光。如红光、绿光。有效传输距离大概是60km
(2)多模光纤:传输白光,包含各种波长。因为每种波长的光对应的反射程度不一样,所以每种波长的光到达的时间不同,因此接收端收到的并不是完美的白光。其有效传输距离远低于单模光纤。大概是2km

虽然光纤的传输距离很长,而且还能对电磁干扰免疫,但是现在小家庭里使用的网线大部分还是双绞线,因为要使用光纤的话,还需要光发射器、光接收器,光卡口也比普通双绞线的卡口贵了十倍多,等长光纤也比等长双绞线贵一倍左右,而且光纤过于脆弱,在直角墙角的布线很容易造成损坏。

另外,当我们要让 >2 多台主机通信时,除了要线缆,还需要借助 集线器(物理层)or 交换机(数据链路层)这些机器,按照某种拓扑来互连。

集线器:用于连接多台机器。如电脑、打印机等

当连在集线器上的机器要发送消息给其他机器,就会先发给集线器 ,然后集线器再把消息广播给全部的机器。显而易见 ,这种方式是不安全的 。

因此,我们有了交换机。它在集线器的基础上,多了个 CAM表——记录交换机的端口号与机器的MAC的对应关系。

工作过程:
当有机器发送数据帧给其他机器时,交换机会先查看帧中的源MAC、目的MAC,
然后再去看一下 CAM 里面有没有这个源MAC,如果没有,就把它跟这个机器连接的端口号的对应关系记录到 CAM表中,如果已有,则只需更新这个对应关系的 TTL(Time To Live,即这个记录的剩余生存时间);
then,再看CAM表中有没有记录目的MAC对应的端口 ,如果没有,就进行广播;否则就直接发送给目的端口的主机。

常见的网络拓扑有以下几种:
(1)总线拓扑

所有机器连接到一根总线,常使用同轴电缆。

在总线拓扑中,同一时间只能有一台机器发送消息,所以很容易发生冲突。
为了减少这种冲突,我们需要用到 CSMA/CD 协议(带有冲突检测的载波监听多路存取

原理非常简单:
线路中的每台机器都要持续监听线路,
当线路空闲时 ,机器才可以发送消息,
发送消息过程中,如果其他机器也发送了消息,这时候两个机器都要停止发送,
各自等待一段随机时间 ,并且监听到线路空闲 ,才可以再次尝试发送 。
再次发送时如果又有冲突,又要停止,再次等待随机时间。

到这里我们就会发现 ,这种结构当线路中的机器越来越多时 ,每台机器发送消息的机会也就越小 ,且数据传输的线路也越长。

环形拓扑

如图,依旧是用一根总线,不过这根线本身成环。

与总线型不同的是,环中所有机器共享一个令牌,只有持有令牌的机器才可以发送消息 。

这样就可以避免了冲突,不再需要CSMA/CD协议 。

但是,与总线拓扑一样, 环中的机器越多,发送消息的机会越小 ,传输时间也越长。

星型拓扑(常用


所有的机器都连接到核心上 交换机 or 集线器上。
原理在上方已经概述。
说白了就是多了一个中介 。

要注意,交换机一般是不需要MAC的 ,除非是“可管理的“,即有需要连接到交换机进行 CAM的管理等的功能的。

使用交换机 ,机器发送消息不再受到限制,也不用再每次都进行广播 ,不安全又耗时,发送消息时只要CAM中有记录,再也不用绕一大圈啦。

所以理论上,只要交换机数量足够,有能力处理所有机器 ,就可以连接无限的机器,亦可以构成无限大的网络。

物理层(网络协议相关相关推荐

  1. 面试必考的网络协议相关题目应该如何回答

    转载自  面试必考的网络协议相关题目应该如何回答 最近,正处于校招季.很多小伙伴已经拿到了如愿以偿的Offer,有些小伙伴还在努力着. 平常,也会有一些粉丝会在公众号留言,或者在微信上问我一些面试题. ...

  2. Web网络协议相关经典面试题

    输入完网址按下回车, 刚看到网页的过程中发生了什么 域名解析 发起TCP的3次握手 建立TCP连接后发起http请求 服务器端响应http请求,浏览器得到html代码 浏览器解析html代码,并请求h ...

  3. 华为18级工程师历时五年总结出趣谈网络协议(大牛精讲)

    网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的.通信是人与人之间通过某种媒体进行的信息交流与传递.网络通信是通过网络将各个孤立的设备进行连接,通过信息交 ...

  4. 【网络协议】专题总结以及网络协议高频面试题汇总(8篇)

    这是一份超详细的HTTP协议攻略,内容大纲如下: 内容如下(点击即可跳转): 一篇文章带你详解 HTTP 协议(上) 一篇文章带你详解 HTTP 协议之报文首部及字段详解(中) 一篇文章带你详解 HT ...

  5. java基础巩固-宇宙第一AiYWM:为了维持生计,手写RPC~Version07(RPC原理、序列化框架们、网络协议框架们 、RPC 能帮助我们做什么呢、RPC异常排查:ctrl+F搜超时)整起

    上次Version06说到了咱们手写迷你版RPC的大体流程, 对咱们的迷你版RPC的大体流程再做几点补充: 为什么要封装网络协议,别人说封装好咱们就要封装?Java有这个特性那咱就要用?好像是这样.看 ...

  6. 网络协议那些事儿,每一个程序员的必备知识,这次终于理顺了!

    网络协议是每一个程序员的必备知识,不管是前端还是后端. 想要成为编程方面的专家,除了操作系统.计算机原理.数据结构和算法.设计模式和架构.数据库等知识外,网络协议的相关知识也是不可或缺的.同时面试中网 ...

  7. 计算机网络 | IP协议相关技术与网络总结 :DNS、ICMP、DHCP、NAT/NAPT、通信流程

    IP协议相关技术与网络总结 DNS DNS与域名 域名服务器 域名的解析流程 ICMP ping NAT/NAPT NAT NAPT NAT的缺陷 代理服务 DHCP 通信流程 浏览器中输入url后, ...

  8. 网络协议 3 - 从物理层到 MAC 层

        在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了.     今天,我们来认识下 物理层 和 MAC 层.     日常生活中,身为 ...

  9. 网络协议 3 - 物理层 和 MAC 层

    在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了.     今天,我们来认识下 物理层 和 MAC 层.     日常生活中,身为 90 后 ...

最新文章

  1. 智能开发框架 JEECG 作者张代浩专访
  2. Python3 列表List
  3. mysql处理含中文的SQL文件_mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
  4. 卸料装置弹性零件的计算方法_机械零件加工变形的原因及其改进探究
  5. java立方表示方法
  6. 12306订票候补是个坑_还在加钱抢票?12306已屏蔽多个抢票软件渠道!
  7. 工作407-启动vue项目出现Module build failed (from ./node_modules/sass-loader/dist/cjs.js): ValidationError: I
  8. 乐视网回击贾跃亭:债务处理没有进展,先拿出57亿再说
  9. yum 更新内核报错 “Error: initscripts conflicts with centos-release-7-0.1406.el7.centos.2.3.x86_64的解决办法
  10. php imagemagick安装,在CentOS上为PHP安装Imagick和ImageMagick
  11. SQL Server 获取日期是星期周几(默认从周日开始到周六 1-7)
  12. 反恐精英起源服务器文件在哪,反恐精英起源地图
  13. 安装ubuntu系统中磁盘分区
  14. 工业相机镜头的视场角、焦距、光圈和景深的关系
  15. Java读取Excel表格公式对应的值
  16. Ubuntu系统显示实时网速信息
  17. 小哈智能机器人的功能_小哈智能教育机器人H2产品外观参数说明
  18. TDengine:无模式写入行协议的四种方式
  19. 阿里开发者招聘节 | 面试题14:如何实现两金额数据相加(最多小数点两位)
  20. Xmanager安装与使用攻略

热门文章

  1. 使用getter方法和setter方法
  2. WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置...
  3. Twitter技术主管回怼马斯克:不懂技术乱评价!马斯克:He’s fired
  4. linux 替换多行内容,整理sed实战修改多行配置技巧
  5. 联想拯救者Y7000如何重装系统
  6. jeet air缺点_Jeet框架; 什么是新的?
  7. Python软件编程等级考试三级——20220319
  8. 2012-Linux-18(使U-BOOT能正确引导LINUX for 1_20 error,but...)-1
  9. springboot+rocketmq(6):实现消息过滤
  10. 机器学习面试必考面试题汇总—附解析