TCP/IP协议族

TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应。原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前TCP/IP协议族被认为是一个五层模型,其层的命名类似于OSI模型中相应的层。如下图所示:



OSI和TCP/IP协议族的比较 当我们比较这两个模型时会发现,再TCP/IP协议族中没有会话和表示这两层。即使在OSI模型发布后,TCP/IP协议族也没有因此而增加这两层。在TCP/IP协议族中通常认为应用层是OSI模型的最高三层的合并,如下如所示:

采用这一决定的理由有两个。首先,TCP/IP有多个传输层协议,而会话层的某些功能在一些传输层协议中已具备。其次,应用层并不仅仅是一个软件,这一层允许开发的应用程序有很多。如果特定的应用程序需要用到会话层和表示层中某些相应的功能,那么这些功能也可以包含在该应用软件中进行开发。 TCP/IP是一种分层协议,它由多个交互的模块构成,每个模块都提供了特定的功能,但是这些模块并不是必须互相依赖的。OSI模型具体规定了哪一层应该具备哪些功能,而TCP/IP协议族的每一层则包含的是一些相对独立的协议,可以根据系统的需要把这些协议混合并重新搭配使用。术语"层次化"指的是每一个上层协议都由一个或多个下层协议来支持。 接下来我们将简单地讨论一下TCP/IP协议族中各层的作用。在研究每一层所起的作用时,考虑一个专用的互联网要比考虑全球因特网更加简单。我们假设在一个小型的专用互联网内使用TCP/IP协议族。这种互联网是由若干个小型的称之为链路的网络组成的。一条链路(link)就是允许一组计算机互相通信的一个网络。例如,一个办公室中所有计算机都通过网线连接在一起,这种连接关系就形成了一条链路。若某私人企业中的若干台计算机通过卫星信道互相连接,此连接也是一条链路。就像我们在后面会讨论的那样,一条链路有可能是服务小范围区域的LAN(局域网),也有可能是服务很大范围区域的WAN(广域网)。我们还要假设不同链路通过称为路由器或者交换机的设备相连接在一起,这些设备会为数据选路以送抵它们最终的目的地。如下图所示为我们虚构的一个互联网,用来说明TCP/IP各层的作用。图中有6条链路和四个路由器(R1到R4),在这幅图中只画出了两台计算机,计算机A和计算机B。

物理层 在物理层,TCP/IP没有定义任何特定的协议。它支持所有标准的和专用的协议。在这一层,通信发生在两跳或两个结点之间,可能是计算机,也可能是路由器。通信以比特为单位。当两个结点之间建立连接后,就会有一个比特流在它们之间流动。但是对于物理层来说每个比特都将被独立对待。下图所示为结点之间的通信,我们假设此时两台计算机都已知道了与对方通信的最有效路径是经过路由器R1、R3和R4。至于如何知道则属于后面讨论内容。

请注意,如果一个结点与n条链路相连,那么它需要n个物理层协议,每条链路各需要一个,原因在于不同的链路可能使用不同的物理层协议。图中只显示了此次通信所涉及到的物理层,每台计算机仅涉及一条链路,而每台路由器仅涉及两条链路,如上图所示,这些比特在计算机A和计算机B之间的旅程是由四个独立的短途旅程构成的。计算机A以链路1所使用的协议格式向路由器R1发送各比特。路由器R1以链路3所使用的协议格式向路由器R3发送这些比特,以此类推。路由器R1有三个物理层(在我们假设的场景中只显示了两个),连接到链路1的物理层根据链路1所使用的协议的格式来接受这些比特,连接到链路3的物理层根据链路3所使用的协议的格式来发送这些比特。此次通信过程中涉及的其他两个路由器的情况也于此相同。

物理层的通信单位是比特 除了传送比特之外,物理层的其他任务也与OSI模型的物理层相对应,且主要取决于提供链路的底层技术。例如,在后面我们就会讨论局域网和广域网的物理层有很多协议可用。

数据链路层

OSI模型和TCP/IP协议族(三)的更多相关文章

  1. OSI模型和TCP/IP协议族(一)

    1990年以前,再数据通信和组网文献中占主导地位的分层模型是开放系统互连(Open System Interconnnection,OSI)模型.当时所有人都认为OSI模型将是数据通信的最终标准,然而 ...

  2. <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...

  3. OSI模型和TCP/IP协议族(二)

    OSI模型中的各层 物理层 物理层(physical layer)协调通过物理媒体传送比特流时所需要的各种功能.物理层涉及到接口和传输媒体的机械和电器规约.它还定义了这些物理设备即接口为了实现传输必须 ...

  4. OSI模型与TCP/IP协议族

    OSI模型与TCP/IP协议族 年之后,TCP/IP协议族逐渐成为占主导的商用体系结构,广泛应用于Internet中,并通过广泛的測试.而OSI模型从来没有被全然实现过. 一.OSI模型: OSI与I ...

  5. OSI 七层模型和 TCP/IP 协议比较

      OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...

  6. [转]从OSI网络模型到TCP/IP协议族简介

    OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...

  7. 漫谈网络通信——从OSI网络模型到TCP/IP协议族

    OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...

  8. TCP/IP协议族(三) 数字签名与HTTPS详解

    前面几篇博客聊了HTTP的相关东西,今天就来聊一聊HTTPS的东西.因为HTTP协议本身存在着明文传输.不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点,所以才有了HTTPS的缺陷 ...

  9. TCP/IP知识总结(TCP/IP协议族读书笔记一)

    一.简述TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/互联网互联协议,又名网络通信协议.是Internet最基 ...

随机推荐

  1. 微信小程序初识

    http://lib.csdn.net/article/wechat/46742 微信小程序的前途和定位有什么疑惑?点进去 简单先记几个印象名词:流量入口,线下是重点,“即用即走”适合低频工具类产品. ...

  2. Python常用数据结构之heapq模块

    Python数据结构常用模块:collections.heapq.operator.itertools heapq 堆是一种特殊的树形结构,通常我们所说的堆的数据结构指的是完全二叉树,并且根节点的值小 ...

  3. (MonoGame从入门到放弃-2) 初识MonoGame

    上一节记录了大致的搭建MonoGame的环境,默认大家都是都是使用过Visual Studio的,没使用过的话,可以去https://www.visualstudio.com/下载一个试试,社区版免费 ...

  4. Qt Create or VS 2015 使用 Opencv330 相机静态库链接错误如何解决?

    查看链接库,添加 vfw32.lib 即可.

  5. 算法提高 P1001

    必须感叹下,大数模板就是好用! AC代码: #include <cstdio> #include <cmath> #include <algorithm> #inc ...

  6. Lua Table转C# Dictionary

    因为在游戏公司做web后台开发,经常会涉及到取游戏服务器的数据库里面读写各种操作. 昨天下午,服务器那边让我读一个配置显示到后台,让运营大佬们可以在web后台配置游戏参数. 本来以为很简单个事情,结果 ...

  7. 第3章 PCI总线的数据交换

    PCI Agent设备之间,以及HOST处理器和PCI Agent设备之间可以使用存储器读写和I/O读写等总线事务进行数据传送.在大多数情况下,PCI桥不直接与PCI设备或者HOST主桥进行数据交换, ...

  8. Java Web项目报错总结

    Java Web项目报错总结 1.java.lang.IllegalStateException java.lang.IllegalStateException Caused by:java.lang ...

  9. Ext Designer生成表格

    1.生成表格代码 Ext.MyPanel=Ext.extend(Ext.Panel ,{ xtype:"panel", title:"我的面板", width: ...

  10. apache在window server 2003下的安全配置

    在window server2003下安装apache apache 默认有system权限.所以要先对apache进行降权. 添加用户.我的电脑右击 ->管理->本地用户和组