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. qemu-trustzone编译&运行(包含linux内核的编译方法)

    由于之前都是用的mtk6797开发板,回到实验室之后想要做实验的话需要弄一个支持trustzone的qemu,在这里记录一下我的编译和调试过程.本来最近一直忙着看论文和写论文,但是忽然发现自己在实验部 ...

  2. 【BZOJ1834】 网络扩容

    Time Limit: 1000 ms   Memory Limit: 128 MB Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费 ...

  3. 弄懂 JRE、JDK、JVM 之间的区别与联系

    其实很多 Java 程序员在写了很多代码后,你问他 jre 和 jdk 之间有什么关系,jvm 又是什么东西,很多人不知所云.本篇不会讲述 jvm 底层是如何与不同的系统进行交互的,而主要理清楚三者之 ...

  4. JDBC底层原理

    Class.forName(“com.mysql.jdbc.Driver”)是 强制JVM将com.mysql.jdbc.Driver这个类加载入内存,并将其注册到DriverManager类,然后根 ...

  5. java程序中执行HiveQL

    这里是指java中执行hive或者hiveQL. 注意:而不是经常说的通过JDBC的方式连接Hiveserver2来执行查询.是在部署了hiveserver的服务器上执行hive命令.这样就可以将分析 ...

  6. 我的Java设计模式-责任链模式

    今天来说说程序员小猿和产品就关于需求发生的故事.前不久,小猿收到了产品的需求. 产品经理:小猿,为了迎合大众屌丝用户的口味,我们要放一张图,要露点的. 小猿:......露点?你大爷的,让身为正义与纯 ...

  7. shell脚本基础 循环机构

    循环结构 for循环格式一格式:for 变量 in 值1 值2 ........(值不一定是数字,可以是命令或者其他的)do 命令done [root@ceshiji ~]# vim a.sh #!/ ...

  8. vxWorks驱动架构

    Vxworks内核驱动基本结构: 三张表:1. 系统设备表  2. 系统驱动表 3. 文件描述符表     Vxworks 内部对每个设备使用DEV_HDR 数据结构进行表示: Typedef str ...

  9. WINDOWS的错误代码对应的故障

    WINDOWS的错误代码对应的故障 0000 操作已成功完成. 0001 错误的函数. 0002 系统找不到指定的文件. 0003 系统找不到指定的路径. 0004 系统无法打开文件. 0005 拒绝 ...

  10. org.hibernate.MappingException:Unknown entity:java.util.ArrayList

    1.错误描述 [CQ] ERROR [http-apr-8888-exec-3] com.opensymphony.xwork2.util.logging.commons.CommonsLogger. ...