因特网
因特网:一个世界范围的计算机网络,它互联了遍及全世界的计算机设备。
主机:也被称为端系统,是与因特网相连的设备。因特网应用程序运行在端系统上。
端系统通过通信链路(communication link)和分组交换机(packet switch)连接在一起。
通信链路:由不同类型的物理媒体组成(如:同轴电缆,光纤,无线电频谱)。
分组:当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包被称为分组。
分组交换机:从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发分组。主要分为路由器(router)和链路层交换机(link-layer switch)。
路径:一个分组所经历的一系列通信链路和分组交换机。
因特网供应商:Inernet Service Provider,ISP。是一个由多个分组交换机和多段通信链路组成的网路。将端系统接入网络,提供了不同类型的网络接入。
低层的ISP通过国家的,国际的高层ISP互联起来。高层ISP是由高速光纤链路互联的高速路由器组成的。
无论是高层还是低层ISP,它们每个都是独立管理的,运行者IP协议,遵从一定的命名和地址习惯。
分布式应用程序:distribute application,涉及多台相互交换数据的端系统。
应用程序编程接口:Application Programming Interface,API。规定了运行在一个端系统上的软件请求(因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式)。
TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,因特网协议)是因特网中最重要的协议。
因特网的主要协议统称为TCP/IP。
为了完成一项工作,要求两个(或多个)通信实体运行相同的协议。
在因特网中,凡是涉及两个(或多个)远程通信实体的所有活动都受协议的制约。
一个协议定义了在两个(或多个)通信实体之间交换的报文格式和次序,以及报文发送和报文接收或其他事件所采取的动作。
网络边缘
端系统处在网络边缘。
端系统也称为主机,因为它们容纳(即运行)应用程序。
主机有时又被进一步划分为两类:客户(client)和服务器(server)
接入网:access network 。指将端系统连接到其边缘路由器(edge router)的物理链路。
边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器。
通常是用局域网(LAN)将端用户连接到边缘路由器。
以太网是目前为止最为流行的接入技术。
以太网用户使用双绞铜线与一台以太网交换机相连,以太网交换机再与更大的因特网相连。
在无线LAN环境中,无线用户从/到一个接入点发送或接收分组,该接入点与企业网相连(很有可能包括有线以太网),该企业网再与有线因特网相连。
移动设备通过蜂窝网提供商运营的基站来返送或接收分组。
网路核心
又互联因特网端系统的分组交换机和链路构成的网状网络。
在各种网络应用中,端系统彼此交换报文。
报文能够包含协议设计者需要的任何东西。
为了从源端系统向目的端系统发送一个报文,源端系统将长报文划分为较小的数据块(分组,packet)
在源端系统和目的端系统之间每个分组都通过通信链路和分组交换机传送。
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)。
存储转发:在交换机能开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)也称为输出队列(output queue),它用于存储路由器准备发往那条链路的分组。
如果到达的分组需要传输到某条链路,但是发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待。
因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了,在此情况下,将出现分组丢失(丢包,packet lost)
在因特网中,每个端系统都具有一个称为IP地址的地址,该地址具有等级结构。
源端系统在发送的分组的首部包含了目的地的IP地址。
每台路由器具有一个转发表(forwarding table),用于将目的地(或一部分)映射为输出链路。路由器使用分组的目的地址来索引转发表并决定适当的出链路。
因特网具有一些特殊的路由选择协议(routing protocol)用于自动设置转发表。
电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率等)。如:电话网络是电路交换网络。
在发送方能够发送信息之前,该网络必须在发送方和接收方之间建立一条连接。
此时沿着发送方和接收方之间路径上的交换机都将为该连接维护连接状态。
链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。
FDM,链路的频谱由跨越链路创建的所有连接所共享,在连接期间链路为每条连接专用一个频段,频段的宽度称为带宽。每条电路连续地得到部分带宽。
TMD,时间被划分为固定区间地帧,每帧被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接提供时隙。每条电路在时隙中周期性地得到所有带宽。
网络的网络
端系统通过接入ISP与因特网相连,ISP自身必须互联,因此创建了网络的网络。
第一层ISP(全球承载ISP)
区域ISP
接入ISP
端系统
ps:内容提供商(如:谷歌)数据中心经过专用的TCP/IP网络互联,独立于公共因特网。
计算机网络必定要限制在端系统之间的吞吐量(每秒能够传送的数据量)
在端系统之间引入时延,允许丢失分组。
时延:包括节点处理时延(检查分组首部和决定将该分组导向何处所需要的时间),排队时延(分组在链路上等待传输的时间),传输时延(等待分组所有比特到齐的时间),传播时延(从一台路由器到另一台路由器传播的时间)。
协议层及其服务模型
以分层形式组织协议,每一层调用下一层的服务,在该层执行某些动作,并向上一层提供服务。
各层的所有协议被称为协议栈(protocol stack)
因特网协议栈:应用层,运输层,网络层,链路层,物理层
应用层:应用程序及它们的应用层协议存留的地方。(HTTP,SMTP,FTP,DNS)。
传输层:在应用程序端点之间传送应用层报文(TCP,UDP)。
网络层:负责将分组从一台主机移动到另一台主机。(IP,路由选择协议)。
链路层:将分组从一个节点(主机或路由器)移动到路径的下一个节点。
物理层:将分组中的一个个比特从一个节点移动到下个节点。
OSI模型多出的两个层:表示层,会话层
表示层:使通信的应用程序能够解释交换数据的含义(数据压缩,数据加密,数据描述)。
会话层:提供数据交换定界和同步功能(建立检查和恢复方案)
这两个层留给应用程序开发者处理。
封装:一个应用层报文被传送给传输层,运输层收到报文并附上运输层首部信息构成运输层报文,运输层向网络层传输该报文段,网络层增加了网络层首部信息,构成网络层数据报,该数据报被传递给链路层,加上链路层首部信息,成为链路层帧。