网络协议分层
2016-05-08 16:55
344 查看
一个协议层能够用软件、硬件或两者的结合来实现。诸如HTTP和SMTP这样的应用层协议几乎总是在端系统中用软件实现的,运输层协议也是如此。因为物理层和数据链路层负责处理跨越特定链路的通信,它们通常是实现在与给定链路相联系的网络接口卡(以太网或者wifi接口中)。网络层经常是硬件和软件实现的混合体。
各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。采用自顶向下方法,首先处理应用层,然后向下进行处理。
(1)应用层
应用层是网络应用程序以及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如HTTP(提供web文档的请求和传送)、SMTP(提供电子邮件报文的传输)、FTP(提供两个端系统之间的文件传送)。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组,我们把这种位于应用层的信息分组称为报文。
(2)运输层(传输层)
因特网的传输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能传输应用层报文。TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无链接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞机制。(例如网络直播等采用UDP协议)。我们把传输层分组成为报文段。
(3)网络层
主要起到路由的作用,核心为分组交换->转发
因特网中的网络层负责将成为数据报的网络层分组从一台主机移动到另一台主机。在一台源主机中的因特网传输层协议(TCP或UDP)向网络层递交传输层报文段和目的地址,就像通过邮政服务寄信件时提供一个目的地址一样。
网络层包括著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件必须运行IP协议。网络层也包括决定路由的路由选择协议,它使数据报根据该路由从源运输到目的地。
(4)链路层
因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。特别是在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给一下个结点。在下一个结点,链路层将数据报上传给网络层。
由链路层提供的服务取决于应用于该链路的特定链路层协议。例如,某些协议基于链路提供可靠传递,从传输结点跨越一条链路到接收结点。值得注意的是,这种可靠的传递服务不同于TCP的可靠传递服务,TCP提供从一个端系统到另一个端系统的可靠交付。链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。因为数据报从源到目的地传输通常需要经过几条链路,一个数据报可能被沿途不同链路上的不同链路层协议处理。例如,一个数据报可能被一段链路上的以太网的下一段链路上的PPP所处理。网络层将受到来自每个不同的链路层协议的不同服务。
(5)物理层
虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。
当然,这并不是唯一的协议栈,在20世纪70年代后期,ISO还提出OSI7层模型:应用层、表示层、会话层、传输层、网络层、链路层、物理层。
各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。采用自顶向下方法,首先处理应用层,然后向下进行处理。
(1)应用层
应用层是网络应用程序以及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如HTTP(提供web文档的请求和传送)、SMTP(提供电子邮件报文的传输)、FTP(提供两个端系统之间的文件传送)。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组,我们把这种位于应用层的信息分组称为报文。
(2)运输层(传输层)
因特网的传输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能传输应用层报文。TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无链接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞机制。(例如网络直播等采用UDP协议)。我们把传输层分组成为报文段。
(3)网络层
主要起到路由的作用,核心为分组交换->转发
因特网中的网络层负责将成为数据报的网络层分组从一台主机移动到另一台主机。在一台源主机中的因特网传输层协议(TCP或UDP)向网络层递交传输层报文段和目的地址,就像通过邮政服务寄信件时提供一个目的地址一样。
网络层包括著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件必须运行IP协议。网络层也包括决定路由的路由选择协议,它使数据报根据该路由从源运输到目的地。
(4)链路层
因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。特别是在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给一下个结点。在下一个结点,链路层将数据报上传给网络层。
由链路层提供的服务取决于应用于该链路的特定链路层协议。例如,某些协议基于链路提供可靠传递,从传输结点跨越一条链路到接收结点。值得注意的是,这种可靠的传递服务不同于TCP的可靠传递服务,TCP提供从一个端系统到另一个端系统的可靠交付。链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。因为数据报从源到目的地传输通常需要经过几条链路,一个数据报可能被沿途不同链路上的不同链路层协议处理。例如,一个数据报可能被一段链路上的以太网的下一段链路上的PPP所处理。网络层将受到来自每个不同的链路层协议的不同服务。
(5)物理层
虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。
当然,这并不是唯一的协议栈,在20世纪70年代后期,ISO还提出OSI7层模型:应用层、表示层、会话层、传输层、网络层、链路层、物理层。
相关文章推荐
- 20145122《 Java网络编程》实验五实验报告
- 网络(Java核心技术卷Ⅱ)
- Steady Cow Assignment(二分图多重匹配+二分)(网络流)
- Java网络编程基础
- 研究生第四课 计算机网络
- Java---网络编程(2)-UDP
- Java---网络编程(2)-UDP
- 常用应用层协议HTTP、RTSP、RTMP比较
- 移动网络优化
- Jsp+javaBean+mysql的网络云盘
- [Android Pro] Android API 23中废弃了HttpClient的解决办法
- Optimal Milking(二分图多重匹配+二分)(网络流)
- Jmeter之HTTP request
- 20145206《Java程序设计》实验五Java网络编程及安全
- R-CNN学习笔记
- 【BZOJ-3876】支线剧情 有上下界的网络流(有下界有源有汇最小费用流)
- 获取HTTP信息
- python网络入门:urllib.request模块和urllib.urllib.parse模块
- JAVA httpClient 设置header
- Android 网络状态变更的广播