内容正文:
CCF-GESP C++二级
CCF-GESP C++二级
编程能力等级认证
计算机网络1
第三课
计算机网络1
2
计算机网络
01
01
3
网络的作用
又出bug啦,我来看看
在线聊天
网上购物
浏览网页
知识讲解
网络现在是我们生活中不可缺少的的一部分,我们可以利用网络进行在线聊天,或者网上购物,又或者浏览网页,搜资料、上网课等等。总的来说网络可以为我们提供很多很多的服务。网络实现这些服务的过程是怎样的呢?我们以两台电脑使用QQ聊天为例:
4
QQ收发消息的过程
接收方:B
发送方:A
你好!
封装数据包:转为二进制数据
锁定目标程序:QQ应用程序
锁定接收方:IP地址
解析数据包:转为文字、图片等信息
确定目标程序:QQ应用程序
IP:128.11.3.31
IP:128.11.3.28
确定发送方:IP地址
知识讲解
现在计算机A想要给计算机B,通过QQ发送“你好”这条消息。
首先要确定要交流的程序是什么,因为每台计算机上有很多应用程序,因此需要确定要通信的应用程序是QQ软件。之后需要锁定你要发送给哪台计算机,通过什么来确定呢?是通过IP地址,互联网中每台计算机都会被分配一个IP地址,方便查找和通信,有了IP地址就可以找到接收方。需要将上述重要信息以及我们要发送的信息封装成一个二进制数据包。由于计算机硬件只能识别二进制信息,所以需要形成一个二进制数据包。
发送方做好这些之后就可以将数据包传送给接收方,接收方会解析发过来的数据包,数据包中包含了发送方的IP地址,以及目标程序是QQ。此时接收方就可以在QQ上看到解析好的文字信息了。
如果计算机B要想给对方回复消息,也是一样的传递过程。两台计算机的地理位置不同,功能可能也所有不同,却可以通过计算机网络互相传递消息。可见网络的强大功能。
5
计算机网络系统将地理位置不同的、功能独立的多台计算机互连起来,最终实现资源共享和信息传递。
计算机网络
资源共享:微信群里的文件,群成员都能下载查看。
信息传递:收发微信消息。
知识讲解
计算机网络系统将地理位置不同的、功能独立的多台计算机互连起来,最终实现资源共享和信息传递。从另一个角度说,就是网络可以为我们提供很多很多的服务。总结起来,有两点是最突出的,那就是资源共享和信息传递。
网络就是一个巨大的信息资源宝库,其上有极为丰富的信息,每一个接入网络的用户都可以共享这些信息资源。举个例子:微信群里的文件,群成员都能下载查看。发在微博上的博文,大家都能查看。通过网络分布在不同地区的计算机系统可以及时、高速地传输各种信息、交换数据,使人们之间的联系更加紧密。例如:使用微信收发消息,或者使用QQ收发消息。
6
选择题
计算机网络最核心的功能是( )。
预防病毒
数据通信和资源共享
信息浏览
下载文件
B
课堂练习
解析:本题考查网络的作用,计算机网络两点功能是最突出的,就是数据通信和资源共享,这是它的核心功能。因此本题的选项是B。
7
计算机网络的分类
按照地理位置划分:
广域网 (WAN)
(Wide Area Network)
覆盖范围通常在几千公里甚至几万公里,
作用范围一般是几个城市、一个国家、或者几个国家。
城域网(MAN)
(Metropolitan Area Network)
覆盖范围通常在几千米到几十千米,
作用范围一般是一个城市。
局域网(LAN)
(Local Area Network)
覆盖范围通常是几百米或者几千米,
作用范围可以是一个学校、一栋楼或者一个工厂等。
知识讲解
计算机网络如果按照地理位置划分:可以划分为广域网、城域网和局域网。
广域网,全称为Wide Area Network,简称WAN,它的覆盖范围通常在几千公里甚至几万公里,它可以用于几个城市,或者一个国家,甚至是几个国家。
城域网,全称为MetropolitanArea Network,简称MAN,它的覆盖范围比广域网小,通常是在几千米到几十千米,与它的名字一样,它的作用范围一般是一个城市。
局域网,全称为Local Area Network,简称LAN,它的覆盖范围比城域网小,通过是几百米或者几千米,它可以作用于一个学校,或者一栋楼,或者一个工厂等等。
8
判断题
(2023年9月)我们常说的互联网(Internet)是一个覆盖全球的广域网络,它不属于任何一个国家。
正确 错误
真题解析
解析:互联网,又称国际网络,指的是网络与网络之间所串连成的庞大网络,不属于任何一个国家。
9
选择题
局域网的覆盖范围是( )。
一栋楼
一条街
一座城市
一个国家
A
课堂练习
解析: 局域网的范围通常是一栋楼、一个园区、一个校园等相对较小的范围。
10
选择题
广域网的英文缩写是( )。
LAN
WAN
MAN
LNA
B
课堂练习
2018年CSP-J
解释:广域网的英文缩写是WAN,局域网的英文缩写是LAN,城域网的英文缩写是MAN
11
选择题
局域网和广域网的主要区别是( )。
覆盖范围
传输速度
传输介质
网络协议
A
课堂练习
解析: 局域网的范围相对较小,传输速度和传输介质可以根据实际需要进行选择,而广域网的范围跨越整个地球,传输速度和传输介质会受到一定的限制。
12
计算机网络的分类
公用网(中国电信,联通,移动)
按照其他类型划分:
按使用者分类
专用网(铁路,军队,政府,银行)
有线网络(双绞线,同轴电缆)
按传输介质分类
无线网络(Wi-Fi,蓝牙,5G)
知识讲解
计算机网络还能按照其他类型进行分类:
可以按照使用者分类,可以分为公用网和专用网,公用网指的就是中国电信,联通,移动这类网络,专用网指的就是铁路,军队,政府,银行这类网络
另外可以按传输介质分类,可以分为有线网络和无线网络,有线网络指的是使用双绞线或者是同轴电缆等连接网络,无线网络就是指Wifi,蓝牙,5G等
13
选择题
蓝牙和Wi-Fi都是( )设备。
无线广域网
无线城域网
无线局域网
无线路由器
C
课堂练习
2012年csp-J
解析:蓝牙和WiFi都属于无线设备,他们的覆盖范围通常都是几百米,属于局域网,因此蓝牙和WiFi都属于无线局域网
14
网络协议
02
02
15
网络协议
网络通信也要遵守相应的规则
交通规则:红灯停,绿灯行,黄灯等一等...
知识讲解
显示生活中,每时每刻世界上的电脑、服务器、pad、手机都在联网发送各种各样的信息。如果没有一定的规则,这些消息一定非常混乱。就像道路上众多的车辆和行人都要遵守交通规则一样,这样才能保障道路安全和畅通。想象一下没有交通规则的情况下,道路上众多的车辆和行人谁也不让谁的场面,拥堵到一起的场面,这样杂乱无章的情况可能造成我们一直无法接收到信息、网络形同虚设。因此必须像用交通规则规范人们的交通行为一样,来规范网络信息传输。
16
网络协议
网络协议:计算机网络中进行数据交换而建立的规则、标准或约定的集合。
信息采用什么格式?
格式的含义是什么?
知识讲解
就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。网络协议规定了,信息采用什么格式发送,发送格式的含义是什么。有了这种规定,网络上的各种消息就能够正常的发送到给指定目标了。所以,我们说网络协议就是计算机网络中进行数据交换而建立的规则、标准或约定的集合。
17
计算机网络体系结构
为了方便理解协议的设计和实现,计算机网络被分为多个层级结构。
4. 应用层
3. 传输层
2. 网络层
1. 网络接口层
TCP/IP四层模型
OSI七层
7. 应用层
6. 表示层
5. 会话层
2. 数据链路层
4. 传输层
3. 网络层
1. 物理层
5. 应用层
4. 传输层
3. 网络层
2. 数据链路层
五层模型
1. 物理层
知识讲解
为了方便理解协议的设计和实现,计算机网络被分为多个层级结构。
每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的,只是最上面的一层。
因此,各大计算机厂家们都设计了自己的分层体系结构,为了使不同计算机厂家生产的计算机能够相互通信,
以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI模型
除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及五层协议,它们之间的对应关系如图所示。
其中TCP/IP 5层模型介于4层和7层模型之间,一般用于学习研究。4层模型是我们实际应用的模型。
实际上无论分为几层,所代表的网络模型都是相同的,只是人们划分的详尽程度不同,
最终目的是为了更加清晰的表述互联网这些协议的作用 以及协议与协议之间的关系。
18
选择题
TCP/IP四层模型中,包括网络接口层、网络层、传输层和( )。
物理层
表示层
会话层
应用层
D
课堂练习
解析:TCP/IP四层模型由网络接口层,网络层,传输层,应用层组成。
19
通过网络模型发送信息的过程
应用层
传输层
网络层
网络接口层
应用层
传输层
网络层
网络接口层
封装数据包
解析数据包
用户A
用户B
知识讲解
每台计算机的信息处理都对应一个网络互联模型,向上靠近的是用户,向下则靠近计算机底层。
我们举个例子描述一下通过网络模型发送信息的过程:
用户A的计算机发送信息用户B的计算机。信息流的方向是这样的:本地从上到下依次编码,将数据包封装好,到达目的地后从下到上依次解码,解析数据包;同样的道理,右边的电脑发送信息到左边的电脑时,信息流的方向也是这个流程。
20
TCP/IP 四层模型
规定连接网络设备的接口
应用层
传输层
网络层
网络接口层
TCP/IP模型
主要协议:
Ethernet:以太网协议
知识讲解
网络模型中每一层都有自己的作用和对应的协议,这里先以实际应用的TCP/IP四层模型为例进行讲解:
先从最底层开始说起,最底层是网络接口层,主要规定连接网络设备的接口。网络接口层既是传输数据的物理媒介,例如:连接网线,构造一条完整的数据传输通道,同时网络接口层为网络层提供一条准确无误的线路,提供了在网络的两个计算机之间传输数据的功能。
在这层主要的网络协议是以太网协议,定义了互联网络的两个设备之间传输数据的规范,以太网协议用于实现数据传输和地址封装,规定了电子信号如何组成数据包。
21
TCP/IP 四层模型
负责不同网络之间数据传输
主要协议:
IP:网际协议
ARP:地址解析协议
应用层
传输层
网络层
网络接口层
TCP/IP模型
知识讲解
网络接口层上一层是网络层:
互联网是由许多个网络组成的大型网络。网络层的主要作用是负责不同网络之间数据的传输。
这层主要使用的协议是IP地址协议,它规定了将一个数据从一个网络传输到另一个网络应该遵循的规则,定义数据传输是的基本单元和格式,还定义了数据的递交方式和路由选择。允许某个局域网的 A 主机,向另一个局域网的 B 主机发送消息。
另外还有一个协议是ARP协议,在网络中,一个主机和另一个主机进行直接通信,必须要知道目标主机出厂时就记录在网卡上的物理地址。该协议可以根据网络分配的IP地址获取到目标计算机的物理地址,这样就保证了通讯的正常进行。
22
负责端口到端口之间的数据传输
TCP/IP 四层模型
主要协议:
TCP:传输控制协议
UDP:用户数据报协议
应用层
传输层
网络层
网络接口层
TCP/IP模型
知识讲解
网络层上面一层是传输层:
同一台主机上有许多应用进程都需要用到网络,比如,你一边浏览网页,一边与朋友在线聊天。当一个数据包从互联网上发来的时候,你怎么知道,它是表示网页的内容,还是表示在线聊天的内容?也就是说,我们还需要一个参数,表示这个数据包到底供哪个应用进程使用。这个参数就叫做”端口”。传输层的功能,就是建立”端口到端口”的通信。
这层主要的协议是TCP协议和UDP协议。TCP和UDP协议都是用于传输数据包的。
TCP协议,会在通信双方在通信前首先建立连接,通信过程中连接一直保持,通信完毕后会释放连接。因此能保证数据完整、无损并且按顺序到达。
UDP协议,在通信时无需建立连接,发送方直接将信息发送到网络中,只是尽力交付信息。因此并且不保证数据包按顺序到达。
23
TCP/IP 四层模型
控制应用程序,为应用程序提供网络服务。
主要协议:
SMTP:发送电子邮件协议
POP3: 接收电子邮件协议
FTP:文件传输协议
HTTP:超文本传输协议
应用层
传输层
网络层
网络接口层
TCP/IP模型
知识讲解
TCP/IP 四层模型的最上层是应用层:
互联网用户接触的就是应用层,应用层是模型中的最顶层,是用户与网络的接口,该层通过应用程序来完成网络用户的应用需求。
应用层直接为用户提供服务,该层有很多协议,每一个协议对应着计算机上的一个服务。
SMTP协议:简单的邮件传输协议,用于发送电子邮件。
POP3协议:邮局协议的第三个版本,可以用于接收邮件。
FTP:文件传输协议,可以减少或者消除不同操作系统下处理文件的不兼容性。
HTTP:超文本传输协议,规定了客户端和服务端进行数据传输的一种规则。HTTP是万维网的数据通信的基础。
24
OSI 七层模型
4. 应用层
3. 传输层
2. 网络层
1. 网络接口层
TCP/IP四层模型
OSI七层
7. 应用层
6. 表示层
5. 会话层
2. 数据链路层
4. 传输层
3. 网络层
1. 物理层
知识讲解
4层模型是我们实际应用的模型。我们再来说下OSI七层模型,OSI模型的分层更加详细,将应用层细分成了应用层,表示层和会话层。将网络接口层细分成了数据链路层和物理层。
25
OSI 七层模型
负责计算网络的物理传输介质,例如:电缆,光纤。
负责同一网络内不同设备之间的数据传输。(ARP协议)
负责不同网络之间的数据传输。(IP协议)
负责端口到端口的数据传输。(TCP、UDP协议)
负责不同计算机之间的会话管理。
负责不同计算机之间的数据格式转换和加密解密。
控制应用程序,为应用程序提供网络服务。(HTTP、FTP、SMTP、POP3协议)
7. 应用层
6. 表示层
5. 会话层
2. 数据链路层
4. 传输层
3. 网络层
1. 物理层
知识讲解
以下是OSI 七层模型中每一层的作用:
物理层:负责计算机网络的物理传输介质,利用电缆,光纤等传输方式。
数据链路层:负责同一个网路内不同设备之间的数据传输。用到的协议是ARP协议
网络层:负责不同网络之间的数据传输,用到的协议是IP协议
传输层:负责端口到端口的数据传输。主要协议是TCP协议、UDP协议
会话层:负责不同计算机之间的会话管理。
表示层:负责不同计算机之间的数据格式转换和加密解密。
应用层:控制应用程序,为应用程序提供网络服务。主要协议是HTTP、FTP、SMTP、POP3、DNS协议
26
(2023年9月)TCP/IP的传输层的两个不同的协议分别是UDP和TCP。
判断题
正确 错误
真题解析
解析:TCP/IP模型的传输层主要的协议是TCP协议和UDP协议。TCP和UDP协议都是用于传输数据包的。
27
选择题
(样题)万维网WWW中存储了海量的数据资源,这里用于传输控制的协议是( )。
URL
SMTP
HTTP
HTML
C
真题解析
C++2级样例试题
解析:HTTP是万维网的数据通信的基础。是用于传输控制的协议。
28
判断题
TCP/IP四层模型中,网络接口层负责提供数据链路层和物理层的实现。
正确 错误
课堂练习
2018年CSP-J
解析:TCP/IP四层模型中,网络接口层融合了数据链路层和物理层的实现。
29
选择题
TCP/IP模型中,传输层的主要协议是什么( )。
HTTP
FTP
TCP和UDP
DNS
C
课堂练习
解析:TCP/IP四层模型中,传输层的主要协议是TCP协议和UDP协议。
30
完全数
【问题描述】
完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和等于它本身。
例如:6 = 1 + 2 + 3那么6就是一个完全数。
编程实现输入n和m,输出n到m之间所有的完全数(包括n和m)。
【输入描述】
输入一行,包含两个正整数n和m,中间使用一个空格分隔。(0<n<6<m<10000)
【输出描述】
输出一行,包含若干个正整数,数字之间使用一个空格分隔,即n到m之间所有的完全数。
【输入样例】
1 10
【输出样例】
6
课堂练习
31
思路分析
输入n和m。
int n,m;
cin >> n>> m;
循环遍历n到m之间所有的数字、找出其中的完全数。
for(int i=n;i<=m;i++){
}
1、找出每个数字,除自身以外的约数
2、计算约数的累加和
3、判断约数累加和是否等于该数字
课堂练习
计算约数累加和
例如:计算6的所有约数(除6以外)的累加和
//遍历1~5之间的数字,找出其中能被6整除的,计算累加和
int s=0;
for(int j=1;j<6;j++){
if(6%j==0) s+=j;
}
记录约数累加和
课堂练习
思路分析
循环遍历n到m之间所有的数字、找出其中的完全数。
for(int i=n;i<=m;i++){
}
1、找出每个数字,除自身以外的约数
2、计算约数的累加和
3、判断约数累加和是否等于该数字
int s=0;
for(int j=1;j<i;j++){
if(i%j==0) s+=j;
}
3、判断约数累加和是否等于该数字
if(s==i) cout << i << " ";
课堂练习
【完整代码】
#include<iostream>
using namespace std;
int main(){
int n,m;
cin >> n>> m;
for(int i=n;i<=m;i++){
int s=0;
for(int j=1;j<i;j++){
if(i%j==0) s+=j;
}
if(s==i) cout << i << " ";
}
return 0;
}
课堂练习
完整代码
35
#include<bits/stdc++.h> // 包含标准库头文件,方便使用各种功能
using namespace std; // 使用标准命名空间,避免频繁使用 std:: 前缀
int main() // 主函数,程序入口
{
int n,m; // 定义两个整数变量 n 和 m,分别表示范围的起始值和结束值
cin >> n>> m; // 从标准输入读取 n 和 m 的值
// 外层循环,遍历从 n 到 m 的所有整数
for(int i=n;i<=m;i++)
{
int s=0; // 定义变量 s,用于存储当前整数 i 的所有真因子之和
// 内层循环,寻找 i 的所有真因子(即小于 i 的且能整除 i 的正整数)
for(int j=1;j<i;j++)
{
if(i%j==0) // 如果 j 是 i 的真因子
s+=j; // 将 j 加到 s 中
}
// 判断 s 是否等于 i
if(s==i)
cout << i << " "; // 如果等于,说明 i 是一个完全数,将其输出
}
return 0;
}
感谢你的学习
37
$$