1.层次结构设计的基本原则
- 各层之间相互独立
- 每一层要有足够的灵活性
- 各层之间相互解耦
2.计算机网络的七层模型从顶往下分别是什么?请按顺序列举出来
- 应用层:为计算机用户提供接口和服务
- 表示层:数据处理(编码解码,加密解密等)
- 会话层:管理(建立、维护、重连)通信会话
- 传输层:管理端到端的通信连接
- 网络层:数据路由(决定数据在网络的路径)
- 数据链路层:管理相邻节点之间的数据通信
- 物理层:数据通信的光电物理特性
3.现在开发者更喜欢使用TCP/IP四层模型来划分计算机网络,为什么TCP/IP四层模型会取代OSI七层模型被广泛使用?
- OSI的专家缺乏实际经验
- OSI标准制定周期过长, 按OSI标准生产的设备无法及时进入市场
- OSI模型设计的不合理,一些功能在多层中重复出现
4.说说TCP/IP四层模型
- 应用层:HTTP/ FTP/SMTP/POP3
- 传输层:TCP/UDP
- 网络层:IP/ICMP
- 网络接口层:Ethernet/ARP/RARP/PPP
5.传输层最重要的两个协议是什么?
TCP, UDP
6.IP协议、ICMP协议属于计算机网络的哪一个层次?
网络层
7.ARP、RARP协议属于计算机网络的哪一个层次?
网络接口层/ 数据链路层
8.路由器工作在计算机网络的哪几个层次?
网络层,网络接口层/ 网络层, 数据链路层, 物理层
9. 现代网络设备互联的两种模式分别是什么?他们有什么特点?
- 客户-服务器模式(C/S模式)
客户-服务端模式由服务端提供网络服务, 客户端使用服务, 常常表现为一个服务端, 多个客户端的连接模式
- 对等连接P2P模式
对等连接模式不分客户端和服务端, 只要两个主机都运行了对等连接软件(P2P软件), 它们就可以进行平等的、
对等连接通信。
10.时延是判断计算机网络质量的重要标准,网络时延由哪几个部分组成?
1.发送时延 =
发送速率取决于计算机网卡
2.传播时延 =
传播速率受限于传播介质
3.排队时延 数据包在网络设备中等待被处理的时间
4.处理时延 数据包到达设备或者目的机器被处理所需要的时间
总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
11.什么是RTT? 如何查看RTT?
- RTT(Route-Trip Time)是评估网络质量的一项重要指标
- RTT表示的是数据报文在端到端通信中的来回一次的时间
- 通常使用ping命令查看RTT
12.物理层主要的作用是什么?
- 连接不同的物理设备
- 传输比特流
13.请列举物理层常见的传输介质
1.双绞线: (a) 无屏蔽双绞线 (b)屏蔽双绞线
2.同轴电缆
3.光纤
4.红外线、无线、激光
14.什么是信道, 什么是单工信道、半双工信道、全双工信道?
信道: 信道是往一个方向传送信息的媒体
一条通信电路包含一和接收信道和一个发送信道
单工信道:只能一个方向通信,没有反方向反馈的信道
有线电视、无线电收音机等
半双工信道:双方都可以发送和接收信息
不能双方同时发送, 也不能同时接收
全双工信道:双方都可以同时发送和接收信息
15.什么是分用、复用技术?
复用:频分复用, 时分复用, 波分复用, 码分复用
16.数据链路层的三个重要功能分别是什么?
(1) 封装成帧:
帧是数据链路层数据的基本单位
发送端在网络层的一段数据添加特定标记形成"帧"
接收端根据前后特定标记识别出"帧"
帧首都和尾部是特定的控制字符(特定比特流)
(2) 透明传输
"透明"在计算机领域是非常重要的一个术语
一种实际存在的事物却又看起来不存在一样
即是控制字符在帧数据中, 但是要当做不存在的去处理
(3) 差错检测
物理层只管传输比特流, 无法控制是否出错
数据链路层负责起"差错检测"的工作
17.物理层只负责比特流的传输,这些数据在数据链路层称为什么?
数据帧
18.为了界定区分一个单独的数据帧,数据链路层通常会做什么操作?
在数据的头部和尾部加入特殊比特位
19.假设有数据00100101需要传输,目标机器接收到的数据为10100100,请问使用奇偶校验码是否可以检测出错误?
不能, 因为奇偶校验位智能检测出单个比特位出现的错误
举例:00110010 odd(1) ——> 00010010 (1) 但是 0+0+0+1+0+0+1+0 = 2 所以可以检测出错误
00110010 odd(1) ——> 00000010 (1)但是0+0+0+0+0+0+1+0 = 1 出错两位, 奇偶校验码检测不到错误
20.什么是循环冗余校验码CRC?
1. 一种根据传输或者保存的数据而产生固定位数检验码的方法
2. 检测数据传输或者保存后可能出现的错误
3.生成的数字计算出来并且附加到数据后面
21.使用CRC计算101001的可校验位串
1.选定一个用于校验的多项式G(x),并在数据尾部添加r个0
选定一个用于校验的多项式G(x) = x^3 + x^2 + 1, 二进制位串为: 1101, 最高阶为3
101001 ——> 101001000
2.将添加r个0后的数据使用模2除法(相同取0, 不同取1)除以多项式的位串
3. 将得到的余数填充在原数据r个0的位置得到可校验的位串
101001000 ——> 101001001
4. 接收端接收的数据除以G(x)的位串, 根据余数判断出错
22.使用CRC计算10110011可校验位串
假设G(x) = x^4 + x^3 + 1 => 二进制位串为11001, 最高阶为4
10110011 => 101100110000
将添加r个0后的数据, 使用模2除法(异或操作)除以多项式的位串
101100110000 ——> 101100110100
CRC的错误检测能力与位串的阶数r有关
数据链路层只进行数据的检测, 不进行纠正
23.什么是MTU?
MTU: 最大传输单元(Maximum Transmission Unit)
数据链路层的数据帧不是无限大的, 数据帧长度受MTU影响
数据帧过大或者过小都会影响传输的效率, 如以太网MTU一般为1500字节
路径MTU由链路中的MTU的最小值决定
24.什么是MAC地址?如何查看本机的MAC地址?MAC地址有什么作用?
- MAC地址(物理地址、硬件地址)
- 每一个设备都有唯一的MAC地址
- MAC地址共48位, 使用16进制表示
- 如何查看:ipconfig /all
- 通用格式 30-B4-9E-ED-85-CA
25.请简述以太网的工作过程。MAC地址在其中起到了什么作用?
① 以太网(Ethernet)是一种使用广泛的局域网技术
② 以太网是一种应用于数据链路层的协议
③ 使用以太网可以完成相邻设备的数据帧传输
④ 传输过程:
- A通过网卡发出数据帧
- 数据帧到达路由器, 路由器取出前6字节
- 路由器匹配MAC地址表, 找到对应网络接口
- 路由器往该网络接口发送数据帧
- 特殊情况: 当路由器检查MAC地址表时, 发现没有C的信息
- 路由器将广播A的数据包到除A以外的端口
- E将收到来自B, C的回应, 并将地址记录
总结: 以太网协议通过MAC地址和硬件接口的映射关系了解到通过具体哪个接口把数据发送给下一跳。