计算机网络技术 A
《计算机网络》
Computer Networks
A Systems Approach
Second Edition
Larry L.Peterson Bruce S.Davie
课前提问
1、如果要你设计一个网络,第一件事你做什么?
2、你一般在网络上做什么?
3、你认为具备什么条件才能算得上是一个计算机网络?
4、你认为哪些人可能使用网络?
5、你是否用过 ping,arp,telnet,ftp等命令或相关工具?请你尽可能多的列出你所了解的网络协议?
1.1 必须思考的问题
1.你坐在电脑前,上网,看网页、玩游戏、聊
QQ/MSN,这个过程中究竟发生了什么?
2.你编写网络应用程序,使用 Socket编程,调用
socket,connect,bind,listen,accept等
API,你究竟在做什么?
3.你报怨网速不快,你想多台电脑共享一个连接,
某个网站需要设置代理才能登录,你的电脑在整个网络中究竟处于什么地位?
4.有人付费让你组建一个网络,你需要哪些硬件?
什么软件?如何确定用户的需求与费用?
1.2 网络知识的分类
1,网络基本概念:
网络使用者、网络的基本需求、网络的各决定性因素
2,网络硬件网络介质(链路)、网络设备(结点)
3,网络体系结构网络结构、网络协议
4,网络应用各种网络应用程序及网络服务等。
1.3 选用教材的特点
1,过于杂乱
2,Peterson版教材是入门级 经典 教材
3,重视方法与思想,兼顾算法与结论
4,内容完整而且系统
1.4 教材内容概述全书共分九章:
1,给出网络的全局概念,是全书的纲要。
2,详述最简单的机器直连网络的各方面。
3,探讨间接互连网络中产生的新问题。
4,如何将多个已经存在的网络连接为一个大网络。
5,开始详细设计协议 ---端到端协议。
6,如何提高网络效率 ---拥塞控制和资源分配。
7,如何减小数据量 ---数据编码与压缩。
8,网络安全 ---在基本功能之上的附加要求。
9,常见的网络应用。
1.5 本课程的要求
1,包含大量分析,这要求大家要集中注意力,跟上作者的思路,
2,这是一本启发式的教材,遇到问题先自己想想,如果是我来分析,我会怎么想,书上写的为什么我没想到,或者我是不是有更好的想法和思路?
3,其中有大量的理论、算法,需要大家上课认真听,下课仔细揣摩、记忆、实践。
4,尽可能的阅读其它专题性的经典著作。
1.6 确定用户群
1,普通用户简单地上网,使用各种网络程序获得所需网络资源的网络用户。
2,网络程序员利用各类编程语言和网络协议开发各类网络服务,
提供网络服务资源的网络用户。
3,网络设计者设计网络物理架构和软件(协议)体系的网络用户。
4,网络经营者(提供者)
运用网络设计者的构思,投资于网络建设,向其它网络用户提供网络硬件资源的网络用户。
1.7 网络的需求
1) 连通性针对所有网络用户。需要考虑连通的方式。
2) 较高的效益 --成本比网络经营(提供)者的要求,网络设计者的任务。需要考虑如何降低成本和提高效益。
3) 支持共同的服务普通用户和网络经营者的要求,网络设计者和网络程序员的任务。
4) 高的运行性能普通用户的要求。
1.7.1 连通性
1,连通的介质有形介质,光缆、电缆等无形介质,真空、空气传媒,电磁波
2,相关概念链路,连接两个结点的介质结点,被链路连接的设备
3,连通的方式直接连接,一条链路直接连接两个结点间接连接,A?B?C,则 A间接连到 C
1.7.1 连通性 (续 )
3,连接的方式 (续 )
连接的拓扑结构 (topology):
(a)
(b)

(c) d
直连 (线型拓扑 )
网状 (不规则型拓扑 )
总线 (星型拓扑 )
1.7.1 连通性 (完 )
4,产生的其它问题网络的实现方式,分组交换网、电路交换网其它相关问题,存储转发策略、交换机、路由器、网关、网络地址、单点播送、多点播送
5,计算机网络的特点:
1) 比较对象,电话网、有线电视网
2) 结论,延续时间长、持续时间短。
1.7.2 较高的效益 --成本比
1,核心问题多路复用技术,频分、时分、统计
2,引发的问题拥塞、资源分配、网络安全
L1
L2
L3
R1
R2
R3Switch 1 Switch 2

多路复用示意图 分组交换多路复用示意图
1.7.3 支持共同的服务
1,提出的要求:
a,不同的网络要能相互通信
b,不同主机上的应用程序要能相互通信
c,不同的网络协议能够相互转换,一般是利用中间协议
2,产生的概念:
信道、有用信道
3,本节重点讨论的问题什么条件下的信道才是有用信道?
1.7.3 支持共同的服务(续)
4,有用信道的条件分析
1) 识别共同的通信模式要分析有哪些通信模式,哪些信道类型
2) 有很好的可靠性要分析哪些环节可能出错,如何防止和纠正
3) 能满足应用的基本需求指现在技术水平能够满足应用的速度要求。
5,其它概念服务器、客户机、信道分类(请求 /应答、消息流 P11p2)
1.7.3 支持共同的服务(完)
6,可能出错的环节及错误类型
1) 比特错,传输中受干挠或因其它原因产生
2) 分组错,拥塞、线路故障等各种原因产生
3) 物理帮障,链路断开
4) 人为错误:伪装成正确而实际不合法的信息
1.7.4 高的运行性能
1,如何定义性能?
尽可能 快 的传递尽可能 多 的 正确 数据。
2,如何衡量网络性能? ( P13-P17)
1) 带宽 (P13,P12)和时延(客观)
2) 延迟和带宽的乘积(客观)
*3) 应用的性能需求(主观)
4) 请求和建立传输的附加时间 (P17)
光速信息,P14 等长光纤 RTT>电缆 RTT
附:性能指标概念
1,带宽 (bandwidth) P12 P13
2,吞吐量 (throughput) P13 P16
3,时延 /延迟 (latency/delay) P13
4,RTT(Round-Trip Time) P14
5,发送延时 (Transmit) P14
6,有效吞吐量 (P16— P17)
7,抖动 ( P18p4)
1.8 网络的体系结构
1,网络的硬件拓扑结构与前面的连通性问题重叠,其实质是结点的连接布局问题。
2,网络的软件体系结构与所有软件设计一样,网络软件体系也采用分层的组织方式。这里介绍了两种现有解决方案。
1) OSI体系结构
2)因特网体系结构
1.8 网络的体系结构 (完 )
3,网络分层与消息传递
1) 如何分层 (协议分层 )
底层只负责完成主机到主机的通信; 高一层负责保证通信的质量;还可以抽象出更好的层次 (比如负责完成文件传输工作 )
2) 消息传递问题的核心与实质是消息如何从源结点从上向下穿越所有层最终在网络上传送到目的结点,并在目的结点从下向上到达最终的目的应用。
现有解决方案是每层加上 /去除本层的头信息。
注:学习的重点是理解各层如何确保正确性。
附:消息穿越层的过程第 0层协议消息格式处理器待发 /收的信息第 1层协议消息格式处理器待发 /收的信息消息体 0
消息体 1
第 2层协议消息格式处理器待发 /收的信息消息体 1
消息体 2
第 0层 第 1层 第 2层信息消息体 0
1.8.1 OSI网络体系应用层表示层会话层传输层网络层数据链路层物理层终端主机应用层表示层会话层传输层网络层数据链路层物理层终端主机网络层数据链路层物理层网络层数据链路层物理层
1.8.2 因特网协议结构
FTP HTTP NV TFTP
TCP UDP
IP
NET1 NET2 NET3 NET4
网络层数据链路层物理层应用、表示、
会话层运输层
1.8.3 因特网体系结构网络协议
IP
TCP UDP
应用协议
1.9 网络应用
1,可用的网络编程接口
Socket/WinSocket,后者是在前者基础上开发的,有两种命名方式:全小写(与 Socket
兼容),首字母大写(有 WinSocket特性的)。
2,网络编程效率
1) 开发效率用 Socket API有较高的开发效率,却有较低的运行效率,尤其当信息要在多个协议间往返时更是如此。
2) 运行效率
1.10 其它
1,服务器主要是软件概念,表示提供某种服务的程序。
有时也用于表示运行了服务器软件的电脑。
2,本章提到的协议( P24--P25)
IP,TCP,UDP,FTP,TFTP,SMTP、
HTTP
提问条件:有两种货车,A装载量是 8吨,速度 40Km/H; B
装载量 32吨,速度 30Km/H,公路长度 120Km。
1,如果有 30吨货要送,你选择哪辆车?为什么?
2,如果有 1吨紧急药品要送,你选择哪辆车?为什么?
3,如果有 120吨货要送,其它条件不变时,A,B的速度满足什么关系,用两辆车送效果相同?
4,你认为是 A车效率比较高还是 B车效率比较高,为什么?
5,从 D栋到 2栋步行需要 5分钟,现在 D栋管理员每分钟放行一次,每次 10个同学同时出发,问 200个学生共需多少分钟可全部到达 2栋?