网络模型

一,OSI参考模型
OSI 模型提供了一个用来进行网络系统设计的层次化框架。它由 个相互独立但又有互相关联的层次组成,每一层都定义了通过网络传递信息的一部分功能。深刻理解OSI模型的基本概念是探索数据通信领域知识的一个坚实基础。

层次化体系
OSI 模型由7个有序的层组成:物理层(第一层)、数据链路层(第二层)、网络层(第三层)、传输层(第四层)、会话层(第五层),表示层(第六层)以及应用层(第七层)。图示了当一个报文从设备到设备传输时所渺及的层次。当报文从设备到设备时,它可能通过许多中间节点。这些中间节点通常只涉及OSI模型的前三层

对等过程
在物理层,通信是直接发生的。在图中,设备将位流传送到设备 (通过中间节点)。但是,在更高层次中,通信必须先在设备中从上层传到下层,再传输到设备 ,然后在设备中再从下层传输到上层。在发送端,每一层都在从直接上层传来的报文加上自己的信息,井将整个分组传到它的直接下层。
在第一层,整个分组被转换成可以传输到接收端设备的形式。在接收端,报文被一层一层地打开,每一层接收并提取对它有意义的数据

  1. 层间接口
    发送设备将数据和网络信息从高层向低层传递,而接收设备将这些信息由低层向高层传递,这个过程是通过相邻两层的接口 (ioterface) 来实现的。每一层接口都定义了该层必须向上层提供信息和服务。良好定义的接口和层功能可使网络模块化。只要某一层仍能为上一层提供所期望的服务,该层功能的具体实现就可以在不改变周围层次的基础上进行修改和替换。
  2. 层间组织
    7个层次可以为分属于3个子功能组。第一层、第二层和第三层(物理层、数据链路层和网络层)是网络支持层,它们处理从一设备到另一个设备数据传输的物理方面问题(比如,电气特性、物理连接、物理寻址、传输的时序和可靠性)。第五层、第六层和第七层(会话层、表示层和应用层)可认为是用户支持层,它们允许不相关的软件系统间的互操作。第四层即传输层,将这两个子功能组连接起来,并保证下层是以上层能够使用的形式传输的。 OSI 的高层常通过软件来实现,而低层则是由硬件和软件混合实现,但物理层几乎都是由硬件实现。

OSI模型的各层功能

  1. 物理层:包含那些在物理介质上传输位流所必需的功能。它定义了接口与传输介质的机械和电气特性,也定义了物理设备和接口为了传输而必须执行的过程和功能。图表示了对应传输介质与数据链路层的物理层的位置。

    物理层负责位从一个节点到另一个节点的传递。

物理层考虑以下一系列问题:
·接口与介质的物理特性:物理层定义了设备与传输介质之间的接口特性,也定了传输介质的类型
·位的表示:物理层的数据是没有任何解释的位 (bit) 流(由 所组成的序列)。要进行传输,位必须编码成信号一一电信号或光信号。物理层定义编码 (encoding) 的类型(如何将 转换成信号)。
·数据速率:传输速率 (transmisson rate) ,即每秒发送的位数,也在物理层定义。换言
之,物理层也定义一个位持续多长时间。
·位同步:发送方与接收方不仅使用相同的比特率,还必须位同步。换言之,发送方的时
钟与接收方的时钟必须同步

·线路配置:物理层楼及设备与介质的连接。在点到点配置中,两个设备通过一条专用链
路连接。在多点配置中,许多设备共享一条链路

·物理拓扑结构:物理拓扑结构定义如何将设备连接成网络。设备的连接方式可以是网状
拓扑结构
(每台设备均与其他设备连接)、星型拓扑结构(通过中心设备与其他设备连接)、环状拓扑结构(每台设备与下一台设备连接以组成一个环)和总线拓扑结构(每台设备都在一条公共链路上)。
·传输方式:物理层也定义两台设备之间的传输方向:单工、半双工和全双工。在单工方
式中,只有一个设备能发送,另一个设备只能接收。单工方式是单向通信。在半双工方式中,两台设备都能发送和接收,但不能在同一时刻。在全双工(或双工)方式中,两个设备能在同一时刻发送与接收。

  1. 数据链路层
    将物理层一一对数据不做任何改动的传输通道变成可靠的链路,这样可以将物理层的数据无差错地传递给上层(网络层)。

    H2:自身物理地址/目的物理地址。
    T2:差错控制。
    数据链珞层负责帧从一跳(节点)到下一跳(节点)传递。

数据链路层的具体职责如下:
·成帧。数据链路层将接收到的来自网络层的位流划分成称为 (frame) 的易处理数据
单元。
·物理寻址。如果帧是发送给网络中不同系统,则数据链路层在帧的头部添加发送方的物理地址接收方的物理地址。如果帧要发往发送方网络之外的系统,那么接收方的地址就是连接一个网络到下一个网络的设备地址。
·流量控制。如果接收方接收数据的速率小于发送方发送的速率,那么数据链路层就会采用流量控制机制以防止接收方过载。
·差错控制。数据链路层增加一些机制用来检测与重发损坏帧或丢失帧,从而增加了物理层的可靠性。还用了一个机制防止重复帧差错控制通常在一个帧的结束处增加一个尾部来处理
·访问控制。当两台或多台的设备连接到同一条链路上肘,数据链路协议必须能决定在任意时刻由哪一台设备来获取对链路的控制权。

  1. 网络层
    网络层 (network layer) 负责将各个分组从源地址传递到目的地址,可能会通过多个网络(链路)。尽管数据链路层会监视同一个网络(链路)上两个系统之间分组的传递,但是还需要网络层确保每个分组能够从出发点到达目的地。
    如果两个系统连接在同一条链路上,则通常不需要网络层。然而,如果两个系统在不同
    的网络(链路)上并通过网络(链路)之间的设备连接,通常就需要网络层以完成源端到目
    的端的传递。


    网络层的具体任务是:
    ·逻辑寻址物理寻址负责处理本地网络寻址问题它由数据链路层完成。如果一个分组通过网络边界,就需要另一个寻址系统来帮助区分源与目的系统。网络层给来自上一层的分组增加一个头部,它包括发送方与接收方的逻辑地址
    ·路由选择。当一些强立网络或链路连接在一起构成一个互联网(一个由网络连成的网络)
    或一个更大的网络时,连接设备(称为路由器或网关)把分组送到它们的最终目的地,网络层的功能之一是提供这种机制。

  2. 传输层
    传输层 (transport layer) 负责整个报文的进程到进程传递进程是主机上运行的应用程序。尽管网络层监管各个分组的源端到目的端传递 ,但是它并不了解这些分组之间的相互关系。网络层独立处理每个分组,就像每个分组都属于一个独立报文一样,不管实际上是否这样。传输层正好相反,它确保整个报文无差错并按顺序地到达目的地,并在源到目的层次进行差错控制流量控制
    传输层负责一个报文从一个进程到另一个进程的传递
    传输层的具体任务如下:
    ·服务点导址。常常会有许多程序同时在一台计算机上运行,因此源端到目的端的传递就意味着不仅是从一台计算机传递到另一台计算机,而是从台计算机上的一个特定进程(运行的程序)传递到另一台计算机上的一个特定进程(运行的程序)。因此,传输层信息的头部就必须包含服务点地址(也叫端口地址)。网络层将每个分组传送到指定的计算机上,而传输层则将整个报文传送给该计算机上的指定进程。
    ·分段和组装。将报文分解成可传输的片段,并且给这些片段编上序号。这些序号不仅使传输层可以在接收端将报文正确地组装,而且可以用来标识和替换传输中丢失的分组。
    ·连接控制。传输层可以是无连接的或面向连接的。无连接的传输层将每个片段作为一个独立的分组,并将它传递到目的机器的传输层。而面向连接的传输层,在传递分组之前,需要与目的机器的传输层建立一条连接。所有数据被传输后,该连接择放
    ·流量控制。如同数据链路层一样,传输层担负流量控制 (flow control) 的责任。然而,这一层的流量控制是在端到端上,而不是在单条链路上。
    ·差错控制。如同数据链路层一样,传输层担负差错控制 (error control) 的责任。然而,这一层的差错控制是在进程到进程上,而不是在单条链路上。发送方的传输层确保整个报文无差错(损坏丢失或重复)地到达接收方的传输层。通常通过重发来纠正差错。

  1. 会话层
    网络的对话控制器,它建立和维护以及同步通信系统间的交互操作。
    会话层负责对话控制和同步
    会话层的具体任务是:
    ·对话控制:会话层允许两个系统进入会话。它允许两个进程之间以半双工(一次一个方
    向)或全双工(一次两个方向)方式进行通信。
    ·同步 :会话层允许一个进程在数据流中增加检查点或同步点 (synchronization point)

  2. 表示层
    两个系统之间交换信息的语义和语法。表示层负责翻译、加密和压缩数据

    表示层的具体任务是:
    ·翻译:两个系统中的进程(运行程序)通常以字符串、数字等格式来交换信息。在传输前,信息必须变换成位流。因为不同计算机采用不同的编码系统,因此表示层负责不同编码方法之间的互操作。发送方的表示层将信息从发送方使用的格式转换成一个公共的格式。接收方机器的表示层将公共格式转换成接收方使用的格式。
    ·加密:为了传输敏感信息,一个系统必须保证秘密。加密是指发送方将原来的信息转换成另一种形式,并在网络上发送转换后的形式。解密是将信息转换回它的原始形式。
    ·压缩数据压缩减少需要传输数据的位数。数据压缩对于多媒体(如文本、音频和视频)的传输显得特别重要。

  3. 应用层
    应用层 (application layer) 使得用户(不管是人还是软件)可以访问网络。它提供了用户接口和服务支持。比如电子邮件、远程文件访问与传输、共享数据库管理以及其他分布式信息服务。
    应用层的具体服务如下:
    ·网络虚拟终端:网络虚拟终端是物理终端的软件版本,允许用户登录到一台远程主机上。为此,应用程序在远程主机上创建一个软件模拟终端。用户计算机只与这个软件终端对话,而软件终端与主机对话,反之亦然。而远程主机认为自己是在与自己的一个终端通
    信,因而允许用户登录。
    ·文件传输、访问和管理:这项应用允许用户访问远程计算机上的文件(进行修改或读取数据) .从远程计算机上检索文件,以及管理或控制远程计算机上的文件。
    ·邮件服务:提供电子邮件存储转发的基础。
    ·目录服务:提供分布式数据库资源以及对不同对象和服务的全球信息的访问。

各层功能小结:

有了这张图,还搞不懂计算机网络?怎么敢的呀?

TCP/IP协议族
TCP/IP协议族 (TCP/IP protocol suite) 是在OSI 模型之前开发的。所以TCP/IP协议族的层次与OSI 模型的层次并不严格对应。TCP/IP协议族由4个层次组成:主机到网络层互联网层传输层应用层。然而,当TCP/IP与OSI 模型比较时,则可以说主机到网络层相当于物理层和数据链路层的组合互联网层等价于网络层应用层所做的工作大致上相当于会话层、表示层和应用层以及TCP/IP传输层处理会话层的部分功能。所以在本书中假定TCP/IP协议族层组成:物理层、数据链路层、网络层、传输层和应用层。前面层提供物理标准、网络接口、网际互联和传输功能,它相应于OSI 模型前的4层。 OSI 模型最上面的3层由 TCP/IP一个称为应用层的单一层来表示。
TCP/IP是由相互作用的模块组成的分层协议,每一层提供一个特定的功能,但它们不需要相互依赖。尽管OSI模型指定了属于每层的功能,但TCP/IP协议族的各层却包含一些相对独立的协议,这期协议依据系统的需要能棍合与匹配。术语分层意指每个上一层协议是由一个或多个下层协议支持的。在传输层. TCP/IP定义了 个协议:传输控制协议 (TCP)用户数据报协议 (UDP)和流控制传输协议 (SCTP) 。在网络层,由TCP/IP定义的主要协议有网际协议(IP) .尽管还有支持数据运行的其他协议。

具体有哪些协议以及有什么作用,我下篇博客一一道来。

数据通信与网络有这一篇就够了(网络模型篇)相关推荐

  1. 理解Python并发编程一篇就够了 - 线程篇

    目录 前言 GIL 同步机制 1. Semaphore(信号量) 2. Lock(锁) 3. RLock(可重入锁) 4. Condition(条件) 5. Event 6. Queue 线程池 前言 ...

  2. SQL 入门,看这篇就够了 ---- 基础篇

    目录 目录 目录 数据库安装 数据库基本概念 数据库管理系统(DBMS)的分类 SQL 语句 创建.删除.更新操作 创建数据库(CREAT DATABASE) 创建表 删除表 更新表 查询.筛选操作 ...

  3. caffe-源码学习——只看一篇就够了

    caffe-源码学习--只看一篇就够了 网络模型 说caffe代码难懂,其实关键点在于caffe中有很多基础的数学运算代码,如果能够对掌握这些数学运算,剩下的就是推公式了. 激活函数 sigmoid ...

  4. java过滤器的优点和缺点,「高级进阶」布隆过滤器这一篇就够了

    前言在「摩擦面试官」Redis这一篇就够了 这篇文中有提到用布隆过滤器来解决缓存穿透.那么,今天,他来了,他来了,他脚踏七彩祥云来了(手动狗头) 是什么?弗雷尔卓德之心布隆是LOL中偏辅助的英雄,下面 ...

  5. 「高级进阶」布隆过滤器这一篇就够了

    前言 在「摩擦面试官」Redis这一篇就够了 这篇文中有提到用布隆过滤器来解决缓存穿透.那么,今天,他来了,他来了,他脚踏七彩祥云来了(手动狗头) 是什么? 弗雷尔卓德之心布隆是LOL中偏辅助的英雄, ...

  6. Handler原理剖析,看这篇就够了

    Handler原理剖析,看这篇就够了 本篇文章将会对Handler进行深层次的剖析,结合关系剖析图.代码走向剖析图以及10个常见问题,希望看完文章的同学都能有所收获,加深对Handler的了解! 一. ...

  7. pytorch自带网络_【方家之言】一篇长文学懂 pytorch

    作为目前越来越受欢迎的深度学习框架,pytorch 基本上成了新人进入深度学习领域最常用的框架.相比于 TensorFlow,pytorch 更易学,更快上手,也可以更容易的实现自己想要的 demo. ...

  8. 深度好文:云网络丢包故障定位,看这一篇就够了~

    深度好文:云网络丢包故障定位,看这一篇就够了~ https://mp.weixin.qq.com/s/-Q1AkxUr9xzGKwUMV-FQhQ Alex 高效运维 今天 来源:本文经授权转自公众号 ...

  9. 2021上岸东南大学网络空间安全学院916学硕心得分享——初试篇

    2021上岸东南大学网络空间安全学院916学硕心得分享--初试篇 一.导言 1.根据自己的实际情况合理选择院校 2.坚定的决心 3.良好的心态 4.灵通的消息 5.良好的学习习惯 二.英语篇 1.单词 ...

  10. 网络编程懒人入门(十二):快速读懂Http/3协议,一篇就够!

    本文中文译文由作者"ably.io"发布于公众号"高可用架构",译文原题:<深入解读HTTP3的原理及应用>.英文原题:<HTTP/3 dee ...

最新文章

  1. 彩色空间及cvtColor解析
  2. 计算机视觉开源库OpenCV之threshold()函数详解
  3. Linux之Centos允许root连接ftp
  4. java如何让线程等待_如何使Java线程等待另一个线程的输出?
  5. [mybatis]全局配置文件标签顺序
  6. c++用类实现高斯消元法求解线性方程组的解_高斯消元
  7. Intellij IDEA 备忘录
  8. php input type属性,input标签是什么?input标签属性有哪些
  9. Java 分布式面试题集合
  10. Unity日常Bug
  11. 用 LCD1602 显示的时钟
  12. 阿里云服务器,解析二级域名
  13. ctfshow--node.js漏洞
  14. Java中的多态,引用类型的转换
  15. 第12章 对话框
  16. 干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
  17. 单片机课程学习的数字时钟系统模块化设计研究
  18. 旅行世界登陆显示服务器繁忙,原神登陆系统繁忙 原神无法登录怎么办
  19. CDH安装指南(Centos6)
  20. 微软杀毒软件6月1日正式上市 暂不进入中国市场(转)

热门文章

  1. HTML写简历表格及内容
  2. linux 同步北京时间_设置linux的时间为北京时间
  3. BZOJ3097Hash Killer I
  4. iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
  5. Python数据分析学习 二
  6. DCFNET:用于视觉跟踪的判别相关滤波器网络
  7. WPF使用DialogResult.OK报错
  8. 东南大学成贤学院计算机类怎么样,东南大学成贤学院什么专业比较好 怎么选择专业...
  9. [re入门]IDA和OD的基本使用(持续更新)
  10. mysql水仙花数,水仙花数_水仙花数c语言程序