第一章 计算机网络和因特网
电脑和手机等设备被称为主机或端系统,这些设备经过通讯链路和分组交换机链接到了一块儿。缓存
端系统之因此叫端系统,是由于它们位于网络的边缘。因为端系统上能够运行程序,因此又能够称为主机。服务器
主机能够被分为客户和服务器。数据中心中运行着大量的服务器(如谷歌的数据中心)。网络
通讯链路也就是平时所见的传输数据用的电缆或者光纤等物理媒体。分组在通讯链路中传送,其传送的速度用传输速率(bit/s,bps)来度量。app
分组(package)能够认为是被打包传送的数据。数据在发送端被拆分红若干分组,并在这些分组的前面加上首部字节,而后发送给接收端,接收端收到全部分组后,将数据还原为初始数据。分组传输时所通过的路径(path)由通讯链路和分组交换机共同组成。分布式
分组交换机比如是咱们生活中高速公路上的交叉口,两种比较著名的分组交换机为路由器和链路层交换机。路由器通常在网络核心中使用,链路层交换机则在接入网中使用。spa
端系统经过ISP(因特网服务提供商)接入因特网。电信、联通等电话公司都是咱们生活中常常接触到的ISP。ISP其实也是由通讯链路和分组交换机组成的网络。计算机网络
网络中的设施都运行着一系列协议,TCP/IP协议是因特网的基础。3d
因特网标准由IETF研发,IETF的标准文档称为RFCblog
分布式应用程序:可以让多个端系统之间相互交换数据的应用程序接口
套接字接口的做用:规定一个端系统上的程序向另外一个端系统上的程序交付数据的方式。是某主机的程序发送数据给另外一台主机的程序时必须遵循的一套规则集合。就比如邮寄信件时,必须按照规定格式填写收件人地址,套接字接口的做用就比如这种规定。
协议:协议定义了在两个或多个通讯实体之间交换的报文的格式和顺序,以及报文发送/接受一条报文或其余事件时所采起的动做。类比到咱们生活中,两我的对话的过程就比如执行协议。报文的格式相似于咱们与他人对话时要遵照的一些表达上的规矩,不能冒犯人家。说话时,通常是你一句,我一句,报文也是按照这样的顺序进行发送和接受。咱们听到别人的一些请求后,可能会采起一些行动,好比有人让你帮他倒杯水,你听到了,而且作了,那么就能够说你接收到了一条报文,并按照报文的内容来执行倒杯水这个动做。
接入网
端系统经过物理链接到边缘路由器,造成接入网。边缘路由器是端系统到任何远程端系统的路径上的第一台路由器。
① 家庭接入:DSL、电缆、FTTH、拨号和卫星
1. DSL(数字用户线)接入,由本地电话公司负责。
DSLAM:数字用户线接入复用器
选择这种因特网接入方式的每户家庭中,都有一台DSL调制解调器,用来将数字数据转化为高频音。转化完成后,使用电话线(双绞铜线)传到分配器(分配器可分隔数字信号和电话信号),分配器将高频音发送到在位于本地电话公司的本地CO(中心局),中心局中有一台DSLAM能够将高频音信号转回为数据(也能够分隔数字信号和电话信号),而后将数据传送到因特网。
2. 电缆接入,由有线电视公司负责。
使用了HFC(混合光纤同轴)系统,在光纤节点和CMTS之间的路段使用光缆链接,从节点到每家每户则使用同轴电缆。HFC网络的用户家庭中会有一台电缆调制解调器(cable modem),其做用相似于DSL网络中的DSL调制解调器。电视公司有一台CMTS(电缆调制解调器端接系统),做用相似于DSLAM。
电缆因特网接入的一大特征是共享广播媒体,意思是,对于Figure 1.6 中的电缆因特网系统,同一时间内使用因特网的用户越多,网速就越慢,反之,则越快,但也会有个网速上限。
3. FTTH(光纤到户,Fiber To The Home)
光纤分布的一些方案:
4. 卫星
在偏远地区的用户能使用卫星链路来连入因特网。
5. 拨号
用户经过电话线拨号接入因特网,这种接入方式所带来的网速慢到怀疑人生。
② 企业(和家庭)接入:以太网和WiFi
以太网和WiFi原本主要在企业里使用,后来走进了人们的家庭。
WiFi其实就是无线LAN(局域网)
物理媒体分为导引型媒体和非导引型媒体
导引型媒体,传播电信号的固体媒体,比较经常使用的有:
非导引型媒体:陆地无线电和卫星无线电
分组交换
对于来自上一条链路的分组,分组交换机采用存储转发传输机制。存储转发传输机制指的是,分组交换机只有在接收到一个分组的全部比特后,才会将这个分组发往下一条链路。分组交换机具备输出缓存,分组到达交换机了以后,可能交换机正在准备发送前一个到达它的分组,这时候新到达的分组就须要被暂时缓存起来,即“排队等待”,这就形成了排队时延。因为交换机的缓存大小是有限,若是到达它的分组实在太多,那么后面到达的分组颇有可能会丢失,即发生了分组丢失(丢包)。
路由器如何决定将分组转往哪条链路?
分组的首部会包含目标的的IP地址,路由器读取该IP地址的一部分,而后经过一张转发表来查找合适的出链路。这个过程就比如寄快递,好比要寄一个到浙江省杭州市火影镇木叶小区14幢楼211室的包裹,快递公司拿到这个目标地址后,会先提取这个地址的一部分(浙江省),而后将这个包裹发送到位于浙江的快递中心。浙江的快递中心再提取这个地址的一部分(杭州市),把这个包裹发往杭州市,以此类推,最后发到包裹收件人家里。转发表能够将目标IP地址的一部分映射为合适的输出链路。转发表由路由选择协议自动设置生成。
电路交换
与分组交换相比,电路交换预留了两端系统之间通讯所须要的资源,也就是可以确保以稳定的速率将数据从起始端交付给目标端。咱们传统的电话网络就是应用了电路交换。分组交换网络尽量地输送数据,可是对于数据是否能被实时交付,分组交换网络不作任何保证。
上图是个简单的电路交换网络,有4个路由器被4条链路链接在一块儿,每条链路中有4条电路。图中蓝色线段部分链接了两个端系统,对于端到端系统之间的链路而言,该链接占用了整条链路1/4的传输容量,即若是一条链路的传输容量为1Mbps,则该电路占用了250kbps的传输容量。
电路交换是经过频分复用(FDM)或者时分复用(TDM)来实现的。
FDM:链路的频谱被建立在这条链路上的全部链接共享,每一个链接都有属于本身的频段,频段的宽度被称为带宽
TDM:每条电路在短期间隔内周期性地得到全部带宽。
电路交换和分组交换的对比:电路交换常常会出现静默期,即两个用户的端系统之间的链接仍然存在,但两用户并无使用这条链接来传输任何数据,这会致使资源的浪费。而分组交换则可能存在数据到达的速率不稳定,中途还可能出现拥塞的状况。但分组交换会是将来的趋势。
因为因特网用户数量巨大,ISP之间必须互联。
网络结构1:一个全球传输ISP互联全部接入ISP。
因为通讯公司之间的竞争,致使了网络结构2:多个全球传输ISP和全部接入ISP的组合
网络结构3:全部接入ISP,多个区域ISP,多个全球传输ISP
网络结构4:在网络结构3的基础上,引入了多宿、存在点、对等、因特网交换点的概念
多宿:可与多个ISP提供商链接
存在点(PoP):提供商网络中的一个或者多个在相同位置的路由器的群组
?对等:相同等级层次的邻近ISP之间能够对等
?因特网交换点(IXP):多个ISP在这个交换点对等
网络结构5:在网络结构4的基础上,增长了内容提供商网络的概念。谷歌就是个内容提供商,独立与公共因特网。
时延的类型:
处理时延:检查分组的首部,肯定分组的传送方向,检查分组内容是否出现错误
排队时延:若是分组到达交换机后,在这个交换机中,还有有待处理的分组,则该新到达的分组则须要排队等待交换机的处理
传输时延:将分组从交换机的入口处传输到交换机的出口处所花的时间
传播时延:分组在两交换机之间的链路上传播所花的时间
吞吐量:传送数据的速率
分为瞬时吞吐量和平均吞吐量,这些概念和物理学中的速率差很少。现在的因特网吞吐量的限制因素主要存在于接入网中。下图链接的吞吐量为传播速率最小的链路的数据传输速率,即min{R1,R2,...,RN},其中R1,R2,RN均为对应链路的传播速率。
第二章 应用层
应用程序体系结构分为客户-服务器体系结构和P2P体系结构
客户-服务器体系结构:
老是打开的主机称为服务器,主要用于处理来自客户的请求。随着因特网的发展,客户请求数目愈来愈大,单单的几台服务器处理不过来这么多请求,因而数据中心产生了,数据中心中有大量的服务器没日没夜地运做。
客户-服务器体系结构的特征:客户之间不直接通讯;服务器具备固定的、周知的地址。
应用例子:Web、电子邮件、Telnet、FTP
P2P体系结构:
两台互相直接链接或者间接链接的端系统(对等方)之间能够直接传输数据,这两台端系统是彼此的客户和服务器。P2P体系的特性:自扩展性,即对等方之间因为互相请求文件而产生工做负载,但因为能够帮助处理请求因此也增长了服务能力。
运行在端系统上的程序能够称之为进程
1. 客户和服务器进程
定义:在一对进程之间的通讯会话场景中,发起通讯的进程被标识为客户,在会话开始时等待联系的进程是服务器
在P2P体系结构中,A进程便可以是B进程的客户,也能够是B进程的服务器
在客户-服务器体系中,A进程和B进程之间的关系是绝对的。