这系列文章为计算机网络理论的学习笔记,学习笔记基于老师给的的PPT、他人学习笔记和维基百科、百度百科等一系列权威资料。学习笔记仅个人学习用,便于记录和复习,无广泛传播之意,若有侵权,请联系我删除。欢迎各位大佬指正和交流。
每部分都有相应的实验swf文件,便于大家更好的理解学习,由于CSDN不方便放出,有需要的可以找博主私信要。
1 局域网基本原理
局域网就是一个局部区域网络,分布范围有限,可大可小,大到一栋建筑楼与相邻建筑之间的连接,小到可以是学校机房之间的联系。
局域网自身相对其他网络传输速度更快,性能更稳定,框架简易,并且是封闭性的。
1.1 局域网与OSI参考模型
1.1.1 关于LLC和MAC的基本概念
- LLC(Logical Link Control,逻辑链路控制):局域网中数据链路层的上层部分,用户的数据链路服务通过LLC子层为网络层提供统一的接口。
- MAC(Media Access Control,媒体接入控制):介质访问控制子层,与物理层相关。MAC不是物理层!!!
1.1.2 OSI参考模型与局域网的对照
1.1.3 主要局域网技术
//具体内容,百度一下,你就知道
1.2 以太网技术基础(传输介质)
1.2.1 技术介绍
- 早期的以太网使用粗同轴电缆 (10BASE5)、细同轴电缆(10BASE2)和双绞线(10BASE-T)在总线型拓扑中连接计算机。
- 关于 10BASE2-T 的名称解释: 10 - 10 MBps; BASE - 基带传输; 2 - 传输距离/百米; T - 传输介质
最初的同轴粗缆和同轴细缆等物理介质被早期的 UTP 类电缆所取代。经过改良,物理拓扑改为使用集线器(Hub)与主机构成的物理星型拓扑。
1.2.2 MDI/MDIX
- 同类接口互连用交叉线,异类接口互连用直连线。
- H3C以太网交换机支持MDI/MDIX自适应,不必考虑连线类型。
1.2.3 10BASE-T线缆和接口
1.2.4 CSMA/CD载波侦听 (多路访问介质中)
1.2.5 CSMA/CD冲突检测和退避 (多路访问介质中)
1.2.6 单播与广播
- 接收地址包括本卡(本地网卡)MAC地址、广播地址和本机所属组播组地址。
- 网卡丢弃与本卡(本地网卡)接收地址不匹配的帧。
- 网卡解开与本卡(本地网卡)接收地址匹配的帧,将数据递交上层处理。
1.2.7 以太网流量控制![](https://i-blog.csdnimg.cn/blog_migrate/a1a38bf2b7bcdc2ba1d665e6c36b0f92.png)
- 在半双工线路上采用背压式流控
接收方反向发送电压信号制造冲突,使发送方停止发送。
- 在全双工线路上采用802.3 PAUSE流控
接收方向保留组播地址01-80-C2-00-00-01反向发送PAUSE帧,通知发送方停止发送。
1.2.8 关于全双工和半双工的工作原理
无论是全双工还是半双工都支持双向传输。
1.3 现代以太网技术
1.3.1 单模光纤与多模光纤
- 单模光纤
单模光纤(Single Mode Fiber),光以一特定的入射角度射入光纤,在光纤和包层间发生全发射,当直径较小时,只允许一个方向的光通过,即为单模光纤。
单模光纤的中心玻璃芯很细,芯径一般为8.5或9.5μm,并在1310和1550nm的波长下工作。
- 多模光纤
多模光纤(Multi Mode Fiber),就是允许有多个导模传输的光纤。多模光纤的纤芯直径一般为50μm/62.5μm,由于多模光纤的芯径较大,可容许不同模式的光于一根光纤上传输。
多模的标准波长分别为850nm和1300nm。还有一种新的多模光纤标准,称为WBMMF(宽带多模光纤),它使用的波长在850nm到953nm之间。
- 单模光纤的纤芯与光波长相同,传送单一波长的光。
- 多模光纤的纤芯较粗,传输多种不同波长不同角度的光。
- 单模光纤衰耗小,传输距离可达数十千米。
- 多模光纤衰耗大,传输距离通常在千米以内吧。
- 单模光纤成本高,多模光纤成本低。
1.3.2 模拟信号的数字转换
脉冲编码调制的步骤:取样 ==> 量化 ==> 编码(二进制编码)
高电平1 低电平 0
1.3.5 交换机扩展以太网拓扑
冲突域的内容在:《以太网交换机 VLAN 生成树协议》
作用:
- 隔离冲突域,避免冲突域过大。
- 进一步扩大物理连接范围。
- 提高以太网带宽利用率,增加吞吐量。
- 适应不同的速率和不同的双工状况。
关于Hub和Switch,可以看对应的swf文件了解工作原理,博主就不录制动画了。
1.4 WLAN技术基础
WLAN,即Wireless Local Area Network,指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。是计算机网络与无线通信技术相结合的产物。
利用射频技术,使用电磁波,取代旧式碍手碍脚的双绞铜线(Coaxial)所构成的局域网络,在空中进行通信连接,使得无线局域网络能利用简单的存取架构让用户透过它,达到“信息随身化、便利走天下”的理想境界。
具有安装便捷、部署简单、易于进行网络规划和调整、灵活性和移动性高、故障定位容易、易于扩展等优点。
1.4.1 802.11协议
- 802.11协议的发展
802.11 | 802.11b | 802.11a | 802.11g | |
标准发布时间 | July 1997 | Sept 1999 | Sept 1999 | June 2003 |
合法频宽 | 83.5MHz | 83.5MHz | 325MHz | 83.5MHz |
频率范围 | 2.400-2.483GHz | 2.400-2.483GHz | 5.150-5.350GHz 5.725-5.850GHz | 2.400-2.483GHz |
非重叠信道 | 3 | 3 | 12 | 3 |
调制技术 | FHSS/DSSS | CCK/ DSSS | OFDM | CCK/OFDM |
物理发送速率 | 1, 2 | 1,2,5.5, 11 | 6, 9, 12, 18, | 6, 9, 12, 18, |
无线覆盖范围 | N/A | 100M | 50M | <100M |
理论上的最大UDP吞吐量(1500 byte) | 1.7 Mbps | 7.1 Mbps | 30.9 Mbps | 30.9 Mbps |
理论上的TCP/IP吞吐量 (1500 byte) | 1.6 Mbps | 5.9 Mbps | 24.4 Mbps | 24.4 Mbps |
兼容性 | N/A | 与11g产品可互通 | 与11b/g不能互通 | 与11b产品可互通 |
- 802.11b/g工作频段划分图
- 802.11无线网络的介质访问控制
1.4.2 无线覆盖原则-蜂窝式覆盖
- 任意相邻区域使用无频率交叉的频道,如1、6、11频道。(此处的1、6、11指的是802.11b/g工作频段划分图的频道)
- 适当调整发射功率,避免跨区域同频干扰。
- 蜂窝式无线覆盖实现无交叉频率重复使用。
无线网络典型部署应用
1. 热点覆盖
2. 办公地点无线互连
2 广域网基本原理
广域网 WAN是连接不同地区局域网(LAN)或城域网(MAN)计算机通信的远程网。覆盖的物理范围从几十公里到几千公里不等,基于电信运营商的通信网络设施建立远程连接,能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网 ≠ 互联网
2.1 广域网和OSI参考模型对照
广域网技术对应于OSI模型的数据链路层和物理层
2.2 广域网的连接方式
广域网连接方式分为专线方式、电路交换方式和分组交换方式。
2.3 点到点广域网技术介绍
专线连接模型:相当于有线连接。
用光缆、电缆,或者通过卫星、微波等无线通信方式,或租用电话专线、*N专线将网络连通。
- 点到点永久性独占线路,固定带宽。
- 典型技术:异步模拟专线、同步数字专线
电路交换连接模型:相当于拨号上网。
- 按需拨号建立连接,暂时性独占线路,带宽固定。
- 典型技术:PSTN、ISDN
2.4 分组交换广域网技术介绍
- 分组交换连接模型:在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换。
分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。
存储转发的过程就是分组交换的过程。
一个端系统设备可以通过虚电路连接到多个通信对端。
典型技术:X.25、帧中继、ATM……
3 IP基本原理
3.1 IP协议概述
IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网际层协议。
IP协议规定了数据的封装方式,网络节点的标识方法,用于网络上数据的端到端的传递。
IP是整个TCP/IP协议族的核心,也是构成互联网的基础。
3.1.1 IP及其相关协议![](https://i-blog.csdnimg.cn/blog_migrate/b2b5d83cb81974543728224cce222941.png)
- TCP:传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。
- UDP:用户数据报协议为应用程序提供一种无需建立连接就可以发送封装 IP 数据包的方法。
IP、TCP、UDP都有对应的swf文件,可以帮助理解他们的工作原理。
UDP协议与TCP协议都用于处理数据包。
网络层包括:IP协议、ICMP控制报文协议、ARP地址转换协议、RARP反向地址转换协议。
IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充,可以通过Ping命令回送报文,用来检测网络是否通畅。Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。
ARP是正向地址解析协议,通过IP地址寻找对应主机的MAC地址。
RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。
网络接口层:网络接口层不是一个独立的层次,只是一个接口。TCP/IP并没有对他定义什么具体的协议。
网络接口层可以使用各种网络,如LAN、MAN、WAN,甚至点对点链路。
3.1.2 IP的主要作用
-
标识节点和链路
用唯一的IP地址标识每一个节点。
用唯一的IP网络号标识每一个链路。
-
寻址和转发
确定节点所在网络的位置,进而确定节点所在的位置。
IP路由器选择适当的路径将IP包转发到目的节点。
-
适应各种数据链路
根据链路的MTU对IP包进行分片和重组。
为了通过实际的数据链路传递信息,须建立IP地址到数据链路层地址的映射。
3.1.3 IP网络的结构
- IP网络由多个网段构成,每个网段对应一个链路。
- 路由器负责将网段连接起来,适配链路层协议,在网络之间转发数据包。
3.1.4 IP头格式
3.2 IP地址和地址映射
这部分内容也有对应的swf文件,可以先看看ARP.swf
3.2.1 IP 地址格式和表示方法
32位IP地址分为网络号和主机号两部分,用以标识网络和主机,网络号和主机号各有16位,每8位为1个块,每块由0和1组成,用二进制转换后表示IP地址。
3.2.2 网络号和主机号
- 网络号用于区分不同的IP网络。
- 主机号用于标识该网络内的一个IP节点。
3.2.3 IP地址分类
特殊的IP地址
3.2.4 ARP
ARP协议用于把已知的IP地址解析为MAC地址。
3.2.5 RARP
RARP用于在数据链路层地址已知时解析IP地址
3.3 IP包转发
主机将跨网段IP包交给默认网关,路由器负责跨网段转发数据包。
3.3.1 主机单播IP包发送
若目的地址所处网络号与本机所处网络号相同,则目的处于直连网段。
3.3.2 路由器单播IP包转发
- 若目的地址所处网络号与本机任一接口的网络号相同,则目的处于相应接口直连网段。
- 路由器通过查找路由信息判断下一跳路由器地址。
3.3.3 主机接收IP包
- 如果IP包的目的地址符合下列情况之一,则主机接收此包,否则主机的网络层丢弃此IP包。
- 目的IP地址等于自己的IP地址。
- 目的IP地址是一个广播地址。
- 目的IP地址是一个组播地址,而本机的某个服务属于此组播组。
3.3.4 广播风暴
![](https://i-blog.csdnimg.cn/blog_migrate/ccf29e942e6ace229096c5b768cf11b7.png)
- 路由器转发广播将导致全网充斥广播,可能引发广播风暴。
- 路由器默认不转发广播。
3.4 其他相关协议介绍
3.4.1 代理ARP
可以看 ARP_IP_Indirect_delivery.swf 文件进行理解学习。
3.4.2 ICMP
ICMP定义了网络层控制和传递消息的功能。
- ICMP定义了错误报告和其它关于IP数据包处理情况的消息。
- ICMP可用于报告IP数据包传递过程中发生的错误、失败等信息,提供网络诊断等功能。
- ICMP消息可分为ICMP差错消息和ICMP查询消息。
4 TCP和UDP基本原理
TCP和UDP通过端口号标识上层应用和服务
4.1 TCP/IP传输层的作用
- 提供面向连接或无连接的服务
- 维护连接状态
- 对应用层数据进行分段和封装
- 实现多路复用
- 可靠地传输数据
- 执行流量控制
4.2 TCP基本原理
可以看TCP-flow.swf进行学习。
TCP通过校验和进行差错校验,通过序列号确认和超时重传机制实现可靠传输,通过滑动窗口实现流量控制。
4.2.1 TCP封装
4.2.2 TCP三次握手(建立连接)
TCP三次握手的过程如下:
-
客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
-
服务器端收到SYN报文,回应一个SYN (SEQ=y)的ACK(ACK=x+1)报文,进入SYN_RECV状态。
-
客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。
4.2.3 TCP四次握手(连接终止)
TCP四次握手的过程如下:
(1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。
注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。 [3]
既然每个方向都需要一个FIN和一个ACK,因此通常需要4个分节。
无论是客户还是服务器,任何一端都可以执行主动关闭。
通常情况是,客户执行主动关闭,但是某些协议,例如HTTP/1.0却由服务器执行主动关闭。
4.3 UDP基本原理
可以看UDP.swf进行学习。
UDP实现简单,资源占用少,实时性强,适用于可靠性高的网络和延迟敏感的应用
4.3.1 UDP封装
4.4 TCP与UDP的对比
TCP 是面向连接的传输控制协议,而UDP 提供了无连接的数据报服务;
TCP 具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP 在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;
UDP 具有较好的实时性,工作效率较 TCP 协议高;
UDP 段结构比 TCP 的段结构简单,因此网络开销也小。
TCP 协议可以保证接收端毫无差错地接收到发送端发出的字节流,为应用程序提供可靠的通信服务。对可靠性要求高的通信系统往往使用 TCP 传输数据。