OSI七层模型

594 阅读27分钟

前言

这次分享主要是想给大家介绍一下数据在OSI模型中的变化和OSI模型中和我们相关的协议。其实内容可能大家都挺熟悉的了,所以这次分享熟悉的老师可以当复习一下,不熟悉的老师可以对OSI模型有一个大致的印象。

概述

1.1 OSI模型是什么

OSI模型即开放式系统互联模型(Open System Interconnection Model),它是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互联为网络的标准框架。

也就是说,因为有这个模型,所以一台计算机发送的信息才能被另一台计算机准确的解析出来,两台计算机才能互相交流。

1.2 OSI模型的诞生

OSI模型它是服务于计算机网络的,而计算机网络是一个非常复杂的系统。可以想像一个场景,两个连接在网络上的两台计算机需要互相传送文件。

显然,他们两之间必须要有一条链路对吧。但是只有一条链路远远不够,至少还要有以下6个功能:

  1. 发起通信的计算机必须要把数据通信的通路进行“激活”,所谓“激活”就是发送一些信令,保证要传送的计算机数据能在这条通路上正确的发送和接收。

  2. 告诉计算机如何识别接收数据的计算机。

  3. 发起通信的计算机必须查明对方的计算机是否已开机,并且网络连接正常。

  4. 发起通信的计算机中的应用程序必须弄清楚,在对方的文件管理程序已经做好接收文件和存储文件的准备工作。

  5. 若计算机的文件格式不兼容,那么至少有一台计算机能完成格式转换。

  6. 对出现的各种差错和意外事故,如数据传送错误,重复或丢失,网络中某个节点交换机出现故障等,应当有可靠的措施保证对方计算机最终能接收到正确的文件。

这六个功能总结下来就是,我发送数据之前必须要知道要发给谁,必须要保证对方能接收和处理我的数据,对于可能出现错误的情况我们两能够处理。那我们就可以看出,两台互相通信的计算机必须要能够高度作协调工作。而这些“协调”相当复杂,为了设计出这样复杂的计算机网络,在APRANET设计的时候就提出了分层的方法,就是化繁为简,各层处理各层的工作,分工合作,有点我们封装函数的那个意思。

网络出现后,各大公司意识到了网络的好处,都争相推出自己公司的体系结构,每个公司都想垄断市场,因为不同的网络体系结构,同一家公司的互联网能很快的连接成网,但是对于两个不同公司的计算机没办法交流。

全球经济发展为了让每台计算机都能信息交互,国际化标准组织ISO在1997年成立专门机构解决这个问题,并提出了OSI模型。

1.3 OSI模型、TCP/IP四层模型和五层协议

说到OSI七层模型,不得不提到的就是TCP/IP四层模型和五层协议了。这两个又是什么呢。大家可以看看这个对比图。

简单介绍一下TCP/IP四层协议和五层协议

1997年,国际标准化组织花了5年推出OSI模型后,OSI模型并没有实际的成为一个国际标准。因为当时市面上已经非常流行TCP/IP四层协议了,而且,OSI模型定制的条件过于严苛试图达到一种理想境界,当时并没有一家生产商能生产出符合他们标准的商用产品。所以OSI只获取到理论成果,并没有能市场化。所以现在我们使用最广泛,规模最大,覆盖全球的反而是TCP/IP四层协议。

而五层协议就是后来方便我们理解和学习抽象出来的一个模型。

1.4 总结

OSI七层模型和TCP/IP四层协议的关系:

OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。

OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。

OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。

五层协议:

供我们学习计算机网络的模型。

那接下来我们就通过五层协议来学习一下。

传输过程

2.1 总结

  • 数据被应用进程使用不同的协议包裹成不同的报文,比如按照HTTP协议包裹成的http请求报文,就有请求头,首部,空行和实体主体,如果是个post请求就会把数据放在实体主体里。

  • 应用层报文被传送到运输层

  • 在最简单的情况下,运输层收取到报文添加上源端口号和目的端口号等数据作为首部,这个首部就会被接收端的运输层使用。不简单的情况下就是报文太长了,需要分割成报文段,然后加上首部。运输层产生的数据就叫报文段,就是报文的段,简单又好记。

  • 运输层就向网络层传递这个报文段,网络层增加了像源IP地址和目的IP地址等网络层首部信息,生成了网络层数据包。

  • 网络层数据包接下来被传递给链路层,在数据链路层数据包添加发送端 MAC 地址和接收端 MAC 地址后被封装成数据帧。

  • 在物理层数据帧被封装成比特流,之后通过传输介质传送到对端。

  • 对端再一步步解开封装,获取到传送的数据。

2.2 应用层

2.2.1 概述

应用层位于OSI模型第七层,作用是通过应用程序之间的交互完成特定的网络应用。

好,这句话看不懂没关系,咱换个说法,就是说,两个计算机的应用层里他们的应用程序在交互信息,交互信息完成指定的网络应用,什么样的网络应用呢?比如说解析IP地址的域名系统,万维网应用,文件传输应用,电子邮件系统等。

不同的网络应用需要不同的协议来规范。例如域名系统DNS,支持万维网应用的HTTP协议,电子邮件系统采用的SMTP协议,websocket等。

2.2.2 DNS系统协议

2.2.2.1 是什么

DNS(Domain Names System),域名系统,是互联网一项服务,用来将域名转换为IP地址。为什么要转换?因为IP地址固定32位计算机能处理,但是人记不住。就有了域名,但是域名长度不固定,及其处理不了,为了同时满足机器和人的要求就有了域名系统来做转换。

IP地址: 32位二进制,能唯一标记网络上的计算机。

域名: 是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。

2.2.2.2 互联网域名结构和域名服务器结构

域名也不是随便取的,DNS系统定义了域名必须要有的结构。早期的互联网使用了非等级的名字空间,名字随便取,优点就是名字简短。但是互联网用户数剧增,为了方便管理,就采用了层次树状结构的命名方法,就像全球的邮政系统和电话系统一样。

互联网的域名结构

例如www.igetget.com,www为三级域名、igetget 为二级域名、com为顶级域名,系统为用户做了兼容,域名末尾的根域名.一般不需要输入。

这只是我们抽象出来便于大家理解的的域名体系结构,具体要实现域名系统则是使用分布在各地的域名服务器。理论上讲每一级域名都要有一个相应的域名服务器,构成和互联网域名空间对应的一个域名服务器树的结构,但是这样会导致域名服务器数量过多,使域名系统的运行效率降低(服务器多要发送的请求就多,会很浪费时间),所以在二级域名及以下域名服务器采用了分区方式来解决这个问题,就是一个域名服务器管辖不止一个域名的方式。

看一个服务器分区的例子:

我们看图b这个例子,abc这个公司有两个分区,对应的域名服务器树状结构如下

服务器分为四大类,根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器。

域名解析过程查询方式有两种:递归查询,迭代查询。

迭代查询:先在本地域名服务器查询,没有就在根域名服务器查询,跟域名服务器会告诉你应该在哪个顶级域名服务器查询,然后顶级域名服务器告诉你应该在哪个权限域名服务器查询,然后权限域名服务器就会讲查询姐股票返回给本地域名服务器

递归查询:先在本地域名服务器查询,没有就在根域名服务器查询,然后根域名服务器会去查找顶级域名服务器,顶级域名服务器又会去查找权限域名服务器。然后再依次返回到根域名服务器,最后由根域名服务器返回给本地域名服务器。

因为每个在本地域名服务器查询不到IP地址的请求都会发给根域名服务器,所以根域名服务器接收到的请求非常多,使用递归查询的方式对根域名服务器的压力特别大,所以本地域名查询根域名一般采用迭代查询的方式。

2.2.2.3 域名缓存

在域名服务器解析的时候,域名服务器会使用缓存保存域名和IP地址的映射。

计算机中DNS的记录也分成了两种缓存方式:

浏览器缓存:浏览器在获取网站域名的实际IP地址后会对其进行缓存,减少网络请求的损耗

操作系统缓存:操作系统的缓存其实是用户自己配置的hosts文件。

2.2.2.4 总结

DNS查询过程:首先搜索浏览器的DNS缓存,没有命中就在操作系统hosts文件中查找,还没命中就在本地服务器中查找,本地服务器也没有相关缓存就在根域名服务器查找,然后在相应的顶级域名服务器查找,然后在权限域名服务器中查找。本地域名服务器缓存IP地址,并返回给操作系统,操作系统缓存IP地址并返回给浏览器,然后浏览器缓存这个IP地址。

2.2.3 http协议

2.2.3.1 是什么

http协议,就是超文本传输协议,它定义了浏览器怎么向万维网服务器请求万维网文档,以及服务器怎么将文档传输给浏览器。数据以明文传送,不提供任何方式的数据加密。

万维网工作流程

每一个服务器都有一个进程不断监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求,一旦监听到链接建立请求并建立TCP链接之后,浏览器就向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应,最后TCP链接被释放。浏览器和服务器的请求相应的交互必须按照规定的格式和遵循一定的规则,这些格式和规则就是超文本传输协议。

HTTP本身是无连接协议,它使用了TCP作为传输协议,保障了数据的可靠传输。虽然http使用了TCP连接,但是通信双方在交换HTTP报文之前不需要先建立HTTP连接。只用在传输层建立TCP连接即可。

HTTP也是无状态协议,同一个客户端无论访问同一个浏览器的同一个页面几次返回的数据都是相同的,这样有利于服务器处理大量并发的HTTP请求。

2.2.3.2 http协议的格式

请求报文就是客户端发送给服务器的报文,响应报文就是服务器发送给客户端的报文,然后请求报文有请求行、首部、空行和实体主体,响应报文有状态行、首部、空行和实体主体。

2.2.3.3 请求一次耗费时间

从上图可以看出,请求一个文档至少需要耗费文档传输时间加上两倍往返时间RTT(一个RTT用于TCP连接,另一个RTT用于请求和接受文档)。

我们都知道建立一个TCP连接需要三次握手,那么,连接建立好之后再发送请求获取文档应该至少要5次交互,那这里为什么只有四次呢?

2.2.3.4 HTTP1.1

HTTP1.0的主要缺点就是每次请求都会导致2倍RTT的开销,每次都要新建立TCP连接,新建立TCP连接服务器都需要给它分配缓存和变量,会导致服务器压力巨大。

HTTP1.1使用持续连接解决这个问题。持续链接就是在服务器响应完客户端之后一段时间内仍然保持这条连接,然后下次同一客户端请求这个服务器的数据就可以直接获取到响应而不需要再建立TCP连接。

可以通过http请求报文首部的connection字段来控制。keep-alive就是保持连接,请求完不断开;close就是发送完请求文档就可以释放TCP连接了。

持续链接请求方式分为两种:

1. 非流水线方式

非流水线方式就是客户端在接收到上一个请求之后才能发送下一个请求

2. 流水线方式

流水线方式就是客户端不用等待相应直接进行请求

2.2.3.5 HTTPS

在上述介绍HTTP中,了解到HTTP传递信息是以明文的形式发送内容,这并不安全。而HTTPS出现正是为了解决HTTP不安全的特性

为了保证这些隐私数据能加密传输,让HTTP运行在安全的SSL/TLS协议上,即 HTTPS = HTTP + SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

SSL 协议位于TCP/IP 协议与各种应用层协议之间,浏览器和服务器在使用 SSL 建立连接时需要选择一组恰当的加密算法来实现安全通信,为数据通讯提供安全支持。

混合加密数据流程

  1. 首先客户端通过URL访问服务器建立SSL连接

  2. 服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端

  3. 客户端和服务器开始协商SSL连接的安全等级,也就是信息加密的等级

  4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站

  5. 服务器利用自己的私钥解密出会话密钥,服务器利用会话密钥加密与客户端之间的通信

HTTPS和HTTP的区别

  1. HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全

  2. HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443

  3. HTTPS 由于需要设计加密以及多次握手,性能方面不如 HTTP

  4. HTTPS需要SSL,SSL 证书需要钱,功能越强大的证书费用越高

2.2.4 webSocket

2.2.4.1 是什么

WebSocket 是基于TCP/IP协议,而又独立于HTTP协议的新网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,在Websocket中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。

2.2.4.2 优势

现在,很多网站为了实现推送技术,所用的技术都是Ajax轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。

比如我们公司使用轮询的场景,我知道的就有直播的播放时间,应该是每两分钟轮询一次,保证直播时间的准确,最后两分钟每5秒钟轮询一次。还有就是直播视频上传的转码进度,也是通过轮训的方式不断更新进度的。

这种传统的模式带来很明显的缺点,就是浏览器需要不断的向服务器发出请求。然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。HTML5定义的Websocket协议优势如下

小Header:互相沟通的Header非常小,只有2Bytes左右。

服务器不再被动接收到浏览器的请求之后才返回数据,而是在有新数据时就主动推送给浏览器。

Websocket协议能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

2.2.4.3 使用场景

弹幕

终端用户A在自己的手机端发送了一条弹幕信息,但是您也需要在客户A的手机端上将其他N个客户端发送的弹幕信息一并展示。需要通过Websocket协议将其他客户端发送的弹幕信息从服务端全部推送至客户A的手机端,从而使客户A可以同时看到自己发送的弹幕和其他用户发送的弹幕。

在线直播课

老师进行一对多的在线授课,在客户端内编写的笔记、大纲等信息,实时推送至多个学生的客户端,需要通过Websocket协议来完成。

股票等金融产品实时报价股

股票黄金等价格变化迅速,变化后,可以通过Websocket协议将变化后的价格实时推送至世界各地的客户端,方便交易员迅速做出交易判断。

视频会议和聊天

Websocket使两端或多端接入会议的用户实时传递信息。

基于位置的应用

一直记录位置信息,使用webScoket实现位置信息获取。

2.3 运输层

2.3.1 概述

运输层的作用是提供应用进程之间的逻辑通信,并处理数据包错误,数据包次序,以及其他一些关键的传输问题,而且通过应用进程的端口精准的向不同的应用进程传输数据。

传输层向高层屏蔽了下层数据通信的细节,意思就是说,对于应用进程通信来说,就相当于是直接在传输层建立了一个端到端的逻辑上的通信信道,而不用去管网络层,网络链路层,物理层经历了什么。

运输层的两个主要的协议就是TCP和UDP,如果使用TCP,传输数据之前需要建立连接,那么对于应用层来说,两个运输层之间的通信信道就是一条全双工的可靠信道,如果使用的是UDP,传输数据之前不需要先建立连接,那么相当于建立了一条不可靠信道。

2.3.2 UDP

2.3.2.1 概述

用户数据报协议UDP在传输数据之前不需要先建立连接, 不提供可靠交互。功能上,它只是在IP数据报的服务上增加了一点复用/分用和差错检测的功能。

2.3.2.2 特点

1. 无连接,发送数据之前不需要建立连接,减少了开销和发送数据的时延。

2. 尽最大努力交付,及不可靠,但是主机不需要维护复杂的连接状态表。

3. 面向报文,发送端的UDP对应用程序交下来的报文,在添加首部之后就交付到网络层,也就是说,UDP依次交付一个完整的报文,不会对进行拆分合并操作。可能会出现报文太长和太短的情况,从而影响网络层的效率。

4. UDP没有拥塞控制,因此网络出现的用色不会使远主机的发送速率降低。对某些实时应用是很重要的。比如说实时视频会议,就需要主机以恒定的速率发送数据,并且允许在发生网络拥塞时丢失一些数据,但是不允许数据有太大的时延。

5. 支持一对一,一对多,多对一和多对多的交互通信。

6. UDP首部开销小,只有8个字符,TCP有20个。

2.3.2.3 UDP首部格式

源端口:源端口号,在需要对方回信的时候用,不需要的时候可以全部为0。

目的端口: 目的端口号,在终点交付报文的时候必须要使用。

长度: UDP用户数据报的长度,最小值及只有首部(8个字符)。

检验和: 检验UDP用户数据报在传输过程中是否有错,有错就直接丢弃。

伪首部: 只是在计算检验和的时候临时加上的首部,并不是真正的首部,既不会向上传递给应用层也不会向下传递给网络层。

2.3.3 TCP

2.3.3.1 概述

TCP(Transmission Control Protocol),传输控制协议,是一种可靠、面向字节流的通信协议,面向字节流就是把上面应用层交下来的数据看成无结构的字节流来按顺序发送。

可以想象成流水形式的,发送方TCP会将数据放入“蓄水池”(缓存区),等到可以发送的时候就发送,不能发送就等着,TCP会根据当前网络的拥塞状态来确定每个报文段的大小。TCP虽然可靠,但是它的报文首部有20个字节,额外开销大。

2.3.3.2 首部格式

源端口和目的端口用来存源端口号和目的端口号,这里的端口号指的是我们的应用进程的端口号。

序号:刚刚说到TCP是面向字节流的,这个序号就是这个报文段是整个报文的第几个字节的意思。

确认号:就是接收方希望收到的下一个发送方传来的、最开始的那个字节的序号。

数据偏移:和序号一起,可以让接收方知道怎么把报文段拼接成报文。

保留: 就是还没用的,以后用的。

URG:紧急,说明这段数据很重要,应该优先发送,不需要排队。

ACK:确认号,确认这个报文段有效。

RST:复位,说明整个TCP连接有重大错误,需要断开重连。

SYN:为1的时候说明是用来请求建立连接的。

FIN:为1的时候是用来断开链接的。

2.3.3.3 特点

  1. 面向连接的运输层协议,应用程序在使用TCP协议之前,必须要先建立TCP连接。在传送数据完毕之后必须要释放TCP连接。

  2. 每一条TCP连接只能有两个端点,必须是点对点。

  3. TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复并按序到达。

  4. TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。

  5. TCP面向字节流,它会把上面应用层交下来的数据看成无结构的字节流来发送。

2.3.3.4 TCP可靠传输的工作原理

在发送方发送了一个数据之后,接受方确认没有错就会发送一个确认请求,有错就简单丢弃不做处理。那发送方超过一定时间没有收到这个确认请求就会重新再发送一次请求。

如果只是因为网络原因,发送方没有在一定时间内收到确认请求,发送完第二次数据后接收方又收到了,那么接收方就会丢弃重复的数据,并发送一个迟到确认。

当然TCP可靠传输不止这些,还有很多其他功能,比如滑动窗口,流量控制,连接管理等。

2.3.3.5 TCP三次握手

  1. 第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 seq(c),此时客户端处于 (同步已发送)SYN_SENT 状态。

  2. 第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,为了确认客户端的 SYN,将客户端的 seq+1作为ack的值,此时服务器处于 同步已接收(SYN_RCVD) 的状态。

  3. 第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,值为服务器的ISN+1。此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。

2.3.3.6 TCP四次挥手

  1. 第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态,停止发送数据,等待服务端的确认

  2. 第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT状态

  3. 第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态

  4. 第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT(时间等待计时器)状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态

MSL:最长报文段寿命,RFC 793建议设置为2分钟,但是对于现在网络可能太长了一些。

为什么要挥手四次?

为什么要等待两倍MSL?

2.4 网络层

2.4.1 概述

两台计算机之间传送数据时其通信链路往往不止一条,所传输的信息甚至可能经过很多通信子网。网络层的主要任务就是选择合适的网间路由和交换节点,确保数据按时成功传送。在发送数据时,网络层把传输层产生的报文或用户数据报封装成分组和包,向下传输到数据链路层。在网络层使用的协议是无连接的网际协议(Internet Protocol)和许多路由协议,因此我们通常把该层简单地称为 IP 层。

网络层不保证可靠,只提供简单灵活的,无连接的,尽最大努力交付的的数据报服务。

2.4.2 IP数据包格式

版本:IP协议版本,IPv4,IPv6。

首部长度:IP首部一定要有的字段占了20个字节,可选字段还有一部分,需要有一个字段标明首部有多少字节,最多可以有60个字节。

总长度:首部长度+数据长度。15个字节最长可以标示65535个字节。

标识,标志和片位移: 在数据链路层分片时会用到。

2.5 数据链路层

2.5.1 概述

数据链路层的协议有很多,但是它主要的功能就是将网络层给的IP数据报封装成帧,基本要解决的问题就是,封装成帧,透明传输,差错检测。

2.5.2 封装成帧

就是在IP数据报首尾各加上一段数据。接收端的数据链路层在接收到物理层上交的比特流之后就能够通过首尾的标记,从收到比特流中识别帧的开始和结束。

数据帧有长度限制,常用的以太网的数据帧就限制了1500个字节,但是我们的数据包最长可以达到65535个字节,超出长度的数据包就会被分割成片,然后再加上帧头帧尾的标记。

每一帧的数据可以分成:报头head和数据data两部分:

head 标明数据发送者、接受者、数据类型,如 MAC地址

data 存储了计算机之间交互的数据

2.5.3 透明传输

透明传输主要是保证数据链路层能够正确的识别帧头帧尾,也就是帧开始符和帧结束符,但是如果出现数据中也有帧开始 或 结束符的时候就需要使用一个转义字符来标示这是数据。

2.5.4 差错检验

现实中的通信链路都不会是理想完全不出错的,在传输过程中可能会出现0变成1,1变成0的情况。各种减少错误的技术都没办法使错误完全减为0,所以采取差错检验措施是非常必要的,目前数据链路层广泛采用的是循环冗余检验。出现差错数据链路层会直接丢掉这个帧,避免占用网络资源

2.6 物理层

2.6.1 概述:

物理层将数据链路层传下来的“帧”转换为比特流,需要考虑的是怎样在各种传媒介质上无差别的传输比特流,主要任务就是确认与传输媒介相关的一些特性(机械特性,电气特性,功能特性,过程特性),然后确认需要在当前媒介上传输什么样的信号(模拟信号,数字信号)等等。最终需要让物理层的上层也就是数据链路层感受不到这些差别。

传输媒介主要有:

双绞线:

同轴电缆

光纤

还有各种波段的无线信号。

物理层的内容主要与硬件有关,不过多介绍。