计算机网络知识点全解
感觉看视频或者看ppt学都好慢,看来我还是适合直接看文本学,有一种知识连贯地直接地可控地输入的美丽感觉。
参考文章
核心阅读材料:https://github.com/CyC2018/CS-Notes/blob/master/notes/计算机网络.md
//总结得真的很好,很适合速成和面试复习
以及我们老师的ppt,不得不说真的很详细概述
网络的网络
网络是把主机连接起来,而互连网是把多种不同的网络连接起来,因此互连网是网络的网络。而互联网是全球范围的互连网
互联网基础结构发展的三个阶段
第一阶段(1969-1990):从单个网络ARPANET 向互联网发展。(世界上第一个分组交换网)
1983年,TCP/IP协议称为ARPANET 上的标准协议
人们把1983年作为互联网的诞生时间
第二阶段:建成了三级结构的互联网 (主干,地区,校园)
第三阶段:全球范围的多层次 ISP 结构的互联网。
出现了互联网服务提供者ISP,提供接入到互联网的服务
主干ISP、地区ISP和本地ISP
互联网交换点IXP:允许两个网络直接相连并快速交换分组
内容提供者:在互联网上向所有用户提供视频等内容的公司,不向用户提供互联网的转接服务
标准发表:以RFC的形式,但并非所有的RFC文档都是互联网标准
ISP
互联网服务提供商ISP可以从互联网管理机构获得许多IP地址,同时拥有通信线路以及路由器等连联网设备,个人或机构向ISP缴纳一定的费用就可以接入互联网。
目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
互联网的组成
从互联网的工作方式上看,可以划分为两大块:
边缘部分: 由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
主机之间的通信方式
客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。
对等(P2P):不区分客户和服务器。
典型交换技术
电报交换
电路交换主要用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。
分组交换(互联网的核心部分采用分组交换技术)
每个分组都有首部和尾部,包含了源地址和目的地址等控制信息,在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组,也就是说分组交换不需要占用传输线路。
在一个邮局通信系统中,邮局收到一份邮件之后,先存储下来,然后把相同目的地的邮件一起转发到下一个目的地,这个过程就是存储转发过程,分组交换也使用了存储转发过程。
报文交换
基于存储转发原理,但时延较长,现在已经很少用了。

三种交换方式的比较:
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
计算机网络的性能
速率
数据的传送速率,也称数据率或比特率
带宽

吞吐量
单位时间内通过某个网络(或信道、接口)的 实际数据量
时延
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
排队时延
分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
处理时延
主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
传输时延(发送时延)
主机或路由器传输数据帧所需要的时间。
其中 l 表示数据帧的长度,v 表示传输速率。
传播时延
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
其中 l 表示信道长度,v 表示电磁波在信道上的传播速度。
时延带宽积
时延带宽积 = 传播时延 * 带宽
往返时间RTT
表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
利用率
当某信道的利用率增大时,时延会迅速增加。
计算机网络体系结构
五层协议
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。
TCP 主要提供完整性服务,UDP 主要提供及时性服务。
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
OSI
其中表示层和会话层用途如下:
表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
会话层 :建立及管理会话。
五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。
TCP/IP
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
数据在各层之间的传递过程
在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。
路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要传输层和应用层。
物理层
通信方式
根据信息在传输线上的传送方向,分为一下三种通信方式
单工通信:单向传输
半双工通信:双向交替传输
全双工通信:双向同时传输
带通调制
模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。
数据链路层
网络层
因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供简单灵活的、无连接的、尽可能努力交互的数据报服务
使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。
与IP协议配套使用的还有三个协议:
地址解析协议ARP
网络控制报文协议ICMP
王继组管理协议IGMP
网际协议IP
IP数据报格式
版本:有4(IPv4)和6(IPv6)两个值;
首部长度:占4位,因此最大值为15。值为1表示的是1个32位字的长度,也就是4字节。因为固定部分长度为20字节,因此该值最小为5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
区分服务:用来获得更好的服务,一般情况下不使用
总长度:包括首部长度和数据部分长度
生存时间:TTL,它的存在是为了防止无法交付的数据报在互联网不断兜圈子。以路由器跳数为单位,当TTL为0时就丢弃数据报。
协议:指出携带的数据应该上交给哪个协议进行处理,例如ICMP、TCP、UDP等
首部检验和:因为数据报每经过一个路由器,都要重新计算校验和,因此校验和不包含数据部分可以减少计算的工作量。
标识:在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
片偏移:和标识符一起,用于发生分片的情况。片偏移的单位为8字节。