《《网络应用教程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《网络应用教程》PPT课件.ppt(63页珍藏版)》请在三一办公上搜索。
1、2023/7/29,1,第二章 网络体系结构,教学目标教学重点教学过程,2023/7/29,2,教学目标,理解网络体系结构的基本概念掌握OSI参考模型掌握TCP/IP参考模型,2023/7/29,3,教学重点,网络体系结构的基本概念OSI参考模型各层的功能 TCP/IP参考模型及各层的功能互联网络协议IP与IP层服务 传输层协议TCP,2023/7/29,4,教学过程,网络体系结构的基本概念 OSI参考模型 TCP/IP参考模型,2023/7/29,5,2.1网络体系结构的基本概念,网络协议的概念为进行计算机网络中的数据交换而建立的规则、标准或约定的集合称为网络协议(Protocol)。网络协
2、议主要由三个要素组成:(1)语义(Semantics):涉及用于协调与差错处理的控制信息。(2)语法(Syntax):涉及数据及控制信息的格式、编码及信号电平等。(3)定时(Timing):也称同步,涉及速度匹配和排序等。,2023/7/29,6,网络分层结构,计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”逐个加以解决,这是系统分解的最好方法之一。,2023/7/29,7,计算机网络的层次模型,目前计算机网络均采用层次化的体系结构。由于计算机网络涉及多个实体间的通信,其层次结构一般用垂直分层模型来表示。这种层次结构的要点可归纳如下:(1)除了在
3、物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信。(2)对等层的虚通信必须遵循该层的协议。(3)n层的虚通信是通过n/n-1层间接口处n一1层提供的服务以及n-1层的通信(通常也是虚通信)来实现的。,2023/7/29,8,计算机网络的层次模型,2023/7/29,9,计算机网络的层次模型,一定要弄清楚,协议和服务在概念上是很不一样的。首先,协议的实现保证能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。,
4、2023/7/29,10,2.2 OSI参考模型,国际标准化组织ISO(International Standards Organization)是世界上最为著名的国际标准化组织之一。ISO对网络标准最主要的贡献是为开放式系统互联OSI(Open System Interconnection)建立的参考模型。,2023/7/29,11,OSI参考模型的基本概念,开放系统互连参考模型OSI/RM是个抽象的概念。在1983年形成了开放系统互连基本参考模型的正式文件,也就是所谓的七层协议的体系结构。在标准的制定过程中,采用了三级抽象的原则:体系结构(architecture)服务定义(service
5、 definition)协议说明(protocol specification),2023/7/29,12,OSI参考模型的结构,2023/7/29,13,OSI参考模型各层的功能,1.物理层物理层是数据通信的基础,通过建立物理链路来传输数据信号。因此物理层负责建立、维护和拆除物理链路,其作用是使原始的数据比特流能在物理媒体上传输。为数据链路层提供通明的流传输服务。为了实现物理链路的建立、维护和拆除功能,物理层要定义所需的机械、电气、功能和规程的特性。,2023/7/29,14,1.物理层,常见的物理层的标准有RS-232C、RS-422、RS-423、RS-449,CCITT X.21等。其
6、中最著名和广泛采用的是RS-232C。下面就以RS-232C为例来说明:,2023/7/29,15,RS-232C,RS-232C接口就是物理层上所定义的一种串行物理接口标准,是由美国电子工业协会EIA制定的。它最初是为连接计算机和调制解调器而制定的。其机械特性规定使用25根插针的标准连接器,对该连接器的尺寸及每个插针的排列位置等都有明确的规定;,2023/7/29,16,RS-232C,其电气特性规定逻辑“1”的电平为低于-3V,而逻辑“0”的电平为高于+3V,使用这样高的电平能直接连接的最大距离约15米,通信速率低于20kb/s;功能特性方面定义了25针连接器中的20条连接线,其中包括:2
7、条地线,4条数据线,11条控制线,3条定时信号,其余5条线是备用的或为定义的;规程特性定义了这20条连接线的连接方式和工作流程。,2023/7/29,17,2.数据链路层,数据链路层协议是建立在物理层基础上的,通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输。在数据链路层中,比特流被组织成数据链路层协议数据单元(通常称为帧),并以其为传输单位。数据链路层的主要作用是实现帧的正确传输,通过进行必要的同步控制、链路管理、差错控制、流量控制,为网络层提供可靠的无差错的数据信息。,2023/7/29,18,3.网络层,数据链路层研究和解决的是相邻的节点之间的通信问题,实现的任务是在两个
8、相邻节点间透明的,无差错的,帧信息的传送。数据链路层不能解决由多条链路组成的通路的数据传输问题。在网络层中,数据以网络层协议数据单元(通常称为分组)为单位进行传输。,2023/7/29,19,3.网络层,网络层的主要功能,就是实现整个网络系统内的连接,为传输层提供整个网络范围内两个终端用户之间数据传输的通路。网络层关心的是通信子网的运行与控制,主要解决如何使数据分组跨越通信子网从源端传送到目的端的问题,这就需要在通信子网中进行路由选择。另外,为了避免通信子网中出现过多的分组而造成网络拥塞,需要对流入的分组数量进行控制。,2023/7/29,20,4.传输层,传输层是第一个正真用来完成端到端,也
9、就是主机到主机通信的层次。传输层提供的是端到端的透明数据传输服务,使高层用户不必关心通信子网的工作方式,由此高层软件便可运行于任何通信子网上。,2023/7/29,21,4.传输层,传输层还要处理端到端的差错控制和流量控制等问题。在传输层即以上的高层中,数据传送的单位不再另外命名,通称为报文。,2023/7/29,22,5.会话层,会话层是进程与进程之间通信的层次,其主要功能是组织和同步不同主机上各种进程间的通信(也称为对话)。会话层负责在两个会话层实体之间进行对话连接的建立和拆除。会话层还提供在数据流中插入同步点的机制。,2023/7/29,23,6.表示层,表示层为上层用户提供统一的数据或
10、信息的语法表示方法。为了让采用不同编码方式的计算机在通信中能够相互理解数据的内容,可以采用抽象的标准方法来定义数据结构,并采用标准的编码表示形式。数据压缩和加密也是表示层所提供的表示变换功能。,2023/7/29,24,7.应用层,应用层是开放系统互连环境的最高层。不同的应用层为特定类型的网络应用提供访问OSI环境的手段。网络环境下不同主机间的文件传送访问和管理、传送标准电子邮件的文电处理系统、使不同类型的终端和主机通过网络交互访问的虚拟终端协议等都属于应用层的范畴。,2023/7/29,25,OSI 环境中数据的传输,2023/7/29,26,2.3 TCP/IP参考模型,TCP协议最早由斯
11、坦福大学的两名研究人员于1973年提出。1983年,TCP/IP被Unix 4.2BSD系统采用。随着Unix的成功,TCP/IP逐步成为Unix机器的标准网络协议。Internet的前身ARPANET最初使用NCP(Network Control Protocol)协议,由于TCP/IP协议具有跨平台特性,ARPANET的实验人员在经过对TCP/IP的改进以后,规定连入ARPANET的计算机都必须采用TCP/IP协议。随着ARPANET逐渐发展成为Internet,TCP/IP协议就成为Internet的标准连接协议。,2023/7/29,27,TCP/IP的体系结构,TCP/IP协议其实是
12、一个协议集合,其命名源于其中两个最为重要的协议:TCP协议和IP协议。TCP/IP协议并不完全符合OSI的七层参考模型。TCP/IP采用同样分层的策略使网络实现结构化,但与OSI参考模型不同,TCP/IP体系结构模型只有四层,自下往上分别是网络接口层,网际层,传输层和应用层。,2023/7/29,28,TCP/IP与OSI的比较,OSI参考模型和TCP/IP参考模型有很多相似之处。它们都是基于独立的协议集的概念。而且,层的功能也大体相似。在这两个模型中,传输层及传输层之上的层都为希望其低层能够提供端到端的,与网络无关的传输服务。这些低层和传输层形成了传输提供者。同样,在这两个模型中,传输层以上
13、的层都是使用传输服务的由应用主导的用户。除了这些基本的相似之处以外,两个模型也有很多差别。,2023/7/29,29,TCP/IP与OSI的比较,2023/7/29,30,互联网络协议IP与IP层服务,在TCP/IP模型的网络层中含有四个重要的协议:网际协议IP、互联网控制报文协议ICMP、地址解析协议ARP和反向地址解析协议RARR。网络层的功能主要由IP来提供。除了提供端到端的分组转发功能外,IP还提供了很多扩充功能。,2023/7/29,31,1.网际协议IP(Internet Protocol),网络层最重要的协议是IP协议,它将多个网络联成一个互连网,可以把高层的数据以多个数据报的形
14、式通过互连网转发出去。IP的基本任务是通过互连网传送数据报,各个IP数据报之间是相互独立的。主机上的IP层向传输层提供服务。IP不保证服务的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同时IP也不检查被数据链路层丢弃的数据。,2023/7/29,32,2.互联网控制报文协议ICMP,为了使互连网能报告IP数据报的差错,或提供有关意外情况的信息,在IP层加入了一种特殊用途的报文机制,即因特网控制报文协议ICMP(Internet Control Message Protocol)。ICMP允许主机或路由器报告差措情况和提供有关异常情况的报告。但ICMP不是高层协议,而是IP层的协议。I
15、CMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。,2023/7/29,33,2.互联网控制报文协议ICMP,ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。ICMP差错报告报文共有5种,即:(1)终点不可达(2)源站抑制(3)时间超过(4)参数问题(5)改变路由(重定向),2023/7/29,34,2.互联网控制报文协议ICMP,ICMP询问报文有四种,即回送请求和回答、时间戳请求和回答、掩码地址请求和回答,以及路由器询问和通告。在应用层有一个很常用的服务叫做PING(Packet InterNet Groper),用来测试两个主机之间的连通性。PI
16、NG使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的一个例子。它没有通过传输层的TCP或UDP。,2023/7/29,35,3.地址解析协议ARP,在TCP/IP网络环境下,为每个主机都分配了一个32位的IP地址,这种互连网地址是在网际范围内标识主机的一种逻辑地址。为了让数据在物理网络上传送,必须知道彼此的物理地址(MAC地址)。这样就存在把互连网地址转换为物理地址的地址转换问题。这就需要在网络层有一组服务能够将IP地址转换为相应物理地址的协议,即地址解析协议ARP。,2023/7/29,36,3.地址解析协议ARP,在进行数据发送时,如果源端主机只有目的主机的I
17、P地址,而没有对应的物理地址,则广播ARP请求以获取目的站物理地址,目的站在接收到由源端主机发来的ARP请求后必须响应该请求。这样源端主机就能够获得目的主机的物理地址,并将其放入相应的高速缓存中(Cache)。,2023/7/29,37,4.反向地址解析协议RARP,反向地址解析协议用于一种特殊情况,如果站点初始化以后,只有自己的物理地址而没有IP地址,则它可以通过RARP协议,发出广播请求,征求自己的IP地址,而RARP服务器则负责响应。这样,无IP地址的站点可以通过RARP协议取得自己的IP地址。,2023/7/29,38,端口的概念,TCP/IP参考模型的传输层主要有两个协议,分别是传输
18、控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Procotol)。这两个协议都必须使用端口和上层的应用进程进行通信。端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与传输层实体进行交互的。,2023/7/29,39,端口的概念,2023/7/29,40,端口的概念,端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其值一般为01023,例如:,另一类则是一般端口,用来随时分配给请求通信的客户进程,其值一般大于1
19、023。,2023/7/29,41,传输控制协议TCP,TCP是TCP/IP体系中面向连接的协议,它的主要作用是在不可靠的网络服务上提供端到端的可靠字节流。所有TCP连接都是全双工的和点对点的,不支持广播(broadcasting)和多播(multicasting)。,2023/7/29,42,传输控制协议TCP,2023/7/29,43,20 字节的固定首部,发送在前,2023/7/29,44,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,U
20、RG,比特 0 8 16 24 31,填 充,源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。,2023/7/29,45,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,2023/7/29,46,T
21、CP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。,2023/7/29,47,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,数据
22、偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。,2023/7/29,48,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,保留字段占 6 bit,保留为今后使用,但目前应置为 0。,2023/7/29,49,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长
23、 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,2023/7/29,50,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认比特 ACK 只有当 AC
24、K 1 时确认号字段才有效。当 ACK 0 时,确认号无效。,2023/7/29,51,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,2023/7/29,52,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源
25、端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。,2023/7/29,53,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,同步比特 SYN 同步比特
26、SYN 置为 1,就表示这是一个连接请求或连接接受报文。,2023/7/29,54,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,2023/7/29,55,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧
27、急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,2023/7/29,56,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,检验和 占 2 字节。检
28、验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,2023/7/29,57,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急指针字段 占 16 bit。紧急指针指出:在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。,2023/7/29,58,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选
29、 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,选项字段 长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”,MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。,2023/7/29,59,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,选 项(长
30、 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口,确 认 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,填充字段 这是为了使整个首部长度是 4 字节的整数倍。,2023/7/29,60,用三次握手建立 TCP 连接,2023/7/29,61,建立 TCP 连接,A 的 TCP 向 B 发出连接请求报文段,其首部中的同步比特 SYN 应置为 1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x。B 的 TCP 收到连接请求报文段后,如同意,则发回确认。B 在确认报文段中应将 SYN 置为 1,其确认号应为 x 1,同时也为
31、自己选择序号 y。A 收到此报文段后,向 B 给出确认,其确认号应为 y 1。A 的 TCP 通知上层应用进程,连接已经建立。当运行服务器进程的主机 B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程,连接已经建立。,2023/7/29,62,用户数据报协议UDP,UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。虽然 UDP 用户数据报只能提供不可靠的交付,但 UDP 在某些方面有其特殊的优点。发送数据之前不需要建立连接UDP 的主机不需要维持复杂的连接状态表。UDP 用户数据报只有8个字节的首部开销。网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。,2023/7/29,63,应用层协议主要使用的传输层协议,