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. mac 上格式化磁盘出现MediaKit报告设备上的空间不足以执行请求的解决办法

    1.问题描述: 我使用是一个2T移动硬盘,分了5个区 2.分析原因:因为mac OSX的日志式格式需要有EFI分区进行引导,而我的移动硬盘是没有EFI分区的,这样的话就会出现问题: 3.解决办法: 1 ...

  2. Codeforces475D - CGCDSSQ

    Portal Description 给出长度为\(n(n\leq10^5)\)的序列\(\{a_n\}\),给出\(q(q\leq3\times10^5)\)个\(x\),对于每个\(x\),求满足 ...

  3. Codeforces348C - Subset Sums

    Portal Description 给出长度为\(n(n\leq10^5)\)的序列\(\{a_n\}\)以及\(m(m\leq10^5)\)个下标集合\(\{S_m\}(\sum|S_i|\leq ...

  4. 开发工具类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数 ...

  5. 简化的CDN架构分析

    CDN架构的设计目标是通过复制系统资源(即Web服务器)的方式来获得高性能和高扩展性,为了能确保在海量内容下可以稳定提供高性能的服务.系统资源的复制可以在本地和地理两个尺度上进行.如果是本地复制则响应 ...

  6. 我的Java设计模式-建造者模式

    在未上大学之前,一直有个梦想"I have a dream!",就是能成为一位汽车工程师,一直幻想着开着自己设计的汽车飞奔在公路上,迷倒了万千少女.咳咳~~虽然现在没实现我的dre ...

  7. 追溯 React Hot Loader 的实现

    文:萝卜(沪江金融前端开发工程师) 本文原创,转载请注明作者及出处 如果你使用 React ,你可以在各个工程里面看到 Dan Abramov 的身影.他于 2015 年加入 facebook,是 R ...

  8. (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)

      在一台测试服务器测试Python脚本时,执行Python脚本时报如下错误: 主要错误信息为"operation the sql fail!1045 (28000): Access den ...

  9. V4L2驱动的移植与应用(三)

    三.V4L2的demo capture.c是官方示例程序. capture.c 程序中的 process_image 函数: capture.c 程序主要是用来演示怎样使用 v4l2 接口,并没有对采 ...

  10. Java报SQLException

    Java报SQLException 具体错误如下: java.sql.SQLException:Column count doesn't match value count at row 1