再读TCP/IP网络7层协议

随着工作的深入,每次读这7层协议,每次都有不同的理解。


分层名                                                               分层号           描述                                                                   比喻 
应用层Application Layer (台湾翻:应用层)               7              用户的应用程序和网络之间的接口                     老板 
表示层Presentation Layer (台湾:展现层)               6              协商数据交换格式                                               公司中简报老板、替老板写信的助理 
会话层Session Layer (台湾:会谈层)                       5              允许用户使用简单易记的名称建立连接               公司中收寄信、写信封与拆信封的秘书 
传输层Transport Layer (台湾:传输层)                   4               提供终端到终端的可靠连接                                公司中跑邮局的送信职员 
网络层Network Layer (台湾:网络层)                      3              使用权数据路由经过大型网络                             邮局中的排序工人 
数据链路层Data Link Layer (台湾:资料链结层)       2             决定访问网络介质的方式                                    相当于邮局中的装拆箱工人 
物理层Physical Layer (台湾:实体层)                      1             将数据转换为可通过物理介质传送的电子信号      相当于邮局中的搬运工人

再理解:

 

物理层:完成相邻结点之间原始比特流的传说,控制数据怎么被放置到通信介质中。
数据链路层:在不可靠的物理线路上进行数据的可靠传输。主要网络设备有 网卡,网桥,交换机。
网络层:完成网络中主机间的报文传输。
传输层:是整个网络的关键部分,实现两个用户进程间端到端的可靠通信,处理数据包错误、数据包次序,以及其他一些关键传输问题。
会话层:允许不同机器上的用户之间建立会话关系,会话层提供的服务之一是管理对话控制。
表示层:涉及数据压缩和解压、数据加密和解密等工作。
应用层:支持运行于不同计算机上的进程进行通信,而这些进程则是为用户完成不同任务而设计的。

 

 



物理层: 

物理层(physical layer)的主要功能是完成相邻结点之间原始比特流传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据0和1。1位持续的时间多长。数据传输是否可同时在两个方向上进行。最初的廉洁如何建立以及完成通信后连接如何终止。物理接口(插头和插座)有多少针以及各针的作用。物理层的设计主要涉及物理层接口的机械、电气、功能和过电特性,以及物理层接口连接的传输介质等问题。物理层的实际还涉及到通信工程领域内的一些问题。 


数据链路层: 

数据链路层(data link layer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻结点之间可靠的数据通信。为了保证书觉得可靠传输,发送出的数据针,并按顺序传送个针。由于物理线路不可靠,因此发送方发出的数据针有可能在线路上出错或丢失,从而导致接受方无法正确接收数据。为了保证能让接收方对接收到的数据进行正确的判断,发送方位每个数据块计算出CRC(循环冗余检验)并加入到针中,这样接收方就可以通过重新计算CRC来判断接收到的数据是否正确。一旦接收方发现接收到的数据有错误,则发送方必须重新传送这一数据。然而,相同的数据多次传送也可能是接收方收到重复的数据。 
数据链路层要解决的另一个问题是防止高速发送方的数据把低速接收方“淹没”。因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间。为了控制的方便,流量控制常常和差错处理一同实现。 
在广域网中,数据链路层负责主机IMP、IMP-IMP之间数据的可靠传送。在局域网中,数据链路层负责制及之间数据的可靠传输。 


网络层: 

网络层(network layer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使用数据链路层的服务将每个报文从源端传输到目的端。在广域网中,这包括产生从源端到目的端的路由,并要求这条路径经过尽可能少的IMP。如果在子网中同时出现过多的报文,子网就可能形成拥塞,因为必须加以避免这种情况的出现。 
当报文不得不跨越两个或多个网络时,又会带来很多新问题。比 
在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少。


传输层: 

传输层(transport layer)的主要功能是实现网络中不同主机上的用户进程之间可靠的数据通信。 
传输层要决定会话层用户(最终对网络用户)提供什么样的服务。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接时真正的点到点。 
由于绝大多数的主机都支持多用户操作,因而机器上有多道程序就意味着将有多条连接进出于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和取消。这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。另外,还需要有一种机制来调节信息流,使高速主机不会过快的向低速主机传送数据。尽管主机之间的流量控制与IMP之间的流量控制不尽相同。 

会话层: 

会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的传输层的普通数据的传送,在某某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。 
会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。一种与对话控制有关的服务是令牌管理(token management)。有些协议会保证双方不能同时进行同样的操作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)。 

表示层: 

表示层(presentation layer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现。表示层以下各层只关心从源端机到目标机到目标机可靠的传送比特流,而表示层关心的是所传送的信息的语法和语义。表示层服务的一个典型例子就是大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象使用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示的。 
在网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式转换。为了让采用不同数据表示法的计算机之间能够相互通信而且交换数据,就要在通信过程中使用抽象的数据结构来表示所传送的数据。而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等噢年工作都是由表示层来完成的。 
另外,表示层还涉及数据压缩和解压、数据加密和解米等工作(winrar的那一套)。 

应用层: 

连网的目的在于支持运行于不同计算机的进程彼此之间的通信,而这些进程则是为用户完成不同人物而设计的。可能的应用是多方面的,不受网络结构的限制。应用层(app;ocation layer)包括大量人们普遍需要的协议。虽然,对于需要通信的不同应用来说,应用层的协议都是必须的。例如:http、ftp、TCP/IP。 
由于每个应用有不同的要求,应用层的协议集在OSI模型中并没有定义。但是,有些确定的应用层协议,包括虚拟终端、文件传输、电子邮件等都可以作为标准化的候选

 

转载于:https://www.cnblogs.com/dyllove98/p/3186921.html

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

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

相关文章

oracle复习笔记

2019独角兽企业重金招聘Python工程师标准>>> 1.oracle相关认证:OCA:Oracle认证专员,OCP:Oracle专家认证,OCM:Oracle认证大师。 2.1979年,Oracle2发布。 3.Oracle数据库特点:支持多用户,大事务量的事务处理&…

【51单片机快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角

目录相关介绍DMP库相关DMP加载步骤:DMP设置数据写入更新DMPDMP数据包结构程序实现DMP.cDMP.h测试程序四元数实验现象欧拉角的获取普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa 1.3.10 相关…

cardsui-for-android

https://github.com/Androguide/cardsui-for-android cardsui-for-android-master.zip

spoj 2 Prime Generator

题目&#xff1a;Prime Generator 思路&#xff1a;分段筛素数 #include <cstdio> #include <iostream> #include <cmath> #include <algorithm> #include <cstring> #include <map> using namespace std; #define maxn 40000 int n_prime…

LTDC/DMA2D—液晶显示

本章参考资料&#xff1a;《STM32F4xx 参考手册 2》、《STM32F4xx 规格书》、库帮助文档《stm32f4xx_dsp_stdperiph_lib_um.chm》。关于开发板配套的液晶屏参数可查阅《5.0 寸液晶屏数据手册》配套资料获知。 显示器简介显示器属于计算机的 I/O 设备&#xff0c;即输入输出设备…

【51单片机快速入门指南】4.3.2: MPU6050:一阶互补滤波、二阶互补滤波和卡尔曼滤波获取欧拉角

目录源码MPU6050_Filter.cMPU6050_Filter.h使用方法测试程序一阶互补滤波效果二阶互补滤波效果卡尔曼滤波效果总结普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机&#xff1a;Vofa 1.3.10 参考资料&#xff1a; MPU6050…

NGUI基础-三大基础组件之Root组件

NGUI NGUI&#xff08;Next-Gen UI&#xff09;是一款用于Unity游戏引擎的UI插件&#xff0c;它提供了一套功能强大、灵活易用的界面开发工具。在NGUI中&#xff0c;Root&#xff08;根节点&#xff09;是一个重要的概念。 基础组件之Root Root是NGUI中的最高层级节点&#…

【转】android 中如何限制 EditText 最大输入字符数

原文网址&#xff1a;http://blog.csdn.net/fulinwsuafcie/article/details/7437768 方法一&#xff1a; 在 xml 文件中设置文本编辑框属性作字符数限制 如&#xff1a;android:maxLength"10" 即限制最大输入字符个数为10 方法二&#xff1a; 在代码中使用InputFilte…

【51单片机快速入门指南】4.3.3: MPU6050使用Mahony AHRS算法实现六轴姿态融合获取四元数、欧拉角

目录源码Mahony_6.cMahony_6.h使用方法测试程序main.c效果STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机&#xff1a;Vofa 1.3.10 移植自MPU6050姿态解算——Mahony互补滤波 —— 大写的小写字母 加入了输入数据范围的自动处理…

linux文件系统及bash基础特性

linux文件系统 一、根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统&#xff08;rootfs&#xff09;&#xff0c;其他分区要想被读到&#xff0c;需要挂载到根目录的某个挂载点&#xff08;根的子目录&#xff09;上。根文件系统至关重要&#xff0c;…

【51单片机快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、欧拉角

目录源码Madgwick_6.cMadgwick_6.h使用方法测试程序main.c效果STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机&#xff1a;Vofa 1.3.10 移植自AHRS —— LOXO&#xff0c;算法作者&#xff1a;SOH Madgwick 源码 为了避免所用R…

Hybris商品图片导入与压缩有关的配置.

1. 在电脑上安装 ImageMagick 软件&#xff08;windows平台还需要安装VC&#xff09;&#xff0c;下载路径&#xff1a;http://www.imagemagick.org/script/download.php#windows 在local.properies文件配置安装路径和配置文件路径&#xff1a; Windows版本的&#xff0c;安装…

poj 2507Crossed ladders 计算几何

链接&#xff1a;http://poj.org/problem?id2507 题意&#xff1a;哪个直角三角形&#xff0c;一直角边重合&#xff0c; 斜边分别为 X, Y&#xff0c; 两斜边交点高为 C &#xff0c; 求重合的直角边长度~ 思路&#xff1a; 设两个三角形不重合的两条直角边长为 a &#xff0…

【机器视觉学习笔记】VS2015 安装 opencv_contrib并测试

目录opencv_contrib的获取主要工具编译 opencv编译 opencv_contribVisual Studio 编译配置新项目的环境添加包含目录添加库目录配置调试环境添加依赖项测试平台&#xff1a;Windows 10 20H2 Visual Studio 2015 opencv_contrib-3.4.12 参考文章&#xff1a; 添加OpenCV_contr…

Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1

租用阿里云ECS服务器的用户使用 Windows Server 2012 R2 或 Windows Server 2016 64位系统&#xff0c;发现在安装 .net framework 3.5.1 时报错&#xff0c;报错内容如下&#xff1a; 原因分析 找不到安装源文件。 解决办法 可以通过如下 PowerShell 脚本进行安装&#xff1a;…

Concept3D推出交互式3D地图平台

对于活动组织者而言&#xff0c;能够在不必实际旅行的情况下参观活动地点的想法非常具有吸引力&#xff0c;特别是对于日程安排繁忙的人员。Concept3D通过其交互式地图和身临其境的虚拟导览软件实现了这一点。 Concept3D平台的首要位置之一是棕榈泉会议中心&#xff0c;该中心支…

【机器视觉学习笔记】OpenCV C++ 调用笔记本摄像头

目录测试程序实验现象平台&#xff1a;Windows 10 20H2 Visual Studio 2015 opencv_contrib-3.4.12 转自【opencv七】利用opencv调用电脑摄像头 —— yuanCruise 测试程序 #include <opencv2/opencv.hpp> #include <iostream>using namespace cv;int main() {n…

深入分析 Java 中的中文编码问题

几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题&#xff0c;那就是为什么要编码&#xff1f;我们能不能不编码&#xff1f;要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的&#xff0c;这些符号也就是我们人类使用的语言。由于人类的语言有…

APP图标生成工具

今天25学堂跟大家推荐一款非常有趣和简单的APP图标生成工具&#xff1a;Iconion Icon Generator&#xff08;iconion图标生成器&#xff09; 我们可以用它来创建美丽的扁平化图标&#xff0c;长投影图标&#xff0c;桌面图标&#xff0c;社会媒体图标和移动APP图标等&#xff0…

基本形态学算法

基本形态学算法为什么要做基本形态学算法的研究和实现&#xff1f;是因为形态学是一个非常有力&#xff0c;应用 广泛的工具&#xff0c;但同时也是研究不是很清楚的工具。往往一个恰到好处的变换&#xff0c;就能够省下许多的劳动。对此的分类和研究就显得非常有必要&#xff…