计算机网络(打卡第38天)
今天接着昨天的Internet介绍继续讲解chapter 1的内容
之前说过网络可以按照构成分为节点和链路,可以按照通信分为分布式应用和基础设施;其实还可以按照网络结构来划分,按照网络结构划分为3个子系统—边缘,核心,接入
Switch,可以把所有的网络核心看成一个数据交换器,是由许多数据小节点组成。作用就是完成源主机和目标主机的数据交换
分布式应用-----端系统、主机 end system host. 运行的应用程序,在网络的边缘
所有的资源在服务器,服务器先运行,主从模式 , 这种模式有有点问题,如果服务器下的客户端太多了,一个服务器就运转不过来,那现在就要扩展,多态服务器形成一个服务器农场,farm,继续为更多用户提供服务,但是这个是有阈值的,达到阈值之后,处理能力就断崖式下降
P to P,很少(甚至没有)服务器,每一个end system在交互的时候,即可以是服务器,也可以是客户端,在文件分发中使用较多,比如迅雷,普通的FTP是普通的C/S,存在扩展性的问题
这里也就可以来解释一下为什么迅雷下载快,因为对等模式,所以服务器不是固定的,而是分布式的,所以可以从这台host上下载第一个安装块,从那台host下载另外的,而不是如C/S只能从一个hsot下载,同时下载,带宽聚集,效率提高
注意:面向连接和有连接是不一样的, 面向连接就是端系统之间知道,但是中间的基础设施,路径结点不知道;有连接不仅端系统知道,中间的基础设施也要知道,并且维护两者之间的连接
在端系统之间传输数据
在数据传输之前做好准备
可靠地,按顺序地传送数据【确认和重传】 — 原原本本
流量控制【发送方不会淹没接受方】
拥塞控制【当网络拥塞时,发送发降低发送速率】
需要注意的是,上层的可靠,下层的IP,将语言编码,变为物理信号,在网卡之间传输,之后再反编码,是容易受到干扰的,TCP就是靠协议让不可靠变得可靠,采取各种方式,就是上面的几个特性。
不需要握手,直接就发送数据,非常适合网络多媒体应用,实时都会产生数据,不会受到流量和拥塞的控制;还有就是需要进行的事务少,就不需要TCP,本末倒置
在端系统之间传输数据 【无连接服务】
HTTP(Web) ,FTP(文件传输 ) Telnet(远程登录) SMTP
流媒体、远程会议、DNS、Internet电话----实时
最主要的功能:数据交换 — 两种实现方式
就是路由器的网状网络
端到端的资源被分配给从源端到目标端的呼叫“call”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kH792Tcu-1634898707473)(C:\Users\OMEY-PC\Desktop\电路交换.PNG)]
靠信令系统,图中每段链路都有4条线路,显示呼叫采取了第二个线路,右边链路的第二个线路【piece】
独享资源,不共享:每一个呼叫一旦建立起来就能保证性能
如果呼叫没有数据发送,被分配的资源就会造成浪费【no sharing】
为每个呼叫预留一条专有电路:如电话网:要建立其一个连接
分配的线路都是独享的,为两者通信使用,所以就算没有数据传输,也会占用线路,比如打电话,两者都不说话,但是还是会收电话费,这条通信线路一直被占据
为呼叫分配片,如果某个呼叫没有数据,则其资源片处于空闲状态(但是被占用,不共享)
将带宽分成片
比如两个节点之间的带宽为1.536Mbps,按照时分分为24个时隙,那么每个片的效率就是带宽/时隙数;
1.536 /24 = 64kbps – -这才时一个用户真正能获得的为64kbps
两台主机A,B之间进行文件传输,建立连接需要0.5s,文件大小为640kb,效率就上面的
画出时空图,传输完成就是10.5s才完成,但是B不是10.5s对方受到,有延迟,因为电磁波传播需要时间,如果局域网通信,时间短可以忽略,但是如果时广域网,就不能忽略
但是线路交换是不适合计算机之间的通信的
将要传送的数据分为一个个单位,分组
将分组从一个路由器传到相邻路由器(hop 跳跃)最终到达目标end system
每段:采用链路的最大传输能力
以分组为单位存储 - 转发
网络带宽资源不再分为一个一个piece,传输时使用全部带宽(只是共享,每个用户实际分到的就不死所有带宽了),主机之间的传输书记被分为一个个分组
资源共享,按需使用
存储-转发,分组每次移动-跳(hop)---- 在转发之前节点必须收到每个分组,延迟比线路交换大,【存储需要时间】线路交换每个段就耽误一个bit存储时间,而分组交换就要耽误整个资源存储的时间【排队延迟】,发送到某个方向的数据就需要排队,轮到的时候再发送,但是用传输时间换取了共享性和不需要建立连接
如果不存储,之间转发信息,那就又变成线路交换了,只是占用资源为整个带宽比如文件10个G,在传输时间内,整个线路被占用,其他的host不能用,如果存储了再传,那该链路某段就可以共享
被传输到下一个链路之前,整个分组必须到达路由器,并且存储–转发
在一个速率为Rbps的链路中,一个长度为L bits的分组存储转发的延迟为 : L/R s
比如L = 7.5Mbits,R = 1.5Mbps,3次存储转发的延迟就是 3*(7.5/1.5) = 15s
发送和接收是一个事情的两个方面,所以算延迟就算一遍就可以了
吐过到达速率 > 链路的输出速率 ; 那么分组将会排队,等待传输
如果路由器的缓存用完了【不能无限存储】,分组将会被抛弃----数据丢失
前面的线路转换通过固定的方式比如TDM,PDM划分带宽为片,分组交换就是随机划分带宽,比如前一个时隙给A,后一个给B
分组交换允许更多的用户使用
定量分析
比如A–B之间有一条链路,带宽为1Mbpas,现在在节点A上接入有n个用户,每个用户多对应的数据为100kbps,但是活跃的时间 为 P = 0.1
使用概率论来计算n个用户大于等于10个用户同时活跃的概率
P n > = 10 = 1 − ∑ n = 0 9 ( C n x P n ( 1 − P ) x − n ) P_{n>=10} = 1 - \sum_{n = 0}^{9}(C^{x}_{n}P^n(1-P)^{x-n}) Pn>=10=1−n=0∑9(CnxPn(1−P)x−n)
这里的上面为9,因为流量强度为1,所以不行为10,会崩
当将x代换为35的时候,P = 0.4%,所以支持35个用户在大部分时间都是可以的,有存储,可以排队,所以就可以
分组交换的方式应用越来越广泛,分组交换的方式按照网络层有没有连接分为两种
源主机发送的分组携带目标主机的完整地址,交换结点根据地址来直接转发,不需要握手,每一个结点都是独立的
但是每一个分组都独立路由(路径不一样,可能会失序)【因为是按顺序分组的】
路由器根据地址进行路由
这里和上面TCP面向连接不一样,面向连接只是强调端系统是否连接,中间路由器是不需要维护的,而虚电路是有连接的,不仅end system连接,中间的路由器中转节点也需要连接。
主机与目标主机通信之前握手,然后在两end system间建立一条虚拟的电路,需要维护虚拟路径,每一个分组都会携带一个虚电路号,然后到达中转结点存储转发,不标识目标主机的完整地址
虚电路的建立依靠信令系统建立连接
决定分组采用的源到目标的路径
将分组从路由器的输入链路转移到输出链路
也就是说网络核心分为线路交换和分组交换