第一章 计算机网络和因特网
1、什么是因特网
1)
因特网:是一个世界范围的计算机网络,即它是一个互联了遍及全世界的数以亿计的计算设备的网络。
2)
端系统:
*接入因特网的终端设备被称为“主机”或“端系统”。
*端系统通过
“通信链路”或
“分组交换机”连接到一起,通过
“因特网服务提供商(ISP)”接入因特网。
3)
协议:
*
端系统、分组交换机和其他因特网部件都要运行一系列
“协议”
,这些协议控制因特网中信息的接收和发送。
*协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送、接收报文或其他事情锁才去的动作。
2、网络边缘
1)
接入网:指将端系统连接到其
“边缘路由器”的物理链路
2)
物理媒体:
*一个比特从源到目的地传输时,通过一系列“传输器-接收器”对。对于每个传输器-接收器对,通过跨越一种“物理媒体”传播电磁波或光脉冲来发送该比特。
*常见的物理媒体有:双绞铜线,同轴电缆,光纤,陆地无线电信道,卫星无线电信道。
3、网络核心
0)
概念:由互联网端系统的分组交换机和链路构成的网络
1)
分组交换:
*报文:在各种网络应用中,端系统彼此交换
“报文”,报文能够包含协议设计者需要的任何东西。
*分组:为了从源系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为
“分组”。
*在源和目的之间,每个分组都通过“通信链路”和“分组交换机”。分组以等于通信链路最大传输速率的速度传输通过通信链路。
*存储转发传输:多数分组交换机在链路的输入端使用存储转发传输机制。是指在交换机能够向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
*排队时延和分组丢失:
a)对于分组交换机相连的每条链路,该分组交换机具有一个
“输出缓存队列”,
用于存储路由器准备发往那条链路的分组;
b)如果到达的分组需要传输到某条链路,但发现该链路正在忙于传输其他分组,该到达分组必须在输出缓存队列中等待,及分组要承受输出缓存的
“排队时延”
;
c)因为缓存空间的大小是有限的,当输出缓存对应被其他等待传输的分组填充满时,新到达的分组或意见排队的分组之一将被丢弃,即发生
“分组丢失(丢包)”
。
*转发表和路由选择协议:
a)在因特网中,每个端系统具有一个
“IP地址”,当源主机要向目的端系统发发送一个分组时,源在该分组的部首设置了目的地的IP地址;
b)每台路由器具有一个
“转发表”,用于将目的地址(或其中一部分)映射为输出链路。当分组到达路由器时,路由器检查分组的目的IP地址,并用该目的地址搜索转发表,以发现适当的输出链路,并将分组导向该输出链路。
2)
电路交换:
*电路:在电路交换网络中,在端系统间通信会话期间,预留了通信沿途路径所需要的资源(缓存、链路传输速率)。当两台主机要通信时,两台主机之间的链路上必须先预留出一条
“电路”。
*复用:链路中的电路是通过
“频分复用(FDM)”或
“时分复用(TDM)”来实现的。
3)
网络的网络:
4)
分组交换网中的时延、丢包和吞吐量:
*计算机网络必定要限制在端系统之间的吞吐量(每秒能够传送的数据量),在端系统之间引入时延,而且实际上能够丢失分组。
*时延:分组在沿途的每个节点都要经受时延。对于每个节点,节点总时延=节点处理时延+排队时延+传输时延+传播时延
*丢包:
a)当路由器的输出缓存队列满时,路由器将丢弃新到达的对应分组;
b)一个节点的性能不仅根据时延来度量,而且根据分组丢失的概率来度量;
c)丢失的分组可能基于端到端的原则重传,以确保所有的数据最终从源传输到了目的地。
*吞吐量:计算机网络中另一个必不可少的性能测度是端到端吞吐量。
4、协议层次及其服务模型:
1)
协议分层的体系结构:
*对于大而复杂且需要不断更新的系统,改变服务的实现而不影响该系统的其他组件是分层的一个重要优点。
*协议分层:
a)
网络设计者以分层的方式组织
“协议”
以及实现这些协议的硬件和软件。每个协议属于这些层次之一;
b)每层通过在该层中执行某些动作或直接使用下层的服务来提供自身服务;
c)一个协议层能够用软件、硬件或两者的结合来实现。
*协议栈:
各层的所有协议被称为
“协议栈”
;
2)因特网的协议栈:
*
因特网的协议栈由五个层次组成:物理层、链路层、网络层、运输层和应用层。
*应用层:
a)应用层是网络应用程序及它们的应用层协议存留的地方,
应用层协议分布在多个端系统上;
b)一个端系统中的应用程序使用“协议”与另一个端系统中的应用程序交换“信息”的“分组”,把这种位于应用层的信息分组称为
“报文”。
*运输层:
a)运输层在应用程序端点之间传送应用层报文;
b)在因特网中有两个运输层协议,即
TCP和
UDP;
c)TCP协议向它的应用程序提供了面向连接的服务,这种服务包括了应用层报文向目的地的
“确保传递”和
“流量控制”
,TCP也将长报文划分为短报文,并提供
“拥塞控制”
机制;
d)UDP协议向它的应用程序提供无连接的服务,没有可靠性、流量控制和拥塞控制。
e)运输层分组称为
“报文段”。
*网络层:
a)网络层负责将称为
“数据报”的网络层分组从一台主机移动到另一台主机;
b)因特网的网络层包括了
“IP协议”和一些
“路由选择协议”;
c)“IP协议”定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。
*链路层:
a)为了将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠链路层的服务。在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传送给下一个节点,在下个节点,链路层将数据报上传给网络层;
b)链路层的例子包括以太网、WiFi等,一个数据报可能被沿途不同链路上的不同链路层协议处理,网络层将受到来自每个不同链路层协议的不同服务;
c)链路层分组被称为
“帧”。
*物理层:物理层的任务是将链路层“帧”中的一个一个
比特从一个节点移动到下一个节点
*总结图表:
3)
封装:
*数据从
发送端系统的协议栈向下,向下和向上经过中间的
链路层交换机和
路由器的协议栈,进而向上到达
接收端系统的协议栈。
*
路由器和
链路交换机以多层次的方式组织它们的网络硬件和软件,而并不实现协议栈中的所有层次。
*
主机实现了所有五个层次,这与因特网体系结构的将复杂性放在网络边缘的思想是一致的。
*封装的过程:
a)在每一层,一个分组具有两种类型的字段——
部首字段和
有效载荷字段,有效载荷通常是来自上一层的分组;
b)一个大
报文可能被划分为多个运输层的
报文段,每个
报文段可能被划分为多个网络层的
数据报。在接收端,则必须从其连续的数据报中重构成划分前的报文段。