因特网5层模型及7层OSI参考模型

在因特网中,涉及两个或多个远程通信实体的所有活动都受协议的制约。

分层的体系结构:

为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议和实现协议的硬件和软件。且每一层具有地协议被称为协议栈(protocol stack)。因特网地协议栈由五个层次组成,自顶向下(top-down)分别为:

应用层(软件)

  • 应用层的分组称为报文

  • 应用层协议分布在多个端系统上,端系统之间的应用程序使用协议交换报文。

  • 应用层包括许多协议:HTTP(WEB文档的请求和传送),SMTP(电子邮件),FTP(端系统间文件传送)。

运输层(软件)

  • 运输层的分组称为报文段(segment)。

  • 在应用程序端点之间运输应用层报文。

  • 两种运输协议:

  • TCP:

    • 向应用程序提供面向连接的服务,包括应用层报文向目的地的确保传递和流量控制。
    • 将长报文划分为短报文。

    • 提供拥塞控制机制(网络拥塞时,抑制其传输速率)。

  • UDP:
    • 向应用程序提供无连接式服务,不提供不必要服务。
    • 无可靠性,无流量控制和拥塞控制。

网络层(硬件软件混合)

  • 网络层的分组称为数据报(datagram)。

  • 将数据报从一台主机移动到另外一台主机。

  • 包括网际协议和路由选择协议,其中有著名的网际协议IP,定义了数据包中各个字段以及端系统和路由器如合作用于这些字段。

  • IP仅有一个,且所有具有网络层的因特网组件都要运行IP,所以尽管网络层具有除IP协议以外的路由选择协议,但还是被亲切地称为IP层,因为IP厉害,IP将因特网连在了一起。

链路层(硬件)

  • 链路层分组称为(frame)。

  • 将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠链路层的服务。

  • 链路层包括以太网,WiFi和电缆接入网的DOCSIS协议。

  • 链路层提供的服务取决于该链路特定的链路层协议,某些协议基于链路提供可靠传递。链路层不同的链路会被不同的链路层协议处理,接受不同的服务。

物理层(硬件)

  • 物理层的任务是将链路层传递的帧中的一个个比特从一个节点移动到下一个节点,物理层协议依旧与链路相关,且与链路的实际传输媒体(如双绞铜线和单模光纤)有关。

OSI模型

OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定地一个用于计算机或通信系统间互联地标准体系,一般被称为OSI参考模型或者七层模型

没有提供一个可以实现地方法,而是描述一些概念,是一个概念性地框架,而且OSI模型在设计时协议这玩意还没发明出来。

OSI模型自上而下分别为应用层、表示层、会话层、运输层、网络层、链路层和物理层。除了表示层和会话层,其他五层与因特网五层模型中地对应层功能相同,所以再补充以下表示层和会话层的功能。

表示层

使通信的应用程序能够解释交换数据地含义,包括数据压缩,数据加密和数据描述。

会话层

提供数据交换地定界和同步功能,包括建立检查点和恢复方案地方法。

关于OSI模型的参考:OSI模型究竟忽悠了多少人

封装

数据从发送端系统的协议栈向下,沿着中间的链路层交换机和路由器的协议栈,然后向上到达接收端系统的协议栈。

路由器和链路层交换机都是前两篇提到的分组交换机,且他们并没有实现协议栈中的所有层次。

比如:链路层交换机实现了链路层和物理层这两层,而路由器实现了网络层,链路层和物理层这三层,相比之下,可以看出,路由器能够实现链路层交换机无法实现的IP协议(第三层协议)

主机能够实现所有的层次。

封装(encapsulation)是一个很重要的概念,可以看到:

  • 在发送主机端,一个应用层报文(application-layer message)被传送给运输层,运输层收到之后,在报文首部附上首部信息,这个首部信息会被接收端的运输层使用。应用层报文和运输层首部信息一起构成了运输层报文段(transport-layer segment),也就是说运输层封装了应用层报文。

  • 同理:运输层则向网络层传递报文段,网络层又类似地在其首部添加注入源和目的端系统地址等网络层首部信息,生成网络层数据报(network-layer-datagram)。

  • 继续向下,数据包被传递给链路层,链路层继续加上链路层地首部信息,生成链路层帧(link-layer-frame)。

自此,报文从应用层传输到链路层的过程结束,我们可以知道:

  • 在每一层地分组都具有两种类型地字段:首部字段有效载荷字段(payload field),所谓有效载荷就是上一层地分组

  • 接收端反向对封装进行重构,一层一层去掉首部信息,以接收原信息。

协议分层(因特网5层模型)及7层OSI参考模型的更多相关文章

  1. 网络OSI七层模型及各层作用 与 TCP/IP

    背景 虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTT.CoAP.LWM2M.OPC),需要重新复习一下. OSI七层模型 七层模型,亦称OSI(Open System ...

  2. OSI7层模型(TCP4层)

    OSI7层模型(TCP4层) 第一层:物理层 在局部局域网络上传送帧,它负责管理电脑通信设备和网络媒体之间的互通.包括了针脚.电压.线缆规范.集线器.中继器.网卡.主机适配器等. 第二层:数据链路层 ...

  3. OSI七层模型及各层作用

    物理层:建立.维护.断开物理连接 数据链路层:该层的作用包括了物理地址寻址,数据的成帧,流量控制,数据的检错,重发等.该层控制网络层与物理层之间的通信,解决的是所传输数据的准确性的问题.为了保证传输, ...

  4. 网络基础七层模型与TCP/IP协议

    1.网络基础 1.1 什么是网络 网络就是计算机网络是一组计算机或网络设备通过有形 的线缆或无形的媒介如无线,连接起来,按照一定的 规则,进行通信的集合. 网络通信就是指终端设备之间通过计算机网络进行 ...

  5. 001 七层OSI参考模型

    一.什么是七层OSI参考模型 OSI(Open System Interconnect),即开放式系统互连.是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考 ...

  6. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  7. OSI七层模型与TCP/IP协议

    作者:菘蓝 时间:2022/9/1 ================================================================================== ...

  8. 简单了解下OSI七层模型的作用以及常见网络协议含义和所用端口

    OSI七层模型及每层的作用 包括:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层物理层用来建立.维护.断开物理连接数据链路层建立逻辑链接.进行硬件地址寻址.差错校验等功能网络层进行逻辑地址 ...

  9. python网络编程-OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

随机推荐

  1. 在k8s上安装Jenkins及常见问题

    持续集成和部署是DevOps的重要组成部分,Jenkins是一款非常流行的持续集成和部署工具,最近试验了一下Jenkins,发现它是我一段时间以来用过的工具中最复杂的.一个可能的原因是它需要与各种其它 ...

  2. 你不知道的Canvas(二)

    你不知道的Canvas(二) 一.色彩Colors 到目前为止,我们只看到过绘制内容的方法.如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle. fill ...

  3. 【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  4. NOI1995 石子合并 [Luogu P1880]

    一道区间dp的模板题,这里主要记一下dp时环形数据的处理. 简略版:方法一:枚举分开的位置,将圈化为链,因此要做n次. 方法二:将链重复两次,即做一个2n-1长度的链,其中第i(i<=n)堆石子 ...

  5. 学习笔记03http协议

    1.浏览器就是一个sokect客户端,使用http协议与服务器进行交流.http请求:请求头:(请求方法)sp(url)sp http/1.x <cr><lf>(通用头类型名) ...

  6. ASP_MVC项目设计技巧规则

    对于上述这种类型的前台页面,属于典型的List型的页面,那么,对于model的设计,要考虑前台人员的负担,尽量简洁: model: Name : 对应产品名称,如FMOS_WPF.FMOS_Tun.. ...

  7. Django学习day1——Django的简单介绍

    1.了解Web基本的开发 使用Python开发Web,最简单,原始和直接的办法是使用CGI标准现在从应用角度解释它是如何工作: 首先做一个Python脚本,输出HTML代码,然后保存成.cgi扩展名的 ...

  8. 蓝牙耳机没声音,用mac平台下的safari时

    买了个蓝牙耳机,发现用其他本地播放器或者chrome的时候有声音, 但是用safari的时候没有声音,最后发现是flash的问题. 只要清除浏览数据后刷新就有声音了

  9. P4568 [JLOI2011]飞行路线(分层图)

    机房dalao推荐写的...(标签分层图) 经过前几题的分层图的洗礼,我深刻地体会到了分层图的优点和好处(主要是不想打dp....) 先说题吧.... 很明确,模型是最短路,但是,怎么跑k个,是个问题 ...

  10. VNC的安装以及使用

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 UNIX 和  ...