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


推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 开发笔记:empireCMS 帝国cms功能总结 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 说明Python教程正在编写中,欢迎大家加微信sinbam提供意见、建议、纠错、催更。drymail是一个邮件发送库,封装了Python的smtplib ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 利用 Zend Framework 实现高效邮件发送功能 ... [详细]
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社区 版权所有