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

前言

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

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

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

总结

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

原文地址:https://www.cnblogs.com/WhatsYourProblem/p/4084854.html