学习思维导图:
# 计算机网络概述
## 基本概念
- 定义、组成和功能
- 分类
- 主要性能指标
## 体系结构
- 分层结构
- 网络协议、接口、服务等概念
- ISO/OSI参考模型和TCP/IP模型
学习思维导图:
# 计算机网络概述
## 基本概念
- 定义、组成和功能
- 分类
- 主要性能指标
## 体系结构
- 分层结构
- 网络协议、接口、服务等概念
- ISO/OSI参考模型和TCP/IP模型
OSI 参考模型有 7 层,自下而上依次为【物理层、数据链路层、网络层、传输层、会话层、表示层、应用层】(记忆:物链网输会示用)。低三层统称为 通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为 资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。
OSI 参考模型的层次结构如下图所示:
物理层的传输单位是比特,功能是在物理媒体上为数据端设备透明地传输原始比特流,不用参与数据封装工作。 为了实现该功能,物理层需要定义硬件设备标准,如电缆类型、接口类型、电压标准等。
数据链路层的传输单位是帧,两台主机之间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。
数据链路层将网络层交来的 IP 分组封装成帧,并且可靠地传输到相邻结点的网络层。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为尽可能可靠的数据链路。数据链路层的功能可以概括为:物理寻址、组帧、差错控制、点对点流量控制、数据重发和传输管理等。
网络层(Netweork Layer)的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现整个网络的流量控制。
传输层(Transport Layer)的传输单位是报文段或用户数据报,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制(端到端)、差错控制、服务质量、数据传输管理等服务。
数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。点到点可以理解为主机到主机之间的通信;端到端的通信是指运行在不同主机内的两个进程之间的通信,只有传输层及以上各层的通信才能称为端到端。
会话层(Session Layer)允许不同主机上的各个进程之间进行会话。这种服务主要为用户进程建立连接,并在连接上有序地传输数据,这就是会话。
会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。
表示层主要处理在两个通信系统中交换信息的表示方式。 不同机器采用的编码和表示方法不同,使用的数据结构也不同。 为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密 也是表示层的功能。
应用层是 OSI 参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问 OSI 参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多
TCP/IP 模型从低到高依次为【网络接口层(对应 OSI 参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI 参考模型中的会话层、表示层和应用层)】。TCP/IP 由于得到广泛应用而成为事实上的国际标准。TCP/IP 模型的层次结构如下图所示:
TCP/IP 模型与 OSI 模型的不同点在于 网络接口层 和 应用层,可以理解为 TCP/IP 模型中这两层涵盖了 OSI 协议中多层的功能:
学习计算机网络时,我们往往采取折中的办法,即综合 OSI 参考模型和 TCP/IP 模型的优点,采用一种如下图所示的只有 5 层协议的体系结构,即我们所熟知的【物理层、数据链路层、网络层、传输层和应用层】。
在网络中,协议数据单元(PDU,Protocol Data Unit)是指在某一层协议中传输的数据单元。每一层在接收来自上一层的数据时,都会在其头部添加控制信息(称为首部 Header),然后将其当作一个新的 PDU 交给下一层处理。这就是所谓的“封装”过程。
OSI 层级 | PDU 名称 |
---|---|
7 应用层 | Data(数据) |
6 表示层 | Data(数据) |
5 会话层 | Data(数据) |
4 传输层 | UDP Datagram(UDP 数据报) TCP Segment(TCP 数据段、TCP 分段) |
3 网络层 | IP Packet(IP 分组,IP 数据包,IP 报文) |
2 数据链路层 | 帧(Frame) |
1 物理层 | 比特(Bit) |
对于上表,首要的是掌握英文的名词表述,相比中文,这些表述更加统一和精准,中文翻译良莠不齐,常常有多种表述方式,但是表述的都是一个概念,能见词闻义即可。
📊 下表给出了不同设备的层次以及是否能够隔离冲突域和广播域:
设备 | 功能描述 | 设备位于哪一层 | 隔离冲突域? | 隔离广播域? |
---|---|---|---|---|
中继器 | 放大或再生数字信号 | 物理层 | ❌ | ❌ |
集线器 | 多个设备的连接,广播所有传入的数据 | 物理层 | ❌ | ❌ |
网桥 | 连接并分隔局域网的段落,减少冲突 | 数据链路层 | ✅ | ❌ |
交换机 | 连接多个设备,仅向目标设备转发数据 | 数据链路层 | ✅ | ❌ |
路由器 | 连接不同的网络并路由数据 | 网络层 | ✅ | ✅ |
冲突域是指在以太网中,当两个设备同时发送数据时,可能发生冲突的一组网络设备所组成的区域。
在这个区域内,如果两个或多个设备同时发送帧,由于共享介质,就会产生数据冲突,导致通信失败,需要重新发送。
📌 冲突发生的根本原因:
以太网(尤其是早期使用共享总线或集线器的方式)采用了 CSMA/CD(载波监听多路访问/冲突检测) 协议:
🔍 接下来举几个实际的设备例子来说明一下:
情形 1:用 集线器(Hub)连接 4 台主机
→ 所有主机 共享一个冲突域,因为 Hub 是广播式的,不智能转发。
情形 2:用 交换机(Switch)连接 4 台主机
→ 每个主机连接的端口形成独立的冲突域,不会互相影响(除非广播)。
广播域 是指通过广播方式发送的数据包可以到达的所有主机所组成的网络范围。
当试题中提到广播域,一般指的都是 IP 协议的广播域(ARP 协议也会涉及到广播)。IP 的广播域 是指在同一个网络层中,可以接收到彼此广播消息的所有设备的集合。
🔍 举个实际例子,假设你有一台电脑 A,要通过 IP 层发送一个广播报文(比如 192.168.1.255),凡是处于相同广播域的设备(比如电脑 B 和电脑 C)都可以收到这个广播消息。
所以 IP 广播域取决于 三层设备(如路由器) 的边界:
网络协议规定了通信双方交互的规则,主要包括以下三要素:
应用层协议直接面向用户,为应用程序之间的通信提供服务:
协议 | 端口号 | 依赖协议 | 简要说明 |
---|---|---|---|
HTTP/HTTPS | 80 / 443 | TCP | 超文本传输协议,用于网页浏览。HTTPS 是加密版本,基于 TLS/SSL。 |
FTP | 20 / 21 | TCP | 文件传输协议,用于文件上传与下载。20 为数据通道,21 为控制通道。 |
SMTP | 25 | TCP | 简单邮件传输协议,用于邮件的发送。 |
POP3 | 110 / 995 | TCP | 邮局协议,用于从邮件服务器接收邮件。995 是加密版本(POP3S)。 |
DNS | 53 | UDP(部分 TCP) | 域名系统,将域名解析为 IP 地址。较大响应或区域传输时使用 TCP。 |
DHCP | 67(服务器)/ 68(客户端) | UDP | 动态主机配置协议,用于自动分配 IP 地址及其他网络参数。 |
传输层为应用进程间提供可靠或不可靠的数据传输服务:
网络层负责实现数据包从源主机到目标主机的传输:
数据链路层负责将网络层传来的数据组装成帧,在链路上传输并进行差错控制: