《深入解析谢希仁版计算机网络:构建网络知识体系》
一、计算机网络概述
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统,谢希仁版的计算机网络课程从最基础的概念开始讲解,让我们对网络有一个宏观的认识。
图片来源于网络,如有侵权联系删除
从计算机网络的发展历程来看,它经历了从简单的主机 - 终端连接到如今复杂的全球互联网的演变,早期的计算机网络主要是为了满足军事和科研机构内部的数据通信需求,如阿帕网(ARPANET)的诞生,它奠定了现代互联网的基础,随着技术的不断发展,计算机网络的功能也日益丰富,不仅可以实现数据通信,还能进行资源共享(包括硬件、软件和数据资源)、分布式处理等。
二、网络体系结构
这部分是谢希仁版计算机网络的核心内容之一,网络体系结构采用分层的思想,将复杂的网络功能分解为多个相对简单的层次,典型的如OSI(开放系统互连)参考模型和TCP/IP模型。
1、OSI参考模型
- 它分为七层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,物理层主要负责在物理介质上传输原始的比特流,涉及到物理连接的特性,如信号的传输方式、物理接口的规格等,数据链路层将物理层传来的原始比特流组合成帧,进行差错检测和纠正,并且通过MAC(介质访问控制)地址来实现对网络介质的访问控制,网络层负责将分组从源端传输到目的端,主要功能包括路由选择和分组转发,IP协议就工作在这一层。
- 传输层提供端到端的可靠通信服务,对于面向连接的TCP协议,它保证数据的可靠传输、流量控制和拥塞控制;而无连接的UDP协议则提供简单的、不可靠的数据报服务,适用于对实时性要求较高而对可靠性要求相对较低的应用,会话层建立、管理和终止会话,例如在远程登录时维持会话状态,表示层处理数据的表示形式,如加密、解密、压缩、解压缩等操作,应用层则直接为用户提供各种网络应用服务,如HTTP(超文本传输协议)用于网页浏览,FTP(文件传输协议)用于文件传输等。
2、TCP/IP模型
- 相比OSI模型,TCP/IP模型更为简洁,它分为四层,即网络接口层、网络层、传输层和应用层,网络接口层相当于OSI模型中的物理层和数据链路层的功能,它负责将IP数据报封装成适合在物理网络上传输的帧格式,网络层的核心协议是IP协议,其功能与OSI模型中的网络层类似,传输层的TCP和UDP协议与OSI模型中的传输层功能相同,应用层包含了各种应用层协议,与OSI模型中的应用层相对应。
三、物理层
物理层的关键在于传输介质和物理设备,传输介质分为有线和无线两大类。
1、有线传输介质
- 双绞线是最常见的一种,它又分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),UTP成本低、安装方便,被广泛应用于局域网中;而STP抗干扰能力更强,适用于对电磁干扰要求较高的环境,同轴电缆在早期的有线电视网络和部分局域网中使用,它具有较好的抗干扰能力,光纤则是一种高速、大容量、低损耗的传输介质,通过光信号的全反射来传输数据,在现代的广域网和城域网中得到了广泛应用,如光纤到户(FTTH)技术。
2、物理设备
- 调制解调器(Modem)是一种重要的物理设备,它的作用是将数字信号转换为模拟信号(调制)以便在模拟通信线路上传输,在接收端再将模拟信号转换为数字信号(解调),中继器用于放大信号,以延长信号的传输距离,它工作在物理层,只是简单地对信号进行再生和放大,不涉及对数据内容的处理。
四、数据链路层
图片来源于网络,如有侵权联系删除
数据链路层的主要任务是将物理层传来的原始比特流组织成帧,并进行差错控制和流量控制。
1、成帧
- 帧是数据链路层的数据传输单元,不同的数据链路层协议采用不同的成帧方法,例如字节填充法和比特填充法,字节填充法是在数据中出现特定的字节组合时插入特殊的字节,以区分帧的边界;比特填充法是在数据中出现连续的特定比特模式时插入一个比特,以避免数据被误判为帧的边界。
2、差错控制
- 数据链路层采用差错检测和纠错技术来保证数据的正确性,常用的差错检测方法有奇偶校验、循环冗余校验(CRC)等,奇偶校验是在数据中添加一个奇偶位,使整个数据(包括奇偶位)中1的个数为奇数或偶数,接收端通过检查1的个数是否符合奇偶性来判断是否发生错误,CRC则是一种更为复杂和可靠的差错检测方法,它通过计算数据的冗余码,并将其附加到数据后面一起发送,接收端根据接收到的数据重新计算冗余码,与发送端发送的冗余码进行比较,如果不一致则表示发生了错误。
3、流量控制
- 流量控制的目的是防止发送方发送数据的速度过快,导致接收方无法及时处理,数据链路层采用滑动窗口机制来实现流量控制,发送方和接收方分别维护一个窗口,窗口的大小表示可以发送或接收的帧数,发送方只能在窗口内发送数据,接收方通过发送确认帧来通知发送方可以移动窗口的位置,从而控制数据的发送速度。
五、网络层
网络层主要关注网络中的路由选择和分组转发。
1、IP协议
- IP协议是网络层的核心协议,它定义了IP数据报的格式,IP数据报由首部和数据部分组成,首部包含了源IP地址、目的IP地址、协议类型等重要信息,IP协议提供了一种无连接、不可靠的服务,它不保证数据报的可靠到达,而是将可靠性问题交给上层协议(如传输层的TCP协议)来处理,IP地址是网络层的重要概念,它用于标识网络中的主机,目前广泛使用的是IPv4地址,它是一个32位的二进制数,通常采用点分十进制表示法,如192.168.1.1,随着互联网的发展,IPv4地址面临着耗尽的问题,IPv6应运而生,IPv6地址是128位的二进制数,采用冒号十六进制表示法,它提供了海量的地址空间,能够满足未来互联网发展的需求。
2、路由选择
- 路由选择是网络层的关键功能之一,路由器通过路由表来决定如何转发分组,路由表中包含了目的网络地址、下一跳地址等信息,路由选择算法分为静态路由算法和动态路由算法,静态路由算法是由网络管理员手动配置路由表,它适用于网络拓扑结构相对简单、变化不大的网络,动态路由算法则是路由器根据网络的实时状态自动更新路由表,常见的动态路由算法有距离矢量算法(如RIP协议)和链路状态算法(如OSPF协议),距离矢量算法通过向相邻路由器发送路由信息,根据收到的信息更新自己的路由表,它的优点是简单、易于实现,但收敛速度较慢,容易产生路由环路,链路状态算法则是每个路由器收集网络中链路的状态信息,构建一个网络拓扑图,然后根据最短路径算法(如Dijkstra算法)计算出到各个目的网络的最佳路径,它的收敛速度较快,能够适应网络拓扑结构的快速变化。
六、传输层
传输层在计算机网络中起着承上启下的作用,它为应用层提供端到端的通信服务。
图片来源于网络,如有侵权联系删除
1、TCP协议
- TCP是一种面向连接的、可靠的传输层协议,在建立连接时,TCP采用三次握手的方式,客户端向服务器发送一个SYN(同步)报文段,服务器收到后向客户端回送一个SYN + ACK(确认)报文段,客户端再向服务器发送一个ACK报文段,这样就完成了连接的建立,在数据传输过程中,TCP通过序列号和确认号来保证数据的有序性和可靠性,发送方将数据分成若干个段,每个段都有一个序列号,接收方通过发送确认号来告诉发送方已经正确接收的数据段,TCP还采用了流量控制和拥塞控制机制,流量控制通过滑动窗口机制来防止发送方发送数据的速度过快,拥塞控制则是为了避免网络出现拥塞现象,当网络出现拥塞时,TCP会降低发送数据的速率,例如采用慢启动、拥塞避免、快速重传和快速恢复等算法。
2、UDP协议
- UDP是一种无连接的、不可靠的传输层协议,它没有建立连接的过程,直接将数据报发送给目的端,UDP的优点是简单、高效,适用于对实时性要求较高的应用,如视频流、音频流等,由于UDP不提供可靠的传输服务,所以应用层需要自己处理数据的丢失、重复等问题。
七、应用层
应用层为用户提供各种网络应用服务。
1、HTTP协议
- HTTP是用于万维网(WWW)的数据传输协议,当用户在浏览器中输入网址时,浏览器就会向服务器发送HTTP请求,服务器根据请求返回相应的网页内容(HTTP响应),HTTP协议采用请求 - 响应模式,请求消息包含请求行、请求头部和请求体等部分,响应消息包含响应行、响应头部和响应体等部分,随着互联网的发展,HTTP协议也在不断演进,如HTTP/1.1和HTTP/2.0,它们在性能、安全性等方面有了很大的提升。
2、FTP协议
- FTP用于在网络上进行文件传输,它采用客户端 - 服务器模式,客户端通过FTP命令与服务器进行交互,实现文件的上传(将本地文件传输到服务器)和下载(将服务器文件传输到本地)操作,FTP协议有两种工作模式,即主动模式和被动模式,在主动模式下,客户端向服务器发送PORT命令,告知服务器自己的端口号,服务器主动向客户端的端口建立连接进行数据传输;在被动模式下,服务器向客户端发送PASV命令,告知客户端自己的一个临时端口号,然后客户端向服务器的临时端口建立连接进行数据传输。
3、DNS协议
- DNS(域名系统)是将域名转换为IP地址的系统,由于IP地址难以记忆,人们使用域名来访问网络资源,当用户在浏览器中输入域名时,首先会向本地Dns服务器发送查询请求,如果本地DNS服务器能够解析该域名,则直接返回对应的IP地址;如果不能,则会向其他DNS服务器进行递归查询或迭代查询,直到找到对应的IP地址,DNS协议采用分布式数据库的方式来存储域名和IP地址的映射关系,以提高查询效率和可靠性。
通过对谢希仁版计算机网络课程的学习,我们可以全面地了解计算机网络的各个方面,从底层的物理传输到高层的应用服务,构建起完整的网络知识体系,为进一步学习网络技术、从事网络相关工作或解决网络问题奠定坚实的基础。
评论列表