【计算机网络详解】——概述(学习笔记)
📖 前言:计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施。已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分。
目录
- 🕒 0. 思维导图
- 🕒 1. 因特网概述
-
- 🕘 1.1 网络、互联网和因特网
- 🕘 1.2 因特网发展的三个阶段
- 🕘 1.3 因特网的标准化工作
- 🕘 1.4 因特网的组成
-
- 🕤 1.4.1 客户-服务器方式
- 🕤 1.4.2 P2P方式
- 🕒 2. 三种交换方式
-
- 🕘 2.1 电路交换
- 🕘 2.2 分组交换☆☆☆
- 🕘 2.3 报文交换
- 🕘 2.4 对比
- 🕒 3. 计算机网络的定义与分类
-
- 🕘 3.1 定义
- 🕘 3.2 分类
- 🕒 4. 计算机网络的性能指标
-
- 🕘 4.1 速率
- 🕘 4.2 带宽
- 🕘 4.3 吞吐量
- 🕘 4.4 时延
- 🕘 4.5 时延带宽积
- 🕘 4.6 往返时间
- 🕘 4.7 利用率
- 🕘 4.8 丢包率
- 🕒 5. 计算机网络体系结构☆
-
- 🕘 5.1 常见的体系结构
-
- 🕤 5.1.1 因特网的协议栈(TCP/IP)
- 🕤 5.1.2 OSI模型
- 🕤 5.1.3 原理体系结构
- 🕘 5.2 分层的必要性
- 🕘 5.3 分层思想举例
- 🕘 5.4 相关专用术语
-
- 🕤 5.4.1 实体
- 🕤 5.4.2 协议
- 🕤 5.4.3 服务
- 🕒 6. 课后习题
🕒 0. 思维导图
🕒 1. 因特网概述
🕘 1.1 网络、互联网和因特网
- 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。其中链路可以有线,也可以无线。
- 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此,互联网是“网络的网络(Netwrok of Networks) "。其基本特点是连通性和共享。
- 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
internet与Internet的区别
internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET(1969年创建的第一个分组交换网)。
🕘 1.2 因特网发展的三个阶段
因特网服务提供者ISP(Internet Service Provider):在国内就是电信、联通、移动三大运营商。
基于ISP的三层结构的因特网:层数越小覆盖越多
🕘 1.3 因特网的标准化工作
- 因特网的标准化工作对因特网的发展起到了非常重要的作用。
- 因特网在制定其标准上的一个很大的特点是面向公众。
- 因特网所有的RFC(Request For Comments)技术文档都可从因特网上免费下载;🔎 技术文档链接
- 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
- 因特网协会lSOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
- 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
- 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
- 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
- 制订因特网的正式标准要经过以下4个阶段:
- 因特网草案(在这个阶段还不是RFC文档)
- 建议标准(从这个阶段开始就成为RFC文档)
- 草案标准
- 因特网标准
🕘 1.4 因特网的组成
- 边缘部分:由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频、视频)和资源共享
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
其中,边缘部分可划分为两大类:客户-服务器方式(C/S,Client/Server 方式)和对等方式(P2P,Peer-to-Peer 方式)
🕤 1.4.1 客户-服务器方式
客户是服务请求方,服务器是服务提供方。
客户程序:
- 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统。
服务器程序:
- 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
- 系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
- 一般需要有强大的硬件和高级的操作系统支持。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
🕤 1.4.2 P2P方式
两台主机在通信时,并不区分哪一个是服务请求方和哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的对等连接通信。
🕒 2. 三种交换方式
🕘 2.1 电路交换
电话问世后,人们发现所有电话之间都两两相连是不现实的。因此可以用一个中间设备将讲话接入,根据需要进行转发,这个中间设备就是电话交换机。
定义:电话交换机接通电话线的方式称为电路交换(Circuit Switching)
从通信资源分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。
电路交换三个步骤:
- 建立连接(分配通信资源):例如在使用电路交换打电话前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音并拿起电话后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信中不会被其他用户占用。
- 通话(一直占用通信资源):分配的资源始终被占用。
- 释放连接(归还通信资源)
优点
- 通信时延小:通信线路为通信双方专用的,数据直达
- 有序传输:通信双方只有一条专用通信线路,数据只在这一线路上传输,不存在失序问题
- 没有冲突:不同的通信双方拥有不同的信道,不会出现争用物理通道的问题
- 适用范围广:适用于传输模拟信号,也适用于传输数字信号
- 实时性强:得益于时延小,所以实时性强
- 控制简单
缺点
- 建立连接时间长
- 线路独占,适用效率低
- 灵活性差:只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接
- 难以规格化:不同类型、不同规格、不同速率的终端很难互相进行通信,也难以差错控制
🕘 2.2 分组交换☆☆☆
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。因此。计算机网络通常采用分组交换(Packet Switching)。
方法:将报文划分成若干个等长的数据段,然后给各数据段添加首部(包含重要的控制信息)构成分组。
- 发送方:①构建分组 ②发送分组
- 路由器:①缓存分组 ②转发分组
- 接收方:①接收分组 ②还原报文
优点
- 无需建立连接
- 线路利用率高
- 简化存储管理:因为分组大小固定,管理起来就容易一些
- 加速传输:因为分组是逐个传输,这样前一个交换机的转发操作与后一个交换机的存储操作可同时进行
- 减少出错率和重复数据量:分组比报文小,因此出错概率也会比较小,即使出错也只需要重传出错的这一小部分即可
缺点
- 引起了转发时延
- 需要传输额外信息量(分组头部信息)
- 当分组交换采用数据报服务时,可能会出现失序、丢失、重复分组。分组到达目的结点时,需要重新还原成原始报文,比较麻烦。若分组交换采用虚电路服务,虽然没有分组失序问题,但有呼叫建立,数据传输和虚电路释放三个过程。
虚电路交换与数据报交换介绍:
按顺序收发属于虚电路交换,随机收发属于数据报交换。
采用虚电路交换时,需要在发送方和接收方之间建立一条逻辑通道,通道上的每个节点都要服从安排,按顺序传输数据“小包”,就好像有一条专用通道一样。虚电路在数据交换结束后会自动释放。与电路交换不同,虚电路交换各节点不是某虚电路独占的,它们仍可用于传输其他数据。采用数据报交换时,不同的数据“小包”可以通过不同的路径到达目的地,而且先发的“小包”不一定先到,后发的“小包”不一定后到。“小包”中含有关于次序的信息,接收“小包”的设备根据次序,把收到的“小包”重新组装起来,恢复成原来的信息。
🕘 2.3 报文交换
报文交换(Message Switching)与分组交换类似,不过对报文没有限制大小,现如今多使用分组交换。
优点
- 无需建立连接
- 动态分配线路
- 提高线路可靠性:如果某条线路出现故障,会重新选择另一条线路
- 提高线路利用率:通信双方在不同的时间分段占用物理线路
- 提供多目标服务:一个报文可以同时发送给多个目的地址
缺点
- 引起转发时延:报文在节点交换机上要经历存储转发的过程
- 需要较大的存储转发空间:因为报文大小没有限制
- 需要传输额外信息量:有头部等信息
🕘 2.4 对比
纵坐标为时间,分组交换相对报文交换分的更小,可以减少时延,防止过长时间占用线路以及方便排错。
🕒 3. 计算机网络的定义与分类
🕘 3.1 定义
最简单的定义:一些互相连接的、自治的计算机的集合
- 互连:指计算机之间可以通过有线或无线的方式进行数据通信
- 自治:指独立的计算机,它有自己的硬件和软件,可以单独运行使用
- 集合:指至少需要两台计算机
计算机网络的较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
🕘 3.2 分类
按交换技术:①电路交换网络 ②报文交换网络 ③分组交换网络
按使用者:①公用网 ②专用网
按传输介质:①有线网络 ②无线网络
按覆盖范围:①广域网WAN(国家级) ②城域网MAN ③局域网LAN(如校园网) ④个域网PAN(如蓝牙连接)
按拓扑结构:①总线型网络 ②星型网络 ③环型网络 ④网状型网络(如广域网)
※按传输方式:①点对点式 ②广播式
※按服务方式:①主从式(C/S) ②对等式(P2P)
🕒 4. 计算机网络的性能指标
🕘 4.1 速率
比特:计算机中的数据量单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个1或0
常用的数据量单位:
8bit =1Byte KB=210BMB=K⋅KB=210⋅210B=220BGB=K⋅MB=210⋅220B=230BTB=K⋅GB=210⋅230B=240B\\begin{array}{l} 8 \\text { bit }=1 \\text { Byte } \\\\ K B=2^{10} B \\\\ M B=K \\cdot K B=2^{10} \\cdot 2^{10} B=2^{20} B \\\\ G B=K \\cdot M B=2^{10} \\cdot 2^{20} B=2^{30} B \\\\ T B=K \\cdot G B=2^{10} \\cdot 2^{30} B=2^{40} B \\end{array}8 bit =1 Byte KB=210BMB=K⋅KB=210⋅210B=220BGB=K⋅MB=210⋅220B=230BTB=K⋅GB=210⋅230B=240B
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率。
常用的数据率单位:
bit/s(b/s,bps)kb/s=103b/s(bps)Mb/s=k⋅kb/s=103⋅103b/s=106b/s(bps)Gb/s=k⋅Mb/s=103⋅106b/s=109b/s(bps)Tb/s=k⋅Gb/s=103⋅109b/s=1012b/s(bps)\\begin{array}{l} \\mathrm{bit} / \\mathrm{s}(\\mathrm{b} / \\mathrm{s}, \\mathrm{bps}) \\\\ \\mathrm{kb} / \\mathrm{s}=10^{3} \\mathrm{~b} / \\mathrm{s}(\\mathrm{bps}) \\\\ \\mathrm{Mb} / \\mathrm{s}=k \\cdot \\mathrm{kb} / \\mathrm{s}=10^{3} \\cdot 10^{3} \\mathrm{~b} / \\mathrm{s}=10^{6} \\mathrm{~b} / \\mathrm{s}(\\mathrm{bps}) \\\\ \\mathrm{G} b / \\mathrm{s}=k \\cdot \\mathrm{Mb} / \\mathrm{s}=10^{3} \\cdot 10^{6} \\mathrm{~b} / \\mathrm{s}=10^{9} \\mathrm{~b} / \\mathrm{s}(\\mathrm{bps}) \\\\ \\mathrm{Tb} / \\mathrm{s}=k \\cdot \\mathrm{Gb} / \\mathrm{s}=10^{3} \\cdot 10^{9} \\mathrm{~b} / \\mathrm{s}=10^{12} \\mathrm{~b} / \\mathrm{s}(\\mathrm{bps}) \\end{array}bit/s(b/s,bps)kb/s=103 b/s(bps)Mb/s=k⋅kb/s=103⋅103 b/s=106 b/s(bps)Gb/s=k⋅Mb/s=103⋅106 b/s=109 b/s(bps)Tb/s=k⋅Gb/s=103⋅109 b/s=1012 b/s(bps)
例1:有一个待发送的数据块,大小为100 MB,网卡的发送速率为100 Mbps,则网卡发送完该数据块需要多长时间?
例2:【考研2013年35题】主机甲通过1个路由器(存储转发方式)与主机乙互联,两段链路的数据传输速率均为10Mbps,主机甲分别采用报文交换和分组大小为10kb的分组交换向主机乙发送1个大小为8Mb(1M=106)的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为
A.800ms、1600ms
B.801ms、1600ms
C.1600ms、800ms
D.1600ms、801ms
解析:不进行分组时,发送一个报文的时延是8Mb10Mb/s=800ms\\frac{8Mb}{10Mb/s}=800ms10Mb/s8Mb=800ms,在接收端接收此报文的时延也是800ms,共计1600ms。进行分组后,发送一个报文的时延是10kb10Mb/s=1ms\\frac{10kb}{10Mb/s}=1ms10Mb/s10kb=1ms,接收一个报文的时延也是1ms,但是在发送第二个报文时,第一个报文已经开始接收。共计有800个分组,总时间为801ms。因此选D。
🔎 讲解视频
🕘 4.2 带宽
带宽在模拟信号系统中的意义
- 信号所包含的各种不同频率成分所占据的频率范围
- 单位:Hz(kHz,MHz,GHz)
带宽在计算机网络中的意义
- 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的"最高数据率"
- 单位:b/s(kb/s,Mb/s,Gb/s,Tb/s)
一条通信线路的"频带宽度"越宽,其所传输数据的"最高数据率"也越高
🕘 4.3 吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或额定速率的限制
🕘 4.4 时延
在处理过程中所需要的时间:
- 处理时延(processing delay)
- 排队时延(queuing delay)(合并到处理时延)
- 发送时延(transmission delay)
- 传播时延(propagation delay)
例3:数据块长度A为100 MB,B为1B,信道带宽为1Mb/s,传送距离为1000 km,分别计算发送时延和传播时延。
A:
发送时延=分组长度(b)发送速率(b/s)=100×220×8(b)106(b/s)=838.8608(s)发送时延=\\frac{分组长度(b)}{发送速率(b/s)}=\\frac{100\\times2^{20}\\times8(b)}{10^6(b/s)}=838.8608(s)发送时延=发送速率(b/s)分组长度(b)=106(b/s)100×220×8(b)=838.8608(s)
传播时延=信道长度(m)电磁波传播速率(m/s)=1000×103(m)2×108(m/s)=0.005(s)传播时延=\\frac{信道长度(m)}{电磁波传播速率(m/s)}=\\frac{1000\\times10^{3}(m)}{2\\times10^8(m/s)}=0.005(s)传播时延=电磁波传播速率(m/s)信道长度(m)=2×108(m/s)1000×103(m)=0.005(s)
B:
发送时延=分组长度(b)发送速率(b/s)=1×8(b)106(b/s)=8×10−6(s)发送时延=\\frac{分组长度(b)}{发送速率(b/s)}=\\frac{1\\times8(b)}{10^6(b/s)}=8\\times10^{-6}(s)发送时延=发送速率(b/s)分组长度(b)=106(b/s)1×8(b)=8×10−6(s)
传播时延=信道长度(m)电磁波传播速率(m/s)=1000×103(m)2×108(m/s)=0.005(s)传播时延=\\frac{信道长度(m)}{电磁波传播速率(m/s)}=\\frac{1000\\times10^{3}(m)}{2\\times10^8(m/s)}=0.005(s)传播时延=电磁波传播速率(m/s)信道长度(m)=2×108(m/s)1000×103(m)=0.005(s)
可以看出,在时延方面谁占主导要具体情况具体分析。
🕘 4.5 时延带宽积
时延带宽积 = 传播时延 × 带宽
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;
- 链路的时延带宽积又称为以比特为单位的链路长度。
🕘 4.6 往返时间
在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互,我们有时很需要知道双向交互一次所需的时间,因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。
🕘 4.7 利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
- 网络利用率:全网络的信道利用率的加权平均
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加。因此,信道利用率不是越高越好。如果令D0D_0D0表示网络空闲时的时延,DDD表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D、D0D、D_0D、D0和利用率UUU之间的关系:
D=D01−UD = \\frac{D_0}{1-U}D=1−UD0
- 当网络利用率U到50%时,时延急剧增大。
- 当网络利用率接近100%时,时延趋于无穷大
- 但是也不能使信道利用率过低,这回使宝贵的通信资源被浪费
因此一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路带宽。也不能使信道利用率太低。这会使宝贵的通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量。使网络利用率保持在一个合理的范围内。
🕘 4.8 丢包率
- 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
- 具体可分为:接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等
- 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们意识不到丢包。
分组丢失的两种情况
- 分组在传输过程中出现误码,被结点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞
丢包率反映了网络的拥塞情况
- 无拥塞时路径丢包率为
0
- 轻度拥塞时路径丢包率为
1%~4%
- 严重拥塞时路径丢包率为
5%~15%
🕒 5. 计算机网络体系结构☆
🕘 5.1 常见的体系结构
总体来说,将各层的所有协议组合起来,称为协议栈。
🕤 5.1.1 因特网的协议栈(TCP/IP)
- 网络接口层并没有规定具体内容,目的是可以互连全世界各种不同的网络接口。
- 网际层的核心协议是IP协议,它可以互连各种不同的网络接口,并给运输层的TCP协议和UDP协议提供服务。
- 运输层的TCP协议在享受IP协议提供的服务后,可向应用层的相应协议(例如,FTP、HTTP,SMTP等)提供可靠传输的服务。
- 运输层的UDP协议在享受IP协议提供的服务后,可向应用层的相应协议(例如,DNS,RTP等)提供不可靠传输的服务。
因此,使用IP协议可以互连不同的网络接口(IP over everything);IP协议可以为各种网络应用提供服务(Everything over IP)。
🕤 5.1.2 OSI模型
在因特网协议栈出现以前,OSI模型是ISO组织研发的计算机网络结构模型。OSI的模型一共有7层,从下到上依次为:物理层,链路层,网络层,传输层,会话层,表示层,应用层。相比因特网体系结构,OSI多了两层。
因特网将两层的功能留给了开发者自行实现。
🕤 5.1.3 原理体系结构
有5个层次组成:物理层、链路层、网络层、传输层、应用层
应用层:应用层协议分布在多个端系统,端系统中的应用程序使用该协议与另一个端系统中的应用程序通信。处于应用层的分组称为报文;
传输层:传输层在应用程序端点之间传输应用层报文,因特网中有两个传输层协议:TCP和UDP。处于传输层的分组称为报文段。TCP提供确保传递、流量控制、拥塞控制机制。UDP提供无连接服务,即不提供不必要服务的服务。没有可靠性、没有流量和拥塞控制。
网络层:网络层将称为数据报的网络层分组从一台主机移动到另一台主机。网络层协议包含著名的IP协议以及其他一些路由选择协议。数据报
链路层:链路层将称为帧的链路层分组从一个结点移动到路径上的另一个端点。一个帧可能被沿途不同链路上的不同链路层协议处理。帧
物理层:物理层的任务是将帧中的比特从一个结点移动到下一个节点,它提供了传输信息的实际物理通道;
🕘 5.2 分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
- "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
下面依次介绍计算机网络面临的问题应该划分到哪个层次解决。
物理层:
- 采用怎样的传输媒体(介质)(如光纤)
- 采用怎样的物理接口(如RJ45)
- 使用怎样的信号表示比特0和1(如方波)
数据链路层:
- 如何标识网络中的各主机(主机编址问题,例如MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据
- 如何协调各主机争用总线
网络层:
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
- 路由器如何转发分组,如何进行路由选择
运输层:
- 如何解决进程之间基于网络的通信问题
- 出现传输错误时,如何处理
应用层:
- 通过应用进程间的交互来完成特定的网络应用
小结:
🕘 5.3 分层思想举例
一个分组,在不同的层次有不同的称谓,是因为它们经过每一层的时候就被该层封装上了属于该层的相关信息,也就是前面提到的必要信息;于是,每一分层的分组有两种类型的字段:首部字段和有效负载;其中有效负载即为来自上一层的分组数据,而首部字段就是该层加上的必要信息;分组不断被封装以实现各层协议规定的相关功能。
浏览器发送:
- 应用层按照HTTP协议的规定构建一个HTTP请求报文(请求要干什么)。应用层将HTTP请求的报文交给运输层处理
- 运输层给HTTP请求报文添加一个TCP首部(区分应用进程),使之成为TCP报文段。运输层将TCP报文段交给网络层处理
- 网络层给TCP报文段添加一个IP首部(使之可以在互联网上传输),使之成为IP数据报。网络层将IP数据报交付给数据链路层处理
- 数据链路层给IP数据报添加一个首部(让其能在一段链路上传输,能被相应主机接收)和一个尾部(让目的主机检查所接收到的帧是否有误码),使之成为帧。数据链路层将帧交给物理层
- 物理层将帧看作比特流,如果网络是以太网,它还会在帧上加前导码(让目的主机做好接收帧的准备)。接着将比特流变成相应信号发送到传输媒体。
路由器转发:
- 物理层收到信号将其变为比特流,去掉前导码后,将其交付给数据链路层(交付的实际是帧)
- 数据链路层将帧去掉首部和尾部后,将其交付给网络层(交付的实际是IP数据报)
- 网络层解析IP数据报首部,从中提取目的网络地址,然后查找自身路由表,确定转发端口。接着数据链路层封装,物理层再封装,将比特流变成信号发送出去。
服务器接收:
- 物理层收到信号将其变为比特流,去掉前导码后,将其交付给数据链路层(交付的实际是帧)
- 数据链路层收到帧后,去除首部和尾部,将其交付给网络层(交付的实际是IP数据报)
- 网络层收到IP数据报后,去除IP首部,将其交付给运输层(交付的实际是TCP报文)
- 运输层收到TCP报文后,从中得知是与哪个端口上的进程通信,去除TCP头部后,交付给应用层(交付的实际是HTTP请求报文)
- 应用层收到HTTP请求报文后,将其解析给对应进程,并执行相关操作,返回HTTP响应报文
🕘 5.4 相关专用术语
🕤 5.4.1 实体
定义:任何可发送或接收信息的硬件或者软件进程
对等实体:收发双方相同层次中的实体
🕤 5.4.2 协议
控制两个对等实体进行逻辑通信(这种通信实际上不存在,只是便于我们考虑问题)的规则的集合
三要素
- 语法:定义所交换信息的格式(即报文格式)。例如,IP数据报的格式。
- 语义:定义收发双方所要完成的操作(即收,发任务需要各自定义)。例如,主机HTTP的GET请求给Web服务器,Web服务器收到后执行相应的操作,然后给主机发回HTTP的响应。
- 同步(或时序):定义收发双方的时序关系。例如,TCP的“三报文握手”建立连接。
🕤 5.4.3 服务
- 在协议控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务(也就是说通过协议完成本层的内容后就可以向上提供服务)
- 要实现本层协议,还需要使用下面一层所提供的服务
- 协议是“水平的”,服务是"垂直的"
- 实体看得见相邻下层所提供的的服务,但是并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明”的(就像手机为我们提供服务,但是我们并不知道具体是如何实现的)
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口(就像Web里的request域,后端前端都能取到),用于区分不同的服务类型
- 物理层的服务访问点是“网卡接口”;
- 数据链路层的服务访问点为帧的"类型"字段,即MAC地址
- 网络层的服务访问点位IP数据报首部中的"协议字段",即IP地址(网络地址)
- 运输层的服务访问点为"端口号",对网络主机的进程进行区分标识
- 应用层提供的服务访问点是“用户界面”
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
协议数据单元PDU(横向):对等层次之间传送的数据包称为该层的协议数据单元
- 物理层是比特流;数据链路层是帧;网络层是IP数据报或分组……
服务数据单元SDU(竖向):同一系统内,层与层之间交换的数据报称为服务数据单元
- 物理层往上送是比特流;数据链路层往下送是帧……
多个SDU可用合成为一个PDU;一个SDU页可以划分为几个PDU
🕒 6. 课后习题
-
【单选题】所有的互联网标准都是以RFC的形式在互联网上公开发表的。RFC文档( )
A.按发表时间的先后编号
B.按协议层次编号
C.按协议种类编号
D.使用随机数编号 -
计算机网络可分为通信子网和资源子网,下列属于通信子网的是( )。Ⅰ.网桥Ⅱ.交换机Ⅲ.计算机软件Ⅳ.路由器
A. Ⅰ、Ⅱ、Ⅳ
B. Ⅱ、Ⅲ、Ⅳ
C. Ⅰ、Ⅲ、Ⅳ
D. Ⅰ、Ⅱ、Ⅲ -
【单选题】局域网-广域网的互连是通过( )实现的。
A、通信子网
B、路由器
C、城域网
D、电话交换网 -
【单选题】局域网和广域网的差异不仅在于它们所覆盖的范围不同,还主要在于它们( )。
A、所使用的介质不同
B、所使用的协议不同
C、所能支持的通信量不同
D、所提供的服务不同 -
【2010年 题34】在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为100Mbps,分组大小为1000B,其中分组头大小为20B。若主机H1向主机H2发送一个大小为980 000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送开始到H2接收完为止,需要的时间至少是
A、80ms
B、80.08ms
C、80.16ms
D、80.24ms -
【单选题】假设在某段链路上传输某个10MB的数据块,链路带宽为10Mb/s,信号传播速率为200000km/s,链路长度为1000 km,则数据块的发送时延约为
A、1s
B、8s
C、8.4s
D、5μs -
【单选题】假设有500B的数据待发送(无拆分),需要经过OSI参考模型的逐层封装,除物理层外,其他各层在封装PDU时均引入20B的额外开销,则数据传输效率约为
A、78%
B、81%
C、88%
D、92% -
【单选题】在TCP/IP参考模型中,运输层的相邻下层实现的主要功能是
A、对话管理
B、数据格式转换
C、可靠数据传输
D、IP数据报在多个网络间的传输 -
【单选题】OSI参考模型中的数据链路层不具有的功能是
A、物理寻址
B、流量控制
C、差错检测
D、拥塞控制 -
【单选题】相对于OSI的7层参考模型的低4层,TCP/IP模型内对应的层次有( )。
A、传输层、互联网层、网络接口层和物理层
B、传输层、互联网层、网络接口层
C、传输层、互联网层、ATM层和物理层
D、传输层、网络层、数据链路层和物理层 -
【判断题】TCP/IP参考模型的应用层与OSI参考模型的应用层相对应()
-
【单选题】OSI参考模型将整个网络的功能分成7个层次来实现,以下说法正确的是()。
A、层与层之间的联系通过协议进行
B、不同结点的同等层的功能并不相同
C、层与层之间的联系通过接口进行
D、除物理层外,各对等层之间均存在直接的通信关系 -
【单选题】集线器和路由器分别运行于OSI参考模型的()。
A、网络层和传输层
B、数据链路层和物理层
C、物理层和网络层
D、传输层和数据链路层 -
【2009年 题33】在OSI参考模型中,自下而上第一个提供端到端服务的层次是
A、应用层
B、数据链路层
C、会话层
D、传输层 -
【2010年 题33】下列选项中,不属于网络体系结构所描述的内容是
A、每一层必须完成的功能
B、协议的内部实现细节
C、网络层次
D、每一层使用的协议 -
【2013年 题33】在OSI参考摸型中,下列功能需由应用层的相邻层实现的是
A、可靠数据传输
B、路由选择
C、对话管理
D、数据格式转换 -
【单选题】OSI参考模型中的数据链路层不具有( )功能。
A、物理寻址
B、拥塞控制
C、流量控制
D、差错校验 -
【单选题】下列说法中,正确描述了OSI参考模型中数据的封装过程的是( )。
A、网络层将高层协议产生的数据封装成分组,并增加第三层的地址和控制信息
B、数据链路层在分组上仅增加了源物理地址和目的物理地址
C、传输层将数据流封装成数据帧,并增加可靠性和流控制信息
D、表示层将高层协议产生的数据分割成数据段,并增加相应的源和目的端口信息 -
【单选题】在OSI参考模型中,为数据分组提供在网络中路由的功能的是( )。
A、网络层
B、传输层
C、数据链路层
D、物理层
答案:1.A 2.A(解析:资源子网:由主计算机系统、终端、终端控制器、联网外部设备、各种软件资源与信息资源等组成。资源子网负责全网的数据处理业务,负责向网络用户提供各种网络资源与网络服务。 通信子网(包括物理层、数据链路层、网络层):由通信控制处理机、通信线路与其他通信设备组成,完成网络数据传输、转发等通信处理任务。) 3.B(解析:中继器和桥接器通常是指用于局域网的物理层和链路层的联网设备。目前局域网接入广域网主要是通过称为路由器的互联设备来实现的。) 4.B 5.C(解析:由题设可知,数据即分组大小1000B-首部20B=980B,故一共分了980000B/(1000B-20B)=1000个分组。每个分组1000B。一共需要传输的数据量为1000×1000B=100 0000B。题目中不考虑分组拆装时间和传播延迟。故只需要考虑发送延迟。
所有内容的发送时延为1000000B/100mbps=(1M×8bit)/100Mbps=0.08s=80ms
一个分组的发送时延为1000B/100mbps=0.08ms
最终答案为80ms+0.08ms×2=80.16ms 🔎 视频讲解)
6.C(解析:发送时延 = 数据块大小10MB / 链路带宽10Mb/s,10×220×8(b)10×106(b/s)≈8.4(s)\\frac{10×2^{20}×8(b)}{10×10^6(b/s)}\\approx8.4(s)10×106(b/s)10×220×8(b)≈8.4(s)) 7.B(解析:OSI参考模型共7层,除去物理层外还有6层。它们会向待发送数据引入20B x 6 = 120B 的额外开销。数据传输效率为 500B/(500B + 120B)≈81%) 8.D(解析:TCP/IP参考模型的运输层的相邻下层是网际层。网际层的主要功能是实现IP数据报在多个网络间的传输。) 9.D(解析:网络层和传输层才具有拥塞控制功能。) 10.B 11.× 12.C 13.C 14.D(解析:传输层使用端口号为应用层的应用进程之间提供端到端的逻辑通信,而网络层仅仅为主机之间提供逻辑通信,如下图所示:
) 15.B(解析:计算机网络的体系结构就是计算机网络及其构件所应完成的功能的精确定义。需要强调的是:这些功能的实现细节(例如采用何种硬件或软件),则是遵守这种体系结构的具体实现问题,并不属于体系结构本身所描述的内容。🔎 讲解视频) 16.D(解析:OSI参考模型应用层的相邻层是表示层。表示层的任务是实现与数据表示相关的功能,主要包括数据字符集的转换、数据格式化、文本压缩、数据加密以及解密等工作。对话管理:会话层;路由选择:网络层;可靠数据传输:传输层。🔎 讲解视频) 17.B(解析:数据链路层在不可靠的物理介质上提供可靠的传输。其作用包括物理寻址、成帧、流量控制、差错校验、数据重发等。网络层和传输层才具有拥塞控制的功能。) 18.A(解析:数据链路层在分组上除增加源和目的物理地址外,也增加控制信息;传输层的PDU不称为帧;表示层不负责把高层协议产生的数据分割成数据段,负责增加相应源和目的端口信息的应是传输层;) 19.A(解析:在OSI参考模型中,物理层实现比特流在传输介质上的透明传输;数据链路层将有差错的物理线路变成无差错的数据链路,实现相邻结点之间即点到点的数据传输。网络层的主要功能是路由选择、拥塞控制和网际互联等,实现主机到主机的通信;传输层实现主机的进程之间即端到端的数据传输。)
适用视频:湖科大教书匠
适用教材:计算机网络(第8版) 谢希仁
OK,以上就是本期知识点“计网概述”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页