因特网的组成
因特网可分为边缘部分和核心部分。
核心部分:指的是能够让计算机通讯的网络的统称。
边缘部分:接入因特网的计算机。
因特网的边缘部分
-
客户端服务器方式(C/S)
比如通过chrome浏览器输入URL就可以访问一个web网站;那么这个chrome浏览器就是客户端(Client),存放web网站的就是服务器(Server);这种通信方式就是C/S通讯方式。当然这个网站可以供大量的用户访问
-
对等连接方式(P2P)
比如什么叫P2P下载?
比如从网上下载一部电影,一个人下载,速度还可以;两个人下载也还行;如果三个用户都从同一个服务器上下载,这个服务器的带宽就有压力了;下载的人越多,速度就越慢。这是C/S方式。
若使用P2P方式,则每一台计算机是客户端的同时也可以是服务器。比如如图所示,电影资源在服务器C上大小为500M,客户端D从服务器C上下载了250M;此时客户端F也想要下载,那么它可以从客户端D处下载这250M资源;此时客户端D既是客户端也是服务器。这就是对等(P2P),下载资源的时候客户端可以对应很多下载源,同时从多个源上下载同一份文件,这一部分从这下载,另一部分从那下载,下载的人越多,源越多,速度越快就是这样实现的。
因特尔网的核心部分
因特网的核心部分是实现计算机之间的数据通讯的。
计算机采用的是分组交换的方式。
电路交换(Circuit Switching)
比如电话拨号机,当电话A要和电话B通讯的时候,交换机就在内部建立电话A和电话B的连接。这就是电路交换,需要通讯时通过交换机建立连接,通讯完之后就释放连接。
电路交换有三个过程:建立连接、通话、释放连接。
例如:
当A与B已经建立连接之后,D再想和A建立连接就不行了,因为A与B的连接没断开,出现了“占线”.
电路交换适合于数据量很大的实时性传输(比如语音和视频):核心路由器之间可以使用电路交换
- 就是说允许等待10s,在A与B之间建立电路连接,之后就可以实现数据实时传输,即A说一句话B就能马上收到。
- 不允许A说了一句话,B要等30s才能收到;B说了一句话,A要20s才能收到;这样是不行的。
缺点
- 计算机数据具有突发性。
- 这导致通讯线路的利用率很低。
分组交换方式(Packet Switching)
发送端
假设把这段报文分成三段:
注意:
- 每一个分组的首部都含有发出地址和接收地址等控制信息。
- 分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。
- 用这样的存储转发方式,最后分组就能到达最终目的地。
接收端
分组交换的转发
- 红色和黄色方块表示H1向H5发送的分组。
主机H1与主机H5通信的时候,比如主机H1上一个word文档分成了小的数据分组,分组首部都写上目标地址是H5,然后路由器(蓝色的按钮)就按照首部的地址选择到目标地址的传输路径。也就是说主机H1与主机H5通讯,走的不一定是同一条路径。
如图所示:
H1向H5发送分组,可以走A->C->E;可以走A->B->E;可以走A->B->C->E等路径。
H2向H6发送分组,可以走B->E;可以走B->D->E等路径。
这就是互联网的分组发送方式:每一个数据包(分组)单独地选择路径,这些路径可以同时被多个计算机来使用,不占线,不需要建立连接。
而电路交换,在通讯前先选好路线,选好的路线其他人不给走,这根线就被占用了。
路由器的存储转发功能
- 在路由器中(图中的A~E)的输入和输出口之间没有直接连线
- 路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储);
- 查找转发表,找出到某个目的地址应从哪个端口转发。即寻找到目的地址的最佳路径,如分组在路由器A中时,判断是从A到B路径的输出端口输出?还是从A到C路径的输出端口输出?
- 把分组送到最适合的输出端口转发出去。
优点
-
高效 动态分配传输带宽,对通信链路是逐段占用。
-
灵活 以分组为传送单位和查找路由。
-
迅速 不必先建立连接就能向其他主机发送分组。
-
可靠 保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存性。
缺点
- 时延:分组在各结点存储转发时需要排队,这会造成一定的时延。
- 开销:分组必须携带首部(里面有必不可少的控制信息)也造成了一定的开销。
报文交换方式(Message Switching)
- 报文一般比分组长的多。因为报文不分段直接传输
- 报文交换的时延较长。
三种交换方式的比较
从上往下是时间轴。可见分组交换使用的时间最短;报文交换使用的时间最长。
分析
把20M的数据从A经过B、C发送到D。
-
电路交换:花一段建立A->D的连接,此后数据直接从A传输到D,随后再花一段时间释放连接。
-
报文交换:数据不分组,直接将数据以报文形式先从A传输到B,再从B传输到C,最后从C传输到D,需要排队,是一种串行的方式。
-
分组交换:先将20M的数据分组,比如分成4组:P1~P4,每组5M。
-
首先P1从A传输到B。
-
随后P2再从A传输到B,此时B中同时把P1传输给C。
-
接着P3从A传输到B,此时B中同时把P2传输给C,C也同时把P1传输给D。
-
然后P4从A传输到B,此时B中同时把P3传输给C,C也同时把P2传输给D。
此时A上的数据已全部传输了出去,此后B~D的传输过程以此列推。可见分组交换方式是延迟了一个分组的并行传输,所以在三种传输方式中速度最快。
-