《计算机网络自顶向下》学习笔记01——第一章计算机网络和因特网

目录

一、计算机网络的组成        

1. 从组成成分:

1.1 硬件

1.2 软件

1.3 协议

2. 从具体构成角度

2.1 节点

2.2 边--通信链路

2.3 协议

3.从组成类型角度

3.1 网络边缘

3.2网络核心

 插入!计算题!!

3.3 接入网、物理媒体

接入网分类:

  物理媒体分类:

二、 Internet结构和ISP

互联网络结构:网络的网络

三、 协议层次及其服务模型

 服务与协议的区别     

服务与协议的联系

        1.服务定义协议的目标:

        2.协议支持服务的交付:

        3.服务通过协议实现:

        4.协议适应不同的服务:

数据单元

数据单元的格式、头部信息和负载

Internet 协议栈

1.物理层(Physical Layer)

2.数据链路层(Data Link Layer)

3.网络层(Network Layer)

4.传输层(Transport Layer)

5.应用层(Application Layer)

ISO参考模型(ISO Reference Model)

四、封装与解封转

       1.概念

 2,举例说明

        2.1封装过程

        2.2解封装过程 


目标:

  • 了解基本术语和概念
  • 掌握网络的基本原理
  • 为后续章节更深入学习打下基础

一、计算机网络的组成        

1. 从组成成分:

1.1 硬件

        主要由主机(端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机)【链路层的交换机,网络层的路由器】和通信处理机(如网卡)等组成

1.2 软件

        软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(如网络操作系统、邮件收发程序、FTP程序等)。软件部分多属于应用层。

1.3 协议

      协议定义了在两个或多个通信实体之间交换的报文格式次序,以及在报文传输和/或接收或其他事件方面所采取的动作

(对等层的实体在通讯的过程中应该遵守的规范的集合)。协议是计算机网络的核心。

2. 从具体构成角度

2.1 节点

  • 主机及其上运行的应用程序
  • 路由器、交换机等网络交换设备

2.2 边--通信链路

  • 接入网链路:主机连接到互联网的链路
  • 骨干链路:路由器间的链路

2.3 协议

同1.3。

协议控制发送、接收消息,如TCP、IP、HTTP等


 互联网:分布式应用和为分布式应用提供通讯服务的基础设施


3.从组成类型角度

3.1 网络边缘


目标:在端系统之间传输数据
握手:在数据传输之前做好准备


组成: 

  • 主机
  • 应用程序(CS和p2p)

        CS(Client-Server,客户端-服务端)和P2P(Peer-to-Peer,点对点)是在计算机系统中两种常见的端系统分类方式。

        1. CS(Client-Server)架构:是一种典型的中心化网络结构,主要由客户端和服务端两种计算机端系统组成。

        在CS架构中,客户端通过向服务端发送请求获取资源,并将应答返回到请求者。服务端一般有着较为强大的计算、存储和网络传输能力,可以为多个客户端提供资源、处理请求、管理和维护系统等。

        CS架构的特点是简洁明了、易于管理、稳定可靠等,但同时也存在着单点故障、网络拓扑结构复杂、中心化管理容易造成安全问题等缺点。

        2. P2P(Peer-to-Peer)架构:是一种分布式的点对点通信模式,每个点都可以同时扮演客户端和服务端的角色。

        在P2P架构中,节点之间可以直接相互通信和分享数据资源,不需要中心化服务器的支持。

        P2P架构的特点是自适应性好,抗干扰能力强,成本低廉等,但是也存在着数据安全性难以保障、中间人攻击等问题。

综合来看,CS架构适用于管理、维护和监控的应用,如网上购物、网上银行等;而P2P架构更适用于分布式文件共享、流媒体传输、点对点聊天等应用场景。而在实际应用中,CS和P2P两种端系统也可以通过混合、层次化等多种方式进行结合,以充分发挥它们的优势。

        在传输数据中(传输层)又有TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)两种协议。

        TCP是一种可靠的面向连接协议。使用TCP时,必须在两台计算机之间建立一个连接,然后才能进行数据传输。TCP协议采用滑动窗口和流量控制等技术,使得数据传输是可靠的,数据在传输过程中不会丢失、重复或乱序。同时,TCP协议还支持流量控制和拥塞控制等机制,以确保传输过程中网络不会超负荷或拥堵。TCP协议应用广泛,如网页访问、文件传输、电子邮件、远程登录等等。

        UDP则是一种无连接的协议。使用UDP时,数据包不需要与目的主机之间建立连接,而是直接发送到目的主机。UDP协议不保证数据包的可靠性,数据在传输过程中可能会丢失、重复或乱序,也没有流量控制和拥塞控制等机制。UDP协议的优点是传输效率高,延迟低,适用于实时数据的传输和互动应用,如视频直播、实时游戏、VoIP等。

3.2网络核心


基本问题:数据怎样通过网络进行传输? 

 目标:进行数据交换

核心功能:转发和路由


 组成:

  • 互联着的路由器
  • 网络的网络

 网络核心主要采用两种方式交换数据,分别是电路交换分组交换。     

电路交换具有以下几个特点:

        1. 独占资源:在电路交换中,两个通信终端之间建立了一条专用的物理通路,这条通路在整个通信过程中都将被占用,因此在通信过程中,这条通路的全部带宽资源都属于这个通信双方独享,不会被其他通信所干扰。

        2. 连接建立:电路交换需要首先在通信终端之间建立一个连接,建立连接的过程需要消耗一定的时间和资源,但是连接建立之后,通信双方之间的通信质量稳定,没有数据包的丢失、错乱、重传等问题。这种方式适用于数据传输量比较少,同时延迟敏感的应用,如电话和视频通信等。

        3. 固定带宽:在电路交换中,为了保证连接质量,和为了防止拥塞,建立连接时需要为通信双方分配一定的带宽,而且在通信过程中,该带宽不会被其他通信所占用。因此,在电路交换中,通信带宽是固定的,适用于传输量固定、稳定的应用场景,如传真和音频通信等。

        4. 传输可靠:在电路交换中,由于连接始终保持着,任何时候都处于激活状态,因此传输数据的可靠性很高。数据传输过程中不会发生数据包丢失、重传、错乱等问题,而且通常会提供固定的连接质量,如带宽、延迟、丢包率等等。

总的来说,电路交换具有优秀的实时性和传输可靠性,适合于传输量稳定、实时性要求高的应用场景,如电话、实时视频等。但是,电路交换需要提前建立连接,并且连接始终占用带宽,不适合于传输量不定、数据量较大、突发性较强的数据通信。

电路交换不适合计算机之间的通信 


根据实现方式的不同,电路交换可以分为以下几种类型:

  1. 频分电路交换(FDM):将通信频带按照一定的比例分为多个频率子带,每个子带上建立一个独立的逻辑通路,通信双方可以独占一个子带进行通信。数据会被拆分成多个固定大小的单元,在不同的子带上传输。这种方式适用于通信比较稳定,长时间占用频率资源的场景。

  2. 时分电路交换(TDM):在通讯的两个终端之间建立一条物理通道,并将它分割为若干个时段,通信双方通过依次占用这些时段实现数据传输。数据包被拆分成固定大小的分组,在时隙上进行传输。这种方式适用于数据量小、用户数量多的场景。

  3. 波分电路交换(WDM):将光纤通道按照不同波长光分成多个独立的光通道,每个光通道上可以建立一个独立的逻辑通路,通信双方可以独占一个光通道进行通信。数据包在光通道上进行传输。这种方式适用于需要高速数据传输、带宽资源丰富、距离较远的场景。

 


 插入!计算题!!

在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?【题目摘于郑烇老师的PPT】

已知:

  • 所有的链路速率为1.536 Mbps
  • 每条链路使用时隙数为24的TDM
  • 建立端-端的电路需500 ms

 共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s


     

分组交换是一种数据通信技术,其中数据被拆分成多个固定大小的数据包,这些数据包被分别传输,每个数据包都包含有足够的信息,包括目标地址和源地址等,以便在网络中正确地路由和传送。以下是分组交换的特点:

  1. 共享资源:分组交换网络中的带宽资源是共享的,数据包在网络中传输时需要与其他数据包竞争网络带宽。这意味着,当网络比较繁忙时,数据包的传输可能会受到延迟和丢失等影响。

  2. 连接不是长期的:在分组交换中,数据包并不会在网络中占用一个长期的专用通道,而是根据需要进行路由和传输。这意味着,每个数据包的传输可能采用不同的路由,并且可能被分成多个数据包进行传输。

  3. 可靠性较低:分组交换不像电路交换那样提供连接质量的保证。每个数据包都在网络中进行路由,这意味着不同的数据包可能会采用不同的路由,这可能导致数据包传输顺序被打乱,或者数据包丢失或重复等问题。

  4. 高效的带宽利用:分组交换通过动态分配带宽资源和路由选择,可以实现高效的带宽利用。由于数据包可以使用任意可用的网络资源,因此网络吞吐量可以得到有效地提高。

  5. 灵活性:由于分组交换中不需要建立长期的连接,因此网络中的节点和链路配置可以更加灵活。这使得网络更容易扩展和升级,并支持更多种不同的应用和服务。

总的来说,分组交换是一种高效的数据通信技术,具有高效的带宽利用和灵活性等特点,但也存在可靠性低、延迟高等问题。分组交换在互联网、局域网和广域网等多种网络中广泛应用。

分组交换更适合于对突发式数据传输

  • 资源共享
  • 简单,不必建立呼叫
    过度使用会造成网络拥塞:分组延时和丢失
  • 对可靠地数据传输需要协议来约束:拥塞控制

在分组交换网络中,有三个重要的性能指标:时延(Delay),吞吐量(Throughput)和丢包(Packet Loss)。

  1. 时延(Delay):时延是指数据包从源端到目的端的传输延迟时间。在分组交换网络中,时延可以分为以下几种类型:

    • 传输时延(Transmission Delay):数据包在物理媒体上传输所需要的时间。它取决于数据包的大小和物理媒体的传输速率。

      传输时延 = 数据包大小 / 传输速率

      示例:假设要传输一个数据包大小为 1000 字节(8000 比特),传输速率为 1 Mbps(1000000 比特/秒)。 传输时延 = 8000 比特 / (1000000 比特/秒) = 0.008 秒 = 8 毫秒

    • 传播时延(Propagation Delay):数据包在传输媒体上传播所需要的时间。它取决于传输媒体的传播速度和传输距离。

      传播时延 = 传输距离 / 传播速度

      示例:假设数据包要通过光纤传输,传输距离为 500 公里,传播速度为光速的 2.4 乘以 10^8 米/秒。 传播时延 = 500,000 米 / (2.4 × 10^8 米/秒) = 2.08 毫秒

    • 处理时延(Processing Delay):数据包在网络节点(如路由器)上进行处理所需要的时间。它包括路由器的处理时间、排队等待时间等。
    • 排队时延(Queuing Delay):数据包在网络节点的输出队列中等待传输所需要的时间。当网络拥塞或流量过大时,排队时延会增加。
  2. 吞吐量(Throughput):吞吐量是指在一段时间内通过网络传输的数据量。它表示网络的处理能力和带宽利用率。吞吐量通常以比特率(bits per second)或字节率(bytes per second)来衡量。较高的吞吐量意味着网络可以更快地传输数据。

  3. 丢包(Packet Loss):丢包是指在网络传输过程中丢失的数据包数量。丢包可能由多种因素引起,例如网络拥塞、传输错误、缓冲区溢出等。丢包会导致数据的丢失和传输的不完整性,可能对应用程序的性能和用户体验产生负面影响。

换取了共享性,按需使用

这些性能指标在设计、评估和优化分组交换网络时非常重要。根据不同的应用需求,可以通过优化网络结构、调整传输参数、提高带宽等方法来改善时延、吞吐量和丢包等网络性能。


在网络核心中,路由(Routing)和转发(Forwarding)是两个关键功能,它们扮演着确保数据包从源端到目的端正确传输的重要角色。

1. 路由(Routing):路由是指确定数据包从源节点到目的节点的最佳路径的过程。在路由过程中,路由器根据网络拓扑、路由协议和路由策略等信息来选择合适的路径。路由器通过交换路由信息,构建网络拓扑图,并根据路由算法计算出数据包应该走的路径。路由算法可以基于不同的指标和策略,如最短路径、最小负载、最快速度等。路由的目标是使数据包能够以最快、最可靠的方式到达目的地。

2. 转发(Forwarding):转发是指路由器根据路由表中的信息,将接收到的数据包从一个接口转发到另一个接口的过程。当路由器接收到数据包时,它会检查数据包的目的地址,并查询路由表以确定下一跳的接口。路由表存储了目的地址与出接口之间的映射关系。根据路由表的匹配结果,路由器将数据包转发到适当的接口,并发送到下一个网络节点。转发过程通常是硬件级别的操作,速度非常快,以保证数据包能够快速地在网络中传输。

总结起来,路由负责决定数据包的最佳路径,而转发负责根据路由表中的信息将数据包从一个接口转发到另一个接口。这两个功能相互配合,确保数据能够有效地在网络核心中传输,达到目的地。

3.3 接入网、物理媒体


问题: 怎么将端系统和边缘路由连接


组成: 

  • 有线或者无线的通信链路

接入网分类:

  •  住宅接入网络
  1. 数字用户线路(Digital Subscriber Line,DSL):通过电话线路提供高速互联网接入,利用调制解调器(Modem)将模拟信号转换为数字信号。

  2. 光纤到户(Fiber to the Home,FTTH):使用光纤传输技术将高速互联网接入直接传送到住宅,提供更高的带宽和速度。

  3. 有线电视网络(Cable Network):利用有线电视网络提供宽带互联网接入,通过电视线缆传输数据。

  • 单位接入网络(学校、公司)
  1. 以太网(Ethernet):通过使用网线将计算机、服务器和其他网络设备连接在一起,构建本地区域网络(LAN)。

  2. 光纤接入(Fiber Optic Access):使用光纤传输技术提供高速互联网接入,适用于大型机构和企业。

  3. 移动网络(Mobile Network):通过移动通信技术(如4G、5G)提供单位接入网络,使用户可以通过移动设备连接到互联网。

  • 无线接入网络
  1. Wi-Fi(无线局域网):通过无线路由器创建本地区域网络(LAN),使用户可以通过无线设备(如手机、平板电脑)连接到互联网。

  2. 蜂窝移动网络:利用蜂窝网络(如4G、5G)提供无线互联网接入,用户可以通过移动设备在覆盖范围内连接到互联网。

  物理媒体是指在接入网络中用于传输数据的物理媒介或介质。 

  物理媒体分类

  1. 铜线:铜线是一种常见的物理媒体,用于传输电信号和数据。它通常用于传输模拟电话信号和以太网数据。在住宅和单位接入网络中,常用的铜线包括电话线、电缆线和网线(如Cat5e、Cat6等)。

  2. 光纤:光纤是一种使用光传输数据的物理媒体。它由纤维光束组成,可以传输大量的数据,并提供高速和高带宽的连接。光纤广泛用于光纤到户(FTTH)网络、数据中心互连和长距离通信。

  3. 同轴电缆:同轴电缆由内部导体、绝缘层、外部导体和外层保护层组成。它常用于有线电视网络和一些宽带接入技术(如DOCSIS)。

  4. 无线介质:无线介质包括电磁波、无线电频谱和红外线等,用于在无线接入网络中传输数据。无线介质通过无线信号在空气中传播,用户可以通过无线设备接收和发送数据。

二、 Internet结构和ISP

互联网络结构:网络的网络


 端系统通过接入ISPs (Internet Service Providers)连接到互联网
例如:住宅,公司和大学的ISPs
接入ISPs相应的必须是互联的-->因此任何2个端系统可相互发送分组到对方-->
导致的“网络的网络”非常复杂 。

发展和演化是通过经济的和国家的政策来驱动的


  • 松散的层次结构
  1. 中心:第一层ISP,国家/国际覆盖,速率极高
  2. 第二层ISP:更小些的ISP(通常是区域性的)
  3. 第三层ISP与其他本地ISP
  • 端系统(离端系统最近)

三、 协议层次及其服务模型

        协议层次是指在网络通信中使用的协议被组织成多个层次,每个层次都有特定的功能和责任。每个层次的协议通过提供特定的服务模型,协同工作以实现可靠的数据传输和通信。

以下是常见的协议层次(应用层,传输层,网络层,链路层,物理层)及其服务模型:

  1. 应用层(Application Layer):应用层是网络协议栈的最高层,为应用程序提供通信服务和接口。它包括各种协议,如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等,这些协议支持应用程序之间的数据传输和交互。

    服务模型:应用层协议的服务模型通常是基于客户端-服务器模型或对等模型。它提供了应用程序之间的通信和交互所需的服务,如文件传输、电子邮件、网页浏览等。

  2. 传输层(Transport Layer):传输层负责在网络节点之间建立可靠的数据传输通道。它使用端到端的传输协议,如TCP(传输控制协议)和UDP(用户数据报协议)。

    服务模型:传输层的服务模型包括可靠性、流量控制、拥塞控制和错误检测与恢复。TCP提供面向连接的、可靠的数据传输,而UDP提供无连接、不可靠但低延迟的数据传输。

  3. 网络层(Network Layer):网络层负责在不同的网络之间进行数据包的路由和转发。它使用IP(互联网协议)来定义数据包的格式和寻址方式。

    服务模型:网络层的服务模型包括路由选择、数据包分组、拥塞控制和地址分配。它确保数据包通过网络按照最佳路径到达目标网络。

  4. 数据链路层(Data Link Layer):数据链路层在物理网络中传输数据帧,提供了节点之间的可靠数据传输和错误检测。

    服务模型:数据链路层的服务模型包括帧同步、流量控制、错误检测和纠错。它通过物理介质(如以太网)提供了节点之间的直接通信。

  5. 物理层(Physical Layer):物理层处理物理介质上的比特流,将数据转换为电信号以在网络中传输。

    服务模型:物理层的服务模型包括传输速率、数据编码、物理接口和电信号传输。


        在协议层次中,服务是指通过网络提供的特定功能或能力。服务可以在不同的层次上提供,并通过服务访问点进行访问。

下面是关于服务和服务访问点的解释:

1. 服务:服务是协议层次中提供的功能或能力,用于满足网络通信的需求。每个协议层次都提供不同类型的服务,以支持特定的通信需求。例如,应用层提供文件传输服务、电子邮件服务、Web服务等,传输层提供可靠的数据传输服务,网络层提供路由服务等。

2. 服务访问点:服务访问点是在协议层次中访问特定服务的位置或接口。每个协议层次都定义了特定的服务访问点,以便应用程序或其他协议可以与所需的服务进行交互。服务访问点可以是接口、端口号、协议地址等,具体取决于协议层次和服务类型。

   - 在应用层,服务访问点通常是使用特定的协议端口号,例如HTTP使用端口号80,FTP使用端口号21等。应用程序可以通过连接到特定端口来访问相应的服务。

   - 在传输层,服务访问点使用传输协议的端口号,例如TCP的端口号和UDP的端口号。应用程序通过与特定的端口建立连接,以访问传输层提供的服务。

   - 在网络层,服务访问点是通过网络协议中定义的IP地址和子网掩码进行识别。网络层的服务访问点允许数据包在网络中进行路由和转发,以实现端到端的通信。

   - 在数据链路层和物理层,服务访问点通常是通过网络接口卡(NIC)或物理连接的接口进行访问。这些层次的服务访问点提供了直接访问网络介质的功能。

通过服务访问点,应用程序或其他协议可以使用特定的协议和地址信息与所需的服务进行交互,并实现所需的网络通信功能。


 服务与协议的区别     

服务和协议是网络通信中的两个相关但不同的概念。下面是关于服务和协议的区别:

  1. 服务:服务是指网络中提供的功能或能力,用于满足特定的通信需求。它代表了在特定协议层次或网络层次上可用的功能。服务定义了所提供的功能、操作方式以及可访问的接口。例如,在应用层,服务可以是文件传输、电子邮件、远程登录等;在传输层,服务可以是可靠的数据传输;在网络层,服务可以是路由和数据包转发等。服务通常通过特定的服务访问点进行访问。

  2. 协议:协议是网络通信中的规则和约定,用于确保数据在网络中的传输和交换。协议定义了数据的格式、交换的规则、错误处理和其他相关的通信细节。它描述了通信参与者之间的通信行为,以确保正确的数据传输和可靠的通信。协议可以包括各种层次的协议,如应用层协议、传输层协议、网络层协议等。每个协议层次都有特定的协议集合,负责提供相应层次的功能和服务。

要总结服务和协议之间的区别,可以说服务是网络中提供的功能或能力,用于满足特定的通信需求,而协议是定义了数据交换和通信规则的规范和约定。服务描述了网络中可用的功能,而协议定义了这些功能的具体实现方式。协议提供了服务所需的规范和约定,以确保数据在网络中正确、可靠地传输和交换。


服务与协议的联系

以下是服务与协议之间的联系:

        1.服务定义协议的目标:

        服务确定了网络中所需的功能和能力,协议则定义了实现这些功能和能力所需的规则和约定。服务的需求和目标直接影响了协议的设计和实现。协议的目的是提供一种机制,通过遵循协议规范,实现所需的服务

        2.协议支持服务的交付:

        协议定义了数据的格式、交换的规则和通信的细节,以确保数据能够在网络中传输和交付。协议提供了通信参与者之间的协调和协作机制,以支持所需的服务。通过定义消息格式、数据包结构、传输方式等,协议确保数据能够按照服务的要求进行传递和处理。

        3.服务通过协议实现:

        服务通过协议来实现和提供。协议定义了服务的接口、操作方式和访问规则,使得应用程序或网络参与者能够使用协议来访问所需的服务。通过遵循协议,应用程序能够与网络中的其他节点进行通信,并通过协议提供的功能来满足特定的通信需求。

        4.协议适应不同的服务:

        协议的设计通常是灵活和可扩展的,以适应不同类型的服务需求。不同层次的协议栈提供了各种协议,以支持不同的服务类型。例如,应用层协议栈提供了HTTP、SMTP等协议,用于支持不同的应用程序通信需求;传输层协议栈提供了TCP、UDP等协议,用于提供可靠的或无连接的数据传输服务。

综上所述,服务和协议是相互关联的概念。服务确定了通信中的功能和需求,而协议定义了实现这些服务的规则和约定。通过协议的定义和实施,服务能够在网络中得以提供和访问。服务和协议相互依赖和协同工作,构成了网络通信的基础。


数据单元

数据单元是网络通信中传输的最小数据单元或数据包。它是在网络中进行传输的数据的基本单元,用于在源节点和目标节点之间传递信息。不同的协议层次和网络技术可以使用不同的术语来描述数据单元,如数据包、数据帧、数据段等。

以下是一些常见的数据单元名称和它们在不同协议层次中的应用:

  1. 应用层:在应用层协议中,数据单元通常称为消息或报文。它是在应用程序之间传输的信息单元,例如在HTTP中的HTTP请求和响应,或在SMTP中的电子邮件消息。

  2. 传输层:在传输层协议中,数据单元通常称为数据段或报文段。传输层负责将应用层的数据拆分为更小的数据单元,并添加必要的控制信息。例如,在TCP中,数据单元称为TCP报文段。

  3. 网络层:在网络层协议中,数据单元通常称为数据包或数据报。网络层协议负责将数据传输到网络中的目标节点。在IP协议中,数据单元称为IP数据包。

  4. 数据链路层:在数据链路层协议中,数据单元通常称为数据帧。数据链路层负责将数据包装为帧,并在物理介质上传输。在以太网中,数据单元称为以太网帧。

  5. 物理层:在物理层协议中,数据单元通常称为比特。物理层负责将比特流转换为电信号,并在物理介质上传输。

这些数据单元在网络中通过不同的协议和协议层次进行封装和传输,以确保数据的可靠传递和正确交付。每个协议层次的数据单元都有其特定的格式、头部信息和负载内容,以满足通信需求和协议规范。

数据单元的格式、头部信息和负载

  1. 格式:数据单元的格式指的是数据单元在传输过程中的组织和结构方式。不同的协议和协议层次定义了特定的数据单元格式,包括数据单元的长度、字段的顺序和大小,以及各个字段的含义

  2. 头部信息:数据单元的头部信息是在数据单元前部分包含的用于传递控制和管理信息的部分。头部信息提供了必要的元数据,用于识别和处理数据单元。头部信息通常包含了一些控制字段,如源地址、目标地址、协议版本、序列号等。不同协议层次和协议有不同的头部信息结构和字段。

  3. 负载内容:数据单元的负载内容是实际携带的数据部分,它是由源节点发送到目标节点的有效信息。负载内容可以是应用数据、传输数据、网络数据等,具体取决于协议层次和所传输的数据类型。

关系:

  • 数据单元的格式定义了整个数据单元的结构,包括头部信息和负载内容的位置和大小。
  • 头部信息位于数据单元的前部分,用于传递控制和管理信息。头部信息的格式和字段定义了数据单元的控制和处理规则。
  • 负载内容位于数据单元的剩余部分,携带了实际的数据信息。
  • 头部信息中的字段可以提供有关负载内容的元数据,如源地址和目标地址等。

在传输过程中,数据单元按照定义的格式进行封装和解封装。源节点根据协议规范将数据按照格式组织为数据单元,然后在发送过程中传输给目标节点。目标节点接收到数据单元后,根据格式解析头部信息,提取出控制信息,并根据控制信息对负载内容进行处理。

总之,数据单元的格式、头部信息和负载内容相互关联,共同构成了数据单元在网络通信中的结构和内容。格式定义了数据单元的整体结构,头部信息提供了控制和管理信息,而负载内容携带了有效的数据信息。这种关系确保了数据在网络中的正确传输和处理。


Internet 协议栈

通常分为五个层次,从底层到高层依次为:

1.物理层(Physical Layer)

         物理层定义了传输媒介的物理特性,如电气、形状、拓扑、传输速率等,以及在设备之间传输数据的方法。例如,由于传输媒介不同,电缆和光纤的方式就不同。物理层所用的协议如同 IEEE 802.3,令牌环等。

2.数据链路层(Data Link Layer)

        数据链路层通过物理层提供的服务来为网络层提供服务,它主要处理数据传输,管理网络设备之间的协调访问和流量控制,计算数据包的校验和,处理数据包间的差错,并能根据需要进行可靠的重传,从而保证数据传输的可靠性。数据链路层所用的协议有HDLC、LLC、MAC等。(点到点的传输)

3.网络层(Network Layer)

        网络层确定数据如何在网络中传输和路由,它负责数据在网络中传输的路径选择和转发,根据网络拓扑结构选择最佳的路由。网络层的协议有 IP、ICMP、ARP等。(端到端的传输)

4.传输层(Transport Layer)

        传输层提供端到端的服务,确保数据从源到目标的可靠传输和流量控制,它负责为应用程序提供两种协议:TCP 和 UDP。其中,TCP 可以提供可靠的数据传输,UDP 则提供无连接服务,主要是用于实现实时应用程序数据的传输。(进程到进程(区分进程),加强网络层的服务将不可靠的变为可靠的)

5.应用层(Application Layer)

        应用层是用户使用网络服务的接口,它定义了各种网络应用程序的操作规范和协议。常见的协议有 HTTP、SMTP、POP3、FTP 等。

这五个层次之间不断地通过协议进行交互和通信,共同构成了互联网的协议栈,为网络的数据传输、路由和处理提供保证和支持。


ISO参考模型(ISO Reference Model)

ISO参考模型(ISO Reference Model)也称国际标准组织(ISO)/ 网络互连系统提供参考模型(OSI Reference Model),是由国际标准化组织(ISO)在1977年制定的一种网络通信协议的参考模型。

ISO参考模型分为七层,从底层到高层依次为:

  1. 物理层(Physical Layer):定义了网络硬件设备的物理特性和传输媒介。

  2. 数据链路层(Data Link Layer):定义了数据如何在两个设备之间传输,包括错误检测、流量控制、访问方法等。

  3. 网络层(Network Layer):定义了此层协议处理的数据包在整个网络中的路由方式,如何构建数据包并在多个设备中进行传输。

  4. 传输层(Transport Layer):定义了数据传输的模式,包括传输过程中的可靠性、速度等,如何在差错和丢包的情况下重发丢失或发生错误的数据。(数据交换的同步,检查点,恢复

  5. 会话层(Session Layer):定义了会话的建立、管理和拆除方式,包括根据需要指定同步或异步通讯,处理多个会话应用需要和网络层协同工作。

  6. 表示层(Presentation Layer):表示层定义了数据的表示方式,包括数据、编码和格式的转换等。(允许应用解释传输的

  7. 应用层(Application Layer):最上层,定义了可以用于设计应用程序的通信协议,如电子邮件、文件传输协议(FTP)和Web协议(HTTP)等。

ISO参考模型的一个重要的作用是,可以帮助网络技术人员更好地理解和设计网络协议,同时也为不同的网络协议提供了一个统一的参考模型,使得不同的网络可以使用不同的协议来设计自己的特定应用。

四、封装与解封转

       1.概念

         封装(Encapsulation)是指在计算机网络中将数据按照一定的格式进行整理和打包的过程,即在每层协议头部添加相应的控制信息,形成具有独立意义的数据包。这个过程从上到下依次进行,每个层次都将预定义的控制信息添加到数据包的头部。

        解封装(Decapsulation)是指在计算机网络中,使用相应的解包程序处理收到的数据包的过程。每个处理程序都根据预定义的协议头信息获得所需的数据包,然后按照相应的协议规则将其剥离出来,将包含的数据传递给上一层,这个过程是从下到上依次进行。

 2,举例说明

封装过程和解封装过程可以用TCP/IP协议栈中的数据传输作为一个例子进行说明。

        2.1封装过程

        假设一个用户要通过一个Web应用程序发送一个 HTTP 请求(GET 请求),以获取某个网站上的页面信息。在发送这个请求之前,TCP/IP协议栈会按照如下步骤进行数据的封装:

  • 应用层:Web浏览器通过HTTP协议生成一个HTTP请求数据部分,包括了请求方法,请求头和请求体等。
  • 传输层:此时,TCP协议会在HTTP请求数据前面附加一个TCP头,这个头包含了源端口和目的端口等信息,形成了TCP段。
  • 网络层:IP协议会在TCP段的前面再添加一份IP头,这个IP头包含了源IP地址和目的IP地址等信息,形成了一个IP数据报。
  • 数据链路层:最后,物理层将整个IP数据报封装成一个数据帧,在帧的前面添加 MAC 地址等一些其他的控制信息,形成了一个数据帧。

这些层级的封装操作都是逐步进行的,每一层都会将自己的头部信息添加到调用层上一层的数据上,从而形成一个完整的数据包。最终,数据将被转化为物理信号并发送到网络中进行传输。

        2.2解封装过程 

        当一个网站的服务器收到了上述请求信息后,TCP/IP协议栈将按照如下步骤对请求进行解封装:     

  • 数据链路层解封装:首先,数据帧被传送到数据链路层,数据链路层将帧从帧的开头解析出控制信息,并判断这个数据帧是否发往自己的MAC地址。如果它是,那么说明收到的数据帧是自己需要处理和接收的,如果不是则将其丢弃。 
  • 网络层解封装:接下来,进行IP数据报头的解析,并检查目标IP地址是否为自己的IP地址。如果该数据报不能传递给当前的主机,也就是相关的IP地址不匹配,则丢弃该数据包。
  • 传输层解封装:解析TCP段的头信息,获取源端口信息和目的端口信息,并对其进行校验和验证,以确保数据包没有被损坏。然后,TCP协议根据端口信息将HTTP请求数据转发给相应的应用程序处理。
  • 应用层解封装:HTTP应用程序通过解析HTTP协议头部信息,并获取其数据体,对请求进行处理,并根据相应的方式生成响应信息,将响应封装成TCP/IP协议包,然后通过之前的网络和数据链路层进行发送。  

通过上述解封装过程,最终收到的请求数据将被处理并传递给应用程序。如果请求中有错误或格式不正确,在解封装的过程中可能会进行拒绝或错误报告的相关处理。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写的什么石山代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值