16Linux运维网络基础(02网络层次结构)
文章目录
- 1. OSI参考模型(7层模型)
- 1.1 参考模型分层介绍
- 1.2 OSI参考模型解释通信过程
- 1.3 数据封装和解封
- 2. TCP/IP参考模型(4层模型)
- 3. 数据形式
- 4. 应用案例说明
- 4.1 网页浏览(以访问百度首页为例)
- OSI 参考模型视角
- TCP/IP 参考模型视角
- 4.2 视频直播(使用 RTMP 协议)
- OSI 参考模型视角
- TCP/IP 参考模型视角
网络层次结构是网络中的一个重要概念,它将网络通信的复杂功能划分为多个层次,每个层次负责特定的功能,通过各层之间的协作来实现网络通信。最典型的网络层次结构模型是 OSI(开放系统互连)参考模型和 TCP/IP 参考模型。
1. OSI参考模型(7层模型)
OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
1.1 参考模型分层介绍
名称 | 作用 |
---|---|
应用层 | 直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。如HTTP、SMTP、FTP、DNS等。 |
表示层 | 把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息。 功能:数据格式转换;数据加密解密;数据压缩恢复。 |
会话层 | 负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接,保证会话。 功能:建立、管理、中止会话;使用校验点可以在通信失效时,通过校验点恢复通信,保证数据同步。 |
传输层 | 负责端到端通讯,传输单位为报文段和用户数据报。 功能:可靠传输,不可靠传输 ,差错控制,流量控制,复用分用。 |
网络层 | 负责选择路由最佳路径,规划IP地址(ipv4和ipv6变化只会影响网络层),拥塞控制。 主要作用是将分组数据报(也称为“包”)从源端传输到目的端。 拥塞:所有的结点都来不及接受分组,从而丢失大量分组的状态。 |
数据链路层 | 主要作用是将从网络层传输下来的数据报组装成帧。帧的开始和结束,还有透明传输,差错校验(纠错由传输层解决) |
物理层 | 利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 透明传输:不管传的是什么,所采用的设备只是起一个通道作用,把要传输的内容完好的传到对方。 |
1.2 OSI参考模型解释通信过程
- 待传输的数据,从A端发送,在经过每一个层级时,都会附加上本层协议的数据头,然后将数据头组合到数据中,传递给下一层。这里需要注意,传递到数据链路层时,还需要添加一个数据尾部,然后才会到物理层解析成二进制数据进行传输。
- 数据在物理层转换成二进制数据之后,进入传输介质进行传输,在经过网络中继转换设备时,会对发送的数据有一个部分还原过程,主要目的是想知道数据的要往哪里发送。这一部分数据解封只会在下三层(物理层、数据链路层、网络层)中进行。
- 在网络中继转换设备中执行部分的解封、封装之后,重新封装好的数据继续进行传输。
- 传输到目的主机时,将之前的附加信息在经过层级的时候一步一步的还原比特流,到达应用层是就等到原来要发送的数据。
- 协议和接口
- 协议: 为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。(水平方向上)
- 接口(访问服务点SAP): 上层使用下层服务的入口(相邻两层实体间交换信息的地方)。
- 端对端层和点对点层
- 参考模型中,上四层(应用层、表示层、会话层、传输层)在数据传输过程中,只是只经过一次封装/解封,交互过程是终端对终端的,所以这四层也称为端对端层。
- 下三层(网络层、数据链路层、物理层)在传输过程中,会经过多个网络中继设备,经过多次封装/解封比特流,每次传输只负责传输到下一步,不会管传输最后的终点,所以这三层也称为点对点层。
1.3 数据封装和解封
数据封装是发送数据时,上层协议数据添加必要控制信息(如源地址、目的地址、数据长度、校验和等)后交给下层协议处理的过程,这些信息用于数据传输和路由。数据从应用层起逐层向下封装,各层添加头部(有时有尾部),直至物理层以比特流形式发送。
数据解封装是数据封装的逆过程。数据到达接收端时,从物理层起逐层去掉封装的头部和尾部信息,最终将原始数据传给应用层。物理层接收比特流并转换为数据帧,数据链路层去掉以太网头尾部后传给网络层,网络层去掉 IP 头部传给传输层,传输层去掉 TCP 头部后传给应用层处理。
2. TCP/IP参考模型(4层模型)
TCP/IP参考模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。其将网络分为四层,不关注底层物理介质,主要关注终端之间的逻辑数据流转发。
- TCP/IP模型的核心是网络层和传输层:网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。
- TCP/IP模型并不完全对应于国际标准化组织(ISO)的开放系统互连(OSI)参考模型,但在实际的网络应用中被广泛采用。
参考模型分层介绍
TCP/IP 参考模型层次 | 功能概述 | 与 OSI 对应层 | 主要协议 |
---|---|---|---|
应用层 | 涵盖所有高层协议,为用户应用程序提供网络服务,实现各类网络应用,如文件传输、网页浏览、邮件收发等 | 会话层、表示层、应用层 | HTTP(网页传输)、FTP(文件传输)、SMTP(邮件发送)、POP3(邮件接收)、DNS(域名解析) 等 |
传输层 | 实现源主机与目标主机对等体间对话,为应用层提供端到端通信服务,分割应用层数据,以端口号标识应用进程,提供可靠(TCP)和不可靠(UDP)两种传输服务 | 传输层 | TCP(可靠传输,如网页、文件传输)、UDP(不可靠传输,如视频流、音频流传输) |
网络层(网际层) | 负责逻辑互联网络路径数据的路由选择,实现源主机到目标主机的数据传输,依据 IP 地址确定传输路径,处理不同网络间数据包转发 | 网络层 | IP(网络层核心协议,负责数据报传输)、ICMP(网络控制消息协议,如 Ping 命令)、ARP(地址解析协议,IP 转 MAC)、RIP 和 OSPF(路由协议,构建维护路由表) |
网络接口层 | 作为 TCP/IP 协议最底层,接收网际层 IP 数据报并通过物理网络发送,或从物理网络接收物理帧,解封装出 IP 数据报交网际层处理 | 数据链路层、物理层 | 以太网协议(常见有线网络协议)、Wi-Fi 协议(无线网络协议) |
3. 数据形式
在网络数据转发过程中,随着数据在不同网络层次间流动,其数据形式会发生相应变化,也就是数据在一层层的封装和解封后的形式变化。以下结合 OSI 参考模型和 TCP/IP 参考模型进行介绍:
网络层次 | 数据形式名称 | 形式 | 标识 |
---|---|---|---|
应用层 | 消息(Message) | 由应用程序产生,格式和内容取决于具体应用协议。 | 进程号 |
传输层 | 数据段(Segment)/ 数据报(Datagram) | 数据段:TCP 协议使用,由段头和数据部分组成。段头包含了源端口号、目的端口号、序列号、确认号等信息,用于实现可靠传输等功能。 数据报:UDP 协议使用,由数据报头和数据部分组成。数据报头相对简单,只包含源端口号、目的端口号、长度和校验和等信息。 | 端口号 |
网络层 | 数据包(Packet) | 由包头和数据部分构成。包头包含源 IP 地址、目的 IP 地址、协议类型、生存时间(TTL)等信息,路由器依据目的 IP 地址进行转发。 | IP地址 |
数据链路层 | 数据帧(Frame) | 由帧头、数据部分和帧尾组成。帧头包含源 MAC 地址、目的 MAC 地址、帧类型等信息;帧尾通常有帧校验序列(FCS)用于差错检测。 | MAC地址 |
物理层 | 比特流(Bit Stream) | 由二进制数字 0 和 1 组成的序列,在物理介质上以电信号、光信号或电磁波形式传输。 | / |
4. 应用案例说明
这里提供2个实际中常见的网络应用案例,分别结合 OSI 参考模型和 TCP/IP 参考模型来阐述,用于支撑网络层次结构。
4.1 网页浏览(以访问百度首页为例)
OSI 参考模型视角
- 应用层:
用户在浏览器中输入 “www.baidu.com
”,浏览器作为应用程序使用 HTTP 协议向百度服务器发起请求,请求百度首页的 HTML 页面。这里的 HTTP 协议是应用层协议,负责提供用户与网络服务的交互接口。
- 表示层:
当服务器返回的 HTML 页面可能包含图片、文字等不同格式的数据。表示层会对这些数据进行格式转换,例如将图片的编码格式进行转换以适配用户的浏览器,确保用户能正确显示页面内容。同时,如果数据在传输过程中进行了加密(如 HTTPS 协议中的 SSL/TLS 加密),表示层还负责解密操作。
- 会话层:
负责建立和维护用户浏览器与百度服务器之间的会话连接。当用户在浏览百度首页时,可能会点击页面上的链接进行页面跳转等操作,会话层保证这些操作在一个连续的会话中进行,直到用户关闭浏览器或会话超时。
- 传输层:
浏览器与服务器之间的通信使用 TCP 协议(HTTP 通常基于 TCP)。传输层将应用层传来的 HTTP 请求数据分割成合适大小的报文段,并添加 TCP 头部信息,如源端口号和目的端口号(HTTP 默认端口号为 80,HTTPS 为 443)。通过 TCP 的三次握手建立可靠的连接,保证数据的有序传输和错误重传。
- 网络层:
网络层负责将传输层传来的报文段封装成 IP 数据包,添加源 IP 地址和目的 IP 地址。根据路由算法选择最佳路径将数据包发送到百度服务器所在的网络。例如,用户的计算机通过本地路由器,路由器根据路由表将数据包转发到互联网中的其他路由器,逐步接近百度服务器。
- 数据链路层:
数据链路层将网络层传来的 IP 数据包封装成帧,添加帧头和帧尾,包含源 MAC 地址和目的 MAC 地址。在局域网内,通过 MAC 地址将帧发送到下一跳设备(如路由器或交换机)。例如,用户计算机通过网卡将帧发送到本地路由器的 MAC 地址对应的端口。
- 物理层:
物理层将数据链路层传来的帧转换为比特流,通过物理介质(如网线、光纤等)进行传输。比特流在物理介质上以电信号或光信号的形式传播,最终到达百度服务器所在的网络设备。
TCP/IP 参考模型视角
- 应用层:
用户浏览器使用 HTTP 协议向百度服务器发送请求,获取百度首页的内容。HTTP 协议属于应用层协议,负责处理用户的请求和服务器的响应,实现网页的传输和显示。
- 传输层:
采用 TCP 协议,负责将应用层的 HTTP 数据分割成报文段,并添加 TCP 头部信息,确保数据的可靠传输。通过端口号(如 80 或 443)标识不同的应用进程,使得服务器能够正确区分不同的请求。
- 网络层(网际层):
网络层将传输层的报文段封装成 IP 数据包,添加源 IP 地址和目的 IP 地址。根据 IP 地址进行路由选择,将数据包从用户计算机发送到百度服务器。例如,通过路由器的路由表确定数据包的转发路径。
- 网络接口层:
网络接口层接收网络层的 IP 数据包,将其封装成物理帧,添加 MAC 地址信息。通过物理网络(如以太网)将帧发送出去,或从物理网络接收帧并解封装出 IP 数据包交给网络层处理。
4.2 视频直播(使用 RTMP 协议)
OSI 参考模型视角
- 应用层:
视频直播平台的服务器使用 RTMP(Real-Time Messaging Protocol)协议将视频数据推送到客户端。RTMP 协议在应用层运行,负责视频流的传输和控制。客户端的播放器应用程序通过 RTMP 协议接收视频数据并进行播放。
- 表示层:
视频数据通常采用特定的编码格式(如 H.264 视频编码和 AAC 音频编码),表示层负责对这些编码格式进行处理,确保客户端能够正确解码和播放视频。
- 会话层:
会话层建立和维护客户端与服务器之间的会话连接,保证视频流的连续传输。在直播过程中,如果出现网络中断等情况,会话层可以尝试恢复会话,继续播放视频。
- 传输层:
视频直播通常使用 UDP 协议进行传输,因为 UDP 协议具有较低的延迟,适合实时性要求较高的视频流传输。传输层将应用层的 RTMP 数据分割成用户数据报,添加 UDP 头部信息,快速将数据发送到客户端。
- 网络层:
网络层将传输层的用户数据报封装成 IP 数据包,添加源 IP 地址和目的 IP 地址,根据路由算法选择最佳路径将数据包发送到客户端。
- 数据链路层:
数据链路层将网络层的 IP 数据包封装成帧,添加帧头和帧尾,包含源 MAC 地址和目的 MAC 地址。在局域网内,通过 MAC 地址将帧发送到下一跳设备。
- 物理层:
物理层将数据链路层的帧转换为比特流,通过物理介质(如网线、光纤等)进行传输,将视频数据发送到客户端。
TCP/IP 参考模型视角
- 应用层:
服务器使用 RTMP 协议将视频数据推送到客户端,客户端的播放器应用程序接收并播放视频。RTMP 协议属于应用层协议,负责视频流的传输和控制。
- 传输层:
采用 UDP 协议,将应用层的 RTMP 数据分割成用户数据报,添加 UDP 头部信息,快速将数据发送到客户端,以满足视频直播的实时性要求。
- 网络层(网际层):
网络层将传输层的用户数据报封装成 IP 数据包,添加源 IP 地址和目的 IP 地址,根据 IP 地址进行路由选择,将数据包发送到客户端。
- 网络接口层:
网络接口层接收网络层的 IP 数据包,将其封装成物理帧,添加 MAC 地址信息,通过物理网络将帧发送出去,或从物理网络接收帧并解封装出 IP 数据包交给网络层处理。
综上所述,OSI 参考模型和 TCP/IP 参考模型是网络层次结构的重要典范,各有优势和应用场景。它们为理解网络通信原理机制提供基础,助于设计、管理和维护网络系统。随着技术发展,网络层次结构将持续演进。深入了解网络层次结构,能更好利用网络资源,推动数字化进程。