网络协议:什么是网络分层的七四五

本篇内容包括:网络分层七层、五层、四层网络协议概念的介绍,IOS 体系结构的介绍与构成、TCP/IP体系结构的简介及与IOS体系的关系 以及五层体系结构的介绍。

一、七层、五层、四层网络协议概念

1、关于网络协议

网络协议,即是指计算机网络中进行数据交换而建立的规则、标准或约定的集合。

例如,网络中一个 PC 用户和一个大型公司服务器的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。所以为了能进行通信,就要规定每个终端都要将各自字符集中的字符先变换为一种统一标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。

2、网络分层

由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解成一些简单成分,然后再将它们复合起来。最常用的复合技术就是网络分层方式。

img

网络协议分层又有很多种,我们能接触到最常见的则是 3 种:OSI 体系结构(七层),TCP/IP 体系结构(四层)以及 五层体系结构。

  • OSI 体系结构:是国际标准化组织(ISO)在1978 年提出的 “开放系统互联参考模型” 使用的结构,概念清楚,理论也比较完整,但是它既复杂又不实用。
  • TCP/IP体系结构:TCP/IP是一个四层体系结构,得到了广泛的运用。
  • 五层体系结构:为了方便学习,折中 OSI 体系结构和 TCP/IP 体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚

二、OSI 体系结构

OSI 是 Open System Interconnect 的缩写,意为开放式系统互联。为了增强通用性和兼容性,计算机网络都被设计成层次机构,每一层都遵守一定的规则。因此有了OSI这样一个抽象的网络通信参考模型,按照这个标准使计算机网络系统可以互相连接。

7 层是指 OSI 七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。

在这里插入图片描述

  • 物理层:通过网线、光缆等这种物理方式将电脑连接起来。传递的数据是比特流,0101010100。
  • 数据链路层:首先,把比特流封装成数据帧的格式,对 0、1 进行分组。电脑连接起来之后,数据都经过网卡来传输,而网卡上定义了全世界唯一的 MAC 地址。然后再通过广播的形式向局域网内所有电脑发送数据,再根据数据中 MAC 地址和自身对比判断是否是发给自己的。
  • 网络层:广播的形式太低效,为了区分哪些 MA C地址属于同一个子网,网络层定义了 IP 和子网掩码,通过对IP和子网掩码进行与运算就知道是否是同一个子网,再通过路由器和交换机进行传输。IP协议属于网络层的协议。
  • 传输层:有了网络层的 MAC+IP 地址之后,为了确定数据包是从哪个进程发送过来的,就需要端口号,通过端口来建立通信,比如 TCP 和 UDP 属于这一层的协议。
  • 会话层:负责建立和断开连接
  • 表示层:为了使得数据能够被其他的计算机理解,再次将数据转换成另外一种格式,比如文字、视频、图片等。
  • 应用层:最高层,面对用户,提供计算机网络与最终呈现给用户的界面

OSI 七层参考模型的各个层次的划分遵循下列原则:

  1. 同一层中的各网络节点都有相同的层次结构,具有同样的功能。
  2. 同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
  3. 七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
  4. 不同节点的同等层按照协议实现对等层之间的通信。

三、TCP/IP体系结构

TCP/IP 即传输控制协议/网络互联协议,是针对 Internet 开发的一种体系结构和协议标准,相对于 OSI 体系结构更简洁。分层体系,由下至上分别是网络接口层、网际层、传输层和应用层(四层分法)。

TCP/IP 则是四层的结构,相当于是对 OSI 模型的简化:

img

  1. 数据链路层,也有称作网络访问层、网络接口层。他包含了 OSI 模型的物理层和数据链路层,把电脑连接起来。
  2. 网络层,也叫做 IP 层,处理 IP 数据包的传输、路由,建立主机间的通信。
  3. 传输层,传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信。
  4. 应用层,包含 OSI 的会话层、表示层和应用层,提供了一些常用的协议规范,比如 FTP、SMPT、HTTP 等。

总结下来,数据链路层就是通过物理手段把电脑连接起来并对比特流的数据进行分组,网络层来建立主机到主机的通信,传输层建立端口到端口的通信,应用层最终负责建立连接,数据格式转换,最终呈现给用户。

TCP/IP 体系结构的优点:

  1. 简化了计算机网络的结构,由原来的七层编导现在的四层,但是其功能并没有减少。
  2. 每一层即独立又有联系,独立是因为如果那一层出现问题了不会影响其他层的工作,联系是因为上层协议又使用下层协议提供的服务。

四、五层体系结构

五层体系结构只是 OSI和TCP/IP的综合,是业界产生出来的非官方协议模型,主要是用于方便理解的模型,即很多具体的应用,实际应用还是TCP/IP的四层结构。为了方便可以把下两层称为网络接口层。五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。

看一下五层网络体系结构各层的主要功能:

img

  • 应用层:应用层是网络协议的最高层,主要任务通过进程间的交互完成特定网络应用。应用层协议定义的是应用程序(进程)间通信和交互的规则。 对于不同的网络应用需要有不同的应用层协议,在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。应用层交互的数据单元称为报文。
  • 运输层:有时也译为传输层,它负责为两台主机中的进程提供通信服务。该层主要有以下两种协议:
    • 传输控制协议 (Transmission Control Protocol,TCP):提供面向连接的、可靠的数据传输服务,数据传输的基本单位是报文段(segment);
    • 用户数据报协议 (User Datagram Protocol,UDP):提供无连接的、尽最大努力的数据传输服务,但不保证数据传输的可靠性,数据传输的基本单位是用户数据报。
  • 网络层:网络层负责为分组网络中的不同主机提供通信服务,并通过选择合适的路由将数据传递到目标主机。在发送数据时,网络层把运输层产生的报文段或用户数据封装成分组或 包进行传送。 在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫IP数据报。
  • 数据链路层:数据链路层通常简称为链路层。数据链路层在两个相邻节点传输数据时,将网络层交下来的IP数据报组装成帧,在两个相邻节点之间的链路上传送帧。
  • 物理层:保数据可以在各种物理媒介上进行传输,为数据的传输提供可靠的环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

查看表空间相关命令

默认表空间数据文件大小根据DATA BLOCKS的大小有关,默认最大为32GB表空间达到32G,只能增加数据文件alter tablespace 表空间名 add datafile 数据文件路径‘ size 500m autoextend on next 100m maxsize 10000M;未达到32G,修改数据文件的扩展…

网络协议:一文搞懂Socket套接字

本篇内容包括:Socket 套接字的简介、Socket 套接字的分类、Java 中的 Socket 即 java.net.ServerSocket、java.net.Socket 的使用,以及Java 使用套接字 Scoket 编程的Demo。 一、Socket 简介 TCP(传输控制协议)是一种面向连接的、…

RESETLOGS

使用resetlogs选项,会把当前的日志序号(log sequence number)重设为1,并抛弃所有日志信息。在以下条件时需要使用resetlogs选项: 在不完全恢复(介质恢复); 使用备份控制文件。 使…

网络协议:透彻解析HTTP协议

本篇内容包括:HTTP 协议定义及其特点概述、关于 URL 定义及分类概述、Request 请求、Response 响应 以及 浏览器访问一个网站的全过程 等内容… 一、HTTP 协议概述 HTTP(HyperText Transfer Protocol) 即 超文本传输协议,它是一种…

oracle参数文件和口令文件

外部 审核 口令:记录超级用户的用户名和口令,做sys用户的安全审核 oracle9以后全部使用sys登录,但需要使用as sysdba ,之前版本需要使用internal o7字典打开 只要用户和密码存在于口令文件,就可以以sysdba登录&#…

innobackup备份恢复实操步骤--gtid复制(1)(1)

首先在主库进行备份: 备份命令: Innobackupex --defaults-file/app/dbcluster/sgrdb/mysql/my19103.cnf --no-timestamp --userdbscale --passwordS6000dbscale --host10.157.43.224 --port19103 /data/backup 如果使用setsid: setsid …

Redis系列:Redis的概述与安装

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。 本篇内容包括:Redis 简介(为什么快?为什么单线程?优…

安装LibreOffice和字体

#/bin/bash # Check if user is root if [ $(id -u) ! "0" ]; thenecho "Error: You must be root to run this script, please use root"exit 1 fi echo 安装LibreOffice cd /home/ tar -zxvf LibreOffice_6.3.3_Linux_x86-64_rpm.tar.gz cd /home/LibreO…

xtrabackup备份脚本

#!/bin/sh #备份主机 remote_ip100.0.132.160 Master_ip100.20.132.158 VIP100.20.132.166 #备份用户 userroot #密码 password00000 # 返回年月日 backup_datedate %F # 返回时分秒 backup_timedate %H-%M-%S # 返回今天是这周的第几天 backup_week_daydate %u backup_ok0 #备…

Redis系列:使用Redis实现分布式锁及相关问题

分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。 本篇内容包括:关于 Redis 与 分布式锁&…

Redis系列:Redis持久化机制与Redis事务

Redis 是个基于内存的数据库。那服务一旦宕机,内存中数据必将全部丢失。所以丢失数据的恢复对于 Redis 是十分重要的,我们首先想到是可以从数据库中恢复,但是在由 Redis 宕机时(说明相关工作正在运行)且数据量很大情况…

Java基础:Java程序设计环境

按应用范围,Java 可分为 3 个体系,即 Java SE、Java EE 和 Java ME。Java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开…

负载均衡策略

轮循均衡(Round Robin):每一次来自网络的请求轮流分配给内部中的服务器,从1至N然后重新开始。此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。 我们的业务web服务器都是同样配置…

Java基础:Java数据类型

Java 是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在 Java 中基本数据类型共有 8 种,包括 4 种整型、2 种浮点型、1 种用于表现 Unicode 编码的字符单元的字符类型 char 和一种用于表示真值的 boolean 类型 ~ 本篇主要记录内容包括&#…

TCP连接的建立与终止

TCP连接的建立与终止 1.三次握手 TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方…

日常问题:MySQL排序字段数据相同不能分页问题

【问题日期】 2022-11-14 22:45:12 【问题描述】 MySQL 排序字段数据相同不能分页问题:在分页查询数据时,按创建时间排序,由于数据是批量创建的,导致部分数据创建时间一样,而此时分页查询数据,翻页后出现…

数据缺失值处理

数据缺失值处理 In [1]: import pandas as pd import numpy as np from sklearn.ensemble import RandomForestRegressor,RandomForestClassifier from sklearn.preprocessing import StandardScaler from sklearn.impute import SimpleImputer In [2]: df pd.DataFrame() df[…

Java基础:Java数字类型

Java 中包含多种运算符:算数运算符、关系运算符、逻辑运算符、位运算符。在 Math 类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函数也不同。要生成一个随机数,可以使用 Random 对象。 ~ 本篇主要…

Java基础:Java流程控制

块(即复合语句)是指由一对大括号括起来的若干条简单的 Java 语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。但是,不能在嵌套的两个块中声明同名的变量。使用块(有时称为复合语句)可以在Java程序结构中原本…