OSI七层模型与TCP/IP协议
=====================================================================================================================================
一、为什么网络需要分层
1.1层次划分的必要性
(1)很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。
(2)TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网(Internet)”的基础,该广域网(WAN)已包含超过100万台遍布世界各地的计算机。
(3)计算机网络是由许多硬件、软件和协议交织起来的复杂系统。由于网络设计十分复杂,如何设计、组织和实现计算机网络是一个挑战,必须要采用科学有效的方法。
1.2层次划分的方法
(1)网络的每层应当具有相对独立的功能:便于排错,这个功能用不了必然是你在这层处理上出现问题。
(2)梳理功能之间的关系:使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构, 环环相扣,紧密联系。
(3)为提高系统的工作效率:相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现,每一层只为相邻的上一层提供服务。
1.3层次划分的优点
(1)各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,针对性解决问题。
(2)灵活性好,各层内部的操作不会影响其他层。
(3)结构上可分割开,各层之间都可以采用最合适的技术来实现。
(4)易于实现和维护,因为整个系统已被分解成相对独立的子系统。
(5)能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明。
二、七层模型
2.1七层模型含义
(1)OSI是Open System Interconnect的缩写,意为开放式系统互联参考模型。
(2)一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。
(3)在制定网络标准中起着重大作用的两大国际组织是:国际电信联盟电信标准化部门与国际标准组织(ISO)。
2.2七层模型划分
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

(1)应用层:网络服务与最终用户的一个接口(用户操作)。
接口:你和计算机交互的一个接口(比如微信,qq ,浏览器),人机交互窗口,把人的语言输入到计算机中(qq聊天输入字符)。
(2)表示层:数据的表示、安全、压缩(人的语言翻译成计算机)。
将接收到的数据翻译成二进制数据,并指定数据的存储格式、加密格式,解密,压缩等等工作。
(3)会话层:建立、管理、中止会话 。
是否允许建立会话连接,建立了不同操作系统之间的会话,通过一些协议去判断确定你的两个软件之间是否可以进行通信(两个微信之间进行通信)。
(4)传输层:定义传输数据的协议端口号,以及流控和差错校验。
将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
TCP:可靠传输(传递数据前必须事先建立连接)传输效率低,可靠性高------打电话
UDP:不可靠传输(数据可以直接发送)传输效率高,可靠性低------短信
(5)网络层:定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径。
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输 (分拣员,分拣到底数据走哪条路更快)。
(6)数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机,网卡)。
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路,当发现数据错误时,可以重传数据帧。
(7)物理层:建立、维护、断开物理连接。
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
三、七层模型总结

(1)网络层、数据链路层、物理层为低三层,是面向硬件的。
(2)网络层及以下的通信,为点到点通信(主机与主机)。
(3)传输层的通信为端到端(端口到端口)。
四、TCP/IP参考模型
4.1TCP/IP含义
(1)TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称。
(2)TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。
(3)TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
补充:TCP/IP 4层模型(思科)
TCP/IP 5层模型(华为)

4.2TCP/IP与OSI参考模型对比
(1)OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。
(2)不同点:OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层。先对而言TCP/IP参考模型比OSI参考模型更简化。
(3)OSI 参考模型没有考虑任何一组特定的协议,因此 OSI 更具有通用性。 而 TCP/IP 参考模型与 TCP/IP 协议簇吻合得很好,虽然该模型不适用于其他任何协议栈, 但如今的网络多以 TCP/IP 协议簇作为基础,这使得在分层设计上没有过多考虑协议的 OSI 分层理念,所以没有广泛地应用于实际工作中。相反,人们更多地应用 TCP/IP 分层模型在实际工作中分析问题、解决问题。
五、TCP/IP协议族的组成

(1)物理层:IEEE802.3有线局域网(以太网),IEEE802.11无线局域网标准。
(2)数据链路层:点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
(3)网络层:IP协议(Internet Protocol,网际协议),而 IP 又由四个支撑协议组成。
- ARP(地址解析协议): 将IP地址转换成物理mac地址 的协议。
- RARP(逆地址解析协议): 将物理mac地址转换成IP地址的协议。
- ICMP(网际控制报文协议):ping 网络连通性检测网络连通性。
- IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间。
补充:
单播:1对1发消息------私聊
组播:只对一部分人发消息------全班中的某 一组
广播:对所有人发消息------全班
(4)传输层:TCP 传输控制协议,可靠协议(安全性高,速度慢);UDP用户数据报协议,不可靠协议(安全性不高,速度快)。
(5)应用层:
- HTTP(超文本传输协议,端口号tcp80):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输。
- HTTPS(加密超文本传输协议,端口号tcp443):是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
- FTP(文件传输协议,端口号tcp20、21):提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用。
- TFTP(简单文件传输协议,端口号udp69):是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别。
- SNMP(简单网络管理协议,端口号udp161):是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议。
- SMTP(简单邮件传输协议,端口号tcp25):一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送。
- POP3(邮局协议版本3,端口号tcp110):用于邮件的接收。
- telnet(远程登陆协议,端口号tcp23):一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作。
- ssh(端口号tcp22):安全的远程登陆协议。
- DNS(域名解析系统,端口号tcp和udp53):将域名和IP地址相互映射。
- DHCP(动态主机配置协议,端口号udp67和68):是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

OSI七层模型与TCP/IP协议的更多相关文章
- OSI七层模型及TCP/IP四层模型
1) OSI七层模型及TCP/IP四层模型 OSI七层模型:是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型,不仅包括一系列抽象的术语或概念,也包 ...
- OSI七层模型与TCP/IP四层模型
OSI七层模型与TCP/IP四层模型 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图 ...
- OSI七层模型与TCP/IP五层模型-(转自钛白Logic)
OSI七层模型与TCP/IP五层模型 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始 ...
- OSI 七层模型和 TCP/IP 协议比较
OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...
- 网络基础:OSI 七层模型、TCP/IP 四层模型
1.Internet历史 1. 1968年由美国ARPA机构提出"资源共享计算机网络”,让ARPA的计算机互联起来,叫做阿帕网;2. 1974年,第一个TCP协议详细说明发布了.3. 一个 ...
- Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)
网络的发展 网络的发展有下面几个阶段: 独立模式:计算机最开始是以单机模式被广泛使用的.每一台计算机都是独立的,之间不能够进行数据共享与通信 网络互联: 计算机之间可以链接在一起,完成数据共享,计算机 ...
- OSI七层模型与TCP/IP五层模型
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我们先 ...
- OSI七层模型与TCP/IP五层模型(转)
reference:https://www.cnblogs.com/qishui/p/5428938.html 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...
- OSI七层模型与TCP/IP五层模型详解
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我 ...
随机推荐
- QT字符串高效拼接原理QStringBuilder
这一篇文章讨论QT框架中QT字符串是如何实现高效拼接的. 1. QStringBuilder实例与原理 QT字符串高效拼接例子 备注: (a)上述代码仅仅在s2 = b1时一次性分配能够容纳所有字符串 ...
- 某CMS后台通杀getshell
此CMS是基于thinkphp框架二次开发的,目前有thinkphp5,以及thinkphp6两种版本.这些漏洞挖掘出来的时候已经在cnvd被提交过了.但是网上并没有漏洞文章.避免风险这里只分享思路. ...
- Java基础-JVM篇
1.1 .线程 这里所说的线程指程序执行过程中的一个线程实体.JVM 允许一个应用并发执行多个线程.Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系.当线程本地存储. ...
- WPF 视频硬解码渲染播放(无空域)(支持4K、8K、高帧率视频)
MediaWPF 基于 .NET 6 实现视频硬解码渲染Demo(无空域问题) 代码实现仅供学习参考 本项目视频渲染通过显卡进行视频解码,CPU几乎不参与工作,并且不存在令人烦躁的空域问题. 在播放摄 ...
- 从0到1建设智能灰度数据体系:以vivo游戏中心为例
作者: vivo 互联网数据分析团队-Dong Chenwei vivo 互联网大数据团队-Qin Cancan.Zeng Kun 本文介绍了vivo游戏中心在灰度数据分析体系上的实践经验,从&quo ...
- DBSync新增对MongoDB、ES的支持
数据库同步工具DBSync近日进行了升级,最新版本为V1.9,新增了对MongoDB.Elasticseach(ES)的支持,具体情况:1.支持同型库之间的同步,如:MongoDB至MongoDB,E ...
- 泛型容器类和ArrayList操作
泛型 比如ArrayList<E> E就是泛型 在没有泛型之前,从集合读取到的每一个对象都必须进行转换,如果有人不小心插入了类型错误的对象,在运行时的转换处理就会出错 有了泛型之后,可以告 ...
- docker安装dvwa
docker run -d --name dvwa -p 8011:80 -p 33066:3306 -e MYSQL_PASS="password" citizenstig/dv ...
- 【Unity基础知识】认识常用的生命周期函数(Awake、Start、Update...)
一.了解帧的概念 游戏的本质就是一个死循环 每一次循环都会处理游戏逻辑 并 更新一次游戏画面 之所以能看到画面在动 是因为 切换画面速度达到一定速度时 人眼就会认为画面是动态且流畅的 一帧就是执行了一 ...
- Centos7较为彻底的删除mysql
Centos7下较为彻底的删除mysql(root 身份操作) 删除mysql安装包 1. yum检查 yum list installed | grep mysql 安装则直接删除 示例:yum r ...