热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网络基础ISO网络七层模型

目录0、引言1、名词解释2、OSI参考模型2.1各层功能2.2各层相关协议,数据传输单位3、补充相关协议3.1TCPUDPTCPUDP的区别通道的建立-三次握手

目录 0、引言1、名词解释2、OSI参考模型2.1 各层功能2.2 各层相关协议,数据传输单位 3、补充相关协议3.1 TCP/UDPTCP/UDP的区别通道的建立 - 三次握手通道的关闭 - 四次挥手 3.2 IP3.3 SMTP3.4 DNS3.5 FTP3.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的区别 TCPUDP是否连接面向连接无连接传输可靠性可靠的,使用流量控制和拥塞控制不可靠的,不使用流量控制和拥塞控制应用场景传输少量数据传输大量数据速度慢快传输方式面向字节流面向报文首部开销首部最小20字节,最大60字节首部开销小,仅8字节连接对象个数只能是一对一通信支持一对一,一对多,多对一和多对多交互通信适用场景适用于要求可靠传输的应用,例如文件传输适用于实时应用(IP电话、视频会议、直播等)

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

通道的建立 - 三次握手 在建立通道时,客户端首先要向服务端发送一个SYN同步信号。服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号。当服务端的ACK和SYN到达客户端后,客户端与服务端之间的这个“通道”就会被建立起来。 通道的关闭 - 四次挥手 在数据传输完毕之后,客户端会向服务端发出一个FIN终止信号。服务端在收到这个信号之后会向客户端发出一个ACK确认信号。如果服务端此后也没有数据发给客户端时服务端会向客户端发送一个FIN终止信号。客户端在收到这个信号之后会回复一个确认信号,在服务端接收到这个信号之后,服务端与客户端的通道也就关闭了。

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

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是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,是一个无状态的协议。


推荐阅读
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • Panabit应用层流量管理解决方案
    Panabit是一款国内领先的应用层流量管理解决方案,提供高度开放且免费的专业服务,尤其擅长P2P应用的精准识别与高效控制。截至2009年3月25日,该系统已实现对多种网络应用的全面支持,有效提升了网络资源的利用效率和安全性。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 1、TCPIP 是个协议组,从下往上可分为:网络接口层、网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
  • 在Linux系统中,目录结构遵循文件系统层次标准(FHS),确保了系统的组织性和可维护性。其中,`/bin`目录是FHS要求必须存在的目录之一,主要存放了在单用户维护模式下仍可执行的基本命令和工具。这些命令不仅对root用户可用,普通用户也能使用,以确保系统在最小化运行状态下仍能进行基本的操作和管理。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 端口转发(Port Forwarding)类似于服务重定向,许多路由器中也称其为虚拟服务器(Virtual Server)。通过合理配置端口转发,可以实现外部网络对内部网络中特定设备和服务的高效访问,从而提高通信效率和灵活性。此外,正确设置端口转发还能增强网络安全,确保只有授权的流量能够进入内网,有效防止未授权访问和潜在威胁。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有