计算机网络
主机(host)或端系统(end system):连接到互联网中的设备,
1. 分组交换:
(1)端系统彼此交换报文message,从源端到目标端发送一个报文,源将其分为多个小块,叫做分租packet;每个分组通过通信链路communciation link和分组交换机packet switch传递,两种分组交换机:路由器router和链路层交换机link-layer switch;
(2).多数分组交换机采用存储转发发送,存储转发是指交换机只有接收完整个分组后,才能开始传递分组,设链路传输速率为a比特/秒,发送的分组长度为b比特,则传输该分组时间为b/a秒;
如上图所示,源在0时刻开始传输分组,b/a秒后路由器恰好接受到整个分组,所以之后才开始向目的地发送分组,在时刻2b/a后,路由器已经传输了整个分组,并且分组都已经被目的地接收;
分组为多个时,下面以3个分组为例:
路由器在b/a秒后接收全部分组1,然后在下一个b/a秒发送分组1给目的地,同时接收源发送的分组2;接着在第三个b/a秒,
路由器发送分组2给目的地。同时接收分组3;
在第四个b/a秒路由器发送分组3;
此时发送数据完成,全部3个分组都已经被发送到目的地;
分组以等于该链路最大传输速率的速度通过该链路;
当路由器为多个时,假设传输分组个数为1;
排队时延(queuing delay)和分组丢失(packet loss)
分组交换机有一个输出队列(output queue0(输出缓存)(output buffer),当分组完成接收,交换机准备发送时,发现此时正在发送别的分组,发送端口被占用,则放到输出缓存中,等待输出;若再不幸的是,输出缓存已被占满,则该分组无处可去,这时会发生丢包(packet loss),即分组丢失;到达的分组或排队之一的分组将被丢弃;
每个端系统都有一个ip地址,发送的分组首部包含了目的地ip地址,当该分组到达路由器时,路由器检查自己的转发表(forwarding table),用该ip地址搜索转发表,确定相应的出链路,路由器将分组导向该出链路,转发表依据路由选择协议
自动配置,一个路由选择协议可以决定从每个路由器到目的地址的最短路径,以便最快转发;
电路交换(circuit switching):
端系统在通信期间预留了相关资源,例如电话网络,在发送消息之前,发送端和接收端之间需要先建立一条连接,以便进行后续通话,因此发送方与接收方之间能够预留带宽,整个通信过程中恒定速率一直保持,假设两台相邻交换机之间每条链路传输速率为1Mbps,建立了2条端到端交换电路,那么每条电路传输数据速率为500kbps;
电路交换缺点是:在静默期电路资源没有被充分利用;
比如两个人打电话,双方短暂暂停了一会讲话,期间两人都在思考;那么这一段空闲时间的网络资源被白白浪费了。
协议层次及服务模型
分层体系结构:
将网络协议以分层的形式组织,各层的所有协议被称为协议栈,因特网的协议栈由5层组成,物理层,链路层,网络层,运输层,应用层;采用了自顶而下方法(top-down approach)进行处理;首先处理应用层,依次向下;
应用层:
网络应用程序和他们的协议留存的地方;
包括HTTP(Web文档请求和传送),FTP(端系统间的文件传送)
SMTP(电子邮件报文传送)
位于应用层的信息分组称为报文(message);
运输层:
应用程序端点之间传输应用层报文;
两种运输协议:TCP:将长报文划分成短报文;
面向连接的服务,有可靠性:保证报文正确传输,途中发生错误会重新发送;
流量控制:发送速率和接受速率一致;
拥塞机制:如果网络存在拥塞,抑制源发送速率;
UDP:面向无连接,不可靠,无流量控制和拥塞机制,发送速率更快,允许出现一些错误;
运输层传输的分组为报文段(segment);
网络层:
负责分组在主机之间的移动,源主机的运输层协议,(TCP或UDP),向网络层递交分组。
包括一些IP(网际协议),和路由选择协议;
网络层运输的称为数据报
链路层:
包括以太网,WIFI的DOCSIS协议,和PP协议等
链路层运输的被称为帧;
物理层
与实际传输媒体有关,比如同轴电缆或光纤等;
封装发生在主机端,如上图所示:
源端应用层报文传递到运输层,运输层收到报文后在其前面附加首部信息,与应用层报文一起形成报文端;附加的首部信息可能包括:
(1).允许接收端运输层向上层运输层交付报文
(2).差错检验,判断报文内容在运输过程中是否改变;
然后运输层向网络层传递报文段,网络层增加了如源和目的地址的信息在其首部,生成的网络层数据报被转发到链路层,链路层增加链路层的首部信息形成链路层帧;
所有在每层:一个该分组都有两类信息:
有效载荷字段(payload field)和首部字段;
有效载荷通常来自于上一个分组;
网络攻击
病毒:一种需要某种形式的用户交互来感染用户设备的恶意软件;
蠕虫:无需明显的用户交互就能感染设备,当用户运行了一个脆弱的网络应用,该应用能被攻击者发送恶意软件,则无需用户干预,该应用自动下载恶意软件并运行,生成了蠕虫,该蠕虫可以自动扫描因特网,寻找下载相同应用的容易受到感染的主机,并发送自身副本;
拒绝服务攻击(Denial-of-Service attack)Dos;
大多数Dos攻击属于下列三种类型之一:
1. 弱点攻击
向目标主机上容易受到攻击的应用或操作系统发送报文,使该服务器停止运行;
2.带宽洪泛
向目标服务器发送大量分组,造成网络拥塞,使正常报文无法到达服务器;
分布式Dos(Distributed Dosh即DDos )中,攻击者控制多个源并同时发送大量流量,使服务器陷入瘫痪。
3.连接洪泛
在目的主机中创建大量全开或半开的TCP连接,使主机陷入困境,停止接收合法连接;