当前位置: 首页 > news >正文

软考:软件设计师 — 5.计算机网络

五. 计算机网络

1. OSI 七层模型

层次名称主要功能主要设备及协议
7应用层实现具体的应用功能

POP3、FTP、HTTP、Telent、SMTP

DHCP、TFTP、SNMP、DNS

6表示层数据的格式与表达、加密、压缩
5会话层建立、管理和终止会话
4传输层端到端的连接TCP、UDP
3网络层分组传输和路由选择

三层交换机、路由器

ARP、RARP、IP、ICMP、IGMP

2数据链路层传送以帧为单位的信息

网桥、交换机(多端口网桥)、网卡

PPTP、L2TP、SLIP、PPP

1物理层二进制传输中继器、集线器(多端口中继器)

中继器、集线器等设备均在同一个冲突域。 

中继器在物理层上实现局域网网段互连,用于扩展局域网网段的长度。集线器是一种特殊的多路中继器,也具有信号放大功能。

网桥用于连接两个局域网网段,工作于 MAC 子层,只要两个网络的 MAC 子层以上的协议相同,都可以用网桥互连。网桥具有过滤帧的功能。

交换机中,多个端口在同一个网络(在同一个广播域)。一个接口对应一个冲突域。

路由器连接逻辑上分开的网络,一个接口对应一个广播域或一个冲突域。

例题1:

集线器与网桥的区别是()。

A.集线器不能检测发送冲突,而网桥可以检测冲突。

B.集线器是物理层设备,而网桥是数据链路层设备。

C.网桥只有两个端口,而集线器是一种多端口网桥。

D.网桥是物理层设备,而集线器是数据链路层设备。

解析1:

根据七层模型中硬件的定义可知,集线器是物理层设备,网桥是数据链路层设备,B 选项正确,D 选项错误。A 选项中,集线器与网桥都不能检测发送冲突,只能进行隔离,A选项错误。C 选项中,多端口网桥是交换机,集线器是多端口中继器,C 选项错误。

例题2:

以下关于网络层次与主要设备对应关系的叙述中,配对正确的是()。

A.网络层 — 集线器

B.数据链路层 — 网桥

C.传输层 — 路由器

D.会话层 — 防火墙

解析2:

集线器位于物理层,网桥位于数据链路层,路由器位于网络层,防火墙不属于硬件设备,可位于网络层或应用层。因此选 B。

2. TCP / IP 协议簇

(1)常见协议功能基础

  • POP3:默认 110 端口,邮件收取。
  • SMTP:25 端口,邮件发送。
  • FTP:20 数据端口 / 21 控制端口,文件传输协议。
  • HTTP:80 端口,超文本传输协议,网页传输。
  • DHCP:67 端口,IP 地址自动分配。
  • SNMP:161 端口,简单网络管理协议。
  • DNS:53 端口,域名解析协议,记录域名与 IP 的映射关系。
  • TCP:可靠的传输层协议。
  • UDP:不可靠的传输层协议。
  • ICMP:因特网控制协议,PING 命令来自该协议。
  • IGMP:组播协议。
  • ARP:地址解析协议,IP 地址转为 MAC 地址。
  • RARP:反向地址解析协议,MAC 地址转为 IP 地址。

TCP、UDP 协议是基于 IP 协议的。

例题1:

以下关于 TCP/IP 协议和层次对应关系的表示中,正确的是()。

解析1:

TCP、UDP 协议是基于 IP 协议的,所以首先排除 BD 选项。SMTP 是邮件发送协议,基于 TCP 协议,所以选项 A 正确。 

例题2:

默认情况下,FTP 服务器的控制端口为(),上传文件时的端口为()。

A.大于 1024 的端口  B.20  C.80  D.21

A.大于 1024 的端口  B.20  C.80  D.21

解析2:

根据 FTP 协议的定义可知,20 为数据端口,21 为控制端口,因此选 DB 选项。

例题3:

若一台服务器只开放了 25 和 110 两个端口,那么这台服务器可以提供()服务。

A.E-Mail  B.WEB  C.DNS  D.FTP

解析3:

根据各常用协议的默认端口可知,25 端口是 SMTP,110 端口是 POP3,分别用来控制邮件的发送和收取,所以这台服务器可以提供 E-Mail 服务,选项 A 正确。WEB 服务通常与 HTTP 协议有关。

(2)TCP 与 UDP

关于 TCP 与 UDP 协议的详细内容,可以参考文章:Java知识点整理 4 — 计算机网络

TCPUDP
共同点基于 IP 协议的传输层协议,可以端口寻址。
不同点面向连接(连接管理)、三次握手、流量控制、差错校验和重传、IP 数据报按序接收不丢失不重复、可靠性强、牺牲通信量、效率低。

不可靠、无连接、错误检测功能弱,无拥塞控制、无流量控制,有助于提高传输效率。

不对无序 IP 数据报重新排序、不负责重传、不消除重复 IP 数据报、不对已收到的数据报进行确认、不负责建立或终止连接,这些由 UDP 进行通信的应用程序处理。

相关协议HTTP、FTP、Telnet、POP3、SMTPDNS、DHCP、TFTP、SNMP

例题1:

TCP 和 UDP 协议均提供了()能力。

A.连接管理  B.差错校验和重传  C.流量控制  D.端口寻址

解析1:

它们都是基于 IP 协议的传输层协议,都具有端口寻址功能,选 D。ABC 都是 TCP 协议具有的功能,可靠性强,但效率低。

例题2:

相比于 TCP,UDP 的优势为()。

A.可靠传输  B.开销较小   C.拥塞控制  D.流量控制

解析2:

UDP 的优势在于开销小,效率高,TCP 是保证了可靠性,牺牲了效率。因此选 B。 

(3)协议应用扩展

DHCP 协议

用于 IP 地址自动分配,C/S模型结构。分配方式有固定分配、动态分配和自动分配。

其中分配的 IP 地址为 169.254.X.X 和 0.0.0.0 是无效 IP 地址。

DNS 协议

浏览器输入域名HOSTS -> 本地DNS缓存 -> 本地DNS服务器 -> 根域名服务器 -> 顶级域名服务器 -> 权限域名服务器
主域名服务器接收到域名请求本地DNS缓存 -> 根域名服务器

HOSTS 文件提供域名到 IP 地址的映射关系。如果在 HOSTS 中没找到,就按序向下寻找。

例题1:

采用 DHCP 动态分配 IP 地址,如果某主机开机后没有得到 DHCP 服务器的响应,则该主机获取的 IP 地址属于网络()。

A.202.117.0.0/24  B.192.168.1.0/24  C.172.16.0.0/16  D.169.254.0.0/16

解析1:

DHCP 协议分配的 169.254.X.X 和 0.0.0.0 是无效 IP 地址,因此选 D。

例题2:

在浏览器地址栏输入一个正确的网址后,本地主机将首先在()查询该网址对应的 IP 地址。

A.本地DNS缓存  B.本机hosts文件  C.本地DNS服务器  D.根域名服务器

解析2:

在浏览器输入域名后,将首先去本机 hosts 文件中查询对应的 IP 地址,找不到按序向下查询,如果是服务器接收到域名请求的话,则先查本地 DNS 缓存。选 B。

3. 网络诊断命令

  • ping:用于检查网络是否连通。
  • tracert:用于确定 IP 数据包访问目标所采取的路径,若网络不通,能定位到具体哪个结点不通。
  • ipconfig:显示 TCP/IP 网络配置值,如:IP 地址,MAC 地址,网关地址等。
  • nslookup:查询 DNS 记录。
  • netstat:用于显示网络连接、路由表和网络接口信息。

网络中整个侦听的过程其实就是 TCP 三次握手的建立过程。

第一次握手 :客户端发送SYN包(SEQ = x)到服务器,并进入SYN_SENT状态,等待服务器确认。SYN是同步序列编号。
第二次握手 :服务器收到SYN包,会确认客户端的SYN(ACK = x+1),同时自己也发送一个SYN包(SEQ = y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手 :客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK = y+1),发送完后,客户端和服务器进入ESTABLISHED状态,完成三次握手。ESTABLISHED状态表示连接建立成功,可以传输数据。

例题1:

在 Windows 操作系统下,要获取某个网络开放端口所对应的应用程序信息,可以使用命令()。

A.ipconfig  B.tracerout  C.netstat  D.nslookup

解析1:

获取某个网络开放端口所对应的应用程序信息可用 netstat 命令,选 C。B 选项是 tracert 命令的 Linux 版本。 

例题2:

测试网络连通性通常采用的命令是()。

A.netstat  B.ping  C.msconfig  D.cmd

解析2:

ping 命令通常用于检查网络是否连通,选 B。

例题3:

使用()命令可以释放当前主机自动获取的 IP 地址。

A.ipconfig/all  B.ipconfig/reload  C.ipconfig/release  D.ipconfig/reset

解析3:

A 项用于查看 ip 地址的全部配置情况,C 项用于释放当前主机自动获取的 ip 地址。没有 BD 选项这样的命令。

4. IP 地址与子网划分

(1)IP 地址分类与特殊 IP 地址

IP 地址的表示采用点分十进制,采用 32 位二进制,划分成 4 段,每段 8 位二进制,由网络号和主机号两部分构成。常用的是 A、B、C 三类。其中,A 类的网络号 8 位,B 类的网络号 16位,C 类的网络号 24 位。

例如,A 类 IP 地址中,主机号有 24 位,那么可以表示的主机地址有 2^{24} 种,但需要排除两个特殊的地址,分别是全 0 和全 1 作主机号。全 0 表示网络的地址,全 1 表示广播地址,因此主机地址有 2^{24} - 2 种。

特殊的 IP 地址:

IP说明
127网段回拨地址,本地环回地址。通常用于本地测试。
主机号非全 0 和非全 1可作为子网中的主机号使用。
主机号全 0 地址代表这个网络本身,可作为子网地址使用。
主机号全 1 地址特定子网的广播地址。
169.254.0.0保留地址,用于 DHCP 失效(Windows)
0.0.0.0保留地址,用于 DHCP 失效(Linux)

例题:

在一台安装好 TCP/IP 协议的计算机上,当网络连接不可用时,为了测试编写好的网络程序,通常使用的目的主机 IP 地址为()。

A.0.0.0.0

B.127.0.0.1

C.10.0.0.1

D.210.225.21.255/24

解析:

为了测试编写好的网络程序,通常使用本地环回地址 127.0.0.1,选 B。D 项中是一个普通的 IP 地址类型,其后面的 /24 是指有 24 位作为网络位,那么主机号有 8 位。

(2)子网划分与路由汇聚

IP 地址的表示方式有:

  • A/B/C/D/E 类地址
  • IP 地址/n(n 代表网络位数)
  • 子网掩码

其中,子网掩码的表示为网络号位置全为 1,主机号位置全为 0。和 IP 地址进行与操作。

子网划分:

将一个网络划分成多个子网(取部分主机号当子网号)

例如,将 B 类 IP 地址 168.195.0.0 划分成 27 个子网,子网掩码为多少?每个子网可表示多少个主机?

首先看到 B 类 IP 地址,其网络号为 16 位。27 个子网需要 5 位二进制才能表示,2^{5} = 32,所以子网号为 5,那么子网掩码就是:原 16 位网络号 + 5 位子网号 + 主机号,并且子网掩码网络号全为 1,主机号全为 0,所以子网掩码是:11111111 11111111 11111000 00000000,即 255.255.248.0。网络号有 16 + 5 = 21 位,那么主机号有 32 - 21 = 11 位,可以表示 2^{11} -2 个主机地址,不要忘记减去全 0 和全 1 的情况。

或者,将 B 类 IP 地址 168.195.0.0 划分成若干子网,每个子网内有主机 700 台,则子网掩码为多少?

同样,子网掩码为原 16 位网络号 + 子网号 + 700 台主机,其中 700 台主机可由 2^{10} 表示,即 10 位二进制(1024 - 2 = 1022),那么主机号有 10 位,因此子网号有 32 - 16 - 10 = 6 位,可以表示 2^{6} 个子网。那么子网掩码为:11111111 11111111 11111100 00000000,即 255.255.252.0。

路由汇聚:

将多个网络合并成一个大的网络(取部分网络号当主机号)

例如,设有两个子网 202.118.133.0/24 和 202.118.130.0/24,如果进行路由汇聚,得到的网络地址是?

首先可以看到两个子网的前 16 位地址是相同的,都是 202.118,然后再第 16 - 23 位不同,那么将其转化为二进制为:133 -> 1000 0101,130 -> 1000 0010,也就是它们的末三位不同,因此是从第 21 位开始发生变化的。将相同的部分全部取出,变化的部分全部置为 0,所以变成了 1000 0000,即 128。但注意,之前是前 24 位表示网络位,现在将变化的 3 位置 0 ,所以网络位减三,变成 21 位。所以路由汇聚后得到的网络地址为 202.118.128.0/21。

所以路由汇聚就是将大网络进行汇聚,就比如先确定国家和省份,然后再去细分网络,确定更为细致的位置。在题目中就是先找到网络 202.118.128,然后再分别去确定 133 和 130。

例题:

与地址 220.112.179.92 匹配的路由表的表项是()。

A.220.112.145.32/22

B.220.112.145.64/22

C.220.112.147.64/22

D.220.112.177.64/22

解析:

首先可以看到选项中的地址与题目中地址的前 16 位均相同,因此变化的是第 16 - 23 位。并且选项中给出了网络号的位数为 22 ,所以剩下的 22 - 16 = 6 位,依然是相同的。其中 179 的二进制形式为:10110011,可用除基取余法快速计算。145 的二进制形式为:10010001,147 的二进制形式为:10010011,177 的二进制形式为:10110001,显然 177 的前六位与 179 的前六位相同,所以 D 项是匹配的。

(3)IPv6

IPv4 能表示的空间有 2^{32},大概有 40 亿左右。但随着全世界人口的增加,IPv4 已经逐渐不够用,因此出现了 IPv6。IPv6 是设计用于替代现行版本 IP 协议(IPv4)的下一代 IP 协议。

IPv6 地址长度为 128 位,地址空间相比于 IPv4 增大了 2^{96} 倍。

IPv6 的地址类型:

  • 单播地址:用于单个接口的标识符,传统的点对点通信。
  • 多播地址:一点对多点的通信,数据报交付到一组计算机中的每一个。IPv6 没有广播的术语,而是将广播看做多播的一个特例。
  • 任播地址:泛播地址,这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据包在交付时只交付给其中一个,通常是距离最近的一个。

IPv6 地址表示:(冒分十六进制)

IPv6 地址由 8 个 16 进制字段构成,例如:

2001:0db8:85a3:0000:1319:8a2e:0370:7344

可以简写成:2001:0db8:85a3::1319:8a2e:0370:7344

如果因为省略而出现了两个以上的冒号,则可以压缩为一个,但这种零压缩在地址中只能出现一次。因此:

2001:0DB8:0000:0000:0000:0000:1428:57ab

2001:0DB8:0:0:0:0:1428:57ab(整段 0 可以记作 1 个 0)

2001:0DB8::1428:57ab(连续多段 0 可以省略)

2001:DB8::1428:57ab(高位 0 可以省略)

IPv4 / IPv6 过渡技术:

  • 双协议栈技术:双栈技术通过节点对 IPv4 和 IPv6 双协议栈的支持,从而支持两种业务的共存。
  • 隧道技术:通过在 IPv4 网络中部署隧道,实现在 IPv4 网络上对 IPv6 业务的承载,保证业务的共存和过渡。隧道技术包括:6to4隧道、6over4隧道、ISATAP隧道。
  • NAT-PT 技术:使用网关设备连接 IPv6 和 IPv4 网络。当 IPv4 和 IPv6 节点互相访问时,NAT-PT 网关实现两种协议的转换翻译和地址映射。

5. 网络规划与设计

整体流程:

需求分析 -> 网络规划原则 -> 网络设计与实施原则 -> 层次化网络设计

  • 需求分析

网络功能要求;网络的性能要求;网络运行环境的要求;网络的可扩充性和可维护性要求。

  • 网络规划原则

实用性原则;开放性原则;先进性原则。

  • 网络设计与实施原则

可靠性原则;安全性原则;高效性原则;可扩展性原则。

  • 层次化网络设计

包括核心层、汇聚层、接入层。

层次化网络:

核心层:主要是高速数据交换,实现高速数据传输、出口路由,常用冗余机制。

汇聚层:网络访问策略控制、数据包处理和过滤、策略路由、广播域定义、寻址。

接入层:主要是针对用户端,实现用户接入、计费管理、MAC 地址认证、MAC 地址过滤、收集用户信息,可以使用集线器代替交换机。

例题:

以下关于层次化局域网模型中核心层的叙述,正确的是()。

A.为了保障安全性,对分组要进行有效性检查。

B.将分组从一个区域高速地转发到另一个区域。

C.由多台二、三层交换机组成。

D.提供多条路径来缓解通信瓶颈。

解析:

核心层只负责数据的高速转发,因此 B 选项正确。A 选项中分组检查由汇聚层处理。核心层大多由三层交换机或路由器构成,C 项错误。D 项中提到通信瓶颈,通常是瓶颈在哪里就在哪里提供路径,核心层只有出口路由,没有路径等相关概念,属于混淆项。

6. 网络接入技术

计算机网络分类

按分布范围分:

  • 局域网(LAN):无线局域网(WLAN,802.11,Wi-Fi)
  • 城域网(MAN):无线城域网(WMAN,802.16,WiMax)
  • 广域网(WAN):无线广域网(WWAN,3G/4G)
  • 因特网:无线个人网(WPAN,802.15,Bluetooth)

按拓扑结构分:

总线型、星型、环型、树型等。

网络接入技术

有线接入:

  • 公用交换电话网络(PSTN)
  • 数字数据网(DDN)
  • 综合业务数字网(ISDN)
  • 非对称数字用户线路(ADSL)
  • 同轴光纤技术(HFC)

其中,非对称数字用户线路(ADSL)又分为静态IP、PPPoA(基于 ATM)、PPPoE(基于以太网)三种接入方式。

无线接入:

  • IEEE 802.11(WiFi)
  • IEEE 802.15(Bluetooth)
  • 红外(IrDA)
  • WAPI

例题1:

使用 ADSL 接入 Internet,用户端需要安装()协议。

A.PPP  B.SLIP  C.PPTP  D.PPPoE

解析1:

ADSL 接入 Internet 需要安装 PPPoE 协议,该协议基于以太网接入,选 D。A 项是点对点协议,C 项是点对点隧道协议。

例题2:

下列无线网络技术中,覆盖范围最小的是()。

A.802.15.1 蓝牙

B.802.11n 无线局域网

C.802.15.4 ZigBee

D.802.16m 无线城域网

解析2:

覆盖范围最小的是蓝牙技术,选 A。C 项是子蜂技术,相比蓝牙要大一些。

7. WWW 服务

www 服务即万维网服务。Internet 地址:域名格式和IP地址格式。

URL

URL,即统一资源定位符,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

URL格式:

协议名://主机名.组名.最高层域名    例如:http://www.baidu.com

protocol://hostname[:port] path /filename

protocol 指定使用的传输协议,最常见的是 HTTP 或 HTTPS 协议,也可以有其他协议,如 file、ftp、gopher、mms等。

hostname 是指主机名,即存放资源的服务域名或 IP 地址。如 www,也可将 www.baidu.com 整体作为主机名。

port 是指各种传输协议所使用的默认端口号,一般可以省略,如 http 默认端口号为 80。

path 是指路径,由一个或者多个 "/" 分隔,一般用来表示主机上的一个目录或者文件地址。

filename 是指文件名,该选项用于指定需要打开的文件名称。

一般情况下,一个 URL 可以采用 "主机名.域名" 的形式打开指定页面,如 www.baidu.com,也可单独使用 "域名" 来打开,如 baidu.com,但这样做的前提是需要进行相应的设置和对应。

常见域名:

组织模式含义地理模式含义
com商业组织cn中国
edu教育机构hk中国香港
gov政府机构mo中国澳门
mil军事部门tw中国台湾
net主要网络支持中心us美国
org上述以外组织uk英国
int国际组织jp日本

例题:

在地址 http://www.dailynews.com.cn/channel/welcome.htm 中, www.dailynews.com.cn 表示(),welcome.htm 表示()。

A.协议类型  B.主机  C.网页文件名  D.路径

A.协议类型  B.主机  C.网页文件名  D.路径

解析:

整个地址结构中,协议类型是 http,www.dailynews.com.cn 是主机名,channel 是路径,welcome.htm 是文件名,因此选 BC。

计算机网络部分的内容至此结束,后续如果有补充或修改会直接添加。

相关文章:

  • Git 从入门到精通:全面掌握版本控制(IntelliJ IDEA 中 Git 的使用指南)
  • 【LeetCode 随笔】C++入门级,详细解答加注释,持续更新中。。。
  • 【ESP32 IDF 软件模拟SPI驱动 W25Q64存储与读取数组】
  • 二、【Python】入门 - 【PyCharm】安装教程
  • C语言程序设计(二)
  • 疫情居家办公OA系统
  • 富芮坤FR800X系列之按键检测模块设计
  • 正则表达式概述
  • Django—admin后台管理
  • Java 实现分页的几种方式详解
  • MySQL之索引优化
  • 单片机主控的基本电路
  • Dav_笔记11:SQL Tuning Overview-sql调优 之 4
  • Linux第五节课(权限02)
  • 嵌入式虚拟仿真教学解决方案
  • 4个实用的微服务测试策略
  • CAP 一致性协议及应用解析
  • CODING 缺陷管理功能正式开始公测
  • Invalidate和postInvalidate的区别
  • JavaScript的使用你知道几种?(上)
  • Java知识点总结(JavaIO-打印流)
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Python利用正则抓取网页内容保存到本地
  • Python连接Oracle
  • ReactNative开发常用的三方模块
  • SpingCloudBus整合RabbitMQ
  • Spring-boot 启动时碰到的错误
  • Spring核心 Bean的高级装配
  • Vue官网教程学习过程中值得记录的一些事情
  • 回顾2016
  • 聊聊directory traversal attack
  • 码农张的Bug人生 - 见面之礼
  • 前端学习笔记之观察者模式
  • 如何解决微信端直接跳WAP端
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #if #elif #endif
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ../depcomp: line 571: exec: g++: not found
  • .env.development、.env.production、.env.staging
  • .htaccess配置重写url引擎