要学好计算机网络的内容,首先是得对计算机网络有个全貌的概况了解,七层模型, 四层协议,都是需要先理解的概念,本章带你入门计算机网络
1.什么是计算机网络
计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。
- 计算机网络不仅是软件概念,还包含硬件设备。
- 计算机网络不仅是信息通信,还可以支持广泛应用。
2.计算机网络的分类
2.1 网络作用范围
- 广域网(WAN)
- 城域网(MAN)
- 局域网(LAN)
分类 | 英文 | 范围 | 区域 |
---|---|---|---|
广域网 | WAN(Wide Area Network) | 几十到几千公里 | 跨省、跨国 |
城域网 | MAN(Metro Area Network) | 5KM-50KM | 城市间 |
局域网 | LAN(Local Area Network) | 1KM以内 | 地区间 |
2.2 网络的使用者
- 公用网络
- 专用网络
3. 计算机网络的发展简史
3.1 互联网的发展历史
第一阶段:ARPANET -> 第三阶段:三级结构互联网 -> 第三阶段:多层次ISP互联网
3.2 中国互联网的发展历史
1980年开始互联网实验 -> 1989年第一个公共网络建立运行 -> 1994年接入国际互联网
4. 计算机网络的层次结构
4.1 层次结构设计的基本原则
分层实现不同的功能:如,保证数据通路顺畅,目的计算机状态,识别目的计算机,数据是否错误。
网络应用数据:视频、文件、游戏,数据可靠通信:数据错误、重复,物理网络接入:光电等物理特性
- 各层之间是相互独立的
- 第一层要有足够的灵活性
- 各层之间完全解藕
4.2 OSI七层模型
- 应用层:为计算机用户提供接口和服务
- 表示层:数据处理(编码解码、加密解密等)
- 会话层:管理(建立、维护、重连)通信会话
- 传输层:管理端到端的通信连接
- 网络层:数据路由(决定数据在网络中的路径)
- 数据链路层:管理相邻节点之间的数据通信
- 物理层:数据通信的光电物理特性
OSI欲成为全球计算机都遵循的标准
OSI在市场化过程中困难重重,TCP/IP在全球成功运行
OSI最终并没有成为广为使用的标准模型
OSI的专家缺乏实际经验
OSI标准定制周期过长,按OSI标准生产的设备无法及时进入市场
OSI模型设计得并不合理,一些功能在多层中重复出现
4.3 TCP/IP四层模型
- 应用层:HTTP/FTP/… =>对应OSI:应用层,表示层,会话层
- 传输层:TCP/UDP =>对应OSI:传输层
- 网络层:IP/ICMP =>对应OSI:网络层
- 网络接口层:Ethernet/ARP/RARP =>对应OSI:数据链路层,物理层
5. 现代互联网的网络拓扑
5.1 边缘部分
5.2 核心部分
6. 计算机网络的性能指标
6.1 速率
速率单位:bps=bit/s
为什么电信拉的100M光纤,测试峰值速度只有12M每秒?
100M/s = 100Mbps = 100Mbit/s
100Mbit/s = (100/8)MB/s = 12.5MB/s。注:1byte = 8bits。
6.2 时延
- 发送时延 = 数据长度(bit) / 发送速率(bit/s)
- 排队时延 = 传播路径距离 / 传播速率(bit/s)
- 传播时延:数据包在网络设备中等待被处理的时间
- 处理时延:数据包到达设备或者目的机器被处理所需要的时间
- 总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
6.3 往返时间RTT
- RTT(Route-Trip Time)是评估网络质量的一项重要指标
- RTT表示的是数据报文在端到端通信中的来回一次的时间
- 通常使用ping命令查看RTT
7. 物理层概述
7.1. 物理层的作用
- 连接不同的物理设备:双绞线、同轴电缆、光纤、红外线、无线、激光
- 传播比特流:0/1,低/高电位(物理特性:机械特性、电气特性、功能特性、过程特性)
7.2. 信道的基本概念
信道是往一个方向传送信息的媒体
一条通信电路包含一个接收信道和一个发送信道
- 单工通信信道:只能一个方向通信,没有反方向反馈的信道(有线电视、无线电收音机等等)
- 半双工通信信道:双方都可以发送和接收信道,不能同时发送,也不能同时接收
- 全双工通信信道:双方都可以同时发送和接收信息
7.3. 分用-复用技术
提升信道的利用效率
- 频分复用
- 时分复用
- 波分复用
- 码分复用
8. 数据链路层概述
8.1. 封装成帧
“帧”是数据链路层数据的基本单位
发送端在网络层的一段数据前后添加特写标记形成”帧”
接收端根据前后特定标记识别出”帧”
另,物理层不关心是否封装成”帧”
8.2. 透明传输
编程语言中”\“一般为转义字符
“\n”、”\t”等控制字符
“\“、”\“
- “透明”在计算机领域是非常重要的一个术语
- “一种实际存在的事物却又看起来不存在一样”
- “即是控制字符在帧数据中,但是要当做不存在的去处理”
8.3. 差错监测
物理层只管传输比特流,无法控制是否出错
数据链路层负责起”差错监测”的工作
8.4. 数据链路层的差错监测
- 奇偶校验码
00110010 1 0 + 0 + 1 + 1 + 0 + 0 + 1 + 0 = 3
00111010 0 0 + 0 + 1 + 1 + 1 + 0 + 1 + 0 = 4
- 循环冗余校验码CRC
一种根据传输或保存的数据而产生固定位数校验码的方法
检测数据传输或者保存后可能出现的错误
生成的数字计算出来并且附加到数据后面
- 模”2”除法
模”2”除法是二进制下的除法
与算术除法类似,但除法不借位,实际是”异或”操作
- 循环冗余校验码CRC-实例
1.选定一个用于校验的多项式G(x),并在数据尾部添加r个0
2.将添加r个0后的数据,使用模”2”除法除以多项式的位串
3.得到的余数填充在原数据r个0的位置得到可校验的位串
例子:使用CRC计算101001的可校验位串
发送端:
G(x) = x3 + x2 +1 => 二进制位串:1101,最高阶为3
G(x) = 1 x3 + 1 x2 + 0 x1 + 1 x0
101001 => 101001000
101001 => 101001000经过模”2”除法得到的余数为:001
最终得到可校验位串为:101001000 => 101001001
接收端:
接收端接收的数据除以G(x)的位串,根据余数判断出错:101001001 / 1101
余数为0表示校验通过CRC的错误检测能力与位串的阶数r有关,r为1校验能力最差
数据链路层只进行数据的检测,不进行纠正
8.5. 最大传输单元MTU
MTU
最大传输单元(Maximum Transmission Unit)
数据链路层的数据帧也不是无限大的
数据帧过大或过小都会影响传输的效率
总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
以太网MTU一般为1500字节- 路径MTU
路径MTU由链路中MTU的最小值决定
8.6. 以太网协议
- MAC地址
MAC地址(物理地址、硬件地址
第一个设备都拥有唯一的MAC地址
MAC地址共48位,使用十六进制表示
- 以太网协议
以太网(Ethernet)是一种使用广泛的局域网技术
以太网是一种应用于数据链路层的协议
使用以太网可以完成相邻设备的数据帧传输