一、产生背景

1.伴随着计算机网络的飞跃发展,各大厂商根据自己的协议生产出了不同的硬件和软件

2.为了实现网络设备间的互相通讯,ISO和IEEE相继提出了OSI参考模型及其TCP/IP模型

二、OSI参考模型

1.OSI参考模型定义了网络中设备所遵守的层次结构

分层结构的优点:1)开放的标准化接口

        2)多厂商兼容性

        3)易于理解、学习和更新协议标准

        4)实现模块化工程,降低了开发实现的复杂度

        5)便于故障排除

2.OSI参考模型层次结构

3.对等通信

1)每一层都使用自己的协议

2)每一层都利用下层提供的服务与对等通信

4.数据封装与解封装

数据封装的过程大致如下:

1.用户信息转换为数据,以便在网络上传输
2.数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接
3.数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网络进行传输
4.数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址唯一标识每一台主机。
5.帧转换为比特流,并采用数字编码和时钟方案
 
数据解封装过程:
数据的接收端从物理层开始,进行与发送端相反的操作,称为“解封装”,
需要说明的是,应用最为广泛的TCP/IP协议可以看作是OSI协议层的简化,它分为四层:数据链路层、网络层、传输层、应用层,其各层对应的数据封装与OSI大同小异。

三、OSI参考模型层级应用

1.物理层

1)物理层介质

双绞线、同轴电缆、光纤、无线电信号等

2)局域网物理层

常见标准:10Base-T、100Base-TX/FX、1000Base-T、1000Base-SX/LX

常见设备:中继器、集线器

3)广域网物理层

常见标准:RS-232、V.24、V.35

常见设备:Modem

2.链路数据层

1)典型数据链层标准

局域网数据链路层标准:

IEEE802.1   基本局域网问题

IEEE802.2   定义LLC子网

IEEE802.3   以太网标准

IEEE802.4  令牌总线网

IEEE802.5   令牌环网

广域网数据链路层标准:

HDLC

PPP

Frame Relay

3.网络层

1)网络层地址

网络层地址通常由两部分组成:网络地址、主机地址

网络层地址是全局唯一的

2)网络层路由协议与可路由协议

可路由协议(routed protocol)定义数据包内各个字段的格式和用途,对数据进行网络层封装

路由协议(routing protocol)在路由器之间传递信息,计算路由并形成路由表,为可路由协议创造路径

3)面向连接和无连接的服务

面向连接的服务:通信之前先建立连接,通信完成后断开连接

        有序连接

        应答确认

        差错重传

        适合于对可靠性要求高的应用

无连接的服务:尽力而为的服务

       无需建立连接

       无序列号机制,无确认机制,无重传机制

       适合于对延迟敏感的应用

4.网络层协议操作

4.传输层

5.会话层、表示层和应用层

四、总结

1.OSI参考模型和TCP/IP的出现,为清晰的理解互联网络、开发网络产品和网络设计带来了极大的方便,推动了计算机网络的飞速发展。

2.OSI参考模型为七层,而TCP/IP参考模型为四层。

第二章 OSI参考模型的更多相关文章

  1. 第1章 1.8计算机网络概述--OSI参考模型和网络排错

    OSI参考模型的网络排错: 每一层都为上一层提供服务. 如果网络出故障了,应该从底层向高层一层一层的查. OSI参考模型排错指导:(排错原则:自下而上.终极大招ping命令) 1.物理层故障: ①查看 ...

  2. 第1章 1.6计算机网络概述--OSI参考模型

    ISO七层模式:国际标准组织对互联网通信规则进行的定义. 7.应用层:所有能产生网络流量的程序,如:QQ. 6.表示层:传输前对数据进行进行处理,是一种数据处理的规则,如:加密.压缩.传输二进制(图片 ...

  3. 第二章 TCP/IP 基础知识

    第二章 TCP/IP 基础知识   TCP/IP  transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的.   ...

  4. OSI七层协议模型及OSI参考模型中的数据封装过程

    转载自:http://blog.csdn.net/qq_14935437/article/details/71081546 OSI模型,即开放式通信系统互联参考模型(Open System Inter ...

  5. TCP/IP与OSI参考模型原理

    网络是很重要同时也是很难理解的知识,这篇文章将会用自己容易理解的方式来记录有关网络的tcp与osi模型内容,不求专业深刻,但求通俗易懂也好. OSI参考模型 OSI定义了网络互连的七层框架(物理层.数 ...

  6. 浅谈OSI参考模型(七层模型)

    很多人说"21世纪人类最伟大的发明就是计算机":正是如此,21世纪的今天,计算机正对我们的社会发展和生活起居产生着不可估量的影响:电脑,手机都能上网随时随地了解多彩的世界.但是有时 ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  8. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  9. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

随机推荐

  1. SpringCloud系列之Nacos+Dubbo+Seata应用篇

    目录 前言 项目版本 项目说明 Nacos服务 Seata服务 订单模块 支付模块 参考资料 系列文章 前言 本文接上篇文章<SpringCloud系列之Nacos+Dubbo应用篇>继续 ...

  2. magento首页

    访问首页的时候,路径时没有的,magneto会获取站点的默认路径Mage_Core_Controller_Varien_Router_Standard::match if ($path) {      ...

  3. Linux环境变量总结 转

    转自https://www.jianshu.com/p/ac2bc0ad3d74 Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境 ...

  4. JMeter5.0在windows(含插件安装)

    一.jmeter下载 前提:已经安装jdk8+ jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi 有Binaries和Source版本 前 ...

  5. 关于bat中日期时间字符串的格式化

    在其他编程语言中,要实现日期时间字符串的格式化,包括时间计算,都是比较简单的 但在bat或者说cmd.dos中要实现这些功能.还是有一定难度的 首先,windows的cmd中可以使用%date%表示日 ...

  6. xss利用——BeEF#stage2(初始并持续化控制)

    全文概览 浏览器攻击方法流程 攻击浏览器一般分为几个阶段,如下图 整个过程分为三个步骤,第一步是初始化控制,第二步是持续控制,第三步是攻击.在第三步中的七个攻击方法是可以交叉的,比如可以同时攻击用户和 ...

  7. redis过期策略以及内存淘汰机制(理论+配置)

    一.redis的过期策略: redis的过期策略是:定期删除+惰性删除redis在存储数据时,可能会设置过期时间,而所谓的定期删除,指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的k ...

  8. win10 配置 maven | 下载与配置

    <!-- 阿里云仓库 --> <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf&g ...

  9. Python-全局解释器锁GIL原理和多线程产生原因与原理-多线程通信机制

    GIL 全局解释器锁,这个锁是个粗粒度的锁,解释器层面上的锁,为了保证线程安全,同一时刻只允许一个线程执行,但这个锁并不能保存线程安全,因为GIL会释放掉的并且切换到另外一个线程上,不会完全占用,依据 ...

  10. Python-序列常用方法 + * += extend append方法区别

    + 两边都是相同序列类型.拼接成一个新的序列 print((1, 2, 3) + (4, 6)) print("beimenchuixue" + "ximenchuife ...