编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

说明:本笔记出自慕课网 @咚咚呛老师 的课程《编程必会基础 计算机网络+操作系统+计算机组成原理》,有兴趣的小伙伴可以移步学习,在此我只是进行了部分笔记的整理,知识也没有很深入,也希望与大家交流。如果想要深度学习计算机网络,推荐书籍:《计算机网络》。接下来会陆续更新。。。

一、概述

1. 计算机网络

2. 计算机网络分类

3. 计算机网络发展

二、计算机网络层次结构

1. 层次结构设计的基本原则

2. OSI七层模型

3. TCP/IP四层模型

三、网络拓扑

1. 边缘部分

2. 核心部分

四、计算机网络的性能指标

1. 速率

2. 时延

3. 往返时间RTT

4. 最大传输单元MTU

五、物理层概述

1. 物理层的作用

2. 信道

3. 分用复用技术

六、数据链路层概述

1. 封装成帧

2. 透明传输

3. 差错检测

七、以太网协议详解

1. MAC地址

2. 以太网协议

习题


一、概述

1. 计算机网络

    计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。

2. 计算机网络分类

作用范围分:WAN广域网,MAN城域网,LAN局域网

网络的使用者分:公用网络,专用网络

3. 计算机网络发展

单个网络ARPANET  --- > 三级结构互联网  --- >  多层次ISP互联网

ISP(Internet Service Provider): 网络服务提供商: 中国电信、中国移动、中国联通等

二、计算机网络层次结构

1. 层次结构设计的基本原则

(1)各层之间是相互独立的

(2)每一层要有足够的灵活性

(3) 各层之间完全解耦
 

2. OSI七层模型

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
(应用层:我们使用计算机会直接接触的;
网络层:数据传输,从一个地方到另一个地方,强调整个过程;
数据链路层:强调相邻节点通信;
物理层:物理设备)
 

3. TCP/IP四层模型

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

三、网络拓扑

1. 边缘部分

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

 

2. 核心部分

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

客户端-服务器(C/S)模式

对等连接P2P模式

四、计算机网络的性能指标

1. 速率

单位:bps=bit/s

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

2. 时延

包括:发送时延,传播时延,排队时延,处理时延

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

排队时延:数据包在网络设备中等待被处理的时间

处理时延:数据包到达设备或者目的机器被处理所需要的时间

总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延

3. 往返时间RTT

RTT(Route-Trip Time)是评估网络质量的一项重要指标 。RTT表示的是数据报文在端到端通信中的来回一次的时间

通常使用ping命令查看RTT

4. 最大传输单元MTU

最大传输单元MTU(Maximum Transmission Unit) ;数据链路层的数据帧也不是无限大的
以太网MTU一般为1500
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
字节

五、物理层概述

1. 物理层的作用

连接不同的物理设备 ;传输比特流

双绞线,同轴电缆,光纤,红外线,无线,激光

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

2. 信道

信道是往一个方向传送信息的媒体 ;一条通信电路包含一个接收信道和一个发送信道
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
分类:单工通信信道,半双工通信信道,全双工通信信道

3. 分用复用技术

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

类:频分复用 ,时分复用 ,波分复用 ,码分复用

六、数据链路层概述

1. 封装成帧

“帧”是数据链路层数据的基本单位 ;
发送端在网络层的一段数据前后添加特定标记形成“帧” ; 接收端根据前后特定标记识别出“帧”
在网络层的IP数据报转递给数据链路层,数据链路层接收之后把它当作帧数据,并在帧数据前后添加标记
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
帧首部和尾部是特定的控制字符(特定比特流)
首部: SOH: 00000001
尾部:  EOT: 00000100
但是数据里面恰好有这些比特流咋办?不用担心,透明传输

2. 透明传输

“一种实际存在的事物却又看起来不存在一样” ;“即是控制字符在帧数据中,但是要当做不存在的去处理”  转义字符:ESC
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

3. 差错检测

物理层只管传输比特流,无法控制是否出错 ;数据链路层负责起“差错监测”的工作

(1)奇偶校验码

编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

局限性:当出错位数为偶数,无法判断

(2)循环冗余校验码CRC

一种根据传输或保存的数据而产生固定位数校验码的方法

检测数据传输或者保存后可能出现的错误 ;生成的数字计算出来并且附加到数据后面
 
思路:
(1)选定一个用于校验的多项式G(x),并在数据尾部添加r个0
(2)将添加r个0后的数据,使用模“2”除法除以多项式的位串
(3)得到的余数填充在原数据r个0的位置得到可校验的位串
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述

 判断: 接收端接收的数据除以G(x)的位串,根据余数判断出错

CRC的错误检测能力与位串的阶数r有关 ; 数据链路层只进行数据的检测,不进行纠正

七、以太网协议详解

1. MAC地址

MAC地址(物理地址、硬件地址) ;每一个设备都拥有唯一的MAC地址
MAC地址共48位,使用十六进制表示
查看计算机MAC地址:使用命令ipconfig /all

2. 以太网协议

以太网(Ethernet)是一种使用广泛的局域网技术
以太网是一种应用于数据链路层的协议
使用以太网可以完成相邻设备的数据帧传输
 
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
编程必备基础 - 面试笔试考点总结 - 计算机网络 (1)概述
 

习题

1.计算机网络的七层模型从顶往下分别是什么?应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
2.ARP协议、RARP协议属于计算机网络的哪一个层次?数据链路层
3.IP协议、ICMP协议属于计算机网络的哪一个层次?网络层
4.传输层最重要的两个协议是什么?.TCP协议、UDP协议
5.常见的应用层协议有HTTP协议、FTP协议等,你还能列举一些常见的应用层协议吗?HTTP、FTP、SMTP、DNS、POP3、Telnet、TFTP、DHCP等。
6.路由器工作在计算机网络的哪几个层次?物理层、数据链路层、网络层。
7.现代网络设备互联的两种模式分别是什么?他们有什么特点?客户-服务端模式、对等连接模式。客户-服务端模式由服务端提供网络服务,客户端使用服务,常常表现为一个服务端,多个客户端的连接模式。对等连接模式不分客户端和服务端,只要两个主机都运行了对等连接软件(P2P软件) 它们就可以进行平等的、对等连接通信。
8. 时延是判断计算机网络质量的重要标准,网络时延由哪几个部分组成?网络时延可以划分成发送时延、传播时延、排队时延、处理时延几个部分。
9.物理层主要的作用是什么?物理层主要的作用是连接不同的网络设备并在网络设备之间传输比特流。
10.请列举物理层常见的传输介质。有线传输(铜线、光纤),无线传输。
11.什么是信道,什么是单工信道、半双工信道、全双工信道?信道是往一个方向传送信息的媒体,单工信道指的是只能发送或者接收的信道,半双工信道指的是双方都能发送和接收信息但是不能同时发送或同时接收的信道,全双工信道指的是双方可以自由发送和接收信息的信道。
12.数据链路层的三个重要功能分别是什么?封装成帧、透明传输、差错检测。
13.物理层只负责比特流的传输,这些数据在数据链路层称为什么?数据帧

14.为了界定区分一个单独的数据帧,数据链路层通常会做什么操作?在数据的头部和尾部加入特殊比特位。
15.假设有数据00100101需要传输,目标机器接收到的数据为10100100,请问使用奇偶校验码是否可以检测出错误?不能,因为奇偶校验位只能检测单个比特位出现的错误。
16.什么是MAC地址?如何查看本机的MAC地址?MAC地址有什么作用?MAC地址也称为物理地址、硬件地址,通过在windows系统下输入命令ipconfig可以查看网络设备的MAC地址,MAC地址使用48个比特位标记一个物理设备。
17.请简述以太网的工作过程。MAC地址在其中起到了什么作用?以太网协议通过MAC地址和硬件接口的映射关系了解到通过具体哪个接口把数据发送给下一跳。