首页 > 代码库 > 第一章 计算机网络和因特网

第一章 计算机网络和因特网

前言

  写这部分随笔是因为在上这个课,上课加上读了《计算机网络 自顶向下方法》之后的有所理解,又因为原书特别繁冗,感觉在复习的时候会压力很大,先记录下来以备后用。

1.1 什么是因特网

  具体构成:主机(host)或端系统(end system)通过通信链路(communication link)与分组交换机(packet switch)链接到一起,从而组成因特网。其中电脑、手机等均属于主机或端系统。而分组交换机中经常用到的有路由器(router)和链路层交换机(link-layer switch)。端系统通过因特网服务提供商(Internet Service Provider,ISP)接入了因特网,每个ISP是由多个分组交换机和多段通信链路组成的网络。

  服务描述:根据基础设施向分布式应用程序提供的服务。简单来说,就是端系统向分布式应用程序提供应用程序编程接口(Application Programming Inetrface),而分组交换机则促进不同端系统之间的交互。

  协议:定义两个或者多个通信实体之间交换的报文格式和次序,以及报文(message)传输和接收等事件方面所采取的动作。

1.2 网络边缘

  客户机和服务器程序:客户机程序(client program)是运行在一个端系统上的程序,它发送请求,并从运行在另一个端系统上的服务器程序(server program)接受服务。

  接入网:接入网(access network)即将端系统连接到其边缘路由器(edge router)的物理链路。下面是接入网的数据表格:

 使用设备接入方式
住宅接入(residential acces)调制解调器(modem)数字用户想(DSL),混合光纤同轴电缆(HFC)
公司接入(company access)边缘路由器局域网(LAN)
无线接入(wireless acess)基站或无线接入点无线局域网(wireless LAN),广域无线接入网(wide-area wireless access network)

  物理媒体:物理媒体(physical medium)划分为导引型媒体(guided media)和非导引型媒体(unguided media)。对于导引型媒体,电波沿着固体媒体被引导。对于非导引型媒体,电波在空气或外层空间中传播。下面是物理媒体的数据表格:

 常用地点速率传输距离常用标准
双绞铜线建筑物内局域网10Mbps~1Gbps非屏蔽双绞线(UTP)
同轴电缆电缆电视系统1Mbps或更高 
光缆长途网络系统51.8Mbps~39.8GbpsOC-n(速率为 n * 51.8 Mbps)
陆地无线电信道局域无线网(wifi等)和广域无线网(手机网络等)  
卫星无线电信道 Gbps的速率 

1.3 网络核心

  电路交换和分组交换:电路交换(circuit switching)和分组交换(packet switching)是网络链路和交换机移动数据的两种基本方法。其中电路交换多用于电话,当两台主机要通信时,会创建一条专用的端到端连接(end-to-end connection),链路中的电路要么通过频分多路复用(FDM)实现,要么通过时分多路复用(TDM)实现。而分组交换则是重点,多在计算机网络中应用。主机中各种应用程序在完成任务时要交换报文,有时候报文会很长,这时候源主机将长报文划分为较小的数据块,叫分组(packet),而这些分组就通过通信链路和分组交换机发送到目标主机。而分组交换机多使用存储转发传输(store-and-forward transmission),顾名思义就是先存着,等待前面的分组发送完了再发送,而对于这些存着的分组叫做输出缓存(output buffer)或输出队列(output queue),当然一个分组交换机的缓存是有限的,当这个缓存满了的时候,后续到达的分组就会丢失,这叫做分组丢失丢包(packet lost)。术语说完了下面是两种传输方法的比较,这里假设每个用户都以100Kbps速率产生数据,链路的速率都是1Mbps,下面是对比表格:

 电路交换分组交换
支持用户数10个同时10个及以下都没有延时,10个以上有延时,但是可以支持
资源浪费只有用户活跃时他对应的频段(FDM链路)或者帧(TDM链路)才会使用,若只有1个用户活跃,其他9个频段或帧就会空闲,有资源浪费无论几个用户,都可以在分组交换机中排队,直到队列达到上限才会丢包
延时问题只有交换机自身的延时当用户过多的时候会额外加上等待延时

  ISP和因特网主干:因特网是分层的,每一层的ISP使用它的上层的服务,并为它的下层服务,当然顶层和底层例外。顶层即第一次,也叫因特网主干(Internet backbone)网络,包括AT&T、NTT、Sprint等。而第二层多是区域性或国家性的。当两个ISP彼此直接连接时,它们被称为对等(peer)的。

1.4 分组交换网络中的时延和吞吐量

  这一部分较为繁琐,为了以后能够很快的想起计算方法,还是使用表格吧,首先是数据假设,只经过一台交换机,该交换机在排队的分组数量W,要开始传输的分组数量Q,分组长度L bit,链路速率R bps,链路长度d m,该链路的物理媒体的传播速度s m/s,然后是表格:

 标号说明计算方法
处理时延(nodal proccessing delay)dproc即检查首部、决定分组导向和查错等的时间 
排队时延(queuing delay)dqueue即等待先期到达分组、正在排队分组发送出去的时间W*dtrans
传输时延(transmission delay)dtrans即分组从交换机进入链路或从链路进入交换机的时间L/R
传播时延(propagation delay)dprop即分组从链路的一端到另外一端的时间d/s

  由于传输和传播时延比较难理解,给出课本中java小程序的链接:http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/transmission/delay.html

  吞吐量:简单来说就是终端之间数据的传输速率,假设终端之间有n段链路传输速率分别是R1~Rn,则吞吐量为min{R1, R2 ... Rn}。

1.5 协议层次和各层信息

  协议分层:采用自顶向下方法(top-down approach)进行分层,各层的所有协议被称为协议栈(protocol stack)。下面给出各层的信息:

 说明包含协议负责信息信息首部
应用层分布在端系统上,用于端系统应用程序的信息分组交换HTTP、SMTP、FTP、DNS等报文(message) 
运输层用于应用程序端点之间传送应用层报文的服务TCP、UDP等报文段(segment)Ht
网络层用于传输运输层的报文段,除了分组外会在首部加上目的地等信息IP等数据报(datagram)HnHt
链路层用于传输网络层的数据报PPP等帧(frame)HlHnHt
物理层用于传输链路层的帧   

  七层ISO OSI参考模型:只比基本的协议结构多了两层,其中表示层提供数据压缩、数据加密等服务,会话层则提供数据交互定界和同步等功能。这两层对于开发者来说是可以选择的。下面给出表格:

应用层
表示层
会话层
运输层
网络层
链路层
物理层

总结

  第一章就大概完成了,如果有错误或者缺漏后面会继续完善。

第一章 计算机网络和因特网