计算机网络-概述
网络的网络
网络把主机连接起来,而互连网(internet)是把多种不同的网络连接起来,因此互连网是网络的网络。而互联网(Internet)是全球范围的互连网。
ISP
互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
主机之间的通信方式
- 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。
- 对等(P2P):不区分客户和服务器。
电路交换与分组交换
1. 电路交换
电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。
2. 分组交换
每个分组都有首部和尾部,包含了源地址和目的地址等控制信息,在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组,也就是说分组交换不需要占用传输线路。
在一个邮局通信系统中,邮局收到一份邮件之后,先存储下来,然后把相同目的地的邮件一起转发到下一个目的地,这个过程就是存储转发过程,分组交换也使用了存储转发过程。
时延
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
1. 排队时延
分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
2. 处理时延
主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
3. 传输时延
主机或路由器传输数据帧所需要的时间。
其中 l 表示数据帧的长度,v 表示传输速率。
4. 传播时延
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
其中 l 表示信道长度,v 表示电磁波在信道上的传播速度。
计算机网络体系结构
1. 五层协议
-
计算机网络-应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
-
计算机网络-传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
-
计算机网络-网络层:为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
-
计算机网络-链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
-
计算机网络-物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
2. OSI
其中表示层和会话层用途如下:
表示层
计算机网络的表示层是OSI模型的第六层,它负责数据格式化、加密和解密,以及数据压缩等任务。表示层的主要功能如下:
-
数据格式化:表示层将来自应用层的数据转换为网络传输的标准格式,并在接收端将数据转换回应用层可以理解的格式。例如,不同系统可能使用不同的字符编码(如ASCII和EBCDIC),表示层会进行相应的转换。
-
数据加密与解密:表示层负责在发送数据之前进行加密,以确保数据在传输过程中的安全性。同时,它还负责在接收数据后进行解密,恢复原始数据。
-
数据压缩:为了提高传输效率,表示层可以对数据进行压缩,减少需要传输的数据量。在接收端,表示层会将数据解压缩以恢复原始内容。
-
语法和语义处理:表示层确保数据的语法和语义保持一致,使得不同系统之间可以理解和处理传输的数据。例如,它可能负责翻译不同的数据格式或协议,以便通信双方能够互相理解。
通过这些功能,表示层在网络通信中起到了重要的桥梁作用,确保不同系统之间的数据可以被正确解释和处理。
简而言之,表示层的任务是确保数据在传输过程中保持一致性、保密性和完整性,使得发送方和接收方能够顺利进行通信。
会话层
会话层是OSI模型的第五层,它负责建立、管理和终止在应用层之间的会话。会话层的主要功能包括:
-
会话建立:会话层负责在通信双方之间建立连接,确定会话的参数,并协商会话的规则和条件。这可以包括确定双方的身份验证和授权等。
-
会话管理:在会话期间,会话层负责管理数据的交换,保持会话的顺序和同步,确保数据按照正确的顺序到达并处理。例如,它可以实现检查点和恢复功能,使得在传输过程中出现错误时,可以从上一个检查点继续,而不是重新开始整个会话。
-
会话终止:会话层负责正常结束会话,确保所有的数据都已传输并确认。它还负责在出现异常情况时,能够安全地终止会话,避免数据丢失或损坏。
-
全双工或半双工通信:会话层可以管理全双工(双方同时通信)或半双工(双方轮流通信)的会话模式,确保通信的有效性和效率。
-
会话恢复:在网络出现故障或中断时,会话层可以通过恢复机制来保持会话的连贯性,确保不会丢失重要的数据。这对于长时间的传输或重要数据的传输尤为重要。
总的来说,会话层的任务是确保应用层之间的通信会话能够可靠地建立、管理和终止,提供数据传输的同步和管理功能。通过这些功能,会话层在网络通信中起到了管理和协调的作用,确保数据在传输过程中的可靠性和有效性。
五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。
3. TCP/IP
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
4. 数据在各层之间的传递过程
在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。
路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要传输层和应用层。