[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件

上传人:繁星 文档编号:88329752 上传时间:2019-04-24 格式:PPT 页数:82 大小:1.28MB
返回 下载 相关 举报
[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件_第1页
第1页 / 共82页
[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件_第2页
第2页 / 共82页
[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件_第3页
第3页 / 共82页
[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件_第4页
第4页 / 共82页
[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件》由会员分享,可在线阅读,更多相关《[文学]01网络协议第一讲网络协议分析及编程 用tcp ip进行网际互联 课件(82页珍藏版)》请在金锄头文库上搜索。

1、网络协议分析与编程,第二卷: 设计、实现与内核,2019/4/24,参考资料: 用TCP/IP进行网际互联第一卷,Douglas E. Comer著,电子工业出版社 TCP/IP详解卷一:协议,W. Richard Stevens著,范建华等译,谢希仁校,机械工业出版社 TCP/IP详解卷二:实现 TCP/IP网络原理与技术,周明天、汪文勇编著,清华大学出版社 www.ietf.org 查找有关的Rfc,2019/4/24,第一讲,引言与概述 操作系统中的TCP/IP软件结构 网络接口层 地址发现及绑定(ARP) (1-4章),2019/4/24,计算机网络的概念,计算机网络 互连起来、独立运

2、行的计算机的集合 各计算机是独立自主的,其运行不依赖于其他计算机 计算机之间的连接是物理实现的 计算机之间能够进行信息交换 采用分组通信的方式 计算机网络的概念结构 主机(Host) 通信子网(Communication Subnet) 转发结点 用于转发数据包的专用计算机,2019/4/24,计算机网络的结构,网络拓扑 归根结底最终就是信道的拓扑结构 种类:总线型、星型、环型、树型、网状 拓扑结构不同,其访问技术、性能、应用场合等也不同 延迟、吞吐率、可靠性、信道利用率、设备开销 信道的种类 点到点(point-to-point)信道 两台主机(或转发结点)之间存在一条独享的物理信道 可能存

3、在带宽浪费,但控制简单 一般用于广域网中的长距离通信 广播(broadcasting)信道 所有主机共享一条信道,通信数据以广播形式发送 带宽利用率高,但需要进行信道访问控制 常用于局域网中:总线型、环型 ,2019/4/24,数据交换的方式,电路交换 通信双方建立一条实际的物理链路 存储转发和分组交换 报文交换(message switching) 分组交换(packet switching) 通信子网的内部机制 面向连接,提供虚电路( virtual circuit )服务 无连接,提供数据报(datagram)服务,2019/4/24,网络系统结构开放系统互连参考模型,计算机网络体系结构

4、必须支持: 异种计算机的互连 多种通信技术和各种通信介质 多种业务 因此,需要对计算机网络体系结构进行研究和标准化 网络体系结构的研究采用模型化的方法,2019/4/24,其它的网络系统结构,其它网络体系结构 ARPANET SNA (System Network Architecture) DNA (DECNET) TCP/IP ,2019/4/24,TCP/IP 网络的体系结构,TCP/IP 技术的发展 设计目标 实现异种网的网际互连 是最早出现的系统化的网络体系结构之一 顺应了技术发展网络互连的应用需求 采用了开放策略 与最流行的 UNIX 操作系统相结合,2019/4/24,TCP/I

5、P 网络的特点,互连网中,每一个网络是可自维持的 一个网络无论是否与其它网络互连,其自身都是可以自主运行的。 通过网关(路由器)来连接多个网络,构成互连网 互连网中,每一个网络都是可以全局唯一标识的 采用尽力而为(best-effort)的服务方式 使用应答-重发机制,源端没有收到目的端返回的应答时,将重发数据包。 路由器中维护任何与特定数据流相关的状态 互连网是非集中式控制的 网络的运行不依赖于任何一个集中的管理实体。,2019/4/24,TCP/IP 网际互联的体系结构,2019/4/24,TCP/IP 的网络互连,网际互连是通过 IP 网关(gateway)实现的 网关提供网络与网络之间

6、物理和逻辑上的连通功能 网关是一种特殊的计算机,同时属于多个网络,2019/4/24,TCP/IP 提供网络级的互连 连通性,分组可在网络中任何结点之间传递(不论其是否具有直接的物理连接) 透明性,对用户和高层的应用隐藏了各网络的底层细节 对拓扑结构的适应,能适应不同的网络拓扑结构以及拓扑的变化 网络中每个计算机都具有全局性的标识符(地址、名字),TCP/IP 网络互连的透明性,通过 TCP/IP 实现的网际互联隐藏了网络的细节(包括底层网络技术、拓扑结构等),提供通用的一致性的网络服务。互联网或 Internet 在逻辑上是一个统一的、整体的虚拟网络。用户完全可将其看作是一个单一的网络。,2

7、019/4/24,TCP/IP 协议的体系结构,TCP/IP 协议栈定义了四个层次 数据链路 定义各种介质物理连接的特性 定义在不同介质上信息帧的格式 IP(Internet protocol) 层 转发和路由功能:根据分组的目地 IP 地址,将分组从源端转发到目的地。 路由器(router):TCP/IP 网络中专用的 IP 分组转发设备。 TCP/UDP (传输层) TCP 提供面向连接的、可靠的传输服务 UDP 提供无连接的、不可靠的传输服务 应用层 Telnet、Web、FTP、e-Mail ,2019/4/24,TCP/IP 和 OSI 模型,2019/4/24,TCP/IP 和 O

8、SI 模型,2019/4/24,IP 分组,IP 分组 IP 头 网络层(IP 协议)的协议控制单元 传输头 传输层(TCP/UDP)的协议控制单元 净荷 承载应用层的数据,可变长度,2019/4/24,Data Link 帧头,传输层头 UDP/TCP,IP 头,应用数据,版本号,头长度,服务类型,分组 总长度,标识,标志,分段偏移,生存时间,协议,分组头校验和,源地址,目的 地址,选项,最大 64K Bytes,IP 路由器,路由器的功能 利用“最佳路径”将分组从一个网络转发到另一个网络 与其它路由器进行信息交换(各网络的位置、可达性等) 信息交换采用特定协议来完成 路由协议也用于进行最佳

9、路径的计算 路由器的结构转变,2019/4/24,分组转发,分组转发:分组从一个网络到另一个网络的过程 跳(hop )、 下一跳(next-hop)路由器: 转发通路上的一个路由器被称为一跳(站)。转发通路上,与某路由器相邻接的下游路由器称为其下一跳路由器。 路由器的基本组件:路由表、转发器、路由协议,2019/4/24,hop-by-hop 的选路方式 特点: 在一个路由器中,IP 分组被转发到哪里决定于: 该路由器的路由表的内容 分组的目的地址,分组转发的一个例子,2019/4/24,Internet 的发展 拓扑结构的演变,以 ARPA 网为主干的核心结构,2019/4/24,本地 网点

10、 1,ARPANET 主干网,本地 网点 3,本地 网点 2,本地 网点 4,R,R,R,R,核心系统,核心路由器,Internet 的发展 拓扑结构的演变,对等主干结构 NSFNET 的引入,2019/4/24,本地 网点,本地 网点,本地 网点,本地 网点,NSFNET 骨干,ARPANET 骨干,R,R,R,R,核心路由器,对等骨干的多重互连,Internet 的发展 拓扑结构的演变,自治系统(Autonomous System)的引入 自治系统:由一个机构进行统一管理的网络和路由器的集合,2019/4/24,TCP/IP协议,TCP/IP互联网协议族在全世界范围内已经成为开放系统互联的

11、标准。与其他任何协议相比, TCP/IP互联网协议能够提供更好的互操作性可以在绝大多数销售商的系统中使用。并且它可兼容多种网络技术,在这一点上,它比其他任何一个协议族都要强。 INTERNET将当今世界范围内的学校、政府部门、盈利性或非盈利性组织以及个人都联系在一起。 除了常规地在专用工业网上使用TCPIP外,许多组织也使用TCPIP协议,通过与INTERNET连接,相互通信。内联网是使用TCPIP协议的专用互联网。,2019/4/24,了解细节的必要性,尽管TCP/IP流行并得到了广泛应用,可是对于大多数计算机专家来说,协议的细节,以及实现它们的软件的结构仍然是个谜,从表面上看,是否理解TC

12、P/IP的内部细节并不重要,但是,使用TCP/IP的程序员们都知道,如果能够完全了解协议是如何运作的,则能编出更健壮的程序代码。 研究TCP/IP输入输出的细节,能够使程序员形成一个概念模型。用于解释各部分是如何交互作用的,并有助于理解如何使用。层机制。,2019/4/24,协议间交互作用的复杂性,人们普遍认为, TCP/IP技术难以理解的一个主要原因是:有关的文章往往单独地讨论每一个协议,而没有去考虑多个协议是如何相互配合协同工作的。例如,各个协议标淮文档往往只描述一个协议应该如何工作,它脱离系统的其他部分,孤立地讨论某个协议的行为以及对报文的响应。其实,这些协议最难理解的部分,正是它们之间

13、的交互作用。 TCP/IP技术中包含了多个协议,这些协议之间相互影响。为了完全理解一个协议的细节及其实现方案,我们必须考虑到它与协议族中的其他协议之间的交互作用。,2019/4/24,第2章 操作系统中的TCP/IP软件结构,2019/4/24,2.1 引言,在绝大多数运行TCP/IP软件的计算机中都利用个操作系统来管理资源,比如管理某些外部设备。操作系统提供对并行处理的支持:即使在单处理器的计算机上操作系统也能够通过迅速切换CPU的服务对象使用户感觉多个程序在同时执行。另外、操作系统管理着主内存,其中存放了正在执行的程序,同时它还管理着存放文件系统的二级(非易失)存储器。 TCP/IP软件般

14、位于操作系统内部,并且可以被在机器上运行的所有应用程序所共享。因此,虽然多个程序可以同时唤醒像TCP/IP这样的程序代码段,但在操作系统中,该程序代码段是唯一的。当然,每个唤醒过程必须是独立的,这样一个程序的数据传输就不会影响到另一个程序。我们还会看到,可以被多个并发执行的程序使用的代码段无疑要比单程序中的代码段复杂很多。,2019/4/24,2.2 进程的概念,在操作系统中有几个抽象概念,这些概念在理解TCP/IP协议的实现时要用到。其中最重要的应该是“进程”或者说“控制线程”。从概念上讲,一个进程就是一次计算过程,并且它独立于其他计算过程。一个操作系统提供创建新进程和结束现有进程的机制。在

15、我们将要使用的范例系统中,程序调用函数create创建一个新进程。create函数返回一个整型的进程标识号。在对进程操作时,利用进程标识号来引用该进程。 procid = create(arguments); 进程一旦被创建,就独立于它的创建者而工作。若要结束一个进程,则需要在程序中调用kill,并将create函数返回的进程标识号作为参数,传递给kill kill(procid);,2019/4/24,2.3 进程的优先级,我们曾说过,所有的进程并发执行但这种说法过于简单化。事实上,设计软件的程序员给每一个进程都分配有一个“优先级”。操作系统在给各进程分配cpu使用权时参照各进程的优先级。我

16、们采用的优先级分配策略简单易懂:CPU对没有被阻塞的进程赋予最高优先级。如果多个进程具有相同的优先级那么cpu将在这几个进程之间快速切换。 协议软件中的优先级策略是非常有用的,因为它允许程序员赋予某进程在执行时优先于其他进程的权力。例如,现有一个普通的应用程序和一个协议软件,该协议软件必须从硬件中接收抵达的分组。设计者可以给实现该协议的进程以高优先级,迫使它先于应用程序的进程执行。由于操作系统处理了所有的进程调度细节,进程本身可以不包含任何有关调度的代码。,2019/4/24,24 进程的同步通信,如果每个进程都是一个独立的计算过程那么数据是怎样从一个进程传递到另一个进程的呢? 答案是:操作系统必须提供允许进程之间相互通信的机制。我们使用以下三种机制: 计数信号量(semaphore)、端口和消息传递。 通常,计数信号量就是通用的进程同步机制。操作系统提供一个函数screate,如有必要,调用它以创建信号量。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号