Bootstrap

《计算机网络基础》(第二章:计算机网络体系结构 )

OSI参考模型

  1. 概念

    • 定义:OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机网络通信的分层架构模型。它将网络通信的功能划分为七个不同的层次,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都为上一层提供特定的服务,并依赖下一层所提供的服务来完成自身功能。
    • 各层功能概述
      • 物理层:主要负责处理物理介质上的信号传输,包括机械、电气、功能和规程特性。例如,规定了网络接口卡(NIC)的物理尺寸、电缆的类型(如双绞线、同轴电缆)、信号的电平(如高电平表示1,低电平表示0)以及数据传输的速率等。
      • 数据链路层:负责将物理层接收到的原始信号转换为数据帧,并进行差错检测和纠正。它还处理介质访问控制(MAC),决定设备在共享介质上如何访问传输介质。例如,在以太网中,数据链路层通过MAC地址来识别不同的设备。
      • 网络层:主要功能是进行寻址和路由选择。它将数据从源节点传输到目标节点,通过IP地址来确定数据的传输路径。例如,路由器工作在网络层,根据IP地址来转发数据包。
      • 传输层:在不同主机上的进程之间提供端到端的通信服务,包括多路复用与多路分解、可靠传输服务、流量控制和拥塞控制等,如TCP和UDP协议就工作在这一层。
      • 会话层:负责建立、维护和管理会话。例如,在一次文件传输过程中,会话层控制文件传输的开始、暂停和结束,保证会话的有序进行。
      • 表示层:关注数据的表示形式,进行数据加密、解密、压缩、解压等操作。例如,将ASCII码转换为EBCDIC码,或者对敏感数据进行加密传输。
      • 应用层:为用户提供各种网络应用服务,如HTTP(网页浏览)、FTP(文件传输)、SMTP(电子邮件发送)等协议都位于这一层。
  2. 通信过程

    • 以发送数据为例
      • 应用层:用户在应用程序(如浏览器)中发起请求,例如输入网址访问网页。应用层协议(如HTTP)将用户请求封装成应用层数据单元(PDU),并传递给表示层。
      • 表示层:对应用层传来的数据进行格式转换、加密等操作(如果需要),然后将处理后的数据传递给会话层。
      • 会话层:建立会话连接,标记数据所属的会话,然后将数据传递给传输层。
      • 传输层:根据应用的需求选择合适的传输协议(如TCP或UDP)。如果是TCP,会通过三次握手建立连接,然后将数据分割成报文段,添加传输层头部(包括源端口、目的端口、序列号等信息),传递给网络层。
      • 网络层:将传输层传来的数据封装成数据包,添加网络层头部(主要是源IP地址和目的IP地址),通过路由选择算法确定数据包的传输路径,然后将数据包传递给数据链路层。
      • 数据链路层:将网络层传来的数据包封装成数据帧,添加数据链路层头部(包含源MAC地址和目的MAC地址)和尾部(用于差错检测),然后通过物理层将数据帧发送出去。
      • 物理层:将数据链路层的数据帧转换为物理信号(如电信号或光信号),通过物理介质(如电缆或光纤)传输到目标设备。
    • 目标设备接收数据过程是反向的
      • 物理层接收到物理信号,转换为数据帧后传递给数据链路层。数据链路层进行差错检测,去除头部和尾部后将数据包传递给网络层。网络层根据IP地址进行解包,将报文段传递给传输层。传输层进行多路分解,根据端口号将数据传递给会话层。会话层管理会话,将数据传递给表示层。表示层进行数据格式的逆转换(如解密、解压缩)后将数据传递给应用层,应用层将数据提供给相应的应用程序处理。
  3. 工作原理

    • 分层封装原理:每一层在接收上一层传来的数据后,都会在数据前面添加自己这一层的头部信息(在某些层还会添加尾部信息),这个过程称为封装。头部信息包含了本层所需的控制信息,用于实现本层的功能。例如,网络层的头部包含源IP地址和目的IP地址,用于在网络中进行路由选择;传输层的头部包含端口号,用于实现进程间的通信。当数据到达目标设备后,各层会按照相反的顺序去除自己层的头部(和尾部),将数据传递给上一层,这个过程称为解封装。
    • 对等通信原理:在OSI模型中,不同主机上相同层次之间的通信称为对等通信。例如,发送方主机的传输层和接收方主机的传输层之间进行通信,它们使用相同的传输层协议(如TCP)来交换信息。这种通信是通过下层提供的服务间接实现的。各层在发送数据时,会将数据和控制信息传递给下层,下层将这些信息作为自己的数据部分进行封装并继续向下传递,直到物理层将数据发送出去。接收方则按照相反的顺序,从物理层开始逐层解封装,将数据传递给对应的上层。
    • 服务访问点(SAP)原理:每一层向上一层提供服务是通过服务访问点来实现的。服务访问点是一个抽象的概念,它是相邻两层之间的接口。例如,传输层和会话层之间的服务访问点就是端口号,会话层通过指定端口号来访问传输层提供的服务。不同层次的服务访问点定义了本层的服务边界,使得各层的功能相对独立,便于实现和维护。
  4. 示例

    • 网页浏览过程
      • 应用层:用户使用浏览器访问网站,浏览器使用HTTP协议发送请求,请求信息包括要访问的网址、请求方法(如GET或POST)等。例如,用户在浏览器中输入“https://www.example.com/index.html”,浏览器会构建一个HTTP请求,请求获取该网址对应的网页内容。
      • 表示层:如果网站采用了加密技术(如SSL/TLS),表示层会对HTTP请求进行加密处理。例如,将HTTP请求中的敏感信息(如用户登录密码)进行加密,确保数据在传输过程中的安全性。
      • 会话层:会话层建立一个会话,用于跟踪这次网页浏览的状态。例如,记录用户在网站中的浏览顺序、是否已经登录等信息。
      • 传输层:通常使用TCP协议来保证可靠的数据传输。浏览器会随机选择一个本地端口(如50000)作为源端口,目标端口是服务器的HTTP服务端口(通常是80或443)。TCP通过三次握手建立连接,然后将HTTP请求封装成TCP报文段发送给网络层。
      • 网络层:网络层将TCP报文段封装成IP数据包,添加源IP地址(用户设备的IP地址)和目的IP地址(网站服务器的IP地址)。路由器根据IP地址进行路由选择,将数据包转发到目标服务器所在的网络。
      • 数据链路层:在用户设备和中间网络设备(如路由器)之间,数据链路层将IP数据包封装成数据帧。例如,在以太网环境中,会添加源MAC地址(用户设备网卡的MAC地址)和目的MAC地址(下一跳设备网卡的MAC地址)以及用于差错检测的尾部。然后通过物理介质(如网线)将数据帧发送出去。
      • 物理层:将数据链路层的数据帧转换为物理信号(如电信号),在网线中传输。在服务器端,数据则按照相反的顺序进行解封装,最终服务器将网页内容通过相同的过程返回给用户浏览器。
    • 文件传输示例(FTP)
      • 应用层:用户通过FTP客户端软件发起文件传输请求,指定要传输的文件和目标位置等信息。FTP协议负责处理文件传输的相关操作,如登录服务器、获取文件列表、上传或下载文件等。
      • 表示层:如果需要,对文件数据或传输命令进行格式转换或加密。例如,将文件数据从一种编码格式转换为另一种格式,或者对用户登录FTP服务器的密码进行加密。
      • 会话层:建立和管理文件传输的会话,控制文件传输的开始、暂停和结束。例如,当用户暂停文件传输后,会话层会记录当前的传输状态,以便在用户恢复传输时能够继续。
      • 传输层:可以使用TCP协议保证文件传输的可靠性。与网页浏览类似,FTP客户端和服务器通过传输层建立连接,将文件数据或命令封装成TCP报文段进行传输。
      • 网络层:对TCP报文段进行封装,添加IP地址信息,通过网络将数据包发送到目标服务器。路由器根据IP地址进行路由选择,确保数据包能够正确到达目的地。
      • 数据链路层和物理层:与网页浏览过程类似,将数据包封装成数据帧,转换为物理信号进行传输。在服务器端,按照相反的顺序解封装,接收文件数据并保存到指定位置。
  5. 分类(从功能角度)

    • 面向用户应用的高层(应用层、表示层、会话层)
      • 应用层:是用户与网络直接交互的接口,提供各种具体的网络应用服务。这些服务直接面向用户需求,如网页浏览、文件传输、电子邮件等。不同的应用协议在这一层实现不同的功能,并且这些协议的设计和使用通常与具体的应用场景紧密相关。
      • 表示层:侧重于数据的表示形式,主要关注数据的格式转换、加密解密等操作。它在应用层和会话层之间起到了一个数据处理的中间层作用,使得应用层的数据能够以合适的形式在网络中传输,并保证数据的安全性和一致性。
      • 会话层:主要负责管理和维护会话,协调不同应用程序之间的通信过程。它通过建立、维护和释放会话来确保通信的有序进行,并且能够处理会话过程中的异常情况,如会话中断后的恢复等。
    • 负责通信处理的中层(传输层、网络层)
      • 传输层:在不同主机上的进程之间提供端到端的通信服务。它是高层应用和底层网络之间的桥梁,通过提供可靠或不可靠的传输服务,满足不同应用对数据传输的需求。传输层协议(如TCP和UDP)的选择会直接影响数据传输的可靠性、效率和实时性等性能指标。
      • 网络层:主要负责网络中的寻址和路由选择,将数据从源节点传输到目标节点。它通过IP地址来识别网络中的不同节点,并根据网络拓扑结构和路由算法确定数据的传输路径。网络层的功能是实现网络互联的关键,使得不同网络之间能够进行通信。
    • 处理物理信号和介质访问的底层(数据链路层、物理层)
      • 数据链路层:将物理层传来的原始信号转换为数据帧,并进行差错检测和纠正。同时,它还负责介质访问控制,即决定多个设备在共享介质上如何访问传输介质,避免数据冲突。数据链路层协议(如以太网协议)在局域网等环境中起着重要的作用。
      • 物理层:是整个网络通信的基础,它处理物理介质上的信号传输,包括物理介质的特性、信号的转换和传输速率等基本要素。物理层的设计和实现直接依赖于所使用的物理介质,如电缆、光纤或无线信号等。
  6. 发展

    • 起源背景:在计算机网络发展的早期,各个计算机厂商都有自己的网络通信标准和协议,这些不同的标准之间缺乏兼容性,导致不同厂商的网络设备和软件难以进行互操作。为了解决这个问题,ISO制定了OSI参考模型,旨在提供一个统一的、标准化的网络通信框架,促进网络设备和软件的兼容性和互操作性。
    • 早期发展阶段:在OSI模型提出后的初期,由于其设计的复杂性和理想化,在实际应用中推广相对缓慢。然而,它为网络通信的理论研究和教学提供了一个很好的分层结构模型,使得人们能够更清晰地理解网络通信的各个环节。同时,一些基于OSI模型的协议和技术也在不断研发和试验,如一些早期的X.25网络就采用了类似OSI分层的思想。
    • 与TCP/IP竞争阶段:随着互联网的迅速发展,TCP/IP协议簇由于其简洁性、实用性和先发优势,在实际网络应用中得到了广泛的采用。相比之下,OSI参考模型的实现和部署相对复杂,成本较高。但OSI模型对网络通信的分层架构思想仍然对TCP/IP协议簇的完善和发展产生了积极的影响,例如TCP/IP协议簇中的各层协议也在一定程度上参考了OSI模型的功能划分,使其自身的结构更加合理。
    • 现代应用和融合阶段:在现代网络环境中,虽然TCP/IP协议簇占据主导地位,但OSI参考模型的分层思想仍然在网络工程、网络安全、网络管理等领域发挥着重要的作用。例如,在网络安全领域,人们可以根据OSI模型的不同层次来分析网络攻击的路径和方式,并采取相应的安全防护措施;在网络管理中,基于OSI模型的层次结构可以更好地进行故障诊断和性能评估。同时,一些新的网络技术和协议也在不断融合OSI模型的分层理念,以实现更加高效、安全和灵活的网络通信。

    七层模型

      1. 物理层
    • 概念:物理层是OSI(开放式系统互联)参考模型的最底层,它主要负责在物理介质上传输原始的比特流。这一层定义了物理设备(如电缆、光纤、无线信号等)的电气、机械、功能和过程特性,以建立、维护和拆除物理连接。
    • 过程:物理层接收来自数据链路层的帧,将其转换为物理信号(如电信号、光信号或无线电信号),并通过物理介质(如同轴电缆、双绞线、光纤或空气)进行传输。在接收端,物理层则将接收到的物理信号转换回比特流,然后传递给数据链路层。
    • 原理:基于不同的物理介质,有不同的传输原理。例如,在有线传输中,电信号通过导体传输,遵循电磁学原理,如电流与电压的关系(欧姆定律)。在光纤传输中,利用光的全反射原理,光信号在纤芯中传播。而无线传输则是基于无线电波的传播,如通过调制和解调技术将数字信号转换为适合在空气中传播的电磁波信号。
    • 实例:常见的以太网电缆(双绞线)就是物理层的实例。例如,在100BASE - T以太网标准中,使用两对双绞线,物理层规定了其最大传输距离(一般为100米)、传输速率(100Mbps)、信号编码方式(如4B/5B编码)等参数。另外,Wi - Fi也是物理层的一个例子,它通过无线频段(如2.4GHz或5GHz)传输信号,不同的Wi - Fi标准(如802.11a、802.11b、802.11g、802.11n、802.11ac等)规定了不同的传输速率、频段范围和传输距离等物理层特性。
    • 分类
      • 有线物理层:包括双绞线(如UTP - 非屏蔽双绞线和STP - 屏蔽双绞线)、同轴电缆(如粗同轴电缆和细同轴电缆)和光纤(如单模光纤和多模光纤)等不同类型的传输介质,每种介质都有其特定的物理特性和应用场景。
      • 无线物理层:主要包括各种无线通信技术,如红外线、蓝牙、ZigBee、Wi - Fi、蜂窝网络(如2G、3G、4G、5G)等,它们根据不同的频段、传输功率和覆盖范围等来划分。
    • 发展:物理层的发展从早期简单的铜缆传输(如早期的电话线路),逐渐发展到高速光纤通信,以满足不断增长的带宽需求。无线通信技术也从早期的低频、低速率的模拟通信发展到如今的高频、高速率的数字通信,如5G技术,能够提供更高的传输速率、更低的延迟和更多的连接数,为物联网等新兴应用提供支持。
  7. 数据链路层

    • 概念:数据链路层主要负责将物理层接收到的原始比特流组合成帧,并进行差错检测和纠正,以及控制物理介质的访问。其目的是在物理层提供的不可靠的物理连接基础上,建立可靠的数据链路连接,使得网络层能够无差错地传输数据。
    • 过程:在发送端,数据链路层将网络层传来的分组(packet)封装成帧(frame),帧中包含帧头、数据部分和帧尾。帧头通常包含源和目的MAC(媒体访问控制)地址等信息,帧尾包含差错检测码(如CRC - 循环冗余校验码)。然后通过物理层将帧发送出去。在接收端,数据链路层首先检查接收到的帧的完整性和正确性,通过校验码来检测是否有传输错误。如果帧没有错误,则提取其中的数据部分并传递给网络层;如果检测到错误,则可以根据协议采取重传或丢弃等操作。
    • 原理:数据链路层的核心原理是介质访问控制(MAC)和差错控制。MAC协议决定了节点如何访问共享的物理介质,例如,以太网采用CSMA/CD(带有冲突检测的载波监听多路访问)机制,节点在发送数据前先监听信道是否空闲,如果空闲则发送,发送过程中继续监听,如果检测到冲突则停止发送,并等待一段随机时间后重新尝试。差错控制则通过校验和等机制来保证数据的准确性。
    • 实例:以太网是数据链路层最常见的实例。在以太网中,每个网络设备(如计算机网卡)都有一个唯一的MAC地址。当一台计算机向另一台计算机发送数据时,数据链路层将数据封装成以太网帧,在帧头中填写源MAC地址和目的MAC地址,然后通过物理层发送出去。交换机是数据链路层设备,它根据帧头中的MAC地址来转发帧,学习连接到端口的设备的MAC地址,从而建立MAC地址表,实现数据的准确转发。
    • 分类
      • 基于介质访问控制方式分类
        • 争用型:如CSMA/CD(以太网)和CSMA/CA(Wi - Fi),多个节点竞争使用介质。
        • 分配型:如令牌环网,通过传递令牌来决定哪个节点可以发送数据。
      • 根据链路类型分类
        • 点对点链路:如PPP(点到点协议),常用于广域网连接,提供可靠的点对点通信。
        • 广播链路:如以太网,一个节点发送的数据可以被同一网段的其他节点接收。
    • 发展:数据链路层的发展主要体现在介质访问控制方式的改进和传输效率的提高。从早期容易产生冲突的CSMA/CD以太网,发展到更高效的全双工以太网,允许同时双向传输数据,大大提高了带宽利用率。同时,随着无线网络的发展,为适应无线环境特点的介质访问控制协议(如CSMA/CA)也得到了广泛应用。
  8. 网络层

    • 概念:网络层负责将数据从源节点传输到目的节点,它主要关注的是网络中的寻址和路由选择。网络层屏蔽了底层网络的细节差异,使得上层协议可以在不同的网络(如局域网、广域网)之间进行通信。
    • 过程:网络层接收来自传输层的报文段(segment),将其封装成数据包(packet),并添加源IP地址和目的IP地址等信息。然后,根据路由算法选择合适的路径,将数据包通过底层的数据链路层和物理层发送出去。在转发过程中,路由器是网络层的关键设备,它根据数据包中的目的IP地址,查找自己的路由表,决定数据包的下一跳地址,直到数据包到达目的节点。
    • 原理:路由选择是网络层的核心原理。路由算法分为静态路由和动态路由。静态路由是由网络管理员手动配置的固定路由,适用于网络拓扑结构简单且稳定的情况。动态路由则是通过路由协议(如RIP - 路由信息协议、OSPF - 开放式最短路径优先协议、BGP - 边界网关协议)自动学习和更新路由信息,能够适应网络拓扑的变化。另外,网络层还涉及到IP(互联网协议)寻址,通过IP地址来唯一标识网络中的节点。
    • 实例:在互联网中,当你在浏览器中访问一个网站时,数据从你的计算机(源节点)发送到目标服务器(目的节点),这个过程就涉及网络层。例如,你的计算机将请求数据封装成IP数据包,通过家庭路由器发送到互联网服务提供商(ISP)的网络。ISP的路由器根据路由协议和路由表,将数据包逐步转发,经过多个路由器的接力,最终到达目标服务器所在的网络。IPv4和IPv6是网络层的主要协议,IPv4目前仍广泛使用,而IPv6为了解决IPv4地址枯竭等问题而逐渐被推广。
    • 分类
      • 根据网络类型分类
        • 局域网(LAN)网络层协议:主要用于在较小地理范围内的网络,如以太网协议中的网络层部分,实现同一局域网内的设备通信。
        • 广域网(WAN)网络层协议:用于跨越较大地理区域的网络通信,如帧中继、ATM(异步传输模式)等协议,这些协议通常涉及到电信运营商提供的广域网络服务。
      • 根据协议功能分类
        • 路由协议:如RIP、OSPF、BGP等,用于构建和维护网络中的路由表,实现数据包的路由选择。
        • IP协议及其相关协议:如ICMP(互联网控制消息协议)用于发送控制消息和错误报告,IGMP(互联网组管理协议)用于管理多播组。
    • 发展:网络层的发展主要围绕着IP协议的发展和路由技术的进步。从早期的IPv4协议,到为应对地址短缺和新的网络需求而出现的IPv6协议。路由技术也从简单的距离矢量路由算法(如RIP)发展到更复杂高效的链路状态路由算法(如OSPF)和用于大型互联网的边界网关协议(BGP),以适应日益复杂的网络拓扑和大量的数据流量。
  9. 会话层

    • 概念:会话层主要负责建立、维护和管理会话。会话是指两个或多个通信实体之间的一次完整的通信过程,会话层提供了会话的建立、拆除、同步和对话控制等功能,使得通信双方能够有条不紊地进行数据交换。
    • 过程:在通信开始时,会话层通过协商来建立会话,确定会话的参数,如通信方式(全双工或半双工)、会话的优先级等。在会话进行过程中,会话层负责维护会话的状态,包括对会话进行同步,以确保数据的正确顺序和完整性。当通信结束时,会话层负责拆除会话。
    • 原理:会话层使用会话标识符来区分不同的会话,通过会话控制协议来实现会话的各种功能。例如,通过令牌管理来控制会话中的数据发送权,在半双工通信中,只有持有令牌的一方才能发送数据。同时,会话层通过检查点(checkpoint)机制来进行同步,当通信出现故障后,可以从最近的检查点重新开始会话,减少数据重传的范围。
    • 实例:在远程桌面连接应用中,会话层发挥了重要作用。当你使用远程桌面协议(RDP)从本地计算机连接到远程服务器时,会话层首先建立会话,确定连接的参数(如分辨率、颜色深度等)。在会话过程中,它维护连接的稳定性,确保你的操作(如鼠标点击、键盘输入)能够正确地在远程服务器上体现,并且远程服务器的反馈(如图像更新)能够正确地传输回来。当你结束远程桌面连接时,会话层负责拆除会话。
    • 分类
      • 按照功能分类
        • 会话建立和拆除类协议:负责启动和结束会话,例如在网络电话(VoIP)应用中,当你拨打电话和挂断电话时,涉及到这类协议。
        • 会话同步和控制类协议:用于在会话过程中保持通信双方的同步和控制数据发送顺序,如在一些文件传输协议中,确保文件的各个部分按照正确的顺序传输。
    • 发展:随着网络应用的多样化,会话层的功能也在不断增强。从早期简单的文本通信会话管理,发展到支持多媒体通信、实时通信等复杂应用的会话管理。例如,在视频会议应用中,会话层需要处理多个参与者之间的复杂会话关系,包括音频、视频流的同步和控制,以提供高质量的通信体验。
  10. 表示层

    • 概念:表示层主要关注数据的表示形式,它负责处理在不同系统之间交换数据时的格式转换、加密/解密、压缩/解压缩等操作,使得通信双方能够理解彼此的数据。
    • 过程:在发送端,表示层接收来自应用层的数据,首先对数据进行格式转换,将其转换为适合在网络中传输的标准格式。如果需要加密,则对数据进行加密处理;如果数据量较大,还可以进行压缩操作。在接收端,表示层则进行相反的操作,先对数据进行解密(如果是加密数据)、解压缩(如果是压缩数据),然后再将数据转换回接收方系统能够理解的格式,最后传递给应用层。
    • 原理:表示层使用各种数据表示标准和转换算法。例如,在数据格式转换方面,采用统一的字符编码标准(如ASCII、UTF - 8)来确保不同系统之间的字符表示一致。在加密方面,采用对称加密算法(如AES)或非对称加密算法(如RSA)来保证数据的安全性。在压缩方面,使用无损压缩算法(如霍夫曼编码)或有损压缩算法(如JPEG压缩算法)来减少数据量。
    • 实例:在网页浏览中,当浏览器向服务器请求网页内容时,表示层发挥了作用。服务器端的网页文件可能是用某种特定的格式编写的(如HTML + CSS + JavaScript),表示层将这些内容转换为适合在网络中传输的格式(如HTTP协议规定的格式),并且可能对一些敏感信息(如用户登录密码)进行加密传输。在浏览器接收端,表示层将接收到的数据解密并转换为浏览器能够解析的格式,从而正确地显示网页内容。
    • 分类
      • 数据格式转换类:包括文本格式转换(如不同文字编码之间的转换)、图形格式转换(如将一种图形文件格式转换为另一种)、声音格式转换等。
      • 数据加密/解密类:分为对称加密(加密和解密使用相同的密钥)和非对称加密(加密和解密使用不同的密钥),用于保证数据在传输过程中的安全性。
      • 数据压缩/解压缩类:分为无损压缩(解压后的数据与原始数据完全相同)和有损压缩(解压后的数据与原始数据有一定的损失,但在可接受范围内),用于减少数据传输量和存储空间。
    • 发展:表示层的发展主要受到数据多样性和安全性需求的推动。随着多媒体技术的发展,对不同媒体格式之间的转换要求越来越高。同时,网络安全的重要性日益凸显,促使加密技术不断更新,从早期简单的加密方法发展到如今复杂的多层加密体系,以应对各种网络攻击。
  11. 应用层

    • 概念:应用层是OSI参考模型的最顶层,它直接面向用户的应用程序和服务。应用层提供了各种网络应用协议,使得用户能够通过网络进行信息交换、资源共享、远程访问等操作。
    • 过程:应用层协议定义了应用程序之间通信的规则和数据格式。例如,当用户使用浏览器访问网站时,浏览器(应用层客户端)和服务器上的Web服务软件(应用层服务器端)通过HTTP(超文本传输协议)进行通信。浏览器发送HTTP请求(如请求网页内容、提交表单等),服务器接收请求后,根据请求的内容生成HTTP响应(如返回网页文件、处理表单数据后的反馈等),然后浏览器接收并处理响应,将网页内容显示给用户。
    • 原理:应用层协议基于客户 - 服务器模型或对等模型(P2P)来实现通信。在客户 - 服务器模型中,客户端向服务器发起请求,服务器响应请求并提供服务。在对等模型中,各个节点既是客户端又是服务器,它们之间相互通信和共享资源。应用层协议还通过端口号来区分不同的应用服务,例如,HTTP协议通常使用端口80,HTTPS协议使用端口443。
    • 实例
      • 电子邮件应用:通过SMTP(简单邮件传输协议)发送邮件,通过POP3(邮局协议第3版)或IMAP(互联网邮件访问协议)接收邮件。用户在邮件客户端软件(如Outlook、Thunderbird)中编写邮件并发送,邮件客户端通过SMTP协议将邮件发送到邮件服务器,接收方通过POP3或IMAP协议从自己的邮件服务器上获取邮件。
      • 文件传输应用:如FTP(文件传输协议)和SFTP(安全文件传输协议)。在FTP应用中,用户可以通过FTP客户端软件连接到FTP服务器,进行文件的上传和下载操作。SFTP则在FTP的基础上增加了安全加密功能。
    • 分类
      • 基于功能分类
        • 信息获取类:如HTTP、Gopher等,用于获取网页、文档等信息。
        • 信息发布类:如RSS(简易信息聚合),用于发布和订阅信息。
        • 远程访问类:如Telnet、SSH(安全外壳协议),用于远程登录到其他计算机系统。
        • 文件共享和传输类:如FTP、SFTP、NFS(网络文件系统)等。
        • 即时通讯和社交类:如QQ、微信等即时通讯软件所使用的协议,以及社交网络平台(如Facebook、Twitter)所使用的协议。
      • 基于通信模型分类
        • 客户 - 服务器模型应用层协议:如上述大部分应用层协议,包括HTTP、SMTP、FTP等。
        • 对等模型应用层协议:如BitTorrent,用于对等网络中的文件共享,各个节点之间相互协作完成文件的下载和上传。
    • 发展:应用层是随着网络应用的不断创新而快速发展的一层。从早期简单的文本传输协议(如FTP、Telnet),发展到如今丰富多样的多媒体、社交、云计算等应用的协议。随着移动互联网和物联网的兴起,应用层协议也在不断适应新的设备(如智能手机、智能传感器)和应用场景(如移动支付、智能家居)的需求,如开发出专门用于移动应用的轻量级协议和针对物联网设备的低功耗、高安全性协议。

TCP/IP模型

一、概念

  • 定义
    • TCP/IP(Transmission Control Protocol/Internet Protocol)模型是一种网络通信协议栈,它是互联网的基础通信架构。它定义了计算机在互联网中如何相互通信,通过一系列协议来规范数据的传输格式、传输路径和传输方式。
  • 层次结构
    • 应用层:是最靠近用户的一层,为用户提供各种网络应用服务,如HTTP(超文本传输协议,用于网页浏览)、FTP(文件传输协议)、SMTP(简单邮件传输协议,用于电子邮件发送)等。这些协议使得应用程序能够通过网络进行数据交换。
    • 传输层:主要负责在不同主机上的进程之间提供端到端的通信服务。包含TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、面向连接的通信服务;UDP提供简单的、无连接的通信服务。
    • 网络层:主要功能是进行网络寻址和路由选择。IP协议(互联网协议)是网络层的核心协议,它负责将数据包从源主机发送到目标主机,通过IP地址来标识网络中的每一台主机,并根据路由表选择合适的传输路径。
    • 网络接口层:也称为链路层,它负责将网络层的数据包转换为物理网络能够传输的信号。这一层包括各种物理网络接口(如以太网接口、Wi - Fi接口等)和对应的链路层协议(如以太网协议),主要处理物理介质访问和物理信号传输等问题。

二、过程

  1. 数据封装过程
    • 应用层:当应用程序产生数据(如浏览器请求一个网页),数据首先在应用层按照应用层协议(如HTTP)进行封装,添加应用层头部信息,头部信息包含了诸如请求方法(GET、POST等)、URL等内容,形成应用层协议数据单元(PDU)。
    • 传输层:应用层的PDU作为传输层的数据部分,传输层根据应用的需求选择TCP或UDP协议进行再次封装。如果是TCP协议,会添加TCP头部,包括源端口、目的端口、序列号、确认号等信息,用于可靠传输和进程间通信;如果是UDP协议,添加UDP头部,包含源端口和目的端口信息。这样就形成了传输层的报文段(TCP)或用户数据报(UDP)。
    • 网络层:传输层的报文段或用户数据报作为网络层的数据部分,网络层添加IP头部,其中最重要的是源IP地址和目的IP地址,用于在互联网中进行寻址和路由。此外,还包括协议类型(指示上层是TCP还是UDP等)、生存时间(TTL)等信息,形成IP数据包。
    • 网络接口层:IP数据包作为网络接口层的数据部分,在这一层将IP数据包封装成适合物理网络传输的帧。例如在以太网中,会添加以太网头部(包括源MAC地址和目的MAC地址)和尾部(用于校验),形成以太网帧,然后通过物理介质(如网线、无线信号)发送出去。
  2. 数据解封装过程(接收端)
    • 网络接口层:首先接收物理介质传输过来的信号,将其还原为以太网帧,然后检查帧的完整性(通过尾部的校验),提取出IP数据包,将其传递给网络层。
    • 网络层:网络层接收到IP数据包后,根据IP头部的信息进行处理。检查IP地址是否是自己的,如果是,则根据协议类型字段将数据部分(传输层的报文段或用户数据报)传递给相应的传输层协议(TCP或UDP),同时进行一些网络层的操作,如更新路由表等。
    • 传输层:传输层接收到数据后,根据协议(TCP或UDP)进行处理。如果是TCP,会进行序列号检查、确认等操作,确保数据的可靠接收,然后将数据部分(应用层的PDU)传递给应用层;如果是UDP,直接将数据部分传递给应用层。
    • 应用层:应用层接收到数据后,根据应用层协议进行解析,如HTTP协议会根据头部信息和数据内容来显示网页内容等,最终将数据呈现给用户或应用程序。

三、原理

  1. 寻址原理(网络层)
    • IP地址的作用:IP地址是网络层用于在全球互联网中唯一标识一台主机的地址。它采用分层的结构,如IPv4地址由32位二进制数组成,分为网络号和主机号两部分,网络号用于标识主机所在的网络,主机号用于标识网络中的具体主机。通过这种方式,路由器可以根据IP地址的网络号进行路由选择,将数据包转发到目标网络,然后在目标网络中根据主机号找到具体的目标主机。
    • 子网掩码与子网划分:子网掩码用于确定IP地址中网络号和主机号的边界。通过子网划分,可以将一个大的网络划分为多个小的子网,提高网络管理的灵活性和IP地址的利用率。例如,一个C类网络地址192.168.1.0,默认子网掩码是255.255.255.0,如果将子网掩码改为255.255.255.192,则可以将这个网络划分为4个子网。
  2. 可靠传输原理(传输层 - TCP)
    • 序列号和确认号机制:TCP为每个发送的字节分配一个序列号,接收方通过确认号来告诉发送方已经正确接收的数据位置。例如,发送方发送了序列号为1 - 100的字节,接收方收到后发送确认号为101,表示期望收到的下一个字节的序列号是101。这样可以保证数据按序接收,并且可以发现数据丢失的情况。
    • 重传机制:当发送方在一定时间内没有收到接收方的确认消息时,会认为数据丢失,然后重新发送丢失的数据。这是通过定时器来实现的,发送方为每个发送的报文段设置一个定时器,当定时器超时还没收到确认,就进行重传。
    • 流量控制和拥塞控制:流量控制是为了防止发送方发送数据的速度过快,超过接收方的接收能力。通过接收方发送的窗口大小信息来控制发送方的发送速率。拥塞控制则是为了防止过多的数据注入网络,造成网络拥塞。TCP采用了多种拥塞控制算法,如慢启动、拥塞避免、快重传和快恢复,来动态调整发送窗口大小,适应网络的拥塞情况。
  3. 无连接传输原理(传输层 - UDP)
    • UDP不建立连接,也不提供像TCP那样的可靠传输机制。它在发送数据时,直接将应用层数据封装成UDP报文,添加源端口和目的端口后就发送出去。UDP主要关注快速地将数据从发送端发送到接收端,对于数据是否到达、是否按序到达等情况不做保证。这种简单的方式使得UDP在对实时性要求高但对数据准确性要求相对较低的应用场景(如实时视频流、实时音频流)中表现出色。

四、示例

  1. 网页浏览(基于HTTP/TCP/IP)
    • 请求过程:当用户在浏览器中输入一个网址(如https://www.example.com),浏览器首先会根据域名解析系统(DNS)查询该网址对应的IP地址。假设解析得到的IP地址是192.168.1.100,浏览器会在本地随机选择一个端口(如50000),然后建立与目标服务器(192.168.1.100)的TCP连接。通过三次握手建立连接后,浏览器将HTTP请求(如请求网页的首页)封装成HTTP协议数据单元,然后依次经过传输层(添加TCP头部,如源端口50000,目的端口80)、网络层(添加IP头部,源IP为本地主机IP,目的IP为192.168.1.100)、网络接口层(添加以太网头部和尾部,如源MAC地址是本地网卡MAC地址,目的MAC地址是下一跳路由器的MAC地址),最后通过物理介质发送到网络中。
    • 响应过程:服务器收到请求后,根据HTTP协议处理请求,将网页内容封装成HTTP响应消息,按照与请求过程相反的数据解封装过程,通过网络发送回浏览器。浏览器收到响应后,根据HTTP协议解析网页内容并显示给用户。
  2. 在线游戏(可能涉及UDP/IP)
    • 以一个多人在线竞技游戏为例,玩家的位置信息和操作指令需要及时发送给游戏服务器和其他玩家。游戏客户端使用UDP协议将玩家的位置更新信息(如玩家在游戏地图中的坐标)封装成UDP报文,添加源端口和目的端口(游戏服务器的端口)后发送出去。由于UDP不需要建立连接和复杂的可靠传输机制,所以数据可以快速发送。游戏服务器收到UDP报文后,根据其中的信息更新游戏状态,并将更新后的游戏状态信息(如其他玩家的位置变化)发送给各个玩家。这种方式能够满足游戏对实时性的高要求,虽然偶尔可能会出现数据丢失或乱序的情况,但对于游戏体验的影响相对较小,因为游戏可以通过一些简单的机制(如预测玩家下一个位置)来弥补。

五、分类

  1. 协议分类(按层次)
    • 应用层协议:如HTTP、FTP、SMTP、POP3(用于电子邮件接收)、DNS(域名系统)等。这些协议主要用于实现各种网络应用服务,每个协议都有其特定的功能和应用场景。
    • 传输层协议:主要是TCP和UDP。TCP用于需要可靠传输的应用场景,提供面向连接、可靠的端到端通信服务;UDP用于对实时性要求高、对数据准确性要求相对较低的场景,提供无连接、简单高效的通信服务。
    • 网络层协议:核心协议是IP协议,还有一些辅助协议,如ICMP(互联网控制消息协议,用于发送错误报告和网络控制消息)、ARP(地址解析协议,用于将IP地址转换为MAC地址)等。这些协议主要用于网络寻址、路由选择和网络状态监测等。
    • 网络接口层协议:包括各种物理网络的链路层协议,如以太网协议、Wi - Fi协议(IEEE 802.11标准)等。这些协议主要负责物理介质的访问控制和物理信号的传输。
  2. 应用场景分类(基于协议组合)
    • 面向连接的可靠应用场景:如文件传输(FTP)、网页浏览(HTTP)、电子邮件(SMTP和POP3)等。这些应用通常使用TCP协议在传输层,以确保数据的可靠传输和正确顺序。
    • 无连接的实时应用场景:如实时视频流(如在线直播)、实时音频流(如VoIP)、在线游戏的实时操作等。这些应用通常会使用UDP协议在传输层,或者在应用层采用一些补偿机制来处理UDP可能出现的数据丢失和乱序问题,以满足实时性的要求。

六、发展

  1. 早期发展(IPv4时代)
    • TCP/IP模型的雏形最早可以追溯到20世纪70年代,随着互联网的前身ARPANET的发展而逐渐形成。最初,IPv4协议作为网络层的核心协议,它提供了基本的网络寻址和路由功能。在这个阶段,网络应用相对简单,主要是一些科研机构之间的文件传输和远程登录等应用。传输层的TCP协议也在不断完善其可靠传输机制,以满足这些应用的需求。
  2. IPv6的出现
    • 随着互联网的飞速发展,IPv4地址空间逐渐枯竭。IPv6应运而生,它采用128位的地址长度,大大扩展了地址空间。IPv6不仅解决了地址短缺的问题,还在安全性、路由效率等方面进行了改进。例如,IPv6集成了IPsec(网络层安全协议),可以提供更好的网络安全保障。同时,在向IPv6过渡的过程中,出现了多种过渡技术,如双栈技术(同时支持IPv4和IPv6)、隧道技术等。
  3. 应用层协议的丰富和演变
    • 随着互联网应用的不断创新,应用层协议也在不断丰富。从早期的简单文件传输和电子邮件协议,到现在的各种复杂的Web应用协议(如RESTful API等用于构建分布式Web应用)、实时通信协议(如WebRTC用于浏览器端的实时通信)。这些新协议的出现,使得互联网能够支持更多样化的应用,如社交媒体、在线教育、云计算等。
  4. 未来趋势
    • 物联网和5G技术融合:随着物联网的兴起和5G技术的发展,TCP/IP模型将面临新的挑战和机遇。在物联网中,大量的设备需要接入网络,这些设备可能具有不同的计算能力、存储能力和通信需求。5G网络的高速率、低延迟、大容量的特点将促使TCP/IP模型在网络层和传输层进行优化,以适应物联网设备的通信需求。例如,可能会出现针对物联网设备的轻量级协议或者对现有协议的优化版本。
    • 网络安全的强化:在网络攻击日益复杂的环境下,TCP/IP模型的安全机制将不断强化。除了在网络层(如IPv6的IPsec)和应用层(如HTTPS加密的HTTP协议)加强安全防护外,还可能会在传输层开发新的安全协议或者对现有协议进行安全增强,以确保数据在传输过程中的安全性和隐私性。

七、功能

  1. 数据传输功能
    • 通过网络层的IP协议,将数据从源主机发送到目标主机。无论源主机和目标主机在地理位置上相隔多远,只要它们连接在互联网上,IP协议就能够通过路由选择,找到一条合适的传输路径。在传输过程中,传输层协议(TCP或UDP)根据应用的需求提供相应的端到端通信服务,确保数据能够在不同主机上的进程之间进行传输。
  2. 应用支持功能
    • 应用层的众多协议支持各种不同的网络应用。例如,HTTP协议支持网页浏览,FTP协议支持文件在网络中的上传和下载,SMTP和POP3协议支持电子邮件的发送和接收。这些协议为用户提供了丰富的网络应用服务,使得人们能够通过互联网进行信息交流、资源共享等各种活动。
  3. 网络管理功能
    • 网络层的ICMP协议可以用于网络状态的监测和错误报告。例如,当网络中出现路由不可达、主机不可达等情况时,路由器或主机可以通过ICMP消息向源主机发送错误报告。此外,在网络接口层,链路层协议可以对物理网络进行管理,如以太网协议可以对局域网中的设备进行接入控制和带宽分配等。

两种模型的对比

  1. 概念
    • TCP/IP模型
      • TCP/IP(Transmission Control Protocol/Internet Protocol)模型是一组用于实现网络通信的协议族。它是互联网的基础协议,将网络通信划分为四个层次,从下到上分别是网络接口层、网际层、传输层和应用层。这种分层结构使得不同类型的网络能够相互通信,并且能够方便地添加或更新协议。例如,IP协议位于网际层,负责将数据包从源主机发送到目标主机;TCP协议位于传输层,提供可靠的、面向连接的通信服务。
    • OSI模型
      • OSI(Open Systems Interconnection)模型是一个开放性的通信系统互连参考模型,由国际标准化组织(ISO)制定。它将网络通信分为七个层次,从下到上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层次都有其特定的功能,并且下层为上层提供服务。例如,物理层负责传输物理信号,如电缆中的电信号或光纤中的光信号;应用层则是用户与网络应用程序交互的接口,如HTTP协议用于网页浏览。
  2. 过程
    • TCP/IP模型通信过程
      • 应用层:应用程序产生数据,如浏览器请求网页时产生HTTP请求消息。这些消息通过应用层协议进行封装,然后传递给传输层。
      • 传输层:如果使用TCP协议,会为数据添加TCP头部,包括源端口、目的端口、序列号、确认号等信息,用于建立可靠连接和保证数据的正确传输顺序。如果是UDP协议,则只添加简单的头部,包含端口信息。然后将数据传递给网际层。
      • 网际层:主要协议是IP协议,会为数据添加IP头部,包括源IP地址、目的IP地址等信息,将数据封装成IP数据包。IP数据包通过网络接口层发送到网络上,经过路由器等网络设备转发,最终到达目标主机。
      • 网络接口层:将IP数据包转换为适合物理网络传输的帧格式,如以太网帧,然后通过物理介质(如网线、光纤等)进行传输。
    • OSI模型通信过程
      • 物理层:通过物理介质传输原始的比特流,如将计算机中的数字信号转换为电信号或光信号,在物理介质中传输。
      • 数据链路层:将物理层接收到的比特流组装成帧,添加帧头和帧尾,包含源MAC地址、目的MAC地址等信息,用于在本地网络中进行数据传输和错误检测。
      • 网络层:主要功能类似于TCP/IP模型的网际层,确定数据的传输路径,添加网络层头部,包括源IP地址、目的IP地址等,将数据从源节点传输到目标节点,可能会经过多个网络设备的转发。
      • 传输层:提供端到端的通信服务,根据上层应用的需求选择合适的协议,如TCP提供可靠的面向连接服务,UDP提供不可靠的无连接服务,添加传输层头部信息后将数据传递给会话层。
      • 会话层:建立、维护和管理会话,例如在一次文件传输过程中,会话层会负责会话的建立和拆除,以及会话过程中的同步和控制。
      • 表示层:主要负责数据的表示和转换,如加密、解密、压缩、解压缩等操作,使得不同系统之间能够正确理解和处理数据。
      • 应用层:是用户与网络应用程序交互的接口,提供各种网络服务,如HTTP用于网页浏览、FTP用于文件传输等。
  3. 原理
    • TCP/IP模型原理
      • 网络接口层原理:这一层主要负责处理物理网络的细节,不同的物理网络(如以太网、令牌环网等)有不同的帧格式和传输方式。它通过MAC(Media Access Control)地址来识别网络中的设备,MAC地址是全球唯一的硬件地址。
      • 网际层原理:IP协议基于无连接的分组交换原理。每个IP数据包都是独立传输的,网络中的路由器根据IP数据包的目的IP地址进行路由选择,将数据包转发到下一个合适的网络节点。IP协议采用尽力而为的传输方式,不保证数据包的顺序和可靠性。
      • 传输层原理:TCP协议基于连接的、可靠的传输原理。通过三次握手建立连接,在数据传输过程中使用序列号和确认号来保证数据的顺序和完整性,通过超时重传机制来处理数据包丢失的情况。UDP协议则是无连接的、不可靠的传输协议,它不进行连接建立和数据确认,只是简单地将数据发送出去,适用于对实时性要求较高但对数据可靠性要求不高的应用,如视频直播。
      • 应用层原理:应用层协议根据不同的应用需求定义了数据的格式和交互方式。例如,HTTP协议是基于请求 - 响应模式,客户端发送请求消息(如GET、POST等请求方法),服务器根据请求返回相应的资源(如网页内容、文件等)。
    • OSI模型原理
      • 物理层原理:主要涉及物理介质的特性,如电缆的类型、信号的频率、传输速率等。物理层定义了物理接口的标准,如RJ - 45接口用于以太网连接,以及物理信号的编码方式,如曼彻斯特编码等。
      • 数据链路层原理:采用帧的方式来传输数据,通过MAC地址进行设备间的通信。它包括两个子层,介质访问控制(MAC)子层负责控制对物理介质的访问,如以太网的CSMA/CD(载波监听多路访问/冲突检测)机制;逻辑链路控制(LLC)子层负责提供面向连接或无连接的链路服务。
      • 网络层原理:类似于TCP/IP模型的网际层,通过IP地址进行寻址和路由选择。网络层协议负责将数据包从源网络发送到目标网络,并且可以进行网络拥塞控制和流量控制。
      • 传输层原理:与TCP/IP模型的传输层类似,提供端到端的通信服务,根据应用的需求选择合适的协议。传输层协议负责将数据从源端口发送到目标端口,并且保证数据的完整性和可靠性。
      • 会话层原理:通过会话协议来管理会话的建立、维护和拆除。会话层可以设置会话的参数,如会话的超时时间、会话的同步方式等,以确保通信双方能够正确地进行交互。
      • 表示层原理:主要解决不同系统之间数据表示的差异问题。通过数据转换、加密、解密等操作,使得通信双方能够理解和处理数据。例如,将ASCII码转换为EBCDIC码,或者对数据进行加密以保证数据的安全性。
      • 应用层原理:提供各种网络服务的接口,应用层协议定义了应用程序之间的通信方式和数据格式。例如,SMTP协议用于电子邮件的发送,DNS协议用于域名解析等。
  4. 实例
    • TCP/IP模型实例 - 网页浏览
      • 当你在浏览器中输入一个网址(如https://www.example.com)时,应用层的浏览器使用HTTP或HTTPS协议(应用层协议)构建一个请求消息,请求网页内容。
      • 传输层的TCP协议会为这个请求消息添加TCP头部,建立与服务器的可靠连接,通过三次握手过程,确定源端口和目的端口(如浏览器通常使用随机端口,服务器使用80或443端口)。
      • 网际层的IP协议将TCP段封装成IP数据包,添加源IP地址(你的计算机的IP地址)和目的IP地址(服务器的IP地址),通过网络接口层发送到网络上。
      • 网络接口层将IP数据包转换为以太网帧(假设是以太网网络),通过网线等物理介质发送到网络中,经过路由器的转发,最终到达服务器。服务器接收到请求后,按照相反的过程返回网页内容。
    • OSI模型实例 - 电子邮件发送
      • 应用层:你使用电子邮件客户端(如Outlook)编写邮件并发送。客户端使用SMTP(Simple Mail Transfer Protocol)协议构建邮件消息,包括发件人、收件人、主题和邮件内容等信息。
      • 表示层:可能会对邮件内容进行加密(如果使用了加密功能)或者进行格式转换,以确保邮件在传输过程中的安全性和兼容性。
      • 会话层:SMTP协议建立会话,确定邮件传输的会话参数,如会话的开始、结束和错误处理机制等。
      • 传输层:根据邮件客户端的设置,可能会使用TCP协议来提供可靠的传输服务。TCP为邮件消息添加头部信息,包括源端口和目的端口(SMTP服务器通常使用25端口)。
      • 网络层:IP协议将TCP段封装成IP数据包,添加发件人计算机的IP地址和SMTP服务器的IP地址,通过网络设备进行转发。
      • 数据链路层:将IP数据包转换为适合物理网络传输的帧格式,添加源MAC地址和目的MAC地址,通过物理介质发送到网络中。
      • 物理层:通过网线、光纤等物理介质将帧中的比特流传输到下一个网络节点,最终到达SMTP服务器。
  5. 分类
    • TCP/IP模型分类(按层次)
      • 网络接口层:包括各种物理网络协议,如以太网协议(IEEE 802.3)、Wi - Fi协议(IEEE 802.11)等。这些协议规定了物理网络的传输介质、信号编码方式、帧格式等内容。
      • 网际层:主要是IP协议族,包括IP(Internet Protocol)、ICMP(Internet Control Message Protocol)用于网络控制和错误报告、IGMP(Internet Group Management Protocol)用于多播管理等。
      • 传输层:分为TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供可靠的、面向连接的传输服务;UDP提供不可靠的、无连接的传输服务。
      • 应用层:包含众多的应用协议,如HTTP(Hypertext Transfer Protocol)用于网页浏览、FTP(File Transfer Protocol)用于文件传输、DNS(Domain Name System)用于域名解析、SMTP(Simple Mail Transfer Protocol)用于电子邮件发送等。
    • OSI模型分类(按层次)
      • 物理层:分类主要基于物理介质和物理信号的特性,如双绞线、同轴电缆、光纤等物理介质相关的标准,以及不同的信号编码方式(如不归零码、曼彻斯特编码等)。
      • 数据链路层:分为介质访问控制(MAC)子层和逻辑链路控制(LLC)子层。MAC子层协议有以太网的CSMA/CD协议、令牌环网的令牌传递协议等;LLC子层协议用于提供不同类型的链路服务。
      • 网络层:主要包括IP协议以及相关的路由协议,如RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)等用于网络中的路由选择和路径计算。
      • 传输层:同样有面向连接的协议(如TCP类似的功能协议)和无连接的协议(如UDP类似的功能协议),用于提供端到端的通信服务。
      • 会话层:包括各种会话管理协议,如NetBIOS会话服务协议等,用于建立、维护和管理会话。
      • 表示层:包含数据加密/解密协议(如SSL/TLS协议的部分功能)、数据压缩/解压缩协议等,用于数据的表示和转换。
      • 应用层:众多的应用协议,如HTTP、FTP、DNS、SMTP等,这些协议与TCP/IP模型的应用层协议有很多重叠,因为它们都是用于提供具体的网络服务。
  6. 发展
    • TCP/IP模型发展
      • TCP/IP模型最初是为了满足美国国防部高级研究计划局(DARPA)的网络通信需求而开发的。在20世纪70年代,ARPANET开始使用TCP/IP协议进行实验性的网络通信。随着互联网的发展,TCP/IP协议不断完善和扩展。例如,为了提高网络安全性,在传输层和应用层之间增加了SSL/TLS协议用于加密通信;在网际层,IPv6协议的出现解决了IPv4地址短缺的问题,并且提供了更好的网络性能和安全性。TCP/IP协议的发展也促使了各种网络应用的出现,如电子商务、社交媒体、云计算等。
    • OSI模型发展
      • OSI模型是由国际标准化组织(ISO)在20世纪80年代提出的一个理想化的网络通信模型。它的目的是为了建立一个统一的、全球通用的网络通信标准。在发展过程中,虽然OSI模型在理论上非常完善,但由于其过于复杂和标准化过程缓慢,在实际应用中没有像TCP/IP模型那样广泛普及。然而,OSI模型的许多概念和分层思想对网络技术的发展产生了深远的影响,如网络分层的设计理念、各层次功能的定义等都为网络工程师理解和设计网络系统提供了重要的参考。在现代网络技术中,一些网络设备的配置和网络协议的设计仍然会借鉴OSI模型的部分思想。
;