计算机网络


计算机网络

概览

​ 完成端到端传输的工作,可简要分为三类工作

​ ① 文件传送模块(应用程序间)应用层(表示层、会话层) 应用层协议 TELNET、FTP、SMTP、HTTP 报文

​ ② 通信服务模块(可靠通信服务)运输层(TCP-可靠(报文段) 或UDP-不可靠(数据报))、网际层 (IP(IP数据报)、路由选择协议)

​ ③ 网络接入模块(网络接口)链路层(帧)、物理层(bit)

​ 物理媒体(双绞线、同轴电缆、光缆、无线信道)0层

​ 各层主要的功能:差错控制、流量控制、分段和重装、重用和分用、连接建立和释放

​ 各层独立、灵活性好、结构上可分靠、易于实现和维护、能促进标准化

功能
应用层网络进程到应用程序。针对特定应用规定各层协议、时序、表示等,进行封装 。在端系统中用软件来实现,如HTTP等
表示层数据表示形式,加密和解密,把机器相关的数据转换成独立于机器的数据。规定数据的格式化表示 ,数据格式的转换等
会话层主机间通讯,管理应用程序之间的会话。规定通信时序 ;数据交换的定界、同步,创建检查点等
传输层在网络的各个节点之间可靠地分发数据包。所有传输遗留问题;复用;流量;可靠
网络层在网络的各个节点之间进行地址分配、路由和(不一定可靠的)分发报文。路由( IP寻址);拥塞控制。
数据链路层一个可靠的点对点数据直链。检错与纠错(CRC码);多路访问;寻址
物理层一个(不一定可靠的)点对点数据直链。定义机械特性;电气特性;功能特性;规程特性

端系统通过通信链路分组交换机路由器分组交换机)连接到一起

端系统如何接入英特网?

因特网服务提供商(ISP)

互联网中地协议:端系统,分组交换机,其他英特网部件要遵循的规则(主要有TCP/IP协议)

端系统中的软件如和向另一个端系统中的软件发送数据呢?

应用程序编程接口(API)

互联网中的标准:RFC文档(定义了许多的协议)等(为了解决一致性认识的问题)

协议:定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送或接收一条报文或其他事件所采取的动作。

网络边缘(各种端系统(=主机——客户与服务器),运行各种程序的地方)

接入网:将端系统连接到其他边缘路由器

家庭接入:DSL、电缆、FTTH、拨号和卫星

企业接入:以太网和wifi

广域无线接入:3G、4G、5G、LTE

物理媒体

引导类媒体:双绞铜线、同轴电缆、光纤

非引导类媒体:陆地无线电信道、卫星无线电信道

网络核心(由分组交换机链路组成)——信息如何在端到端之间转发?

分组:将长报文分组为较小的数据块,分组通过通信链路分组交换机(路由器、链路层交换机)传送

分组交换(存储转发机制)——断续分配传输带宽地策略

在传输时一段一段地断续占用通信资源,而不是像电路交换一样先占用一个链路。

优点:高效(逐断占用)、灵活(独立地选择转发路由)、迅速(可不先建立连接就可以向其他主机发送)、可靠(路由选择协议;分布式多路由的分组交换网)

存储转发传输

输入端:分组转发传输

排队时延和分组丢失

输出缓存(输出队列),输出缓存(内存中而非硬盘中)有排队延迟,缓存充满时,会出现分组丢失,也就时丢包的现象

转发表和路由选择协议(出故障时使用)

使用目的地址来索引转发表,以决定适当的出路。路由选择协议用于自动地设定这些转发表

包=首部(包含目的地址、源地址等信息)+数据

报文交换(存储转发)——以报文为转发单位,因此延迟高,现在较少使用

电路交换(建立连接-通话-释放连接)——适用于传输大量数据,即不用考虑 连接建立时间

比特流直达终点

频分多路、时分多路、码分多路

计算机网络性能指标

速率bit/s、bps(bit per second) 100M=100Mb/s 额定速率

带宽 单位时间内从网络中的某一典到另一点所能通过的“最高数据率”

吞吐量 单位时间被通过某个网络的数据量

时延

发送时延

传播时延

处理时延

排队时延

时延带宽积 以比特为单位的链路长度

往返时间RTT(round-trip time )

利用率信道利用率于网络利用率过高会产生非常大的延迟(排队论)

计算机网络非性能指标

费用

质量

标准化

可靠性

可宽展性和可升级性

易于管理和维护

计算机网络体系结构(把庞大而复杂的问题,转化为若干较小的局部问题)

开放系统互连基本参考模型OSI/RM(OSI)

使用最广泛的时TCP/IP——事实上的国际标准

为网络中的数据交换而建立的规则、标准或者约定或者是控制两个对等实体(或多个实体)进行通信的规则的集合称为网络协议(语法-信息的结构或格式-信息的格式、语义-需要发出什么控制信息,完成什么动作-操作、同步-事件实现顺序的详细说明-时序关系)协议是水平的,服务是垂直的

计算机网络的各层及其协议的集合为体系结构(所应完成功能的定义)

完成端到端传输的工作,可简要分为三类工作

① 文件传送模块(应用程序间)应用层(表示层、会话层) 应用层协议 TELNET、FTP、SMTP、HTTP 报文

② 通信服务模块(可靠通信服务)运输层(TCP-可靠(报文段) 或UDP-不可靠(数据报))、网际层 (IP(IP数据报)、路由选择协议)

③ 网络接入模块(网络接口)链路层(帧)、物理层(bit)

物理媒体(双绞线、同轴电缆、光缆、无线信道)0层

各层主要的功能:差错控制、流量控制、分段和重装、重用和分用、连接建立和释放

各层独立、灵活性好、结构上可分靠、易于实现和维护、能促进标准化

设计的协议要考虑各种可能的情况

​ IP协议的核心地位

物理层:

怎样才能在连接各种计算机的传输媒体上传输数据比特流?

  物理层的作用是要尽可能屏蔽掉传输媒体和通信手段的差异,从而只考虑如何完成本层的协议和服务。

  主要任务:

    机械特性;电气特性;功能特性;过程特性;

  数据传输方式:串行传输

信号种类:数字信号、模拟信号

  信道的基本概念:单向通信(单工——单方向;电视广播);双向通信(半双工通信——双向但是非同时;);双向同时通信(全双工通信——双向同时发送信息)

信号调制:基带调制(波形变换);带通调制(频率范围变换——调频、调幅、调相)

信道的极限容量:

信号传输的质量问题:信噪比;信道的极限传输速率(如果在极限速率以下传播就能够保证质量)

限制信道的传输速率问题:传输速率有上限,超过传输速率上限,就会出现严重的码间串扰的问题,使接受端对码元的识别成为不可能。

传输媒体(电信领域使用的电磁波频谱):

引导性传输媒体:双绞线;同轴电缆;光缆

非引导型传输媒体(自由空间,无限制传输,无线传输):

信道复用技术:

频分复用;时分复用;统计时分复用;

波分复用

码分复用

数字传输系统

宽带接入技术

有线带宽接入:

ADSL(居民使用)、DSL(企业使用)、

光线同轴混合网(HFC)

光纤到户FTTH

无线带宽接入:

数据链路层:

点对点信道和广播信道的特点

点对点信道的数据链路层:

链路;数据链路(物理线路+通信协议(硬件+软件;网络适配器实现));规程和协议是同义语;IP数据报(数据报、分组或者包)

点对点协议PPP:简单(对帧,不纠错、不排序、不流控,CRC通过就收下帧,不然就丢弃它);封装成帧;透明性;多种网络层协议;多种类型链路。PPPoE协议(宽带上网的主机使用的链路层协议);差错检测;检测连接状态;最大传输单元;网络层地址协商;数据压缩协商;

TCP/IP协议族中,可靠传输由运输层的TCP协议负责,所以PPP协议不需要进行纠错、设序号、流控。只支持点对点的链路通信,只支持全双工链路。

PPP协议组成

PPP协议的帧格式:各字段的意义(帧的组成:界定符、差错检验FCS、协议表示、);字节填充;零比特填充;

​ PPP协议的工作状态:

Ppp协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

局域网的广播信道

局域网的工作层次跨越了数据链路层和物理层

共享信道

静态划分信道:频分复用;时分复用;波分复用;码分复用; 代价高,不适合于局域网使用。

动态媒体接入控制:多点接入

随机接入:碰撞问题; 重点

受控接入:在局域网中使用得较少

传统以太网

两个标准:DIXEthenet V2标准以及IEEE802.3标准

为了使数据链路层更好地适应多种局域网标准,局域网的的数据链路层就拆成了两个子层,逻辑链路控制(LLC——作用已经消失),媒体接入控制(MAC)

适配器的作用:计算机通过它来与外界的局域网连接;网络接口卡(NIC),即网卡。适配器与局域网之间通过串行传输方式传输,而适配器与计算机之间则通过计算机上的I/O总线以并行方式进行传输。 适配器实现的层次包含数据链路层、物理层。

CSMA/CD协议(解决在同一时间只能允许一台计算机发送数据的问题,避免冲突,也就是如何协调总线上各计算机的工作)——载波监听、碰撞检测;半双工通信:

(1)准备发送:

(2)检测信道:

(3)早发送的过程中仍不停地检测信道,即网络适配器要边发送边监听。

如果成功,在争用期间未检测到碰撞,帧肯定就能够发送成功。

如果失败,在争用期间检测到碰撞,就立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待r倍512比特时间后,返回到步骤(2),继续检测信道。但是,若重传达16次认不能成功,则停止重传而上报错误。以太网每发送完一帧,一定要把已发送的帧暂时保留一下。如果在争用期间内检测出发生了碰撞,那么还要在推迟一段时间后再把这个暂时保留的帧重传一次。

凡是长度小于64字节的帧都是由于冲突而异常终止的无效帧;帧间最小间隔96比特

使用广播信道的以太网

集线器:在同一时刻至多只允许一个站发送数据;一个集线器有许多接口(8-16);集线器工作在物理层;集线器采用了专门的芯片,进行自适应串音回波抵消。

数据链路层的三个基本问题(封装成帧、透明传输、差错检测)

封装成帧

帧首部与帧尾部的作用是进行帧定界(确定帧的界限)

帧定界符(SOH0100000001;EOT0400000100) 有利于差错控制和界定帧

透明传输:某个实际存在的事物看起来却是好像不存在一样

字节填充(字符填充) 用于解决透明传输问题

差错检测

比特差错、误码率、循环冗余检验CRC只能用于无差错接受

可靠传输:数据链路层的发送端发送什么,接收端就收到什么

差错传输:比特差错;没有出现比特差错,却出现了帧丢失、帧重复或帧失序(出现传输差错)。

数据链路层能实现无比特差错的传输,但是,还不是可靠传输。

数据传输链路通信质量好就不使用确认和重传机制,如果在数据链路层出现了差错,就有上层协议来完成。对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层将向上提供可靠传输服务。

以太网的信道利用率

以太网中存在碰撞,信道利用率不能够达到100%

只有当参数a远小于1才能得到尽可能高的极限信道利用率。

以太网MAC层的硬件地址(平面地址)

标识系统是一个核心的问题。名字指出我们所要寻找的那个资源,地址指出那个资源在何处,路由告诉我们如何到达该处。

单播帧;广播帧;多播帧;

混杂方式的适配器(嗅探器)

​ MAC帧(DIX Ethernet V2标准;IEEE的802.3标准)

​ V2标准(市场上的):

扩展的以太网:

物理层扩展以太网

多级结构的集线器:碰撞域

数据链路层扩展:

网桥(数据链路层);通过内部接口管理软件和网桥协议实体来完成上述操作。

优点:过滤通信量,增大吞吐量;扩大了物理范围;提高了可靠性;可互连不同物理层,不同MAC子层和不同速率

缺点;增加了时延;没有流控功能;若通信量大,则会产生广播风暴;

网段:转发表

透明网桥(IEEE 802.1D):即插即用设备,只要把网桥接入局域网,不用人工配置转发表网桥就能工作(自学习算法来处理刚开始的空状态的转发表)。透明网桥还会记录收到帧的时间、网桥接入的时间,会把最新的状态记录下来,而把旧有状态删除。

自学习和转发帧的步骤:自学习算法、生成树算法(为了防止兜圈子,白白耗费资源)

源路由网桥:发现帧(广播时候的探测器),可以发现最佳路由,可实现负载均衡。

多接口网桥:

交换机混杂了路由和网桥的功能,是一个市场名词。以太网交换机实质上是一个多接口网桥。和透明网桥一样,也是即插即用设备。由于使用了专用的交换结构的芯片,交换效率就较高。每个用户独占传输带宽,也就是N*rate。具有多种速率的接口。可以使用存储转发方式进行转发,也可以使用直通的交换方式,但是,这不会检查错误就会把帧直接转发出去,所以有些时候会用基于软件的存储转发方式。另外,用以太网交换机能方便地实现虚拟局域网VLAN(使得网络不会因为传播过多地广播信息而引起性能恶化)

网桥和集线器的区别:

网桥是按照存储转发方式工作的,一定是先把整个帧收下来再进行处理,而不管目的地址是什么。

使用以太网进行宽带接入

PPPoE(再以太网上运行PPP)

区别于ADSL(涉及帧转换——在ADSL调制解调器中以太网帧转换为PPP)、使用电话线进行上网(非以太网上网)

网络层

网络互连问题IP协议 网际控制报文协议ICMP 路由选择协议 IP多播 网络地址转换

虚拟互连网络的概念;IP地址与物理地址的关系;传统的分类的IP地址和无分类域间路由选择CIDR;路由选择协议的工作原理。

可靠交付应由谁负责?网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络再发送分组时不需要先家里连接。每个分组(IP数据报)独立发送,与其前后的分组无关(不编号)。网络层不提供服务质量承诺。路由器设计地简单,而可靠性就由运输层(用户主机)负责(差错处理、流量控制等)

网络层如何传送IP数据报?

网际协议IP、地址解析协议ARP、网际控制报文协议ICMP、网际组管理协议IGMP

连接网络的中间设备:物理层(转发器)、数据链路层(桥接器、网桥)、网络层(路由器)、网络层以上使用的中间设备(网关)

分类的IP地址:

IP地址:网络号+主机号

​ A类、B类、C类用于单播地址,用于一对一通信,D类(前四位为1110)用于多播(一对多通信),E类(前4位为1111)保留为以后使用;

点分十进制表示法

网络号全为零的IP地址表示保留地址,意为本网络,网络号为127的保留作为本地软件环回测试本主机的进程之间的通信之用。全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址,而全1表示“所有的”,因此全1的主机号字段表示该网络上的所有主机。B类地址128.0.0.0不指派。C类网络地址192.0.0.0也是不指派的

网桥连成的是同一个网络(即网络号相同),而路由器连接的是两个网络(统一个路由器有两个不同网络号的IP地址)。

主机IP地址与硬件地址的区别:

物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。

​ IP层抽象的互联网上只能看到IP数据报

路由器只根据目的站的IP地址网络号进行路由选择

再局域网的链路层,只能看见MAC帧

IP层抽象的互联网屏蔽了下层复杂的细节,只要在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。

主机或路由器怎样直到应该在MAC帧的首部填入什么样的硬件地址?

路由器中的路由表是怎样得出的?

​ ARP用在知道机器IP地址,但是,不知道硬件地址的情况,即求硬件地址(相应的由RARP协议——包含在DHCP中)

ARP高速缓存(本局域网上的主机和路由器的IP地址到硬件地址的映射表);ARP请求分组为广播,ARP响应分组为普通的单播;映射地址有生存时间;ARP的复杂过程都是由计算机软件自动进行的,对用户透明。

​ IP数据报的格式能说明IP协议都有什么功能

​ IP数据报:

数据链路层的MTU值,数据报超过了这个长度就要进行分片

生存时间TTL(time to live),后又变为跳数限制

IP层分组转发算法

特定主机路由、默认路由(0.0.0.0)

查找路由表、计算硬件地址、写入MAC帧首部

子网的划分:

没有划分子网,IP地址为二级网,划分了子网,IP地址为三级网(IP地址:<网络号>,<子网号>,<主机号>)。

子网掩码(用于判断是否在同一子网):不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位“与”运算,就立即得出网络地址来,这样在路由器处理到来的分组就可采用同样的算法。

子网号全零与全1是较新的用法,不同路由器可能会有不同的设置

直接交付、间接交付、

构成超网(无分类编址CIDR)

无分类编址CIDR:

IP地址:{<网络前缀>、<主机号>}、斜线记法(CIDR记法)

CIDR地址块、地址掩码、路由聚合、构成超网

最长前缀匹配(最佳匹配,即选择地址更具体地那个)

CIDR的使用的好处是能够大大压缩路由表中的项目数

使用二叉线索查找路由表(减少路由表查找地时间——路由表中的数据结构和快速查找算法)、压缩技术

网际控制报文协议(有效转发IP数据包和提高交付成功的机会)

ICMP的应用:ping、tracert

路由选择协议:

路由算法:

  静态路由算法

动态路由算法

路由选择协议:

内部网关协议IGP(RIP、OSPE)

内部网关协议RIP:分布式的基于距离向量的路由选择协议。只适用于小型互联网。RIP协议让一个自治系统中的所有路由器和自己的相邻路由器定期交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由器条数最少的。实现简单、开销较小

RIP的报文格式

和哪些路由器交换信息、交换什么信息、在什么时候交换信息?

网络出问题时,要经过较长的时间才能能将此信息传送到所有的路由器(好消息传播快,坏消息传播慢)

OSPF(开放最短路径优先)协议,为克服RIP的缺点而开发;采用洪泛法来交换信息;有链路状态数据库,更新过程收敛快;

自治系统边界路由器;

外部网关协议EGP(BGP-4)

路径向量路由选择协议;找出较好的路径而不是最佳的路径;BGP发言人;

路由器构成

路由器的结构

路由选择部分,控制部分

分组转发部分;

转发和路由是有区别的

交换结构

通过存储器

通过总线

通过互连网络

IP多播(一对多通信,交互式会议)

多播路由器

D类地址表示多播组

本地局域网上的进行的硬件多播;另一种是在因特网的范围进行多播。

硬件多播:

虚拟专用网VPN和网络地址转换NAT

虚拟专用网VPN:

网路地址转换NAT:

运输层:

为相互通信的应用进程提供逻辑通信

端口和套接字的意义

无连接的UDP的特点

面向连接的TCP的特点

在不可靠的网络上实现可传输的工作原理,停止等待协议和ARQ协议

TCP的滑动窗口、流量控制、拥塞控制和连接管理

通信的真正端点并不是主机而是主机中的进程,端到端的通信是应用进程之间的通信。

协议端口号(端口)解决了特定机器上运行的特定进程指明为因特网上通信的最后的终点的问题,也就是说,虽然,通信的终点是进程,但是只要把报文交付到目的主机的某一个合适的目的端口,剩下的工作就由TCP来完成。这种端口是软件端口,区别于硬件端口。软件端口是应用层的各种协议进程于运输实体进行层间交付的一种地址。

因特网上的通信采用客户-服务器方式,因此运输层端口号分为两大类

服务器端使用的端口号:

熟知\系统端口号

登记端口号

客户端使用的端口号:

运输层的复用和分用功能

应用层所有的应用进程都可以通过运输层再送到IP层,这就是复用。

运输层从IP层收到数据后必须交付指明的应用进程,这就是分用。

无连接的UDP(不可靠的)

有时候很有效;在IP数据报上增加了很少一点的功能,复用和分用的功能,以及差错检测功能;

特点:无连接(减少了时延);尽最大努力交付(不保证可靠);面向报文的;没有拥塞控制();支持一对一、一对多、多对一和多对多的交互通信;首部开销小;

UDP可能会导致数据报丢失、拥塞问题

面向连接TCP(可靠的)

不提供广播或多播服务

主要特点:

TCP是面向连接的运输层协议;

每个TCP连接只是点对点

​ TCP连接的端点叫套接字或插口(端口号拼接到IP地址即构成了套接字)

套接字socket=(IP地址:端口号)

每一条TCP连接唯一地被通信两端地两个端点(即两个套接字)所确定

TCP提供可靠交付服务

全双工通信(设有发送缓存、接受缓存)

面向字节流

可靠传输

工作原理

停止等待协议:发送、发送后确认,然后再进行下一环;若超过了一段时间没有收到确认就认为刚才传送的分组丢失了(暂时保留已发送文本;分组和确认分组都必须进行编号;超时计时器的设定时间比平均往返时间长;);用流水线传输时可以提高信道利用率。

确认丢失和确认迟到

连续ARQ协议(滑动窗口是TCP协议的精髓)

累计确认,对按序到达的最后一个分组发送确认;TCP的分用功能也是通过端口实现的;字节流必须按顺序编号;

停止等待协议利用率低下

TCP报文

​ TCP可靠传输的实现

以字节为单位的可靠滑动;接受方B只能对按序收到的数据中的最高序号给出确认;缓存和窗口的关系;超时重传的时间选择(问题复杂),采用自适应的算法、Karn算法(能够使运输层分开有效的和无效的往返时间样本,从而改进了往返时间的估测);选择确认SACK,只传送缺少的数据而不传送已经正确到达接受方的数据,由于SACK文档并没有指明发送方应当怎样响应SACK,因此大多数的实现还是重传所有未被确认的数据块。

流量控制(让发送方的发送速率不要太快,要让接收方来得及接收,抑制发送端发送的数据,以便使接受端来得及接收)

利用滑动窗口实现流量控制;发送方的发送窗口不能超过接收方给出的接受窗口的数值;TCP的窗口单位是字节,不是报文段;持续计时器(探测报文);点对点通信量控制,是个端到端的问题;

如何控制TCP报文发送时机

​ Nagle算法,数据达到发送窗口大小的一半或者达到报文段的最大长度时,等等方法,用于提高网络的吞吐量

糊涂窗口综合症,窗口设置为,这样下去,网络的效率很低

拥塞控制(防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载)

一般原理

对网络资源需求的和大于可用的资源。拥塞控制是一个动他的过程,全局平衡了,才会使得问题解决。可以从控制论的角度来看这个问题,开环控制、闭环控制。

一般方法

慢开始:

拥塞窗口,且动态变化

慢开始算法(由小到大逐渐增大发送窗口,由小到大逐渐增大拥塞窗口数值),每经过一个传输轮次,拥塞窗口就加倍;慢开始门限;

拥塞避免:

让拥塞窗口缓慢地增大,即每经过一个往返时间RTT就把发送方地拥塞窗口加1,而不是加倍。

以上两个算法合称为AIMD算法,即加法增大乘法减少

快重传:

接受方每收到一个失序地报文段后就立即发出重复确认而不要等待自己发送数据时才进行捎带确认。

快恢复:不执行慢开始,而是使拥塞窗口设置为慢开始门限减半后的数值。

发送窗口的上限值为接受方窗口和拥塞窗口中较小的一个

网络层中对TCP拥塞控制影响最大的就是路由器的分组丢弃策略,尾部丢弃策略。为了避免全局同步,路由器采用随机早期检测RED的措施,这个RED算法和队列的最大门限、最小门限、丢弃概率有关系。

TCP的运输连接管理

要使每一方能够确知对方的存在

允许双方协商一些参数(最大窗口值,是否使用窗口扩大选项)

能够对运输实体资源分配

连接建立

采用客户服务器方式

数据传送

连接释放

三次握手是为了防止已失效的连接请求报文段突然的传送

四次握手释放连接为了保证A发送的最后一个ACK报文能够到达B;防止已失效的连接请求报文段;双向释放连接

应用层(精确定义不同网络应用进程之间的通信规则)20190918

应用协议是网络协议的一部分,如,万维网应用是一种基于客户-服务器体系结构网络应用。万维网应用包含很多部件,有万维网浏览器、万维网服务器、万维网文档的格式标准,以及一个应用层协议。

域名系统、分布式的域名系统

因特网的域名结构:层次树状结构;权限域名服务器用于提升域名系统的运行效率;

根域名服务器;顶级域名服务器;权限域名服务器;本地域名服务器;

主域名服务器;辅助域名服务器(提高域名的可靠性)

查询时可采用递归查询(本机向本地域名服务器查寻);迭代查询(本地域名服务器向根域名服务器的查询);其中使用UDP数据报文

使用高速缓存来提高DNS查询效率

设置计时器以保证高速缓存中内容的正确性(通过减少时间值)

FTP协议相关

1995年,WWW的通信量才首次超过FTP

基于TCP的FTP;基于UDP的FTP

联机访问

​ FTP主要功能是减少或消除在不同操作系统下处理文件的不兼容性

​ FTP由主进程和若干从属进程(控制进程、数据传输进程)构成

NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据,所以网络上传送的只是少量的修改数据

​ TFTP协议(简单文件传送协议),可用于UDP环境,TFTP代码占用的内存较小。

远程TELNET协议,终端仿真协议,客户服务器方式。网络虚拟终端NVT(NVT作为一个中间转换的格式)

万维网WWW,分布式的超媒体系统,是超文本系统的扩充。

万维网以客户端-服务器方式工作,客户程序先服务器发出请求,服务器程序向客户程序送回客户所要的万维文档。

怎样标志分布在整个英特网上的万维文档

统一资源定位符URL

用怎样的协议来实现万维网上的各种链接

超文本传送协议HTTP(使用TCP进行可靠地传送)

怎样使不同作者的不同风格的万维网文档,都能在因特网上的的各种主句上显示出来,同时使用户清楚地知道在什么地方存在着链接

超文本标记语言HTML

怎样使用户能够很方便地找到所需地信息?

搜索引擎

并行TCP连接可以缩短访问时间

​ HTTP/1.1协议,有非流水方式与流水方式,用于提高效率。

代理服务器(proxy server),万维网高速缓存,减少了访问因特网的缓存。

HTTP报文结构

状态码(包含在状态行中,状态行中有 HTTP的版本、状态码、解释状态码的简短语句)

服务器上存储用户信息

Cookie能够简化用户上网的过程

万维网文档

XML可扩展标记语言,将用户界面与结构化数据分隔开

XHTML可扩展超文本标记语言

CSS层叠样式表,一种样式表语言

动态万维网文档,由应用程序控制生成

通用网关接口CGI,是一种标准,定义了动态文档应当如何创建。CGI程序的正式名字是CGI脚本。

活动万维网文档,把所有的工作都转移给浏览器端,请求后,服务器会把活动文档程序副本返给浏览器。Java技术(java小应用程序)就是达到这样一种目的的程序

​ Java技术:程序设计语言;运行环境;类库;

​ Java小应用程序与具体技术无关

万维网的信息检索系统

搜索引擎

全文检索(spider):google

分类目录检索:yahoo;sina;sohu;163

垂直搜索引擎

元搜索引擎

电子邮件

用户代理(Outlook Express;Foxmail);邮件服务器(同时充当客户和服务器);邮件发送协议(SMTP)和邮件读取协议(POP3、IMAP),其中SMTP客户与服务器间采用TCP连接。

用户代理UA就是用户与电子邮件系统的接口,即电子邮件客户端软件(大多数情况)。

​ SMTP协议

采用客户-服务器方式;SMTP不使用中间的邮件服务器;SMTP本来是为传送ASCII码而不是传送二进制数据设计的。为了检查发送的电子邮件,就有了安全传输TLS

​ BCC 暗送 (暗自送邮件给别人)

​ POP3和IMAP

​ POP3

采用客户服务器工作方式

​ IMAP

用户可以在不同的地方使用不同的计算机随时上网阅读处理自己的邮件。

基于万维网络的电子邮件(Gmail、Hotmail、Yahoo!Mail、163、sina)

从浏览器中发送或者读取邮件使用的是HTTP协议

通用因特网邮件扩充MIME

​ SMTP限于传送7位的ASCII码;SMTP服务器会拒绝超过一定长度的邮件。MIME增加了邮件主体的就够,并定义了传送非ASCII码的编码规则

内容传送编码:7位ASCII码;quoted-printable;base64编码

动态主机配置协议DHCP

在协议软件中给这些参数赋值的动作叫做协议配置,具体的配置信息有哪些则取决于协议栈。

当运行客户软件的计算机移至一个新的网络时,就可以使用DHCP获取配信息而不用手工干预;采用客服服务器方式

租用期由服务器决定

简单网络管理协议SNMP

被管的设备有时也称作网络元素或网元,在被管理的设备中也会有一些不能被管理的对象。

每一个被管理的设备中都要运行一个程序以便和管理站中的管理程序进行通信,这些程序叫做网络管理代理程序,即代理。管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序,在被管理对象上运行的SNMP服务器程序不停地监听来自管理站地SNMP客户程序地请求。

基本原理:若要管理某个对象,就必然会给对象添加一些硬件或者软件,但这种“添加”必须对原有地影响尽量小些。

​ SNMP的网络管理由三个部分组成:SNMP本身、管理信息结构SMI、管理信息库MIB。SMI建立规则、MIB对变量进行说明、SNMP完成网管的动作。

​ SMI

对象的命名

对象命名树

被管对象的数据类型

简单类型

结构化类型

编码方法

基本编码规则BER ,ASN.1把所有元素都表示为T-L-V三个字段组成的序列。

管理信息库MIB

管理程序使用MIB中这些信息的值对网路进行管理(如读取或重置这些值)

​ SNMP的协议数据单元和报文

两种基本管理功能,读和写操作,通过探寻来实现这些操作。SNMP不是完全的探寻协议,允许不经过询问就发送某些信息,这种信息称为陷阱。使用探寻来监视,也使用陷阱机制报告特殊事件。

使用无连接的UDP

应用进程跨越网络通信

如果我们还有一些特定的应用需要因特网的支持,但这些应用又不能直接使用已经标准化的因特网应用协议,那么我们应当做哪些工作?

系统调用和应用编程接口

系统调用的机制(控制权转换)

套接字接口API(网络编程,应用进程与运输层协议之间的接口)。套接字以上的进程时受应用程序控制的,而在套接字一下的运输层协议软件则是受计算机操作系统的控制。

套接字描述符,用来表示对请求操作系统把网络通信所需的这些资源(存储空间、CPU时间、网络带宽)分配给应用进程这一过程中的资源。

UDP服务器值提供无连接服务,因此不使用listen和accept系统调用

网络安全

计算机网络面临的安全性威胁和计算机网络安全的主要内容

对称密钥密码体制和公钥密码体制的特点

数字签名和鉴别的概念

网络层安全协议IPsec协议和运输层安全协议SSL/TLS的要点

应用层电子邮件的安全措施

系统安全: 防火墙与入侵检测

安全威胁

主动攻击

篡改;

恶意程序;

计算机病毒

计算机蠕虫

特洛伊木马

逻辑炸弹

拒绝服务(DoS);

应对:加密技术+鉴别技术

被动攻击

截获;攻击者只观察和分析某一个协议数据单元PDU而不干扰信息流;了解交换数据的某种性质,这为被动攻击中的流量分析

应对:数据加密技术

无线网和移动网络

计算机网络通信安全目标

防止析出报文内容和流量分析

防止恶意程序

检测更改报文流和拒绝服务

计算机网络安全的内容(涉及密码技术)

保密性

访问控制中登录口令的设计、安全通信协议的设计、数字签名的设计

安全协议的设计

访问控制

存取控制或接入控制

密码编码学和密码分析学合为密码学

如果不论截获了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,这一密码体制则为无条件安全的。如果一个密码体制中的密码,不能在一定的时间内被可以使用的计算资源破译,则这一密码体制称为在计算机上是安全的;数据加密标准DES和公钥密码体制为两个重要的里程碑。

两类密码体制

对称密钥密码体制(加密密钥与解密密钥是相同的密码体制)

保密性仅取决于对密钥的保密,而算法是公开的。

国际数据加密算法IDEA

公钥密码体制(使用不同的加密密钥与解密密钥)

由于对称密钥体制的米哟啊分配问题;对数字签名的需求。

​ RSA体制,基于数论的大数分解问题的体制

加密密钥是公开的,解密密钥是要保密的,算法也都公开。

任何加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量。

数字签名

接收者能够核实发送者对报文的签名,即报文鉴别

接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过,即报文的完整性

发送者事后不能抵赖对报文的签名,不可否认

鉴别

鉴别是要验证通信的对方的确市自己所要通信的对象,而不是其他的冒充者

报文鉴别

报文摘要MD,

报文摘要算法是一种散列函数,也是一种精心选用的单向函数。检验和算法也是单向的。即,不可进行逆运算。

报文摘要算法MD5

安全散列算法SHA,和MD5相似。

实体鉴别

在系统接入的全部持续时间内和自己通信的对方实体只需验证一次。

重放攻击(不重数方法);IP欺骗

密钥分配

密钥管理(产生、分配、注入、验证、使用)

网外分配;网内分配方式;

对称密钥分配

密钥分配中心KDC;Kerberos V5协议,Kerberos使用不DES更加安全的先进的加密标准AES,只用于客户于服务器之间的鉴别

因特网使用的安全协议

网络层安全协议

​ IPsec协议

鉴别首部AH、封装安全有效载荷ESP

运输方式;隧道方式;

因特网密钥交换IKE(为IPsec创建安全关联SA)

运输层安全协议

安全套接字SSL;运输层安全TLS;(http变为https)

应用层安全协议

有关电子邮件的安全协议PGP协议

系统安全:防火墙与入侵检测

防火墙:特殊编程的路由器,实施访问控制策略

分组过滤路由器;

过滤规则基于网络层或运输层首部的信息

应用网关(代理服务器)

入侵检测系统IDS

基于特征的入侵检测;基于异常的入侵检测

因特网中的音频与视频服务20190925

实时流式协议RTSP;交互式音频/视频所使用的一些协议,实时运输协议RTP;实时控制协议RTCP、H.323以及会话发起协议SIP;

时延、时延抖动

改进“尽最努力交付”的服务的一些措施,

计算机网最初是为传送数据设计的。IP层提供“尽最大女里交付”服务以及每一个分组独立交付的策略,因特网的TCP协议可以很好地解决IP层不能提供可靠交付这一问题。

多媒体信息交付问题

边传输边播放

因特网是非等时的(设定缓存来解决)

缓存决定播放时延

运输层选用UDP而不是TCP,对于传送实时数据,宁可丢失少量分组,也不要让分组太晚到达。容忍丢失也是实时数据的另一个特点。

音频/视频服务

流式存储音频/视频(流媒体):边传送流媒体边播放

具有元文件的万维网服务器

元文件中保存了有关音频/视频文件的信息,使用HTTP服务。

媒体服务器

流式服务器

实时流式协议RTSP

为了给流式过程增加更多的功能而设计的协议,使媒体播放器能够控制多媒体流的传送。因特网录像机遥控协议。RTSP记录客户机所处于的状态;RTSP控制既可在TCP上传送,也可在UDP上传送;RTSP不规定数据在媒体播放器中应如何缓存。

交互式音频/视频

​ IP电话;

​ IP电话网关;电话网使用电路交换,因特网使用分组交换;

通话质量:通话双方端到端的时延和时延抖动;话音分组的丢失率;

​ Skype采用了P2P和全球索引

​ IP电话中采用了信令协议(H.323和SIP);话音分组的传送协议;

信令协议(H.323和SIP);直接传送音频/视频(RTP);保证服务质量(RSVP、RTCP)

尽最大努力交付的服务

可用性、差错率、响应时间、吞吐量、分组丢失率(提供某种服务等级)

调度管理机制是使因特网能够提供服务质量的重要措施

路由器:分类、管制、调度、呼唤接纳

调度机制(排队的规则)

分类、先进先出、优先级、公平排队、加权公平排队

管制机制

平均速率、峰值速率、突发长度

漏桶管制器

漏桶机制于加权机制结合

综合服务IntServ与资源预留协议RSVP

IntServ

资源预留;呼叫建立;

组成:资源预留协议RSVP(多树);接纳控制;分类器;调度器;

流:具有同样的源IP地址、源端口号、目的IP地址、目的端口号、协议表示符及服务质量需求的一连串分组。

​ RSVP是面向终点的,是运输层的控制协议。

IntServ的体系结构

存在问题:结构复杂;数目与流量数目成正比;服务质量登记数量太少,不够灵活。

区分服务DiffServ

在网络中增加区分服务的功能

无线网络和移动网络

无线网和移动网的数据链路层和传统的有线因特网的数据链路层相差很大

无线局域网的组成,DS和接入点AP的作用

无线局域网使用的CSMA/CA协议(与载波监听多点接入/碰撞检测CSMA/CD的区别)和无线局域网MAC帧使用的几种地址;

移动用户在移动时怎么保持IP地址不变

蜂窝移动通信网中对移动用户的路由选择问题

无线局域网协议标准IEEE 802.11,是无线以太网的标准,使用星型拓扑,中心接入点AP,在MAC层中使用CSMA/CA协议。最小构件是基本服务集BSS,基本服务集包括一个基站和若干移动站,接入点AP就是基本服务集内的基站;服务集标志SSID;

无线自组网络

无线传感器与物联网

​ CSMA/CA协议(802.11局域网的MAC层协议)

为了解决暴露站问题;隐蔽站问题;

不同于CSMA/CD ,CSMA/CA协议采用避免碰撞的方式,因为如果采用CD,一旦发生碰撞,就会浪费整个信道资源。

采用停止等待协议,使用链路层确认。

无线通信的质量比有线要差,因为会丢帧,因此会有链路层确认。

802.11设计了独特的MAC层,通过协调功能来确定在基本服务集BSS终得移动站,在什么时间能发送数据或接收数据。分布协调功能DCF(采用CSMA的分布式接入算法,让各个站通过征用信道来获取发送权;必须有的);点协调功能PCF(选用)

最常用的帧间间隔:SIFS;DIFS

802.11还采用了虚拟载波监听的机制

​ CSMA/CA算法

对信道进行预约

请求发送RTS;允许发送CTS;

​ 802.11的MAC帧

802.11数据帧的地址,四个地址字段。

序号控制字段、持续期字段和帧控制字段

个人无线局域网

无线城域网WMAN

蜂窝移动通信网

展望

下一代因特网

常见问题

1.TCP采用四次挥手关闭连接如图所示为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?

​ 这是因为服务端的 LISTEN 状态下的 SOCKET 当收到 SYN 报文的建连请求后,它可以把 ACK 和 SYN (ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。

2.视频面试传输协议到底是TCP还是UDP

QUIC,即快速UDP连接,既取了UDP的优势,也取了TCP的优势

参考:https://mp.weixin.qq.com/s/ZS38gDysXqlA7vZJzrC8qw

3.301永久性重定向和302临时性重定向

301永久性重定向和302临时性重定向

4.HTTP状态码

HTTP状态码详解

5.输入url到页面加载发生了什么?

输入url到页面加载都发生了什么

前端性能优化之雅虎35条军规

6RESTful 协议(架构风格)

restful api设计


文章作者: yulin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yulin !
评论
 上一篇
操作系统 操作系统
计算机系统概述基本构成 处理器 内存 输入/输出模块 系统总线 微处理器的演化 指令的执行 中断 分类:程序中断(算术溢出、除数为零、执行非法的机器指令、访问用户不允许的存储位置);时钟中断;I/O中断;硬件失效中断; 中断和指令周期 中断
2020-08-19
下一篇 
程序员面试金典-6-Ch 程序员面试金典-6-Ch
行为面试题 常见问题 项目 1 项目 2 项目 3 遇到过的挑战 遭遇过的滑铁卢 最享受什么 如何体现领导力 如何处理冲突 有哪些可改进之处 确保你有1至3个项目可以拿
2020-08-19
  目录