第一章:概论
分组交换 vs 电路交换
网络中,端系统彼此交换报文(message)
发送端将报文划分为较小的数据块,称为分组(packet)
源和目标之间,每个分组都通过通信链路和分组交换机(packet switch,主要有两类:路由器和链路层交换机)
分组交换
-
存储转发传输(store-and-forward transmission)机制:交换机在向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
-
排队时延和分组丢失:每个分组交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存(输出队列),用于存储路由器准备发往那条链路的分组该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延(queue delay)。这些时延是变化的,变化的程度取决于网络中的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet lost),到达的分组或已经排队的分组之一将被丢弃。
-
转发表和路由选择协议:由于一个路由器有多个输出链路,每台路由器有一个转发表,用于将目的地址映射为输出链路,决定了某个分组packet要输出到哪个输出链路。
电路交换
相当于在两台主机之间创建一条专用的端到端连接。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率)。
在分组交换网络中,这些资源则不是预留的;会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。
一个简单的类比是,考虑两家餐馆,一家需要顾客预订,而另一家不需要预订但不保证能安排顾客。对于需要预订的那家餐馆,我们在离开家之前必须承受先打电话预订的麻烦。但当我们到达该餐馆时,原则上我们能够立即入座并点菜。对于不需要预订的那家餐馆,我们不必麻烦预订餐桌,但也许不得不先等待一张餐桌空闲后才能入座。
频分复用(FDM):在链路中每条连接专用一个频段(频率区间)
时分复用(TDM):在链路中每条连接专用一个时间段。对于一条TDM链路,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据
世界范围内 ISP 的关系
结点时延的组成
- 处理时延:检查分组首部和决定将该分组导向何处所需要的时间
- 排队时延:见 分组交换
- 传输时延:分组由路由器推向链路所需要的时间
- 传播时延:链路上花费的时间
协议层次
协议分层 因特网协议栈:
- 应用层:传递的信息称为应用层报文
- 运输层:TCP(确保传递、流量控制 拥塞控制) or UDP(无连接服务,不提供不必要服务 没有可靠性 没有流量控制和拥塞控制) 传递的信息称为运输层报文段(segment)
- 网络层:IP_&_路由选择协议 网络层数据报(datagram)
- 链路层:Wifi等 链路层帧(frame)
- 物理层
封装:
应用层报文 -> 运输层报文段(segment) -> 网络层数据报(datagram)-> 链路层帧(frame)