目录
1 为什么要分层
1.1 层次划分的必要性
1.2 层次划分的方法
1.2 层次划分的优点
2 七层和四层的定义
2.1 七层的介绍
2.1.1 OSI七层参考模型
2.1.2 OSI七层工作原理
2.1.3 PDU
2.2 四层的介绍
2.2.1 TCP/IP 参考模型
2.2.2 TCP/IP协议族的组成
2.2.3 数据封装和解封过程
2.2.4 设备与层的对应关系及各层间通信
2.3 OSI与TCP/IP的区别
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 TCP/IP协议族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网(Internet)”的基础,该广域网(WAN)已包含超过100万台遍布世界各地的计算机。计算机网络是由许多硬件、软件和协议交织起来的复杂系统。由于网络设计十分复杂,如何设计、组织和实现计算机网络是一个挑战,必须要采用科学有效的方法。硬件没有统一标准,软件也没有统一标准;全球互联网,网络之间需要通信;不同厂商之间的设备无法通信
网络的每层应当具有相对独立的功能(便于排错)这个功能用不了 必然是你这层处理问题
梳理功能之间的关系,使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构, 环环相扣(紧密联系)
为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
每一层只为相邻的上一层提供服务
各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题
灵活性好,各层内部的操作不会影响其他层
结构上可分割开,各层之间都可以采用最合适的技术来实现
易于实现和维护,因为整个系统已被分解成相对独立的子系统
能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明
1、七层模型
又称OSI(Open System Interconnection)-----开放式系统互联参考模型(ISO)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。
2.、TCP/IP四层模型
TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层、传输层(主机到主机)、和应用层。
OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。
OSI七层参考模型的各个层次的划分遵循下列原则:
1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通信。
层次模型 | 功能 | 数据单元 | 主要设备 |
应用层 | 网络服务与最终用户的一个接口 | message | 网卡 |
表示层 | 数据的表示、安全、压缩、格式化、加密 | message | 交换机 |
会话层 | 建立、管理、中止会话 | message | 路由器 |
传输层 | 定义传输数据的协议端口号,以及流量和差错校验 | 数据段 | |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 数据包 | |
数据传输层 | 建立逻辑连接、进行硬件地址寻址、差错校验等功能 | 数据帧 | |
物理层 | 建立、维护、断开物理连接 | 比特流 |
第七层(应用层)------网络服务与最终用户的一个接口(用户操作)
负责对软件提供接口以使程序能使用网络服务。应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。相当于用户接口。你和计算机交互的一个接口(比如微信,qq ,浏览器),指定各种的应用协议,人机交互口,把人的语言输入到计算机中(qq聊天输入字符)。应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
第六层(表示层)------数据的表示、安全、压缩(人的语言翻译成计算机)
可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
将接收到的数据翻译成二进制数据,并指定数据的存储格式、加密格式,解密等等工作。
第五层(会话层)------建立、管理、中止会话 是否
这一层也可以称为会晤层或对话层,负责在网络中的两节点之间建立和维持通信。通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
允许建立会话连接,建立了不同操作系统的之间的会话,通过一些协议去判断符合确定你的两个软件之间是否可以进行通信(两个微信之间进行通信)。
第四层(传输层)------定义传输数据的协议端口号,以及流控和差错校验
传输层是OSI模型中最重要的一层。将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
可靠传输---传递数据前必须事先建立连接,可靠性高,传输效率低------打电话(tcp) 不可靠传输-----数据可以直接发送,传输效率高,可靠性低-----短信(udp)
第三层(网络层)------定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径
主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。进行逻辑地址寻址,实现不同网络之间的路径选择。无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输 (分拣员,分拣到底数据走哪条路更快)
第二层(数据链路层)------建立逻辑连接、进行硬件地址寻址、差错校验功能(交换机 网卡)
它控制网络层与物理层之间的通信。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的网络地址以及纠错和控制信息。保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通信的,发件人和收件人的mac 地址,进行错误检测与修正。
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAc地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。
第一层(物理层)------建立、维护、断开物理连接
该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。 设备之间的比特流的传输、物理接口、电气特性。
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
tips:
网络层及以下的通信为点对点通信
传输层的通信为端到端通信
应用层、表示层、会话层为高三层,是面向用户的
网络层、数据链路层、物理层为低三层,是面向硬件的
网络层及以下的通信为点到点通信(主机与主机)
传输层的通信为端到端(端口到端口)
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的 PDU是数据位 bit
数据链路层的 PDU是数据帧 frame
网络层的PDU是数据包 packet
传输层的 PDU是数据段 segment
其他更高层次的PDU是消息 message
应用层 首先将数据分片( 不可能将整个文件直接传输过去文件过大等因素) 数据
传输层: 接收上一层的分片数据------加入tcp头部地址------变成数据段(传输层功能)
网络层:接收数据段------加入ip头部------数据包
数据链路层: 接收数据包------加入MAC头部------数据帧
物理层:接收数据帧------bit流
TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接口层。从实质上讲,只有上边三层,网络接口层没有什么具体的内容。
五层体系结构
五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。 五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。为了方便可以把下两层称为网络接口层。
TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP 4层模型(思科)
TCP/IP 5层模型(华为)
OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。在层次结构上,两者都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。
OSI 参考模型没有考虑任何一组特定的协议,因此 OSI 更具有通用性。 而 TCP/IP 参考模型与 TCP/IP 协议簇吻合得很好,虽然该模型不适用于其他任何协议栈, 但如今的网络多以 TCP/IP 协议簇作为基础,这使得在分层设计上没有过多考虑协议的 OSI 分层理念,所以没有广泛地应用于实际工作中。相反,人们更多地应用 TCP/IP 分层模型在 实际工作中分析问题、解决问题。
模型层 | 协议 |
---|---|
物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
数据链路层 | Point-to-Point Protocol |
网络层 | IP (ICMP IGMP ARP RARP) |
传输层 | TCP UDP |
应用层 | HTTP FTP TFTP SMTP SNMP DNS |
物理层:
主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
IEEE802.3有线局域网(以太网)
IEEE802.11无线局域网标准
数据链路层:
定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
网络层:
在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:
ARP(地址解析协议): 是根据IP地址获取物理mac地址的协议
RARP(逆地址解析协议): 是根据物理mac地址获取IP地址的协议
ICMP(网际控制报文协议):ping 网络连通性检测
IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间
单播:1对1发消息
组播:只对一部分人发消息
广播:对所有人发消息
传输层:
定义了一些传输数据的协议和端口号(WWW端口80等),如: TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据) UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
TCP (传输控制协议 ):TCP是面向连接的、可靠的进程到进程通信的协议(安全性高,速度慢)。TCP提供全双工服务,即数据可在同一时间双向传输,每一个TCP都有发送缓存和接收缓存,用来临时存储数据。
UDP(用户数据报协议):UDP协议是无连接、不保证可靠性的传输层协议(安全性不高,传输数据速度更快,效率更高)。发送端不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据,它的可靠性由上层协议来保障。
应用层:
是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。
HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口
HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口
FTP文件传输协议:FTP(file File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
ssh安全的远程登陆协议,默认使用tcp的22端口ssh
DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口 www.baidu.com ip地址 dns udp tcp 程序 进程: 运行中的程序
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。分配ip地址
单工,半双工和全双工有何区别和联系
单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。
自上而下
自下而上
开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用 。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:
TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。
TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。
相同点
不同点
模型结构: