首页 > 编程知识 正文

计算机网络五层协议各层功能,计算机网络各层的协议

时间:2023-05-04 02:56:11 阅读:245177 作者:4137

目录 什么是协议协议分层协议分层模型TCP/IP协议各层功能报文,报文段,数据报,帧

什么是协议 我们先以人类活动来进行类比

例如,zydxz想要向某人询问一天的时间时,将怎样做? 图1-2中显示了一种典型的交互过程。人类协议(或者至少说是好的行为方式)要求一方首先 进行问候(图1-2中的第一个“你好”),以开始与另一个人的通信。对这个“你好”的典型响 应是返回一个“你好”报文。此人用一个热情的“你好”进行响应,这隐含着能够继续向那 人询问时间了。对最初的“你好”的不同响应(例如,“不要烦我! ”,或“我不会说英语”, 或某些不合时宜的回答)可能表明:能勉强与之通信或不能与之通信。在此情况下,按照人 类协议,发话者将不能够询问时间了。有时,一个人询问的问题根本得不到任何回答,在此 情况下通常是放弃向该人询问时间的想法。注意,在人类协议中,有我们发送的特定报文, 有我们根据接收到的应答报文或其他审件(例如,在某些给定的时间内没有应苓)采取的动 作。显然,传输的和接收的报文,以及当这些报文被发送和接收或其他事件出现时所采取的动作,在一个人类协议中起到了核心作用。如果人们执行不同的协议(例如,一个人讲礼貌, 而另一人不讲礼貌;或一个人明白时间这个概念,而另一人却不知道),该协议就不能互动, 因而不能完成有用的工作。在网络中该道理同样成立,为了完成一项工作,要求两个(或多 个)通信实体运行相同的协议。

网络协议
网络协议类似于人类协议,只不过交换报文和采取动作的实体是某些设备(如计算机、 PDA、蜂窝电话、路由器或其他具有网络能力的设备)的硬件或软件组件。
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他审件方面所采取的动作。 协议分层

为什么引入分层设计?

举例

假设我们在主机1和主机2之间通过通过一个通信网络传送文件。 完成这项工作室比较复杂的。我们不能将所有的工作都交给通信模块来实现,所以引入通信服务模块和网络接入模块。
从这个例子中我们可以分析出分层的优点
(1)各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知 道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能, 因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个 问题的复杂程度就下降了。
(2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保 持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。 当某层提供的服务不再需要时,甚至可以将这层取消。
(3) 结构上可分割开。各层都可以采用最合适的技术来实现。
(4)易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处 理,因为整个的系统已被分解为若干个相对独立的子系统。
(5) 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。
当然也有缺点
分层的一个潜在缺点是某层可能重复其较低层的功能。 例如,许多协议栈都基于链路和端到端这两种情况提供了差错恢复。第二种潜在的缺点是某层的功能可能需要仅在其他某层才出现的信息。

各层所要完成的功能
① 差错控制 使得和网络对等端的相应层次的通信更加可靠。
② 流量控制 使得发送端的发送速率不要太快,要使接收端来得及接收。
③ 分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
④ 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
⑤ 连接建立和释放 交换数据前先建立一条逻辑连接。数据传送结束后释放连接。 协议分层模型

七层OSI参考模型
该模型是由国际标准化组织(ISO)定义的。

TCP/IP体系结构

TCP/IP协议各层功能

各层所包含的协议

协议栈
各层的所有协议被称为协 议栈(protocol stack).因特网的协议栈由5个层次组成:物理层,数据链路层,网络层,运输层,应用层。

应用层
(1)应用层(application layer) 应用层是体系结构中的最高层。应用层直接为用户的应用进程提供服务。这里的进程就是指正在运行的程序。在因特网中的应用层协议很多, 如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中 的应用程序交换信息分组。我们将这种位于应用层的信息分组称为报文(message)。

运输层
迈输层提供了在应用程序端点之间传送应用层报文的服务。
(2)运输层(transport layer) 运输层的任务就是负责向两个主机中进程之间的通信提 供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多 个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付给上面 应用层中的相应的进程。运输层分组称为报文段。
运输层主要使用以下两种协议:
① 传输控制协议TCP (Transmission Control Protocol) 面向连接的,数据传输的单位
是报文段(segment),能够提供可靠的交付。
② 用户数据报协议UDP (User Datagram Protocol) 无连接的,数据传输的单位是用
户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付(best-effortdelivery)"
TCP与UDP区别
协议,即TCP和UDP,利用其中的任何一个都能传输应用层报文。TCP向它的应用程序提供了 面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流童控制(即发送方/接 收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时, 源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务 的服务,不提供可靠性,没有流量控制,也没有拥塞控制。

网络层
(3)因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主 机。源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址, 就像你向邮政信件提供目的地址一样。在 TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作IP数据报,或简称为数据报。
因特网的网络层包括著名的IP协议,该协议定义了数据报中的各个字段以及端系统和路 由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件都必须运行IP协议。

数据链路层
(4)数据链路层(data link layer) 常简称为链路层。我们知道,两个主机之间的数据 传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间(主机和路由器之 间或两个路由器之间)传送数据是直接传送的(点对点)。这时就需要使用专门的链路层的 协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧 (framing),在两个相邻结点间的链路上“透明”地传送帧(frame)中的数据。每一帧包括数据 和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。

物理层
链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将 该帧中的一个一个比特从一个节点移动到下一个节点。该层中的协议仍然是链路相关的,并 且进一步与链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许 多物理层协议:关于双绞铜线的,关于同轴电缆的,关于光纤的,等等。在每种情况下,跨 越这些链路移动一个比特的方式不同。

报文,报文段,数据报,帧

图中显示了这样一条物理路径:数据从发送端系统的协议栈向下,上下中间的链路层交 换机和路由器的协议栈,进而向上到达接收端系统的协议栈。
该图说明了封装的重要概念。
图1-20也举例说明了封装(encapsulation)这一重要概念。在发送主机,应用层报文 (application-layer message)(图的M)被传送给运输层。在最简单的情况下,运输层收取报文并附上附加信息(即运输层首部信息,图的Ht),该首部将被接收端的运输层使用。应用层报文和运输层首部信息共同构成了运输层报文段(transport-layer segment),运输层报文段因此封装了应用层报文。附加的信息可能包括下列信息,如允许接收端运输层向上 向适当的应用程序交付报文的信息;差错检测比特信息,利用该信息接收方能够判断报文中 的比特是否在途中已被改变。运输层则向网络层传递该报文段,网络层增加了如源和目的端 系统地址等网络层首部信息(中的Hn,形成了网络层数据报(network-layerdatagram). 该数据报接下来被传递给链路层,链路层当然也增加它自己的链路层首部信息并创建了链路层帧(link-layer frame).于是,我们看到在每一层,分组具有两种类型的字段:首部字段和 有效载荷字段(payload field).有效载荷通常来自上一层的分组。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。