谈谈计算机网络技术
定义和特点
网络
网络是一个统称,泛指把人或物连接起来的网络
定义
计算机网络是用通信线路将分散在不同地点并具有独立功能的多个计算机系统相互连接,按照网络协议进行数据通信,实现共享资源的计算机之集合。
要点:计算机是独立,在协议的支持下进行工作,目的是实现资源共享,互联的手段是多种多样的(无线或有线)
计算机网络的精准定义未被统一,书本的定义是:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特殊目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
功能
- 实现资源共享
- 提高系统的可靠性和可用性
特点
- 连通性
- 共享
组成
由核心和边缘部分组成
边缘部分
由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享
端系统间的两种连接方式:
客户-服务器方式(C/S)
,客户是服务请求方,服务器是服务提供方
客户程序:
- 被用户调用后运行,在通信时主动向服务器发起通信,所以客户程序必须知道服务器程序的地址
- 不需要很复杂的操作系统
服务器程序:
- 专门用来提供某种服务的程序,可以同时服务多个客户
- 系统启动后即自动调用并一直不断地运行,被动地等待并接收来自各地的客户的通信请求,所以服务器程序不需要知道客户程序的地址
- 一般需要有强大的硬件和高级的操作系统支持
对等连接方式(P2P)
两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方,只要都运行了P2P软件,他们就能镜像平等对等的连接通信
对等连接方式可以支持大量对等用户同时工作
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
电路交换:
使用交换机来使设备间可以两两通信而减少连线复杂度
交换:按照某种方式动态分配电路交换的资源
优点:实时性强,时延小(连接建立后)、交换设备成本低
缺点:线路利用率低(独占物理线路)、传输效率低(计算机数据往往是突发式传输,用来传输数据的时间短)、电路接续时间长
适用于信息量大、长报文、占用时间长、使用频率高的线路
特点:电路交换必定是面向连接的
分三个阶段:建立连接–>通信–>释放连接
报文交换
原理:信息以报文(逻辑上完整的信息段)为单位进行存储转发
特点: 线路利用率高、要求中间结点(网络通信设备)缓冲大、延迟时间长
分组交换
原理:信息以分组为单位镜像存储转发。源结点把报文分为几组,中间节点负责存储转发,目的节点把分组合成报文。
分组:比报文还小的信息段,可定长也可变长,又称为包
优点: 高效、灵活、迅速、可靠
缺点: 分组在各节点存储转发时需要排队,这就会造成一定的时延、分组携带的首部会增加一定的开销
由于不能像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽
三种交换的比较
- 传送时间远大于连接建立时间,使用电路交换
- 使用报文和分组交换可以在互联网数据量突发的情况下提高网络的信道利用率
- 分组交换的时延小,灵活性高
类别
按照作用范围
来分类
广域网(几十到几千km)、城域网(5~50km)、局域网(<1km)、个人区域网(<10m)
按照网络的使用者
进行分类
- 公用网:交钱就能上的网络
- 专用网:为特殊业务工作的需要建造的网络
用来把用户接入到互联网的网络
接入网AN:一类比较特殊的计算机网络,用于将用户接入互联网,是某个用户端系统到互联网中的第一个路由器之间的一种网络,仅起到用户与互联网间的桥梁作用。不属于互联网的边缘或核心部分
按传输技术
分:广播式、点到点式
按传输速率
分:低速网络、中速网络、高速网络
按传输媒体
分:有线、无线
按交换方式
分:电路交换、报文交换、报文分组交换
性能
性能指标
- 速率
数据的传送速率,也被称为数据率或比特率
- 带宽
在单位时间内,网络中的某信道所能通过的最高比特率,单位bit/s
- 吞吐量
单位时间内通过某个网络的实际数据量
- 时延
发送时延:又称传输时延,从发送数据帧的第一个比特算起,到改帧最后一个比特发送完毕的时间
1MB=220*8b,1Kbps=103bps,1Mbps=10^6bps
传播时延:电磁波在信道中需要传播一定的距离而花费的时间
处理时延:主机或路由器处理分组消耗的时间
排队时延:在排队等待处理消耗的时间
分析
- 产生时延的主要因素视情况而定
- 链路的带宽只影响发送时延,而不影响传播时延,传播时延与信道带宽无关只与长度有关
- 时延带宽积=传播时延*带宽
物理意义:在传播时延这个时间中,链路可容纳的比特数
往返时间(RTT):从发送方发送数据开始,到发送方收到来自接收方的确认所消耗的时间(包括各中间节点的处理时延、排队时延以及转发数据时的发送时延等)
利用率
分为信道利用率
和网络利用率
- 信道利用率指出某信道有百分之几的时间是被利用的
- 网络利用率是整个网络上的所有信道的加权平均值
信道利用率增大时时延也会大大增加
非性能指标:费用、维护成本等
结构
OSI:七层结构,由于过度复杂败给了TCP/IP
五层结构
应用层
任务:通过应用进程间的交互来完成特定网络应用
协议:应用进程间通信和交互的规则运输层
任务:负责向两台主机中进程之间的通信提供通用的数据传输服务
协议:
- 传输控制协议TCP:提供面向连接的、可靠地数据传输服务,数据传输单位是报文段
- 用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输单位是用户数据报
网络层
任务:负责为分组交换网上的不同主机提供通信服务,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送
协议:互联网使用的网络层协议是无连接的网际协议IP和许多种路由选择协议
数据链路层
任务:将网络层叫下来的IP数据报组装成帧,在两个相邻节点间的链路上传送帧,每一帧包括数据和必要的控制信息
协议:通过控制信息可以发现所收到的帧有无差错,错了可直接丢弃以防止网络资源的浪费,但如果需要修改则需要采用可靠传输协议来纠正,这会使数据链路层的协议复杂
物理层
任务:物理层考虑用多大的电压代表0或1,以及接收方如何识别出发送方所发送的比特。除此之外,物理层还需要确定链接电缆的插头应当有多少引脚以及各引脚应如何连接
协议:TCP/IP协议族
分层优势
- 各层之间是独立的:各层间通过接口彼此连接,能够起到降低问题复杂度的效果
- 灵活性好:某一层出现故障只要前后的接口没有发生改变其它层也不受影响,并且可以根据需求删除某层
- 结构上可分割:各层都可用最合适的技术来实现
- 易于实现和维护
- 能促进标准化工作
差错控制、流量控制、分段和重装、复用和分用、连接建立和释放
体系结构:
计算机网络的各层以及其协议的集合就是网络的体系结构,就是这个计算机网络及其构件所应完成的功能的精确定义
为进行网络中的数据交换而建立的规则或约定被称为网络协议
重要概念
- 计算机网络把许多计算机连接在一起,而互联网则把许多网络连接在一起,是网络的网络
- 以小写字母开始的internet(互连网)是通用名词,泛指由多个计算机网络互连而成的网络。这些网络之间的通信协议是任意的
- 以大写字母开头的Internet(互联网)是专用名词,它指当前全球最大的,由众多网络互连而成的特定互联网,并且采用TCP/IP协议族作为通信规则
- 互联网现在采用存储转发的分组交换技术,以及三层ISP结构
- 互联网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换
- 计算及通信是计算机中的进程间的通信,计算机网络采用的通信方式是C/S模式或P2P方式
- 客户和服务器都是指通信中所涉及的应用进程。客户是请求方,服务器是服务方
- 按作用的范围不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN、和个人局域网PAN
- 计算机网络常用的性能指标是:速率、带宽、吞吐量、时延、时延带宽积、往返时间和信道利用率
- 网络协议是为了进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构
- 五层协议的体系结构有应用层、运输层、网络层、数据链路层和物理层五层组成。运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议
物理层
物理层是计算机网络的最底层,负责将比特流转换为电信号,并通过物理介质(如光纤、电缆)进行传输。物理层关注的是传输媒介和接口的规范,如传输速率、电压等。
功能和任务
- 提供数据传输所需的物理接口和电气特性。
- 负责将比特流转换为电信号,并通过物理介质传输。
- 确定传输的时序和频率,调整电压和速度等参数。
- 负责数据的编码和解码。
物理层的工作原理
- 数据的传输媒介:物理层使用各种物理媒介进行数据传输,如光纤、电缆、无线电波等。
- 时序同步:物理层确保发送方和接收方之间的时序一致,使得数据能够正确地被接收和解码。
- 电气特性:物理层定义了传输电信号所使用的电压、电流和速度等参数。
编码和解码:物理层负责将比特流转换为电信号,并对接收到的电信号进行解码还原成比特流。 - 物理层常见的技术和协议
以太网(Ethernet):常用的局域网技术,通过双绞线或光纤传输数据。
无线局域网(WiFi):使用无线电波进行数据传输的局域网技术。
光纤通信:利用光纤作为传输介质,将数据转换为光信号进行传输。
调制解调器(Modem):用于在数字设备和模拟设备之间进行数据传输。
数据链路层
链路层负责物理传输和数据帧的编码与解码。它将网络层的数据转换为适合在物理介质上传输的格式,并通过网络设备(如交换机、网桥)将数据帧从一个节点传输到另一个节点。常见的链路层协议有以太网协议(Ethernet)。
功能和任务
- 物理传输:链路层负责将网络层的数据转换为适合在物理介质上传输的格式,并通过网络设备(如交换机、网桥)将数据帧从一个节点传输到另一个节点。
- 数据帧的编码与解码:链路层将网络层传递的数据封装为数据帧,并添加必要的控制信息,如源地址、目标地址和校验值等。接收方通过解析数据帧的控制信息来获取数据并进行校验。
链路层的工作原理
- 数据帧的封装:链路层将网络层传递的数据划分为较小的数据块(数据帧),并为每个数据帧添加首部和尾部,形成完整的数据包。首部包含了控制信息,如源地址、目标地址和校验值。
- 媒体访问控制(MAC):链路层负责协调多个设备共享媒体资源的访问,以避免冲突和碰撞。常见的MAC协议有以太网的CSMA/CD(载波监听多点接入/碰撞检测)和无线局域网的CSMA/CA(载波监听多点接入/碰撞避免)。
- 错误检测与纠正:链路层通过添加校验值来检测数据帧传输过程中可能引入的错误。如果发现错误,接收方可以请求重新传输或进行一定程度的纠正。
- 链路层常见的技术和协议
以太网(Ethernet):最常用的局域网技术,使用MAC地址进行设备识别和冲突检测。
网桥(Bridge):用于连接多个局域网,并在不同局域网之间转发数据帧。
交换机(Switch):用于构建局域网,并根据MAC地址进行数据帧的转发。
点对点协议(PPP):用于串行链路上的数据传输,如拨号上网。
网络层
网络层处理网络间的数据传输和路由选择。它将数据通过网络传输到目标地址,并负责寻找最佳的路由路径。常见的网络层协议有IP(互联网协议),它定义了数据的传输方式和地址分配规则。
功能和任务
- 数据传输:网络层负责将数据包从源主机发送到目标主机,通过多个中间节点(路由器)进行传输。
- 路由选择:网络层根据网络拓扑和路由算法选择最佳的路径将数据包从源主机传输到目标主机。
- IP地址分配:网络层负责为每个主机分配唯一的IP地址,以便在全球范围内唯一标识主机。
网络层的工作原理
- 封装数据包:网络层将传输层的数据封装成数据包,并添加首部信息,如源IP地址、目标IP地址和生存时间等。
- 路由选择:网络层根据路由表和路由算法选择最佳的路径将数据包从源主机传输到目标主机。常见的路由算法有距离矢量算法和链路状态算法。
- IP地址:网络层通过IP地址唯一标识每个主机和网络,IPv4和IPv6是常见的网络层协议。
- 网络层常见的技术和协议
IP协议:用于在互联网上进行数据传输和路由选择。
ICMP协议:用于处理网络层的错误报文和控制消息,如PING命令。
路由器(Router):用于连接不同网络,并根据IP地址进行数据包的转发。
网络地址转换(NAT):用于将私有IP地址转换为公共IP地址,以实现多个主机共享一个公共IP地址。
传输层
传输层主要负责端到端的数据传输和错误控制。常见的传输层协议有TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、面向连接的通信,确保数据的完整性和顺序性;UDP则提供无连接的通信,速度较快但不保证数据的可靠性。
功能和任务
- 端到端数据传输:传输层负责将数据从源主机的应用程序传输到目标主机的应用程序,通过网络层提供的服务。
- 错误控制:传输层确保数据的完整性和准确性,通过校验和、序号和确认机制等方法检测和纠正错误。
- 流量控制:传输层调整发送方的发送速率,以避免过载或拥塞。常见的方法有滑动窗口和拥塞控制算法。
传输层的工作原理
- 连接管理:传输层通过建立连接来实现端到端的数据传输。常见的传输层协议有TCP(传输控制协议)和UDP(用户数据报协议)。
- 可靠性:TCP提供可靠的、面向连接的通信,通过序号、确认和重传机制确保数据的完整性和顺序性。UDP则提供无连接的通信,不保证数据的可靠性,适用于实时应用和简单数据传输。
- 多路复用与分用:传输层通过使用端口号将数据传输到正确的应用程序,实现多个应用程序在同一主机上的并发通信。
- 传输层常见的技术和协议
TCP(传输控制协议):提供可靠的、面向连接的通信,保证数据的完整性和顺序性。适用于不允许丢失和乱序的应用,如文件传输和网页浏览。
UDP(用户数据报协议):提供无连接的通信,速度较快但不保证数据的可靠性。适用于实时应用和简单数据传输,如音视频流媒体和DNS查询。
端口号:传输层使用端口号将数据传输到正确的应用程序,范围从0到65535,其中0-1023为知名端口,1024-49151为注册端口,49152-65535为动态/私有端口。
传输层
运输层是计算机网络中负责提供端到端的数据传输服务和错误控制的层次。
功能和任务
- 端到端数据传输:运输层负责将数据从源主机的应用程序传输到目标主机的应用程序。
- 错误控制:运输层通过校验和、序号和确认机制等方法检测和纠正错误,保证数据的完整性和可靠性。
- 流量控制:运输层调整发送方的发送速率,以避免过载或拥塞,确保数据的平稳传输。
运输层的工作原理
- 连接管理:运输层通过建立连接来实现端到端的数据传输。常见的运输层协议有TCP(传输控制协议)和UDP(用户数据报协议)。
- 可靠性:TCP提供可靠的、面向连接的通信,通过序号、确认和重传机制确保数据的完整性和顺序性。UDP则提供无连接的通信,不保证数据的可靠性,适用于实时应用和简单数据传输。
- 多路复用与分用:运输层通过使用端口号将数据传输到正确的应用程序,实现多个应用程序在同一主机上的并发通信。
运输层常见的技术和协议
- TCP(传输控制协议):提供可靠的、面向连接的通信,保证数据的完整性和顺序性。适用于不允许丢失和乱序的应用,如文件传输和网页浏览。
- UDP(用户数据报协议):提供无连接的通信,速度较快但不保证数据的可靠性。适用于实时应用和简单数据传输,如音视频流媒体和DNS查询。
- 端口号:运输层使用端口号将数据传输到正确的应用程序,范围从0到65535,其中0-1023为知名端口,1024-49151为注册端口,49152-65535为动态/私有端口。
应用层
应用层提供用户与网络应用程序之间的接口,负责处理特定的应用协议,如HTTP、FTP、SMTP等。它与用户直接交互,向用户提供服务。
功能和任务
- 提供用户与网络应用程序之间的接口,使用户能够通过应用程序访问网络资源。
- 处理特定的应用协议,如HTTP、FTP、SMTP等,实现数据的传输和交互。
- 向用户提供服务,如浏览网页、下载文件、发送电子邮件等。
应用层的工作原理
- 应用协议:应用层通过特定的应用协议与网络应用程序进行通信。常见的应用层协议有HTTP、FTP、SMTP、DNS等。
- 数据格式:应用层规定了数据的格式,如HTML、XML、JSON等,以便应用程序能够正确解析和处理数据。
- 用户接口:应用层提供用户与应用程序之间的接口,包括命令行界面、图形界面、API等。
应用层常见的技术和协议
- HTTP(超文本传输协议):用于在客户端和服务器之间传输超文本数据,支持Web浏览器和Web服务之间的通信。
- FTP(文件传输协议):用于在客户端和服务器之间传输文件,支持文件的上传和下载。
- SMTP(简单邮件传输协议):用于发送电子邮件,将邮件从发送方传输到接收方的邮件服务器。
- DNS(域名系统):用于将域名转换为IP地址,以便在网络中定位服务器和服务。