zoukankan      html  css  js  c++  java
  • 【转】: TCP/IP协议的体系

    TCP/IP协议的体系

    Internet 采用的是 TCP/IP 协议体系, TCP/IP 协议体系是因其两个著名的协议 TCP 和
    IP 而得名的。 TCP/IP 协议体系在和 OSI 的竞争中取得了决定性的胜利,得到了广泛的认可,成为了事实上的网络协议体系标准。

    TCP/IP 分层模型


      TCP/IP 协议体系和 OSI
    参考模型一样,也是一种分层结构。它是由基于硬件层次上的四个概念性层次构成,即网络接口层、互联网层、传输层和应用层。图 1-2 表示了 TCP/IP
    协议体系及其与 OSI 参考模型的对应关系。



      从图 1-2 可以看出,对照 OSI 七层协议, TCP/IP
    第三层以上是应用层、传输层和网际互联层, TCP/IP 的应用层组合了 OSI 的应用层和表示层,还包括 OSI
    会话层的部分功能。但是,这样的对应关系并不是绝对的,它只有参考意义,因为 TCP/IP 各层功能和 OSI 模型的对应层还是有一些区别的。


      1. 网络接口层


      网络接口层也称为数据链路层,它是 TCP/IP 的最底层,但是 TCP/IP
    协议并没有严格定义该层,它只是要求主机必须使用某种协议与网络连接,以便能在其上传递 IP 分组。因此,在传统的 UNIX
    里,网络接口通常是一个设备驱动器,并且随主机和网络的不同而不同。


      2. 互联网层


      互联网层( Internet Layer )俗称 IP
    层,它处理机器之间的通信。它接受来自传输层的请求,传输某个具有目的地址信息的分组。该层把分组封装到 IP
    数据报中,填入数据报的首部(也称为报头),使用路由算法来选择是直接把数据报发送到目标机还是把数据报发送给路由器,然后报数据报交给下面的网络接口层中的对应网络接口模块。该层还有处理接收到的数据报,检验其正确性,使用路由算法来决定对数据报是否在本地进行处理还是继续向前传送。


      3. 传输层


      传输层的基本任务是提供应用层之间的通信,即端到端的通信。传输层管理信息流,提供可靠的传输服务,以确保数据无差错的、按序到达。为了这个目的,传输层协议软件要进行协商,让接收方回送确认信息及让发送方重发丢失的分组。传输层协议软件将要传送的数据流划分成分组,并把每个分组连同目的地址交给下一层去发送。


      4. 应用层


      在这个最高层,用户调用应用程序来访问 TCP/IP
    互联网络提供的多种服务。应用程序负责发送和接收数据。每个应用程序选择所需的传输服务类型,可以是独立的报文序列,或者是连续的字节流。应用程序将数据按要求的格式传送给传输层。


    TCP/IP 分层工作原理


      TCP/IP 协议体系和 OSI
    模型的分层结构虽然不完全相同,但它们的分层原则是一致的,即都遵循这样的一个思想:分层的协议要被设计成达到这样的效果,即目标机的第 n
    层所收到的数据就是源主机的第 n 层所发出的数据。


      图 1-3 描述了 TCP/IP
    分层工作原理,它表示了两台主机上的应用程序之间传输报文的路径。主机 B 上的第 n 层所收到的正是主机 A 上的第 n 层所发出的对象。


      在图 1-3
    中我们忽略了一个重要的内容,即没有描述发送方主机上的应用程序与接收主机的应用程序之间通过路由器进行报 文传输的情况。图 1-4 中描述使用路由器的 TCP /
    IP 分层工作,图中报文经历了两种结构不同的网络,也使用了两种不同的网络帧,即一个是从主机 A 到路由器 R ,另一个是从路由器 R 到主机 B 。主机 A
    发出的帧和路由器 R 接收到的帧相同,但不同于路由器 R 和主机 B
    之间传送的帧。与此形成对照的是应用程序层和传输层处理端到端的事务,因此发送方的软件能和最终的接收方的对等层软件进行通信。也就是说,分层原则保证了最终的接收方的传输层所收到的分组与发送方的传输层送出的分组是一样的。




    图 1-3 TCP/IP 分层工作原理




     图 1-4 使用路由器的 TCP/IP 分层工作原理


    TCP/IP 模型的分界线


      TCP/IP
    的概念性层次包含两个重要的分界线,一个是协议地址分界线,以区分高层和低层的寻址,另一个是操作系统分界线,以区分系统与应用程序。图 1-5 描述了 TCP/IP
    概念层模型的分界。




    图 1-5 TCP/IP 概念层模型的分界


      高层寻址使用 IP
    地址,低层寻址使用物理地址。一个概念性的界限把使用低层地址的软件和使用高层地址的软件区分开来,这个分界线出现在网络接口层和 Internet
    层之间,即应用程序和在 Internet 层之上的所有协议软件只使用 IP 地址,而网络接口层处理的是物理地址。因此,象 ARP
    这样的处于网络接口层的协议,就不是 IP 的一部分。


      通常将软件分成操作系统和非操作系统软件两种类型。当协议软件集成到操作系统之中后,在协议软件的低层之间进行数据传输的开销比应用程序和传输层之间进行数据传送的开销要小得多。因此大多数
    TCP/IP 实现都遵循图 1-5 中上面的分界线。


    复用和分解


      在整个层次结构中,通信协议使用了复用和分解的技术。当发送报文时,发送方在报文中加入了报文类型、选用的协议等附加信息。所有的报文以帧的形式在网络中复用传送,形成一个分组流。在接收方收到分组时,参考附加信息对接收到的分组进行分解。图
    1-6 给出了一个分解的例子,它描述了网络接口层如何根据帧的报头中的类型字段对接收到的帧进行分解。




    图 1-6 基于帧的报头中的类型字段进行帧的分解


      复用和分解技术几乎出现在所有的协议层次之中。当网络接口层完成对帧的分解操作之后,它要把那些包含有 IP 数据报的帧送给 IP 模块,
    IP 软件模块分析这些帧以后,参照传输层协议对它们进行进一步的分解操作。图 1-7 描述了 IP 层的分解, IP
    层的软件模块检查数据报报头,根据其中的协议类型选择相应的协议进行处理。




    图 1-7 IP 层的分解

    【转自】:

    http://apps.hi.baidu.com/share/detail/30951722
    做个快乐的自己。
  • 相关阅读:
    o1-check-power-of-2 && search-a-2d-matrix
    Remove Linked List Elements &&remove-duplicates-from-sorted-list
    fibonacci && climbing-stairs
    2016 Multi-University Training Contest 1 Abandoned country
    中断调用与子程序设计实验
    POJ 3764
    CSU 1566 The Maze Makers
    poj2524 Ubiquitous Religions
    poj2377
    汇编语言程序设计的上机基础知识预备
  • 原文地址:https://www.cnblogs.com/Jessy/p/2220529.html
Copyright © 2011-2022 走看看