计算机网络体系结构——各层的功能

OSI七层架构

物理层主要功能:实现比特流的透明传输。基本单位:比特。

数据链路层主要功能 :封装成帧 。把帧从原MAC传到目的MAC(相邻节点之间帧的透明传输)

差错检测 循环冗余检测法。只检测有没有比特错误,若有则丢弃。

网络层: 路径的选择、数据的转发。 源主机到目的主机之间分组的透明传输(之间可能经过很多节点)

传输层:端(口)到端(口)的报文 

会话层的功能
       会话层的主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。
       会话层,表示层,应用层在会话层和传输层我们都提到了连接,那么会话连接和传输连接到底有什么区别呢?
       假设你对你的秘书说,给琼斯先生打个电话,这时你相当于会话层,而秘书相当于传输层。你的请求就相当于请求一个会话。你提出建立连接的要求,但不必自己动手查找电话号码、拨号等。秘书着手打电话,开始建立传输连接。当拨号成功,对方拎起话筒,传输连接就建立起来了。然后,你接过电话,此时会话层(连接)建立成功。

       会话连接和传输连接之间有三种关系:一对一关系,即一个会话连接对应一个传输连接;一对多关系,一个会话连接对应多个传输连接;多对一关系,多个会话连接对应一个传输关系,好比打电话,一个人讲完后可以换另一个人讲话,而不必让电信局知道换了人讲话。会话过程中,会话层需要决定到底使用全双工通信还是半双工通信。如果采用全双工通信,则会话层在对话管理中要做的工作就很少;如果采用半双工通信,会话层则通过一计算机网络技术2个数据令牌来协调会话,保证每次只有一个用户能够传输数据。当会话层建立一个会话时,先让一个用户得到令牌。只有获得令牌的用户才有权进行发送。如果接收方想要发送数据,可以请求获得令牌。由发送方决定何时放弃。一旦得到令牌,接收方就转变为发送方。当我们进行大量的数据传输时,例如你正在下载一个100M 的文件,当下载到95M 时,网络断线了,这时怎么办?是否需要重头再传?为了解决这个问题,会话层提供了同步服务,通过在数据流中定义检查点(Checkpoint)来把会话分割成明显的会话单元。当网络故障出现时,从最后一个检查点开始重传数据。常见的会话层协议有:结构化查询语言(SQL);远程进程呼叫(RPC);X-windows 系统;AppleTalk 会话协议;数字网络结构会话控制协议(DNA SCP)等。
表示层的功能
       表示层主要是负责数据格式的转换,压缩与解压缩,加密与解密。
      OSI 模型中,表示层以下的各层主要负责数据在网络中传输时不要出错。但数据的传输没有出错,并不代表数据所表示的信息不会出错。例如你想下午两点从杭州出发去上海,于是你对上海的朋友说,“我下午两点来”,可是你的朋友却理解为两点钟到达上海。所以这句话虽然没有听错,却因为不同的理解,产生了完成不同的结果。
       表示层就专门负责这些有关网络中计算机信息表示方式的问题。表示层负责在不同的数据格式之间进行转换操作,以实现不同计算机系统间的信息交换。 两台计算机之间的信息交换除了编码外,还包括数组、浮点数、记录、图像、声音等多种数据结构,表示层用抽象的方式来定义交换中使用的数据结构,并且在计算机内部表示法和网络的标准表示法之间进行转换。
       示层还负责数据的加密,以在数据的传输过程对其进行保护。数据在发送端被加密,在接收端解密。使用加密密钥来对数据进行加密和解密。表示层还负责文件的压缩,通过算法来压缩文件的大小,降低传输费用。
应用层
       应用层是网络体系中最高的一层,也是唯一面向用户的一层,应用层将为用户提供常用的应用程序,并实现网络服务的各种功能。常用的电子邮件、上网浏览等网络服务,都是应用层的程序。

应用层主要是面对用户访问网络的。主要有一些应用程序,会话层,表示层,应用层如:DNS,FTP,E-mail,Telnet,HTTP。

TCP/IP五层架构

物理层、数据链路层、网络层、传输层、应用层。

 

 

 

R1、R2为路由器。

两个路由器相连,用交叉线/直连线 连以太口。(使用PPP协议)

用串口线连server口(两排扁针的口)。 

R1左边为集线器。(集线器共享带宽,接口收发信息会相互影响。工作在物理层。没有包过滤的功能,收到数据后向除接收端口外的所有接口转发)

R2右边为交换机。(交换机每个接口独占带宽,每个接口收发信息互不影响。工作在数据链路层。有包过滤的功能,根据表向指定端口转发数据。)

 

工作过程 

 

wireshark抓包工具

 

 

 

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

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

相关文章

HTTP报文分析

一、HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行请求头请求体): 下面我们基于socket编写一个简单的HTTP server import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Inp…

SSM框架整合一(springmvc+spring+mybatis+maven+tomcat)

一,环境说明 jdk1.7.0_07(cmd命令行输入java -version查看),点击下载 eclipse Kepler Service Release 2 apache-maven-3.3.9(cmd命令行输入mvn -v查看),点击下载 apache-tomcat-7.0.52,点击下载 mysql-5.5.28-winx64&#xff0c…

如何在windows机器上安装apache ab

为什么要使用apache ab,apache ab的是用来干嘛的,apache ab的命令? 如果您是来找上面这些问题的答案,那么请立刻关掉当前页面,因为这篇文章是纯粹的安装教程,避免浪费时间。 一,安装环境 win…

apache log4j入门

学习一项新东西之前,我常常问自己: 这项技术是什么? 这项技术为我们做了什么? 为什么不用其他类似的技术? 如何使用这项技术? 于是我带着这些问题开始学习apache log4j 一,apache log4j是…

低版本Eclipse如何快速设置黑色主题

低版本的Eclipse(例如Kepler Service Release 2),没有自带的黑色主题,并且在线安装黑色主题会报错 去网上找了一圈结果都是骗人的,这个时候别着急,只需三个简单的步骤即可完成黑色主题配置。 下面是设置完…

tomcat-maven插件热部署(简洁版)

最近在学ssm框架,为了提高学习效率,想使用tomcat-maven插件热部署,网上有很多关于这方面的文章,但是有很多坑。 自己总结了一下,简化了多余的配置,还有运行过程中发生异常的原因。 环境:apach…

eclipse中配置jad反编译插件

1 下载Eclipse支持jad插件的jar包 将下载得到的net.sf.jadclipse_3.3.0.jar放到eclipse》plugins目录下 2 eclipse配置jad插件 下载jad.exe 3 设置文件关联

SpringCloud学习之路(一)-简单Demo

首先,我们先在C:\Windows\System32\drivers\etc路径下的hosts最后添加两个地址用于模拟服务端以及消费端的IP 127.0.0.1 dept-8001.com #微服务端127.0.0.1 client.com #消费端 SpringCloud的一个最基础Demo,本地真实模拟环境(服务的创建者以及消费者),这是我们Demo截图: 分为一…

Oracle数据库数据泵导入导出

由于开发过程中有时候无法直接连数据库,这时候需要将数据库导入开发环境中,故此总结一个完整的数据库导入导出过程。 注意expdp和impdp命令末尾都不能加分号 1 导出某个用户的所有数据库对象 1.1 Linux导出 su - oracle 授权用户grant exp_full_data…

eclipse工作区打不开的解决方案

今天上班的时候发现eclipse打开总是闪退,刚开始以为是eclipse的问题,后来才发现是工作区的问题。 分享出来,希望能够帮助遇到同样问题的人。 1 设置询问打开的工作区 eclipse安装目录\configuration\.settings\org.eclipse.ui.ide.prefs&a…

日期时间总结

今天总结一下日期时间如何处理,方便以后查看。 1 Oracle 1.1 日期格式参数及其含义说明 Oracle不区分大小写,所以下面参数大小写都可以 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD …

Oracle对象被锁如何处理

1 查看被锁住的对象 select object_name,machine,s.sid,s.SERIAL# from v$locked_object l,dba_objects o ,v$session s where l.object_id  o.object_id and l.session_ids.sid; 2 解锁 将1中查询出的sid和serial#,作为参数 alter system kill session 2400,…

BeycondCompare3破解绿色版下载

链接: https://pan.baidu.com/s/1GBtkLdqU7wTAzjvn2QfHrw 提取码: rzcw 复制这段内容后打开百度网盘手机App,操作更方便哦

Oracle rowid和rownum的区别

rowid和rownum在本质上有区别: rowid rowid是物理结构上的,每插入一行数据,都会生成一条唯一的编号。可以说默认排序是根据rownum升序的,但是本质上还是根据rowid升序排列的。 rownum rownum可以说是伪列,并不存在&a…

Oracle/mysql联合查询union、union all

若无特殊说明,oracle与mysql均适用 使用场景 union、union all关键字用户将两个select查询结果集合并成一个结果集,例如:一个旧系统使用a表,同样的信息但是新系统使用了b表,这时候可以使用union或者union all关键字将…

【JAVA基础篇】反射

一、反射的概念 是指在运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用这个对象的所有方法和属性。这种动态获取信息和动态调用方法的功能称为JAVA的反射机制。 二、反射的优缺点 2.…

在线工具

分享一下很实用的在线工具 在线HTTP接口测试 草料二维码 站长之家

【JAVA基础篇】面对对象的特征

面对对象的3大特征是:封装、继承和多态 封装 封装就是将客观的事物封装成抽象的类,这个类包含这类事物共同的特性和行为,特性对应类的成员变量,行为对应类的成员方法。 封装就是将一批具有相同特性和行为的客观事物封装成抽象类…

【JAVA基础篇】final、finally和finalize

final final表示最终的、不可被更改的,用来修饰类、成员方法和变量,通常处于两方面的考虑来使用它:特殊的设计和效率。 final类 一个类如果确信没有子类或者这个类的方法不允许修改,那么就把这个类定义成final类。 final类的成…

【JAVA基础篇】抽象类和接口的区别

抽象类和接口是定义抽象概念的两种方式,正是由于抽象类和接口,才赋予了Java强大的面向对象的能力。在讨论他们的不同点之前,我们先来了解抽象类和接口。 抽象类 在面向对象的领域一切事物都是对象。对象都是通过类来描述的,但是反…