目录

  • 0、引言
  • 1、名词解释
  • 2、OSI参考模型
    • 2.1 各层功能
    • 2.2 各层相关协议,数据传输单位
  • 3、补充相关协议
    • 3.1 TCP/UDP
      • TCP/UDP的区别
      • 通道的建立 - 三次握手
      • 通道的关闭 - 四次挥手
    • 3.2 IP
    • 3.3 SMTP
    • 3.4 DNS
    • 3.5 FTP
    • 3.6 SSH文件传输协议
    • 3.7 HTTP

0、引言

本篇主要讲解 ISO七层协议的模型架构、各层的解析及其协议,虽然OSI参考模型在实际中的应用意义并不是很大,但是它对于理解网络协议内部的运作很有帮助,为我们学习网络协议提供了一个很好的参考。

1、名词解释

ISO : 国际标准化组织

ISO是“国际标准化组织”的英文简称,其全称是International Organization for Standardization。
ISO成立于1947年2月23日,是世界上最大的国际化标准组织。

OSI : 开放式系统互联

国际标准组织(国际标准化组织)制定了OSI(Open System Interconnection)模型。这个模型把网络通信的工作分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。

2、OSI参考模型

  虽然OSI参考模型在实际中的应用意义并不是很大,但是它对于理解网络协议内部的运作很有帮助。
  主要分为以下七层(从下至上):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

2.1 各层功能

  • 物理层(Physical Layer)

    物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。

    简单理解:数据,以二进制的形式在物理媒体上传输。

    单位:比特(bit)

  • 数据链路层(Data Link Layer)

    主要有两个功能 :帧编码和误差纠正控制。帧编码意味着定义一个包含信息频率、位同步、源地址、目标地址以及其他控制信息的数据包,其中MAC地址负责局域网通信。

    简单理解:对接物理层和网路层的数据线,实现比特与帧的转换。MAC地址访问媒介。

    单位:帧(frame)

  • 网络层(Network Layer)

    在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网,网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。

    数据包:包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。

    简单理解:提供逻辑地址(IP), 路由选择,将数据链路层提供的帧组成数据包。

    单位:数据包(packet)

  • 传输层(Transport Layer)

    传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。

    简单理解:提供端到端的服务。可以实现流量控制、负载均衡。选择端口号。

    单位:数据包(packet,不同协议叫法不同,TCP:段 segments、UDP:数据报 datagrams)

  • 会话层(Session Layer)

    这一层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步,访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。使通信会话在通信失效时从校验点继续恢复通信。

    在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。

    简单理解:身份验证、会话管理和确定通讯方式。

    单位:报文

  • 表示层(Presentation Layer)

    这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。

    简单理解:数据表现形式,数据和信息的变换确保其他主机的理解。

    单位:报文

  • 应用层(Application Layer)

    最靠近用户,操作系统或网络应用程序提供访问网络服务的接口。

    单位:报文

2.2 各层相关协议,数据传输单位

名称 相关协议 数据传输单位
物理层 IEEE 802.1A、IEEE 802.2 比特
数据链路层 MAC、 FDDI、Ethernet、Arpanet、PPP、PDN
网络层 IP、ICMP、ARP、RARP 数据包
传输层 TCP、UDP 数据包(Segment/Datagram)
会话层 SMTP、DNS 报文
表示层 Telnet、SNMP 报文
应用层 FTP、TFTP、Telnet、HTTP、DNS 报文

3、补充相关协议

  以上通过图表、文字向大家阐述了七层模型每一层的具体功能及其相关协议,但知道了这些还不够,实际开发中还有其他相关的协议需要了解。

3.1 TCP/UDP

TCP:传输控制协议

Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

UDP:用户数据报协议

User Datagram Protocol,是一个简单的面向无连接的,不可靠的数据报的传输层协议。

TCP/UDP的区别

TCP UDP
是否连接 面向连接 无连接
传输可靠性 可靠的,使用流量控制和拥塞控制 不可靠的,不使用流量控制和拥塞控制
应用场景 传输少量数据 传输大量数据
速度
传输方式 面向字节流 面向报文
首部开销 首部最小20字节,最大60字节 首部开销小,仅8字节
连接对象个数 只能是一对一通信 支持一对一,一对多,多对一和多对多交互通信
适用场景 适用于要求可靠传输的应用,例如文件传输 适用于实时应用(IP电话、视频会议、直播等)

  在实际的使用中,TCP主要应用于文件传输精确性相对要求较高且不是很紧急的情景,比如电子邮件、远程登录等。有时在这些应用场景下即使丢失一两个字节也会造成不可挽回的错误,所以这些场景中一般都使用TCP传输协议。由于UDP可以提高传输效率,所以UDP被广泛应用于数据量大且精确性要求不高的数据传输,比如我们平常在网站上观看视频或者听音乐的时候应用的基本上都是UDP传输协议。

通道的建立 - 三次握手

  1. 在建立通道时,客户端首先要向服务端发送一个SYN同步信号。
  2. 服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号。
  3. 当服务端的ACK和SYN到达客户端后,客户端与服务端之间的这个“通道”就会被建立起来。

通道的关闭 - 四次挥手

  1. 在数据传输完毕之后,客户端会向服务端发出一个FIN终止信号。
  2. 服务端在收到这个信号之后会向客户端发出一个ACK确认信号。
  3. 如果服务端此后也没有数据发给客户端时服务端会向客户端发送一个FIN终止信号。
  4. 客户端在收到这个信号之后会回复一个确认信号,在服务端接收到这个信号之后,服务端与客户端的通道也就关闭了。

关于三次握手四次挥手,推荐一篇比较容易理解且详细的文章

3.2 IP

网际互连协议(Internet Protocol),是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据报传输服务。

3.3 SMTP

简单邮件传输协议(Simple Mail Transfer Protocol),是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。

用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。

3.4 DNS

域名系统协议(Domain Name System),是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。

是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

3.5 FTP

文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

3.6 SSH文件传输协议

SSH文件传输协议(SSH File Transfer Protocol),也称为:安全文件传送协议(Secret File Transfer Protocol,SFTP),是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。

3.7 HTTP

超文本传输协议(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,是一个无状态的协议。

网络基础 - ISO网络七层模型相关推荐

  1. 网络基础之OSI七层参考模型与TCP/IP五层模型

    目录 一.网络基础 ①什么是网络 ②网络类型 二.OSI七层参考模型 与TCP/IP五层 ①为什么分层 ②对比图 ③每层作用 ④每层常用设备及常用协议 ⑤路由器交换机介绍 ⑥常用协议介绍 三.数据封装 ...

  2. 【网络通信协议】OSI七层模型

    开放式系统互联模型:Open System Interconnection Model 缩写:OSI,简称为OSI模型:是一种概念模型,由国际标准化组织提出,可以理解它是让各种计算机在世界范围内互连为 ...

  3. TCP/IP 网络通信协议 之 OSI 七层模型

    3.1 OSI七层模型 TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议.它是在网络的使用中的最基本的通信协议. 针对TCP/IP协议的标准化,国际标准化组织(ISO)制定的一个用于计算 ...

  4. 网络编程(part6)--OSI七层模型及四层模型(TCP/IP)

    鄙人学习笔记 文章目录 OSI七层模型(标准) 四层模型(TCP/IP模型) 数据传输过程 网络协议 OSI七层模型(标准) ●制定组织: ISO(国际标准化组织) ●作用:使网络通信工作流程标准化 ...

  5. 网络分层(OSI七层模型、TCP/IC四层/五层模型)

    转自:https://blog.csdn.net/yuiop123455/article/details/107486126 目录 一.OSI七层模型 OSI七层模型概念 OSI七层模型分别是 二.T ...

  6. ISO/OSI七层模型理解

    目录 资料一 ISO/OSI模型 资料二:各层简介 第一层:物理层(PhysicalLayer), 第二层:数据链路层(DataLinkLayer): 第三层:网络层(Network layer) 第 ...

  7. Internet协议栈 TCP/IP模型 、以太网封装以及解封装过程、物理层、链路层、网络层、传输层、应用层的作用 OSI七层模型

    目录 TCP/IP参考模型 以太网数据封装以及解封装过程: 各层次的传输数据单元 ​编辑 物理层: 发送端: 接收端: 作用: 链路层: 作用: 网络层: 作用: 传输层: 8个比特(bit)=1个字 ...

  8. 网络基础:ISO网络七层模型

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

  9. 初识网络基础《网络七层模型详解》

    坚持原创输出,点击蓝字关注我吧 图片来自网络 目录 一.初识网络基础 二.网络七层模型详解 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 三.总结 一.初识网 ...

最新文章

  1. SpringBoot+Mybatis配置Druid多数据源
  2. php date的警告
  3. “pybind11::module_::def”: 未找到匹配的重载函数
  4. java获取object属性值_java反射获取一个object属性值代码解析
  5. 102. Leetcode 198. 打家劫舍 (动态规划-打家劫舍)
  6. struts2控制标签(一)选择标签,iterator标签,append标签
  7. Python教程:对 a = [lambda : x for x in range(3)] 的理解
  8. 北京大学 软件工程1 软件 软件工程 软件开发 软件工程框架
  9. UVA10701 Pre, in and post【二叉树遍历】
  10. 端口 0-65536 TCP和UDP端口的区别
  11. VScode报错“终端将被任务重用,按任意键关闭
  12. 《Pro SQL Server Internals, 2nd edition》的CHAPTER 2 Tables and Indexes中的Clustered Indexes一节...
  13. 算法 博士_Strangecode博士-我如何学会不再担心并喜欢算法
  14. 好程序员web前端培训分享JavaScript框架
  15. 光影精灵安装ubuntu20.04安装显卡驱动外界显示屏
  16. Google BigQuery带你走进大数据
  17. html网页打印实现强制分页
  18. php配置上传pdf文件大小,文件上传有大小限制?PDF文件怎么压缩到指定大小?
  19. 阿里云弹性计算总经理张献涛:智能化、高效能、新交互将重塑互联网
  20. 网络安全三同步怎么实施

热门文章

  1. 开启 Win10 系统自带的 Ubuntu 系统
  2. Qt入门基础知识(vs2017+Qt5.12)
  3. Axure for mac安装教程(版本8.1.0.3382)
  4. 如何在chrome设置主页
  5. 常用的搜索引擎有哪些(公认最好的3种搜索引擎)
  6. Unity接入百度语音识别SDK windows平台
  7. 关于360断网急救箱引发的探索
  8. 大学计算机实验五北理工,北京理工大学计算机实验五报告表
  9. 企业管理软件中的积分制管理软件添加成员操作介绍
  10. visualvm工具使用教程