一、电路交换(circuit switching)与分组交换(packet switching).
1、电路交换:
主要用于电信(电话)网络中。在进行传递信息的时候,需要在双方之间建立一个连接,这是真正意义上得连接,和后面要讲的TCP面向连接不是一回事。因为此时发送方和接收方之间的交换机都为该连接维护连接状态,并预留了恒定的传输速率,所以发送方可以确保以恒定的速度向接收方发送数据。
如果一条链路上有N条电路连接,那么每个连接将获得该链路上带宽的1/N。这一般是通过频分多路复用或时分多路复用来实现的。
缺点:如果其中一个电路连接在一段时间内不发送数据,那么给他预分配的1/N的带宽就在这段时间内浪费了。
2、分组交换:
目前internet网主要采用分组交换的方式。不必给分组预留带宽,internet只是一种尽力而为的以适当的方式传递分组。
交换机在传递分组时,在链路的输入端采用存储转发传输,对一个分组来说,从接收到分组的第一个比特开始,一直最后一个比特接收完。交换机才对此分组进行转发。如果在这个分组到达之前已有分组到达且还没有被转发完,那么此分组就将进行排队等待。交换机为他们排队提供了缓存。如果缓存装满,将发生丢包。
分组交换采用的是按需的方式分配电路,逐分组的共享链路,即一个链路上一时应只有一个分组,这个分组用完之后,另外的分组再占用这条链路。这种按需(而不是预分配)共享资源被称为资源的统计多路复用。
二、时延、丢包和吞吐量
1、时间 = 处理时延(例如检查分组首部,决定将分组导向何处) + 排队时延 + 传输时延(将一个分组从路由器全部推出到链路的时间,从推第一个bit到推最后一个bit) + 传播时延(分组在链路上得传播时间)
2、流量强度:La/R (其中a表示分组到达交换机缓存队列的平均速度,L表示一个的字节数,R表示交换机的传输速度,也就是产生传输时延的那个地方)。
如果La/R > 1 那么迟早会将缓存队列填满,发生丢包。所以在流量工程里有一个金科玉律:设计系统时流量强度不能大于1。
吞吐量取决于链路上的瓶颈部分。
三、协议层次
1、OSI模型:(Open Systems Interconnection model,开放系统互联模型),分为七层:应用层,表示层,会话层,传输层,网络层,链路层,物理层。
2、TCP/IP参考模型(四层):应用层,传输层,网络互联层,网络接口层。
还有五层分法:应用层,传输层,网络层,链路层,物理层。
注意:
表示层:使通信的应用程序能够解释交换数据的含义,提过的服务包括数据压缩,数据加密等功能。会话层:提供了数据交换的定界和同步功能,包括建立检查点和恢复方案的方法。在TCP/IP中是没有这两层的,把这两部分放在了应用层,交由应用程序开发者进行处理。
(维基百科)TCP/IP中的网络访问层:网络接口层实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。这个过程能够在网卡的软件驱动程序中控制,也可以在韧体或者专用芯片中控制。这将完成如添加报头准备发送、通过物理媒介实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。
然而,链路层并不经常这样简单。它也可能是一个虚拟专有网络(VPN)或者隧道,在这里从网络层来的包使用隧道协议和其他(或者同样的)协议组发送而不是发送到物理的接口上。VPN和隧道通常预先建好,并且它们有一些直接发送到物理接口所没有的特殊特点(例如,它可以加密经过它的数据)。由于现在链路“层”是一个完整的网络,这种协议组的递归使用可能引起混淆。但是它是一个实现常见复杂功能的一个优秀方法。(尽管需要注意预防一个已经封装并且经隧道发送下去的数据包进行再次地封装和发送)。