写在前面
开始学习计算机网络相关知识,希望这部分学习能与我正在进行的Servlet/JSP学习的知识能够连贯起来。主要根据Bilibili网站的视频学习:【计算机网络】—哈尔滨工业大学,与《计算机网络(第五版)》教材学习。不会对所有知识点都面面俱到,只是记录一下学习过程,不然关了电脑就忘得一干二净了。这一部分简要的介绍一下计算机网络的相关概念。
网络、互联网与因特网的基本概念
1.网络: 由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或者路由器。
2.互联网: 网络与网络通过路由器互联起来,构成互联网,“网络的网络”(network of networks)。
3.因特网: 因特网(Internet)是世界上最大的互联网。因特网上的计算机成为主机(host)。
可以简单的说,网络把许多计算机连接在一起,因特网把许多网络连接在一起。
因特网发展的三个阶段
- 从单个网络ARPANET向互联网发展的过程。
- 建成了三级结构的因特网。
- 形成了多层次ISP结构的因特网。因特网服务提供者(商)ISP(Internet Service Provider)。
因特网的标准化工作
所有的因特网标准都是以RFC的形式在因特网上发表。RFC(Request for Comments)即为“请求评论”。因特网的正式标准要经过以下四个阶段:
- 因特网草案:这个阶段还不是RFC文档。
- 建议标准:这个阶段开始成为RFC文档。
- 草案标准。
- 因特网标准。
因特网的组成
因特网的拓扑结构可以分为以下两大块:
- 边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分为边缘部分提供服务(提供连通性和交换)。
边缘部分:
处在因特网边缘的部分就是连接在因特网上的所有主机。称为端系统(end system)。端系统之间运行的程序之间的通信方式可分为两大类:客户服务器方式(C/S方式)和对等方式(P2P方式)。
- 客户服务器方式:客户(client)和服务器(server)分别是服务请求放与服务提供方。客户程序不需要特殊的硬件和复杂的操作系统支持,可以被用户(user)直接调用,通过服务器程序的地址向服务器程序请求服务。服务器程序需要强大的硬件与高级的操作系统的支持,可同时处理多个客户程序的请求,能保持长时间不间断运行,并且拥有长久稳定的域名。
- 对等连接方式:两个主机在通信时不区分哪一个是服务请求方还是服务提供方。只要两个主机都允许了对等连接软件(P2P软件),就可以平等地进行通信。
核心部分:
在网络核心部分起特殊作用的是路由器(router),路由器是实现分组交换的关键构建,其任务是转发收到的分组。分组交换主要有三种方法:
- 电路交换:建立连接——通话——释放链接的交换方式。在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
- 分组交换:采用存储转发技术,将要发送的整块数据加上一些必要的控制信息组成的首部,包装成一个分组。单个分组传送到相邻阶段,存储下来后查找转发表,转发到下一个结点。
- 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
几种不同类别的网络
- 广域网WAN(Wide Area Network)。作用范围几十到几千公里。
- 城域网MAN(Metropolitan Area Network)。作用范围一般是一个城市。
- 局域网LAN(Local Area Network)。
- 个人区域网PAN(Personal Area NetWork)。
计算机网络的性能指标
- 速率:单位时间内网络传输的数据的比特数量。
- 带宽:网络的通信线路所能传输数据的能力。单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。
- 吞吐量:实际上单位时间通过某个网络的数据量。
- 时延:
- 发送时延:主机或路由器发送数据帧所需要的时间。从发送数据帧第一个比特起,到最后一个比特发送完毕所需时间。
- 传播时延:电磁波在信道中传播一定距离所花费的时间
- 处理时延:主机或路由器在受到分组时要花费的一定的时间进行例如分析分组首部、提取数据部分、进行差错检验或者查找合适路由这些操作所产生的时延。
- 排队时延:分组在进入路由器后要先在输入队列中排队等待处理的时间。
- 时延带宽积:传播时延与带宽相乘得到
- 往返时间RRT:从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间。
- 利用率:信道利用率指某信道有百分之几的时间是被利用的。
网络协议划分的三要素
- 语法:即数据与控制信息的结构或格式;
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
- 同步:即事件实现顺序的详细说明。
网络结构分层的好处
- 各层之间是独立的。能降低问题的复杂度。
- 灵活性好。
- 结构上可分隔开。
- 易于实现和维护。
- 能促进标准化工作。
计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
OSI七层协议体系结构
武术网运会表硬:
- 物理层:确定接口特性(机械特性、电气特性、功能特性与规程特性)、比特编码、数据率、比特同步、传输模式(单工、半双工、全双工)。
- 数据链路层:负责结点-结点数据传输,组帧(Framing),物理寻址(Physical addressiong),流量控制,差错控制,访问(接入)控制。
- 网络层:负责源主机到目的主机数据分组(packer)交付,逻辑寻址(IP地址),路由(Routing),分组转发。
- 运输层:分段与重组,SAP寻址(确保将完整报文提交给正确进程,如端口号),连接控制,流量控制,差错控制。
- 会话层:对话控制,同步。可根据实际情况取消。
- 表示层:数据表示与转化,加密/解密,压缩/解压缩。
- 应用层:体系结构中的最高层。直接为用户的应用进程提供服务。应用层协议有很多:HTTP、SMTP、FTP等。
TCP/IP体系结构
- 网络接口层
- 网际层IP
- 运输层(TCP/UDP)
- 应用层(FTP、HTTP、SMTP)
五层参考模型
- 物理层:比特传输。
- 数据链路层:相邻网络元素(主机、交换机、路由器等)的数据传输,以太网、802.11(WIFI)、PPP。
- 网络层:源主机到目的主机的数据分组路由与转发。IP协议、路由协议等。
- 传输层:进程-进程的数据传输:TCP、UDP
- 应用层:支持各种网络应用:FTP、SMTP、HTTP。