第一部分 通信基础

1.设计企业网络的基本架构是什么?

企业网络的基本架构由三个部分组成,分别是接入层、汇聚层和核心层。

接入层的主要设备是接入交换机,用于接入企业终端设备,如 PC、AP、IP电话、服务器等。

②汇聚层的主要设备是路由器,用于将内网下层所有设备发送的流量汇聚,实现包括网关配置,VLAN 接口配置,不同 VLAN 间的互通等工作。

③核心层的主要设备是路由器或高性能的三层核心交换机等,用于快速转发汇聚层上传的数据,通过核心层的网关设备将数据转发至 WAN 广域网。

2.企业网络中部署千兆以太网时使用哪种传输介质?

常见的传输介质包括同轴电缆、双绞线、光纤等。它们在传输速率、传输距离线路的编码方式均有不同之处。因为业务流量巨大,所以企业网络中千兆以太网一般使用光纤作为传输介质。

3.什么是冲突域,什么是广播域?

冲突域是在同一个网络上两个比特同时进行传输则会产生冲突;在网络内部数据分组所产生与发生冲突的这样一个区域称为冲突域,所有的共享介质环境都是一个冲突域,在共享介质环境中一定类型的冲突域是正常行为。

广播域,广播域是一个逻辑上的计算机组,该组内的所有计算机都会收到同样的广播信息。

4.CSMA/CD 的作用是什么?

CSMA/CD 的全称是:载波监听多路访问/冲突检测方法。他的主要作用是在共享式物理介质上去检测和避免冲突的机制。

总结:先听 后发 边发边听 冲突停止 随机再发

1 )终端设备不停地检测共享线路的状态。如果线路空闲,则可以发送数据;如果线路不空闲,则一直等待。

2) 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号混乱。

3) 终端设备检测到这种冲突之后,马上停止发送自己的数据。

4) 终端设备发送一连串干扰脉冲,然后等待一段时间之 后再进行数据发送。

5.介绍一下 OSI 七层模型,以及各层的作用?

OSI 七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

 应用层的主要作用是:提供一个人机交互的接口,为应用程序提供网络服务

 表示层的主要功能是:对数据进行不同格式的加密和解密

 会话层的主要功能是:建立和维护会话

 传输层的主要功能是:建立维护管理端到端的连接,定义一种传输形式

⑤  网络层的主要功能是:对数据包进行 IP 寻址和路由探测

 数据链路层的主要功能是:将数据包封装成帧,进行物理寻址和差错校验

 物理层的主要功能是:将数据转化为比特流在传输介质上进行传输

7. 应用层

对应用程序提供接口。

6. 表示层

进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解。

5. 会话层

在通信双方之间建立、管理和终止会话。

4. 传输层

---段(TCP)

---数据报(UDP)

建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢,调整数据的排序等等。

3. 网络层---数据包

定义逻辑地址;实现数据从源到目的地的转发。

2. 数据链路层---帧

将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测。

1. 物理层---bit

在媒介上传输比特流;提供机械的和电气的规约。

6.OSI 七层模型中每一层的协议数据单元分别是什么?

物理层的 PDU 是 bit。数据链路层的 PDU 是帧。网络层的 PDU 是数据包。传输层分为两种,TCP 的 PDU 称为段,UDP 的 PDU 称为数据报。会话层及以上的高层次中,数据传送单位不再单独命名。

7.帧头中的 Type  length 字段有什么意义(MTU 的概念)?

数据帧主要分为两种格式、Ethernet_II 和 IEEE802.3。不同的 Type 字段值可以用来区别这两种帧的类型,当 Type 字段值小于等于 1500 时,帧使用的是 IEEE 802.3 格式。当 Type 字段值大于等于 1536  时,帧使用的是 Ethernet II 格式。以太网中大多数的数据帧使用的是 Ethernet II 格式。

8.最小的帧长度是多少,为什么?

以太网数据帧的长度在 64-1518 字节之间。因为以太网数据帧的 Data 字段为可变字段,它的长度范围是 46~1500 字节之间,其他部分的长度固定为 18 字节。所以最小的帧长度为 64 字节。

9.IP 包的分片功能原理是什么?

当网络中要传输的 IP 报文大小超过了最大传输单位(MTU)就会发生 IP 分片的情况。分片和重新组装相对于传输层是透明的,因为 IP 数据包分片之后只有当它到达下一站时才可重新组装。且它是由目的端的 IP 层来完成的。

IP 分片和完整的 IP 报文具有差不多相同的 IP 头。报文中的 Identification 字段用来标识分片数据包再整个数据包中的位置。Flag 字段用来标识是否是最后一个数据包。fragment 字段分片重组时会用到该字段。表示较长的分组在分片后,某片在原分组中的相对位置。

10.网络层设备如何确定以太网上层协议?

通过数据帧中的 TYPE 字段来确定上层协议 如果是 0X0800 则 IP 协议、如果是0X0806 则 ARP 协议、如果是 0x86dd 则是 IPv6 协议

以太类型 (EtherType) 协议 说明
0x0800 Internet Protocol version 4 (IPv4) 承载普通的IP数据包
0x0806 Address Resolution Protocol (ARP) 用于IP地址到MAC地址的解析
0x86DD Internet Protocol version 6 (IPv6) 承载IPv6数据包
0x8100 IEEE 802.1Q (VLAN Tag) 这不是上层协议,而是表示后面跟着4字节的VLAN标签。真正的协议类型在VLAN标签之后。
0x8847 MPLS (Unicast) 多协议标签交换
0x8848 MPLS (Multicast) 多协议标签交换(组播)
0x8863 PPPoE Discovery Stage PPP over Ethernet 发现阶段
0x8864 PPPoE Session Stage PPP over Ethernet 会话阶段
0x8870 Jumbo Frames 巨帧(实验性)
0x88A8 IEEE 802.1ad (Q-in-Q) 双层VLAN标签
0x88CC Link Layer Discovery Protocol (LLDP) 链路层发现协议

11.终端设备收到数据帧会如何处理?

①如果数据帧中的目的 MAC 地址是的广播地址或侦听组播地址,则接收,进一步处理。

②如果数据帧中的目的 MAC地址不是广播也不侦听的组播地址,同时又不是自己的 MAC地址,则丢弃。

③如果数据帧中的目的 MAC地址是自己的 MAC 地址,则接收,并利用帧尾的FCS 字段进行校验,数据帧是完整的则交由上一层协议,如果不完整则进行其他处理方式。

12.IP 报文头部中TTL 字段的作用是什么? 如果收到 TTL  1 报文的如何处理?是否会收到 TTL 为0 的报文?

如果网络中存在环路,则 IP 报文可能会在网络中循环而无法到达目的端。TTL字段限定了 IP 报文的生存时间,保证无法到达目的端的报文最终被丢弃。报文每经过一台设备 TTL 值减 1,收到 TTL 值为 1 的数据时会将该 IP 包 TTL 值减 1后丢弃

13.TCP  UDP 有什么区别,应用场景?

 TCP 是面向连接的、可靠的传输协议,适用于对安全性和稳定性要求高的数据传输。

 UDP 是面向无连接的,不可靠的传输协议。适用于网络负担重、对传输时延要求低的数据传输。

14.TCP 三次握手过程,四次挥手过程?交互了哪些报文? TCP 三次握手第一个报文?

①三次握手

假设网络中两台主机 AB 之间建立 TCP 连接。主机 A 建立传输控制模块 TCB 然后想 B 发送连接请求报文,报文段首部的同步位 SYN=1,同时选择一个序列号 seq=a。B 收到请求后,如果同意建立连接,就向A 发送确认报文段,此时确认号 ack=a+1 同时选择一个序列号 seq=b。A 收到 B 的确认后,还要想 B 发送确认,此时确认好 ack=b+1 ,seq=a+1.这是连接便建立成功了。

②四次挥手

当 A 的数据传送完后,就可以向其 TCP 发起连接释放了,此后停止再发送数据,主动关闭 TCP 连接。首先 A B 发送一个 FIN 报文段,报文段首部FIN=1,序列号 seq=u ,B 收到释放连接的报文段后即发出确认报文段, ack=u+1 ,seq=v。

当 B 的数据发送完毕后,其应用进程就通知 TCP 释放连接。B 向 A 发送 FIN 报文,报文段首部 FIN=1 ,ack=u+1(重复发送上一次已经发送过的确认号),seq=w(w 为 B 最后发送报文段的序列号加 1 )A 在接收到 B 的连接释放报文后,必须进行确认。A 向 B 发送的确认报文段中报文首部 ACK=1 ,ack=w+1, seq=u+1。

15.TCP 的可靠性怎么体现?

TCP 主要通过以下几种机制来确保传输的可靠性。

①校验和,校验和需一致才能传输成功。

②确认应答和序列号。TCP 传输的过程中,每次接收到数据后需要对传输方进行确认应答。TCP 对传输过程中的每个数据都进行了编号,确保了传输的可靠性。

③超时重传:当报文发出后在一定的时间内未收到接收方的确认,发送方就会进行重传

④连接管理:通过三次握手和四次挥手来确保连接的可靠性。

⑤流量控制:TCP 支持根据接收端的处理能力,来决定发送端的发送速度

⑥拥塞控制:TCP 引入慢启动机制,先发出少量数据,就像探路一样,先摸清当前的网络拥堵状态后,再决定按照多大的速度传送数据。

16.TCP 划窗机制?流量控制?

TCP 支持根据接收端的处理能力,来决定发送端的发送速度,这个机制叫做流量控制。在 TCP 报文段首部中有一个 16 位窗口长度,当接收端接收到发送方的数据后,在应答报文 ACK 中就将自身缓冲区的剩余大小,放入 16 窗口大小中。这个大小随数据传输情况而变,窗口越大,网络吞吐量越高,而一旦接收方发现自身的缓冲区快满了,就将窗口设置为更小的值通知发送方。如果缓冲区满,就将窗口置为 0,发送方收到后就不再发送数据,但是需要定期发送一个窗口探测数据段,使接收端把窗口大小告诉发送端。

17.TCP 头部中的确认标识位有什么作用?

对收到的报文进行确认应答,确保报文已经收到。

18.TCP 头部中有哪些标识位参与 TCP 三次握手?

SYN、ACK、FIN

19.常见 TCP、UDP 端口号有哪些?

TCP

BGP: 179    FTP: 20(数据)21(控制)Telnet :23   SMTP:25   HTTP:80   SSH:22  

UDP

RIP:520    RIPng:521       DHCP:67(服务器)68(客户端)    BFD: 3784  TFTP:69

20.ARP 的工作原理是什么?

①每个主机都会在主机的 ARP 缓冲区建立一个 ARP 表

②当有主机新加入网络,会发送免费 ARP 报文将主机的 IP地址与 MAC 地址映射关系广播给其他主机

③网络中的主机接收到免费 ARP 报文会更新自己的缓冲区,将新的映射关系更新到自己的 ARP 表中

④主机需要发送报文,首先检查自己的 ARP 表是否有对应的 IP地址的目的主机 MAC 地址,有:直接发送数据,没有:向本网段的所有主机发送 ARP 数据包

⑤本网络的所有主机接收到 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,不是:忽略该数据包;是,首先从数据包取出源 IP 和 MAC地址,写入 ARP 表中,如果已经存在则覆盖,然后将自己的 MAC 地址写入ARP 响应包,告诉源主机自己就是他要寻找的 MAC 地址

⑥源主机收到 ARP 响应包后,将目的主机的 IP地址和 MAC 地址写入 ARP 列表中,并利用此信息发送数据,如果源主机一直没收到,则 ARP 查询失败

21.ARP报头里面有哪些字段,ARP 请求报头里面的字段有什么特点?

①硬件类型( Hardware Type): 2 个字节,指定了硬件地址的类型,如以太网 Ethernet )。

②协议类型(Protocol Type):占 2 个字节,指定了上层协议的类型,通常是 IPv4。

③硬件地址长度( Hardware Address Length): 1 个字节,指定了硬件地址的长度,如 MAC 地址的长度通常为 6 字节。

④协议地址长度( Protocol Address Length):占  1 个字节,指定了协议地址的长度,如 IPv4地址的长度通常为 4 字节。

⑤操作码(Operation Code): 2 个字节,指定 ARP 报文的类型,可以是 ARP 请求( 1 )或 ARP 应答(2)。

⑥发送方硬件地址( Sender Hardware Address ): 占硬件地址长度指定的字节数,指定发送 ARP请求的设备的硬件地址(通常是 MAC 地址)。

⑦发送方协议地址( Sender Protocol Address):占协议地址长度指定的字节数,指定发送 ARP请求的设备的协议地址(通常是 IPv4 地址)。

⑧目标硬件地址(Target Hardware Address): 占硬件地址长度指定的字节数,通常在 ARP 请求中被设为 0,因为在 ARP 请求中,发送方并不知道目标设备的硬件地址。

⑨目标协议地址(Target Protocol Address ): 占协议地址长度指定的字节数,指定要查询的目标设备的协议地址。

ARP 请求报头中的特点是:

- **操作码字段**通常被设置为 1,表示 ARP 请求。

- ** 目标硬件地址字段**通常被设置为全 0,因为在 ARP 请求中,发送方不知道目标设备的硬件地址。

- ** 目标协议地址字段**包含要查询的目标设备的 IPv4 地址。

- **发送方硬件地址字段**包含发送 ARP请求的设备的硬件地址(通常是 MAC地址)。

- **发送方协议地址字段**包含发送 ARP 请求的设备的 IPv4 地址。

ARP 请求用于查找给定 IPv4地址对应的 MAC 地址,因此发送方知道自己的协议

地址,但不知道目标设备的硬件地址,因此目标硬件地址字段设置为 0。

22.什么是 arp 代理,什么情况下会产生?

ARP 代理就是通过使用一个主机(通常为 router),来作为指定的设备对另一设备作出 ARP 请求的应答。ARP 代理一般发生在网络中不配置网关的情况。

23.什么是免费 arp(无故 arp)? 网络设备什么时候会产生免费ARP?免费 ARP 报文字段有什么特点?

免费 ARP:用来检测 IP 地址是不是冲突的。当设备在新配置 IP 地址或修改 IP地址时会发送免费 ARP。源 IP 地址和源 MAC 地址均为自己的地址。目的 MAC地址为全 f,目的 IP 地址为自己。

24.网络设备在什么情况下会发送 ARP Request?

已知目的网络的 IP地址,不知道它的 MAC 地址时会发送 ARP Request。

25.什么是 ICMP 协议,ICMP 重定向的原理是什么?

ICMP 网络控制报文协议。它是 TCP/IP 协议簇的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

26.Tracert 的原理是什么? traceroute(Linux 的命令)?

首先,tracert 送出一个 TTL  1 的 IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将 TTL 减 1。此时,TTL 变为 0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发 IP包的源地址, IP 包的所有内容及路由器的 IP地址), tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着 tracert 再送出另一个 TTL 是2 的数据包,发现第2 个路由器.      tracert 每次将送出的数据包的 TTL 加 1 来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。当数据包到达目的地后,该主机则不会送回 ICMP time exceeded 消息,一旦到达目的地,由于 tracert 通过 UDP 数据包向不常见端口(30000 以上)发送数据包,因此会收到「ICMP portunreachable」消息,故可判断到达目的地。

27.Ping 使用的是哪两类 ICMP 消息?

ICMP echo request 和 ICMP echo reply

28.当网络设备收到 TTL 值为0  IP 报文时,会如何操作?

当 TTL 值为 0 时,网络设备会丢弃这个报文,向源设备发送一个 TTL 超时的信息。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐