790 likes | 998 Views
COMPUTER NETWORKS. 谭晓阳 CS dept. SYLLABUS. 教材: 谢希仁 计算机网络 ( 第三版 ) 大连理工大学出版社 参考书 : 1. 计算机网络, A.S. 坦尼伯姆 清华大学出版社 2. 计算机网络与 Internet E.Comer ( 第三版) 清华大学出版社. SYLLABUS. 谭晓阳 计算机网络研究室 10号楼二楼 Email:txy@ultratech.com.cn txy@graphics.nju.edu.cn Tel:4892803 4802150( 晚8点以后).
E N D
COMPUTERNETWORKS 谭晓阳 CS dept.
SYLLABUS • 教材:谢希仁计算机网络(第三版)大连理工大学出版社 • 参考书: • 1.计算机网络,A.S.坦尼伯姆清华大学出版社 • 2.计算机网络与Internet E.Comer(第三版)清华大学出版社
SYLLABUS • 谭晓阳 • 计算机网络研究室 10号楼二楼 • Email:txy@ultratech.com.cn txy@graphics.nju.edu.cn • Tel:4892803 4802150(晚8点以后)
Part I Introduction “The kingdom of God is like a net…” --Matthew 13:47
课程内容: • 系统介绍计算机网络的基本概念和原理:从底层的硬件连接、数据传输到高层的网络应用等各个方面的内容。
将学习… • 网络术语 • 通信基础 • 通信媒介及信号 • 同步和非同步通信 • 带宽( bandwidth )、吞吐量( throughput )、噪声( noise)及其关系 • 频分和时分多路复用
将学习…(continued) • 联网技术 • Packet switching • Framing, parity, and error detection • Local and wide area technologies • Network addressing • Connection and extension (repeaters, bridges, hubs, switches) • Topologies and wiring (star, ring, bus) • Next-hop forwarding • Shortest path computation • Measures of delay and throughput • Protocol layers
将学习…(continued) • 网间互连技术 • Motivation and concept • Internet Protocol (IP) datagram format and addressing • Internet routers and routing • Address binding (ARP) • Internet control messages (ICMP) • User Datagram Protocol (UDP) • Transmission Control Protocol (TCP) • Protocol ports and demultiplexing
将学习…(continued) • 网络应用 • Client-server paradigm • Domain name system (DNS) • File transfer (FTP) • Remote login (TELNET) • Email transfer (SMTP) • Web technologies and protocols • HTTP, CGI, Java
不涉及 • 商业相关…. • Products • Vendors • Prices • Network operating systems • 如何采购、配置、操作网络 • 如何设计、实现协议软件
Background Required • C 编程能力(subset of C++) • 操作系统基本知识 • Terminology • Functionality • Processes and concurrent processing • Desire to learn: ACTIVE LEARNING= THINKING + PRACTISING
课程内容安排 • Signals, media, bandwidth, throughput, and multiplexing (~2.5 weeks) • Packet transmission: concepts, technologies (~4.5 weeks) • Internetworking fundamentals (~2.5 weeks) • Internet applications (~4.5 weeks)
第一章 引论 ●1.网络的前世今生-什么来头? ●2.网络的定义-到底什么是网络? ●3.联网的动机-为何要联网? ●4.网络解剖-网络如何构成的? ●5.幕后-网络为我们做了什么? ●6.驱动网络-网络编程,困难吗?
1.1计算机网络的发展 • 单机 大、中、小型机—庞大,昂贵 缺点——资源无法共享 • 网络 始于50’s,近20年发展迅速。发展的动力: • 资源共享的需求 • 大型项目的合作 • 人与人之间的沟通 从体系结构来观察,网络的发展可分为三个时代: ◆联机终端系统 ◆以通信子网为中心 ◆采用标准化的层次体系结构
1.以主机为中心的联机终端网络系统 • 20世纪60’s以前。。。 • 特征——共享主机资源 • 单台主机——计算、通信 • 多台终端——用户交互 • 本地、远程连接 • 结构
EXAMPLE • 美国的飞机订票系统SABRE-1 • 1 HOST • 2000 Terminal • 通信线路(电话线路) • 此结构的网络至今仍在使用 • 缺点 • 主机负荷重,数据处理+通信 • 线路利用率低 • 改进 • 多点通信,近距 • 终端集中器,近/远距 • 前端处理机——通信任务分离
T HOST T T 通信线路 T HOST HOST T T T T T T 2.主机-主机网络 • 20世纪60’s –20世纪70’s • 特征 • 单主机终端网络的互联,形成多主机为中心的网络 • 网络结构从“主机-终端” 转变为“主机-主机” • 结构
T T HOST CCP CCP CCP HOST HOST T T T T T T 主机-主机网络的演变 • 演变阶段1 • 通信任务从主机中分离 • CCP(Communication Control Processor) • 通信控制处理机 • 专门处理主机之间的通信任务
两层网络概念的出现 • 1.由CCP组成的传输网络——通信子网,为资源子网提供信息传输服务
2.主机的集合——资源子网,提供各种网络资源,建立在通信子网基础上(可多系统并存)2.主机的集合——资源子网,提供各种网络资源,建立在通信子网基础上(可多系统并存) T T H T T T C C C T 通信子网 H H T 资源子网 T T
T T HOST T 公用数据通信网 T HOST HOST T T T T T T 演变阶段2 • 通信子网规模扩大,私有→社会公用 • 公用数据通信网 • PSTN • X.25 • 优点 • 降低用户系统建设成本 • 通信线路利用率高 • 兼容性好
Example • 因特网的前身——ARPANET • 美国军方建立的实验性网络 • 最初4个节点→70’s的60多个节点 • 地域跨越美洲、欧洲 • 具有现代网络的许多特征,例如 • 分组交换 • 分层次的网络协议 • 第二代计算机网络的不足之处 • 网络普及程度低 • 标准不统一 • 网络体系结构的研究不成熟
3.体系结构标准化网络 • 20世纪70’s-至今 • 不同网络设备之间的兼容性和互操作性是推动网络体系结构的标准化的原动力 • 各厂商、研究机构、大学在网络技术、方法、理论等方面的研究日趋成熟是其基础 • 标准化过程的两个阶段 • 厂商标准:IBM-SNA,DEC-DNA • 缺点:适用范围:兼容性? 技术垄断:竞争? 标准不统一:用户利益? • 标准制定问题 • 标准化任务只能由不偏向于任何厂商的非盈利中立组织来制定 • 例外——“事实上的标准”,如TCP/IP
国际标准阶段 • 国际标准:ISO-OSI/RM • Open System Interconnection/ Recommended Model (开放系统互联参考模型,简称OSI参考模型) • OSI参考模型是一种概念上的网络模型 • 其标准保证了不同网络设备之间的兼容性和互操作性 • 规定了网络体系结构的框架 • 只说明了做什麼(WHAT TO DO)而未规定怎样做(HOW TO DO) • 现在的计算机网络均是在OSI/RM的框架下运作的 • PC导致了局域网的出现 • 局域网的标准:IEEE802 • IEEE802也符合OSI/RM标准 • 开始就建立在标准化的基础上
1.2计算机网络的概念 • 计算机网络的定义 • 以相互共享资源方式连接起来,且各自具有独立功能的计算机系统的集合;利用各种通信手段,把地理分散的计算机互联起来,互相通信且共享资源的系统。 • 归纳:自主计算机的互连集合 • 自主:不是主从关系 • 主控-从属 • 主机-终端(终端网络) • 互连:以任何通信方式 • 铜线、光纤 • 红外、激光、微波、卫星
与类似系统的区别(1) • 类似系统 • 终端分时系统 • 多机系统 • 分布式系统(distributed System) • 计算机网络与终端分时系统 从设备在系统中的地位进行比较 • 分时系统 • 主机以分时方式为终端服务 • 终端完全依赖于主机 • 主机与终端是支配与被支配的关系,数据处理-用户交互 • 资源高度集中,由许多用户共享 • 终端之间无联系 • 计算机网络 • 每台计算机地位平等,互相共享 • 每台计算机都能独立工作 • 资源分布
与类似系统的区别(2) • 计算机网络与多机系统 从耦合度和用途方面进行比较 • 多机系统 • 设备之间耦合度紧 • 设备分布近 • 传输速度极快 • 主要用途为科学计算 • 计算机网络 • 网络设备之间耦合度松 • 设备分布相对较远 • 传输速度快 • 主要用途为资源共享
与类似系统的区别(3) 计算机网络与分布式系统从协调性和用途两方面进行比较 • 分布式系统 • 在分布式OS统一调度下,各计算机协调工作,共同完成一项任务。如并行计算。用户面对的是一台逻辑上的计算机,组成分布式系统的各计算机怎样协同工作,对用户透明。 • 用途主要是科学计算和数据处理 • 计算机网络 • 非协调性的,各计算机对用户非透明,用户必须指定资源的位置。用户必须明确地指定在哪一台机器上登录。 • 用途主要是资源共享 • 从效果上讲,分布式系统是建立于网络之上的软件系统。它具有高度的整体性和透明性。因此,网络和分布式系统的区别更多地取决于软件(尤其是操作系统)而不是硬件。
1.3 联网的动机是什么?? • 访问信息 • 应用程序之间交互协同工作 • 资源共享(“摆脱地理位置的束缚”)
实际上你看到的... • Email • File transfer / access • Web browsing • Remote login / execution • The Internet
1.4 网络的构成 • 传输硬件 • 是完成特定功能的硬件设备,包括: • 互连的传输媒介 • 传输控制设备 • 运行协议软件 • 协议软件,包括: • Encodes and formats data • Detects and corrects problems
1.5幕后:What a Network Does • 1.提供: • 可靠的、 • 公正的、 • 有效的、 • 从应用到应用的 通信服务。
幕后:What a Network Does (continued) • 2.自动检测和纠正: • Data corruption • Data loss • Duplication • Out-of-order delivery • 3.自动发现从源到目的的最优路径。
1.7 网络编程 • 任意两个应用程序之间的通信:Network使之成为可能。 • 程序员不必理解网络技术。 • 只需利用Application Program Interface来访问网络提供的服务即可。
复习:C Programming • Subset of C++ • 直接操作 bits, bytes, words, pointers • Source files use .c file extension
输出格式化 int printf (const char *control_string, …); • Writes data to the console • Returns the number of characters written • control_string consists of two types of items • characters that will be printed on the screen • format specifiers that define the way the subsequent arguments are displayed
Examples printf (“I like %c %s”, ‘C’, “very much!”); displays “I like C very much!” printf (“I have %d CS classes.”, 3 ); displays “I have 3 CS classes.
主函数 main()的参数 • 从命令行接收参数 • argc and argv receive command line arguments int main (int argc, char *argv[] ) {… • argc :参数个数 • Argv:指向参数的指针数组
Example: Name int main(int argc, char *argv[]) { if (argc != 2) { printf(“You must type a name.\n”); exit(1); } printf(“Hello %s”, argv[1]); return 0; }
位域 • 是一种特殊的结构成员,定义域的位数 struct struct-type-name { type name1:length; type name1:length; … };
Example: Status Byte struct status_type { unsigned delta_cts: 1; unsigned delta_dsr: 1; unsigned tr_edge: 1; unsigned delta_rec: 1; unsigned cts: 1; unsigned dsr: 1; unsigned ring: 1; unsigned rec_line: 1; } status;
Example: Status Byte status = get_port_status(); if (status.cts) printf(“clear to send”); if (status.dsr) printf(“data ready”); status.ring = 0;
网络通信的基本模型 • 建立联系。 • 交换数据(双向) • 结束。
Establishing Contact • 由两个应用程序之间执行 • 一个应用程序等待连接请求 (called:服务器) • 另一个应用程序发出连接请求(called:客户端)
识别一个等待的应用程序(服务器) • 从概念上说,需要指出 • 哪个计算机 • 该计算机上的哪个应用软件 • 术语 • 通过域名识别计算机 • 通过程序名称识别应用程序
表示和翻译 • 人类使用名称来表示: • computer: txy.cs.nuaa.edu • application: ftp • 而网络协议使用二进制值 • 需要库程序把名字翻译成数字