TCP/IP 中的OSI分层模型详解

 我来答
腾扬数码
2022-06-07 · TA获得超过2804个赞
知道小有建树答主
回答量:3679
采纳率:100%
帮助的人:194万
展开全部

      计算机网络最初的目的是连续一个个独立的计算机, 使他们组成一个个更强有力的计算环境。简而言之,就是为了提高生产力。从批处理时代到计算机网络时代, 毋庸置疑,都体现了这一目的。然而,现在却似乎有了微妙的变化。
      现代计算机网络的首要目的之一,可以说是链接人与人。置身于世界各地的人们可以通过网络建立联系、相互沟通、交流思想
      在计算机网络与信息通信领域里,人们经常提及“协议”一词。互联网中常用的具有代表性的协议有IP, TCP,HTTP等而 LAN(局域网)中常用的协议有 IPX/SPX等
      “计算机网络体系结构” 将这些网络协议进行了系统的归纳。TCP/IP就是IP、TCP、HTTP等协议的组合。现在 很多设备都支持TCP/IP。除此之外,还有很多其他类型的网络体系结构。例如,Novell公司的IPX/SPX、苹果公司的AppleTalk(仅限苹果公司使用)、IBM 公司开发的用于构建大规模的网络的SNA 以及前DEC公司开发的DECnet等。

      CPU 又叫中央处理器。它如同一台计算机的心脏,每个程序实际上都由他调度执行的。 CPU的性能很大程度上也决定着一台计算机的处理性能。 因此人们常说计算机的发展史实际上就是CPU的发展史。
      目前人们常用的CPU有 Intel Core、 Intela Tom以及 ARM Cortex等产品
      OS 译作操作系统,是一种基础软件。它集合了CPU管理,内存管理、计算机外围设备管理以及程序运行管理等重要功能,一个CPU通常在同一时间只能运行一个程序。 为了让多个程序同时执行,操作系统采用 CPU时间片轮转机制,在多个程序之间进行切换,合理调度。 这种方式叫做多任务调度。

      OSI 参考模型中,将通信协议中必要的功能 分成了7层。通过这些分层,使得 那些比较复杂的网络协议更加简单化。
      这一模型中, 每个分层都接受由他下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做“接口”。同一层 之间的交互所遵循的约定叫做“协议”。
      协议分层就如同计算机软件中的模块化开发。OSI 参考模型的建议是比较理想化的。他希望实现从第一层到第七次的模块,并将它们组合起来实现网络通信。分层可以将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统。因此可以构建一个扩展性和灵活性都很强的系统。 通过分层能够细分通信功能,更易于单独实现每个分层的协议,并界定每个分层的具体责任和义务。这些都属于分层的优点。
      而分层的劣势可能就在于过分模块化,是处理变得更加沉重以及每个模块都不得不实现相似的处理逻辑等问题

      OSI参考模型将这样一个复杂的协议整理并分为了易于理解的七层分层

      从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP与IP两种协议。实际生活当中有时也确实是指着两种协议。然后再很多情况下,他只是利用了IP进行通信时所必须用到的协议群的统称。具体来说,IP或ICMP、TCP与UDP 、HTTP等等都属于TCP/IP的协议。他们与TCP或IP的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称TCP/IP 为国际协议族。

      我们上边写到的OSI参考模型中各个分层的作用,TCP/IP 诞生以来的各种协议其实也能对应到OSI参考模型中。如下图

      TCP/IP 的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备。关于他的内容一直无法统一定义。因为只要人们在物理层面上所使用的传输媒介不同,网络的宽带、可靠性、安全性、延迟等都会有所不同,而在这些方面又没有一个既定的标准。总之,TCP/IP 是在网络互连的设备之间能够通信的前提下才被提出的协议。

      网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。也就是说把它当做 NIC 起作用的 “驱动程序”也无妨。驱动程序是在操作系统与硬件之间起桥梁作用的软件。计算机的外围附加设备或扩展卡,不是直接插到电脑上或电脑的扩展槽上就能马上使用的,还需要响应的驱动程序的支持。例如换了一个NIC网卡,不仅需要硬件,还需要软件才能真正投入使用。因此,人们常常还需要在操作系统的基础上安装一些驱动软件以便使用这些附加硬件。

      互联网层使用IP协议,它相当于OSI 模型中的第三层网络层。IP协议基于IP地址转发分包数据。
      TCP/IP 协议 分层中的互联网层与传输层的功能通常有操作系统提供。尤其是路由器,他必须实现通过互联网层转发分组数据包的功能。此外 链接互联网的所有主机跟路由器必须实现IP的功能。其他链接互联网的网络设备就没必要一定实现IP或TCP的功能。
      IP 是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端,这期间他使用IP 地址作为主机的标识。 IP还隐藏着数据链路层的功能。 通过IP 相互通信的主机之间不论经过怎样的底层数据链路都能实现通信。 虽然IP 也是分组交换的一种协议,但是他不具有重发机制。即使分组数据包未能到达对端主机也不会重发。因此 属于非可靠传输协议

      TCP/IP 的传输层有两个具有代表性的协议。该层的功能本身与OSI 参考模型中的传输层类似。
      传输层最主要的功能就是能够让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此 必须分清是哪些程序与哪些程序 在进行通信。识别 这些应用程序的是端口号

      TCP/IP 的分层中,将OSI 参考模型中的会话层、表示层和应用层的功能都集中到了应用程序中实现。这些功能有时由一个单一的程序实现,有时也可能会由多个程序实现。因此 细看TCP/IP 的应用程序功能会实现,他不仅实现OSI模型中应用层的内容,还要实现会话层与表示层的功能。
      TCP/IP 应用的架构绝大多数属于客户端/服务端模型。提供服务的程序叫服务端,接受服务的程序叫客户端。在这种通信模式中, 提供服务的程序会预先被部署在主机上,等待接收任何时刻客户可能发送的请求。客户端可以随时发送请求给服务端, 有时服务端 可能会处理异常、超出负载等情况,这时客户端可以在等待片刻后重发一次请求。
      浏览器与服务端之间通信所用的协议是HTTP。所传输的数据的主要格式是HTML,WWW中的HTTP属于OSI应用层的协议, 而HTML 属于表示层。

TCP/IP 到底如果在媒介上进行传输的呢

      每个分层中都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。如图,在下一层的角度看,从上一分层收到的包全部都被认为是本层的数据。

      从TCP/IP 通信上看,甲给乙发送一封邮件, 我们用过这个例子来降价一个TCP/IP 通信的过程。

      分组数据包经过以太网的数据链路时的大致流程如上图,不过该图对各个包首部做了简化。
      包流动的时,从前往后依次被附加了以太网首部、IP包首部、TCP包首部以及应用自己的包首部和数据。而包的最后则追加了以太网包尾。
      每个包首部中至少都会包含两个信息:一个是发送端和接收端,另一个是上一层的协议类型。
      经过每个协议分层时,都必须有识别包发送端和接收端的信息。以太网会用MAC地址,IP会用IP地址,而TCP/UDP 则会用端口号作为识别两端主机的地址。即使是在应用程序中,像电子邮件地址这样的信息也是一种地址标识。这些地址信息都在每个包经由各个分层,附加到协议对应的包首部里边。
      此外,每个分层的包首部中还包含一个识别位,它是用来标识上一层协议的种类信息,例如 以太网的包首部中的以太网类型,IP 中的协议类型以及TCP/UDP 中的两个端口的端口号等都起着识别协议类型的作用。

包的接收流程是发送流程的逆序过程

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帕剌斯
2024-10-30 广告
德国Palas 成立于1983年,总部位于德国巴登符腾堡州的卡尔斯鲁厄。作为气溶胶技术专家, Palas 致力于为用户提供气溶胶颗粒物的产生、处理、测量与分析解决方案,是该领域内全球先进的开发商和制造商。基于自身技术的独特优势,Palas ... 点击进入详情页
本回答由帕剌斯提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式