计算机网络概述
分析方法
- 自底而下
- 从简单开始,逐渐变得复杂
- 从模块逐步拼凑出一个系统
- 自顶而下
- 从复杂开始,逐渐变得简单
- 从复杂的系统问题入手,拆分为模块问题
网络组成部分
- 主机:客户端和服务端,负责提供信息和接收消息
- 路由器:负责转发主机之间的信息
- 网络协议:提供统一的格式,方便主机和路由器对信息进行编码和解码
举例:在一个全国连锁的饭店构造中,我们可以进行一个类比
- 顾客:客户端
- 分店:服务端
- 小区转发点和城市转发分店:路由器
- 转发表格:网络协议
网络结构:网络的网络
本地网络
- 可以类比为连锁饭店的总店和小区网络
- 定义:一个相对较小的地理范围内的计算机和其他设备通过网络设备相互连接的系统
- 主要目的:实现这些设备之间的资源共享、数据传输和通信。
- 特点:
- 范围有限:通常覆盖一个比较小的地理位置
- 高速传输:比广域网的数据传输速度快
- 私有所有:通常由组织或者个人拥有和管理
- 设备多样:可能包括计算机、打印机、服务器、网络存储设备等各种设备
- 通信协议:常用Ethernet(以太网)或Wi-Fi(无线局域网)作为通信协议
- 好处:便捷的共享资源(如打印机、文件和应用程序)、降低通信成本、提高工作效率、便于设备之间的协作
电路交换和分组交换
电路交换和分组交换是两种不同的网络通信技术。它们在传输数据时采用不同的方法和机制。
电路交换主要用于实时通信
分组交换广泛用于现代计算机网络,拥用更高的资源利用率和更强的适应性。 因此在大多数场景下,分组交换是更优的选择。
电路交换
最早用于电话系统,主要用于语音通信。在电路交换中,通信双方之间建立了一条固定的、专用的物理通信路径。数据沿着这条路径顺序传输。在通话过程中,这条路径会一直被保留,直到通话结束。
主要特点和缺点:
- 确保连续性:因为通信双方之间有一条专用的通信路径,因此数据传输具有连续性和实时性
- 低效:在通信过程中,即使没有数据传输,通信路径也会一直被占用。这可能会导致资源的浪费,尤其在数据传输量不大的情况下。
- 通话建立时间较长:在建立通话之前,需要为通信双方分配一条物理路径,这个过程可能需要较长的时间
分组交换
分组交换是现代计算机网络中主要使用的通信技术。在分组交换中,数据被切分成多个数据包(或分组)。每个数据包独立传输。数据包在网络中根据最佳路由器选择相应的路径,最终在目的地重新组成原始数据。
主要特点和优点:
- 高效:数据包在网络中独立传播,可以根据网络拥塞情况动态选择最佳路径。可以实现更高效的资源利用和更快的数据传输速率。
- 弹性:数据包通过不同的路径传输,具有较强的抗干扰能力和容错性。
- 适用于多种应用:可以处理多种类型的数据(如文本、音频、图像和视频),非常适合复杂的计算机网络应用。
本地网络节点
- 可以类比为全国连锁饭店的北京和上海分店+总店
- 定义:在本地网络中的一个设备,例如计算机、服务器、路由器等。
- IP地址:每个节点在网络中都有一个唯一的地址。这个地址用于网络中识别和定位特定设备。在数据传输过程中,IP地址会帮助网络将设备发送到正确的目的地。
- 在本地网络中,节点之间可以通过有线(如以太网)或无线(Wi-Fi)连接相互通信。
- 有线连接:传输速度较快且稳定
- 无线连接:更加便捷,但可能受到环境因素的影响,导致传输速度波动
本地网络的网络
- 类比为全国连锁饭店的全国通信系统
- 一个大的网络中,通常会被划分成多个较小的子网络,以实现更好的网络管理、降低网络拥塞和提高安全性。这些子网络可以根据部门、地理位置或功能来划分。
- 子网划分是通过Ip地址进行按位与操作来实现的。使用子网掩码可以确定一个IP地址属于哪个子网,在子网划分后,用一个子网内的设备可以直接通信,而跨子网络通信需要通过路由器实现。
区域网络
- 覆盖一个城市或城市群,比本地网络的范围更大,但比广域网小。
- 通常使用高速光纤或其他高速传输介质,可以提供较高的数据传输速率。
- 典型的应用场景:连接同一城市内的多个企业办公楼、政府机构等。
城域网
- 覆盖一个学校、大学或企业园区范围的计算机网络。规模介于本地网络和区域网络之间。
- 通常由多个相互连接的局域网组成,以实现资源共享、通信和数据传输。可以使用有线和无线连接。
广域网
- 覆盖一个很大的地理区域,如国家地区甚至是全球.通过远程通信链路和中继设备连接多个本地网络、区域网络和城域网。
- 数据传输效率通常较低,因为它们需要跨越更大的距离并涉及更多的中继设备。
- 典型的广域网应用包括互联网、电话公司的网络和大型企业的全球网络。
这些网络类型之间的主要区别是在于覆盖范围、传输速度和管理复杂性。不同类型的网络适用于不同的应用场景,如资源共享、通信和数据传输。
网络分层
OSI模型(开放式系统互联模型)是一个用于描述网络的分层架构,将网络通信过程分为7个层次。
从底层到顶层,分别是:
- 物理层:
- 负责处理与物理介质(如电缆、光纤等)相关的通信任务,包括数据的比特流传输、信号编码、硬件接口等。
- 数据以比特(bit)为单位传输
- 数据链路层
- 负责建立、维护和断开数据链路,以确保从源头到目的地的可靠数据传输。
- 负责进行错误检测和流量控制
- 数据以帧(frame)为单位传输
- 网络层
- 负责处理网络寻址和路由选择,以确定数据包从源节点到目的节点的最佳路径。
- 使用IP地址进行寻址
- 负责分组和重组数据包
- 数据以数据包(packet)为单位传输
- 传输层
- 负责提供端到端的通信服务,包括数据的分段、传输、重组和确认
- 负责处理流量控制和差错控制
- 常见的传输层协议有TCP(传输控制协议)和UDP(用户数据报协议)
- 会话层
- 负责建立、管理和断开网络中的通信会话
- 通过会话标识来区分不同的通信会话,以确保数据流向正确的目的地
- 表示层
- 负责处理数据的表示和编码问题,以确保发送方和接收方的数据格式兼容
- 负责进行数据加密和解密,数据压缩和解压缩等操作
- 应用层
- 网络协议栈的最顶层
- 负责处理与特定应用程序相关的通信任务
- 应用层协议通常直接与用户交互
在实际应用中,网络模型通常会被简化为5层模型,将会话、表示和网络层合并为一个层次,将物理和数据链路层合并为一个层次。
相对于7层模型更加简洁,同时覆盖了网络通信的主要功能,简化网络协议的设计和实现,便于网络设备和协议的相互操作
。