盛立军《计算机网络技术基础》ppt课件第四章.pptx

上传人:小飞机 文档编号:1427866 上传时间:2022-11-23 格式:PPTX 页数:100 大小:2.92MB
返回 下载 相关 举报
盛立军《计算机网络技术基础》ppt课件第四章.pptx_第1页
第1页 / 共100页
盛立军《计算机网络技术基础》ppt课件第四章.pptx_第2页
第2页 / 共100页
盛立军《计算机网络技术基础》ppt课件第四章.pptx_第3页
第3页 / 共100页
盛立军《计算机网络技术基础》ppt课件第四章.pptx_第4页
第4页 / 共100页
盛立军《计算机网络技术基础》ppt课件第四章.pptx_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《盛立军《计算机网络技术基础》ppt课件第四章.pptx》由会员分享,可在线阅读,更多相关《盛立军《计算机网络技术基础》ppt课件第四章.pptx(100页珍藏版)》请在三一办公上搜索。

1、,计算机网络技术基础,第4章,TCP/IP协议集,不同的厂家生产的计算机运行的操作系统可能完全不同,却因为有了TCP/IP协议族而能够进行相互通信。TCP/IP协议族包含很多协议,其中最重要的两个协议分别是传输控制协议(Transmission Control Protocol,TCP)协议和网际互连协议(Internet Protocol,IP)。本章将介绍TCP/IP协议族里比较核心的一些协议。,学 习 目 标,4.1 用户数据报协议UDP,在TCP/IP协议族中,有两个传输层协议:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User

2、 Datagram Protocol,UDP)。其中,TCP是面向连接的、提供可靠服务的协议;UDP则是无连接的,它提供高效但低可靠性的服务。,UDP是一个简单的面向数据报的传输层协议:发送端的UDP对应用程序传下来的报文,只在其首部仅仅加入了复用和数据校验字段后就交付IP层。也就是说,应用层交给UDP多长的报文,UDP就一次照样发送一个报文,如图4-1所示。在接收端的UDP收到IP层交付的数据报后,去掉首部后原封不动地交付给上层的应用程序。,图4-1 发送端的UDP传输过程,UDP提供应用进程之间传送数据的基本机制,它使用网络层协议所提供的功能,向应用层提供服务,为网络层以上和应用层以下提供

3、了一个简单的接口。,4.1.1 UDP的主要特点,UDP的主要特点包括:,4.1 用户数据报协议UDP,(1)UDP提供无连接的服务,即在传输数据之前不需事先建立连接。UDP无连接的特点使得数据传输时延比较小。,(2)UDP不提供可靠性。UDP把应用层传给IP层的数据发送出去,使用尽最大努力交付,但是并不保证它们能够可靠交付。由于缺乏可靠性,UDP应用一般必须允许一定量的丢包、出错和复制。绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体、实时多媒体游戏和VoIP(Voice over IP)就是典型的UDP应用。,4.1 用户数据报协议UDP,(3)UDP缺乏拥塞

4、避免和控制机制,网络出现的拥塞不会使源主机的发送速率变低,因此需要基于网络的拥塞控制机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。使用包队列和丢弃技术的路由器等网络基本设备往往就成为了降低UDP过大通信量的有效工具。此外,数据报拥塞控制协议(Datagram Congestion Control Protocol,DCCP)是通过在诸如流媒体类型的高速率UDP流中增加主机拥塞控制来解决拥塞问题。,(4)UDP支持一对一、一对多、多对一和多对多的交互通信。,4.1.2 UDP端口号分配,协议端口是传输层引入的一个非常重要的概念。网络中的通信实际上是进程间的通信,应用程序才是一个IP数

5、据报的最终目的地。大多数计算机的操作系统都支持多进程并发功能,即允许多个应用程序同时运行。因此,通信双方进行通信时,不仅要知道目的主机的IP地址,还应该确定数据交付的具体应用进程。为了解决这个问题,传输层协议引入了不同的协议端口(简称端口)来表示不同的应用程序。与远程服务程序通信时,发送方不仅要知道目的主机的地址,每个IP数据报还必须带有目的主机的协议端口号。同样,为使接收方知道把回应数据发送给谁,发送端在IP数据报中还必须带有自身的协议端口号。,4.1 用户数据报协议UDP,TCP/IP参考模型的传输层用一个16位的端口号来标志一个端口,因此允许有65 535个不同的端口号,这对于一个计算机

6、来讲是足够用的。TCP/IP协议约定:01023为保留端口号,为标准应用服务使用;1024以上是自由端口号(也称动态端口号),为用户应用服务使用。,4.1 用户数据报协议UDP,表4-1列出了常见的UDP服务端口号。,表4-1 常见UDP服务及端口号,4.1 用户数据报协议UDP,提 示,4.1 用户数据报协议UDP,4.1.3 UDP数据报格式,图4-2 UDP数据报格式,4.1 用户数据报协议UDP,UDP数据报首部中各16位的源端口号和目的端口号用来标记发送和接收的应用进程。因为UDP不需要应答,所以源端口号是可选的(如果源端口不用,那么置为零)。在目的端口号后面是长度固定的以字节为单位

7、的长度字段,用来指定UDP数据报中包括数据部分的长度,最小值为8(仅有首部)。16位的UDP校验和是用来对首部和数据部分一起做校验和的,检测UDP用户数据报在传输中是否出错。当传输层从IP层收到UDP数据报后,根据首部中的目的端口将其交付给相应的应用程序。如果接收方UDP发现没有与收到的报文中的目的端口号匹配的端口,则丢弃该报文,并发送“端口不可达”差错报文给发送端;如果匹配端口号已满,也丢弃该报文,但不回送差错报文,只能等待超时重发。,4.2 传输控制协议TCP,传输控制协议(Transmission Control Protocol,TCP)是传输层上另一著名的协议,它也是TCP/IP最具

8、代表性的协议。,4.2.1 TCP的主要特点,TCP除提供进程通信能力外,主要提供端到端的面向连接的、可靠的字节流服务。从应用程序的角度看,TCP提供的服务有如下特征。,(1)面向连接的服务。面向连接意味着两个使用TCP的应用程序(通常为一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。TCP连接只存在于两个终端结点,网络当中的中间结点(如路由器和网桥)对这个连接毫不知情(只知道传输的数据而不是连接本身)。,4.2 传输控制协议TCP,(2)面向字节流的服务。流是无报文丢失、重复和失序的数据序列,两个应用程序通过TCP连接交换字节流。TCP协议从应用程序处收集数据后,封装成长度

9、适中的一个数据报文段。在报文头中的序号域指出段中数据在发送端数据流中的位置。TCP协议为实现流传输服务付出了大量开销。,(3)可靠交付。TCP的传输过程由建立连接、传输数据和释放连接3个步骤组成。一个应用程序在发送数据时,首先要请求建立连接。通过TCP连接传送的数据,无差错、不丢失、不重复并且按序到达。,(4)全双工通信。TCP连接提供的是全双工的数据传输,采用点对点的方式,即在一个TCP连接中仅有两方进行通信,因此广播和多播方式不能用TCP。,(5)流量控制。TCP连接的双方都有固定大小的缓冲区,流量控制可以防止较快主机致使较慢主机的缓冲区溢出。通常把缓冲区中的空闲部分称为窗口。TCP采用可

10、变滑动窗口协议,并且当交付的数据不够填满一个缓冲区时,流服务提供“PUSH”机制,应用程序可以用其进行强迫传送。,4.2 传输控制协议TCP,4.2.2 TCP端口号分配,TCP模块以IP模块为传输基础,可以面向多种应用程序提供传输服务。为了能够区分出对应的应用程序,引入了TCP端口的概念(与UDP类似)。TCP端口号采用了动态和静态相结合的分配方法,对于一些常用的应用服务使用固定的端口号;对于其他的应用服务,尤其是用户自行开发的应用服务,端口号采用动态分配方法,由用户指定其分配。表4-2列出了常见的TCP服务端口号。,4.2 传输控制协议TCP,表4-2 常见TCP服务及端口号,4.2 传输

11、控制协议TCP,4.2.3 TCP报文段格式,图4-3 TCP数据在IP数据报中的封装,4.2 传输控制协议TCP,图4-4 TCP报文段的格式,4.2 传输控制协议TCP,(1)源端口号和目的端口号。源端口号和目的端口号用于表示发送端和接收端的端口号。这两个值加上IP首部中的源IP地址和目的IP地址可以确定一条唯一的TCP连接。,(2)序号。序号字段用于标识从TCP发送端向TCP接收端发送的数据字节流,它表示在这个报文段中的第一个数据字节的序号。例如,当前报文段的第一个数据字节的序号为201,数据长度为100字节,则当前报文段的序号字段的值为201,下一报文段的序号值为301。序号字段占4个

12、字节,当序号到达232-1后又从0开始。,(3)确认序号。确认序号包含发送确认的一端所期望收到的下一个序号。既然每个传输的字节都被计数,确认序号应当是上次已成功收到数据字节序号加1。例如,接收端已成功接收发送端发送的序号为501,数据长度为200的报文段。那么,接收端期望收到的下一个数据序号是701,则该确认序号为701。TCP为应用层提供全双工服务。这意味着数据能在两个方向上独立地进行传输。因此,TCP连接的每一端必须保持每个方向上的传输数据序号。,4.2 传输控制协议TCP,(4)数据偏移。数据偏移字段指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。需要这个字段是因为选项字段的

13、长度是可变的。这个字段占4位,以4字节为单位,因此TCP数据偏移的最大值是60字节,也就是说TCP首部的最大长度为60字节。,(5)保留。保留字段占6位,保留为今后使用,目前设置为0。,(6)标志位。在TCP首部中有6个标志位,具体含义如下:,URG(urgent)为紧急数据标志。当URG=1时,表示紧急指针字段的值有效。此时,该报文段中有紧急数据,应尽快传送,而不是按照原来的顺序传送。这时需要与首部中的紧急指针字段配合使用。ACK(acknowledgement)为确认标志位。当ACK=1时,表示报文段中的确认序号有效;当ACK=0时,确认序号无效。TCP规定:在连接建立后,所有传送的报文段

14、的ACK字段必须置1。,4.2 传输控制协议TCP,PSH(push)为推送标志位。当PSH=1时,表示发送端希望立即得到接收端的响应。此时,发送方的TCP协议软件马上发送该数据包,接收方收到后也应尽快把这个报文段交给应用层。RST(reset)为复位标志位,用来复位一条连接。如果TCP收到的数据不属于该主机上的任何一个连接,则将RST字段置1,向发送端发送一个复位数据包,释放当前连接。RST字段置1还可用来拒绝一个非法的报文段或拒绝打开一个连接。SYN(synchronous)为同步标志位,在建立连接时用来同步序号。如果SYN=1,而ACK=0,表示这是一个连接请求报文段;如果SYN=1,而

15、ACK=1,则表示这是一个连接接受报文段。具体的连接过程将在4.2.4节中进行讲解。FIN(finish)为终止标志位,用来释放连接。当FIN=1时,表示发送端端完成发送任务,希望释放连接。,4.2 传输控制协议TCP,(7)窗口。窗口表明该报文段的发送端当前能够接收的从确认序号开始的最大数据长度,该值主要向对方声明本地接收缓冲区的使用情况。窗口大小是一个16位字段,因而窗口字段最大65 535字节。,(8)校验和。校验和覆盖了整个TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证。,(9)紧急指针。只有当URG=1时,该字段才有效。紧急指

16、针是一个正的偏移量,指出本报文段中紧急数据的字节数。也就是说,紧急指针字段和序号字段中的值相加表示紧急数据最后一个字节的序号。值得注意的是,即使窗口字段为零,也可以发送紧急数据。,4.2 传输控制协议TCP,(10)选项。选项字段长度可变,最长可达40字节。TCP规定了最长报文大小,又称为MSS(Maximum Segment Size)。每个连接方通常都在通信的第一个报文段中指明这个选项,它指明本端所能接收的报文段的最大长度。,从图4-4中可以注意到TCP报文段中的数据部分是可选的,在一个连接建立和释放的过程(具体内容在4.2.4节中进行讲解)中,双方交换的报文段都是仅有TCP首部,没有数据

17、部分的。如果一方没有数据要发送,也可以使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。,4.2 传输控制协议TCP,4.2.4 TCP传输连接建立和释放,TCP是一个面向连接的协议,传输层连接的建立和释放是每一次面向连接的通信中所必不可少的过程。TCP的连接和建立都采用客户/服务器方式,主动发起连接建立的应用进程称为客户(client),而被动等待连接建立的进程称为服务器(server)。下面具体来看一下TCP连接的建立与释放过程。,4.2 传输控制协议TCP,建立TCP连接,假设客户机上的一个进程想与服务器上另一进程通信,两者要通过“三次握手(t

18、hree-way handshake)”建立TCP连接,如图4-5所示。,图4-5 三次握手建立TCP连接,(1)第1次握手:客户发送连接请求。,( 2)第2次握手:服务器同意连接确认。,是利用多条网络连接来支持一条运输连接上的数据传输,目的是使低吞吐量、低速率和高传输延迟的网络可以支持用户高速传输数据的要求。,是将多条运输连接上的数据汇集到一条网络连接上传输,使具有高吞吐量、高速率和低传输延迟且高费用的网络可以支持用户的低传输成本的要求。,(3)第3次握手:客户确认连接。,是将一个长的运输服务数据单元分成若干个运输协议数据单元进行传输,使传输长度有限的网络可以支持用户的无限长度数据的传输。,

19、4.2 传输控制协议TCP,4.2 传输控制协议TCP,(1)第1次握手:客户发送连接请求。,客户发送一个特殊的TCP报文段给服务器,这个报文段不包含应用数据,而将段首的SYN标志位置1,该报文段也因此被称为SYN报文段。同时,客户还为这个连接设置初始序列号seq=client_isn。该段被封装成IP数据报发送给服务器。,(2)第2次握手:服务器同意连接确认。,一旦包含SYN段的IP数据报到达服务器(假设正常到达),服务器从IP数据报中提取出SYN段,并初始化TCP缓存及连接变量,同时发送给客户一个同意连接的确认信息。这个确认报文段也不包含应用数据,却在段首包含三条重要的信息:SYN=1,A

20、CK=1,TCP段首的确认号ack=client_isn+1,服务器选择连接的初始序列号seq=server_isn。这个报文段通常被称为SYN&ACK报文段。,4.2 传输控制协议TCP,(3)第3次握手:客户确认连接。,在接收到服务器同意连接的确认后,客户同样要设置连接的缓存和变量,并再向服务器发送一个确认(即对服务器SYN&ACK报文段的确认)。这时ACK=1,SYN=0,表示连接已经建立。,三次握手过程结束后,客户和服务器就可以相互发送数据了。,4.2 传输控制协议TCP,释放TCP连接,客户和服务器之间数据发送完成后,需要释放连接。建立一个连接需要三次握手,而释放一个连接则需要经过四

21、次握手。这是由TCP的半关闭造成。TCP连接是全双工通信的(数据在两个方向上能同时传输),因而每个方向必须单独进行关闭。也就是说,当任意一方完成数据发送任务后都可以发送一个FIN报文段来释放这个方向的连接;另一端收到FIN报文段后,通知应用层另一端已经终止了该方向的数据传输,也就是对FIN报文段进行确认。,图4-6 四次握手释放TCP连接,通常情况下都是客户端主动释放连接,因此以客户端主动关闭一个TCP连接为例讲解释放TCP连接的过程,如图4-6所示。,4.2 传输控制协议TCP,(1)第1次握手:客户请求关闭连接。,客户向服务器发送一个FIN=1的TCP报文段,并设置初始序列号seq=cli

22、ent_isn。该报文段封装成IP数据报传送给服务器。,(2)第2次握手:服务器确认客户请求。,服务器收到上述TCP报文段后,发送一个ACK报文段对这个报文进行确认。ACK报文段中,ACK=1,seq=server_isn,ack=client_isn+1。这时的TCP连接处于半关闭状态,即客户机无法向服务器发送数据,但可以接收服务器发来的数据。客户收到服务器的确认报文段后,进入终止等待状态,等待服务器发出的连接释放报文段。,4.2 传输控制协议TCP,(3)第3次握手:服务器请求关闭连接。,若服务器中没有需要发送给客户的数据了,则发送自己的FIN=1的连接释放报文段给客户端。该报文段中,AC

23、K=1,seq=server_isn,ack=client_isn+1。,(4)第4次握手:客户确认服务器请求。,客户收到服务器的连接释放报文段后,对服务器的FIN报文段进行确认。在确认报文段中把ACK位置1,确认号ack=server_isn+1,序号seq=client_isn+1。然后进入时间等待状态。经过时间等待计时器设置的时间2MSL后,客户才真正释放连接。,4.2 传输控制协议TCP,提 示,4.3 网际互连协议IP,网际互连协议IP是一个网络层协议,它包含寻址信息和控制信息,可使数据包在网络中路由。IP协议是TCP/IP协议族中最为核心的协议,与TCP协议结合组成整个因特网协议的

24、核心协议。与IP协议配套使用的还有4个子协议:,地址解析协议ARP(Address Resolution Protocol,ARP);逆地址解析协议RARP(Reverse Address Resolution Protocol,RARP);因特网控制报文协议ICMP(Internet Control Message Protocol,ICMP);因特网组管理协议(Internet Group Management Protocol,IGMP)。,4.3.1 IPv4地址,当网络中的两台主机要进行通信时,必须知道通信双方各自的地址,这就是我们所理解的Internet地址,即IP地址。IP地址实

25、际上是一种标识符,TCP/IP协议通过IP地址来识别网络中不同的主机。,4.3 网际互连协议IP,IP地址的表示,根据TCP/IP协议规定,IP地址由32位二进制数所组成。例如,互联网上一台主机的IP地址为11000001001000001101100000001001。为了记忆方便,可以将IP地址的32位二进制数进行分段,每段8位,共4段,然后将每段8位二进制数转换为相应的十进制数,中间用“”号间隔,这种表达方式称之为“点分十进制”。也就是说,上述的IP地址可以表示成193.32.216.9,如图4-7所示。,图4-7 点分十进制表示IP地址,从概率学的角度看,32位二进制数能表达232种不

26、同的情况。也就是说,按照IP地址的设计初衷考虑,32位的地址空间可以表达4 294 967 296个不同的Internet地址。,4.3 网际互连协议IP,IP地址的分类,每个IP地址内部分成两部分,即网络号和主机号,如图4-8所示。,网络号:也叫做网络地址,用于标识大规模TCP/IP网际网络(即由网络组成的网络)内的单个网段。主机号:也叫做主机地址,用于识别每个网络内部的TCP/IP节点,如工作站、服务器、路由器或其他TCP/IP设备。,图4-8 IP地址的结构,4.3 网际互连协议IP,IP地址中的网络号和主机号总共32位(4个字节),那么,如果网络号部分占总地址空间比较少,相应的主机号部

27、分位数就增多,这样的网络中容纳的主机数就比较多,也就是说网络规模就比较大;反之也很好理解。因网络规模有所不同,为了方便网络的管理,IP地址被分为A,B,C,D,E五类,如图4-9所示。,图4-9 IP地址分类,4.3 网际互连协议IP,A、B、C类地址称之为单目传送地址,这些地址通常只能分配给唯一的主机;D类地址是组播地址;E类地址则是在IP地址设计之初保留作为科学研究用的。各类IP地址类别详述如表4-3所示。,表4-3 IP地址类别详述,注:该表中的网络号、主机号排除了一些特殊IP地址。,4.3 网际互连协议IP,特殊IP地址,在IP地址中,有一些特殊地址被赋予特殊的作用。,主机地址全为1的

28、IP地址称为广播地址。广播地址专门用于同时向网络中所有主机发送数据。例如,对于IP地址为192.168.10.0的C类网段,当发出一个目的地址为192.168.10.255的分组时,它将被分发给该网段上的所有主机。广播地址又分为直接广播地址和有限广播地址两种。直接广播地址有网络号,但主机字段通常全为1,这类广播会被送到专门网络(由网络号决定)上的每台主机。有限广播地址是指网络字段和主机字段全为1的地址,即255.255.255.255,它不被路由但会被送到相同物理网络段上的所有主机。,4.3 网际互连协议IP,组播地址就是前面讲的D类地址,主要用于视频广播和视频点播系统,IP地址范围从224.

29、0.0.0到239.255.255.255。其中,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。组播地址和广播地址是不一样的:广播地址按主机的物理位置来划分各组,而组播地址指定一个特定的逻辑组,参与该组的计算机可能遍布整个Internet。,网络地址是127的IP地址称为环回地址或者回送地址,主要用于对本地回路测试及实现本地机进程间的通信。在实际中经常使用的环回地址是127.0.0.1,它还有一个别名叫做localhost。,4.3 网际互连协议IP,提 示,4.3 网际互连协议IP,一般的IP地址是由网络信息中心(Network Information Center,NI

30、C)统一管理并分配给提出注册申请的组织机构的,这类IP地址称为公有地址,通过它可以直接访问因特网。而私有地址属于非注册地址,专门为组织机构内部使用。常用的私有地址分类如表4-4所示。,表4-4 私有地址分类,使用私有地址的私有网络由于不与外部互连,因而可能使用随意的IP地址。私有网络在接入Internet时,要使用地址翻译(NAT),将私有地址翻译成公用合法IP地址。,4.3 网际互连协议IP,提 示,4.3 网际互连协议IP,不同类型的特殊IP地址总结如表4-5所示。,表4-5 特殊IP地址汇总,4.3 网际互连协议IP,4.3.2 子网技术,在实际使用过程中,许多单位会把单一网络划分为多个

31、物理网络,并使用路由器将它们连接起来,如图4-10所示。这些物理网络通称为子网,这种操作方法称为子网划分。,子网,4.3 网际互连协议IP,划分子网的好处有很多,主要体现在以下3个方面。,充分利用IP地址:由于A类网和B类网的地址空间太大,致使在不使用路由设备的单一网络中无法使用全部地址。因此,为了能更有效地使用地址空间,有必要把可用地址分配给更多较小的网络。易于管理网络:当一个网络被划分为多个子网时,每个子网变得易于控制,管理变得简单,减轻了大型网络的管理难度。提高网络性能:将一个大型的网络划分为若干个子网,其中的路由器设备可以把不同的子网隔离开来。同一子网中的主机之间只能在各自的子网中进行

32、广播和通信,不会转到其他子网中。另外,用路由器隔离还可以将网络分为内外两个子网,限制外部网络用户对内部网络的访问,从而提高内部子网的安全性。,4.3 网际互连协议IP,划分子网的方法,对于标准的A类、B类和C类地址来说,它们只具有网络号和主机号两层结构。为了划分子网,可以将其主机号分为两个部分,其中一部分用于子网号的编制,剩余部分用于主机号的编制。这样就形成了一个三层结构,即网络号、子网号和主机号,如图4-11所示。,图4-11 IP地址的三层结构,4.3 网际互连协议IP,子网号的位数取决于组网的实际需要:子网号所占的比特位越多,则可以分配给主机的位数就越少。也就是说,在一个子网中所包含的主

33、机就少。(1)假设当前主机号有M位,向主机位部分借用n位来划分子网,则可以划分出2n个子网。反之,知道所需网络数,也可以计算出所需借用的主机位位数。(2)假设当前主机号有M位,划分子网后主机位有m位,则最多可容纳主机数量为2m-2台。反之,知道子网中的主机数量,也可以计算出所需主机位数。用当前主机位M减去划分子网后的m位,即可得到需借用的主机位位数。,4.3 网际互连协议IP,提 示,例如,将一个C类网络203.66.77.0划分为4个子网,那么需要借用3位主机位作为子网号,每个子网可以容纳25-2=30台主机。又例如,一个B类网络172.17.0.0,将主机号的前8位作为子网号,另外8位作为

34、主机号,那么这个B类网络就被分为28-2=254个子网,每个子网可以容纳28-2=254台主机。,4.3 网际互连协议IP,子网掩码,图4-12中给出了两个B类IP地址,这两个IP地址从外观上没有任何差别,那么应该如何区分这两个地址呢?这就要用到子网掩码。,图4-12 使用子网划分和未使用子网划分的IP地址,子网掩码(或称子网屏蔽码)与IP地址相同,也是一个32位的二进制数。对于子网掩码的取值,通常是将对应于IP地址中网络地址(网络号和子网号)的所有位设置为“1”,对应于主机地址(主机号)的所有位都设置为“0”。,子网掩码有两种表示方法,一是“点分十进制”表示法,二是网络前缀标记法。(1)“点

35、分十进制”表示法与IP地址中相同。(2)子网号是从IP地址高字节以连续方式选取的,即从左到右连续地取若干位作为网络号。因此,可用网络地址(网络号和子网号)的位数来表示子网掩码,形式为“/”,这种表示方法称为“网络前缀标记法”。例如,一个子网掩码为255.255.0.0的B类网络地址156.81.0.0,用网络前缀标记法可以表示为156.81.0.0/16。,4.3 网际互连协议IP,4.3 网际互连协议IP,标准的A类、B类、C类网络地址的默认子网掩码如表4-6所示。,表4-6 标准的A类、B类、C类网络地址的默认子网掩码,用子网掩码判断IP地址的方法是用IP地址与子网掩码进行“按位与(AND

36、)”运算,运算结果即为网络地址。,4.3 网际互连协议IP,分析:168.16.16.51是B类地址,其默认子网掩码是255.255.0.0,将IP地址与子网掩码进行“按位与(AND)”运算即可得到网络地址,如图4-13所示。,图4-13 使用子网掩码求网络地址(1),4.3 网际互连协议IP,分析:168.16.16.51是B类地址,采用非默认子网掩码255.255.255.0划分子网,将IP地址与子网掩码进行“按位与(AND)”运算即可得到网络地址,如图4-14所示。,图4-14 使用子网掩码求网络地址(2),通过例4-1和例4-2可以看出,使用子网掩码可以区分一个IP地址是否使用子网划分

37、,还可以计算出其网络地址。,4.3 网际互连协议IP,划分子网的步骤,划分子网的步骤如下:,4.3 网际互连协议IP,(1)确定子网号位数。网络中有4个子网,则2n-2=4,计算得出n=3,即需要从IP地址中借用3位主机位。注意,n采用向上取整。剩余主机位为8-3=5位,则子网中最多容纳25=32台主机,符合题目要求。,(2)将IP地址的网络位和子网位写为1,主机位写为0,即可得到子网掩码。 二进制 十进制11111111.11111111.11111111.11100000255.255.255.224,4.3 网际互连协议IP,4.3 网际互连协议IP,4.3 网际互连协议IP,可变长子网

38、划分,当用户选择了一个普通子网掩码之后,就不能支持不同尺寸的子网了,这对于网络内部不同网段需要不同大小子网的情形来说非常不方便。相对于普通子网掩码,在RFC 1878中定义了可变长子网掩码(Variable Length Subnet Mask,VLSM),它在划分子网并保留足够的主机数的同时,将子网进一步分成多个小子网,这种方法能将网络划分为三级或更多级子网,使子网划分具有更大的灵活性,也使IP地址具有更高的利用率。如果对一个网络进行了可变长子网划分,那么就可以用不同长度的子网网络号来唯一标识每个子网,并能通过对应的子网掩码进行区分。VLSM规定了如何在一个进行了子网划分的网络中的不同部分使

39、用不同的子网掩码。,4.3 网际互连协议IP,(1)一个能容纳100台主机的子网。,4.3 网际互连协议IP,用主机号中的1位(第4个字节的最高1位)进行子网划分,产生2个子网,分别为210.31.233.0/25、和210.31.233.128/25两个子网段。这种子网划分允许每个子网有126台主机(27-2)。选择210.31.233.0/25(子网掩码为255.255.255.128)作为网络号,该一级子网共有126个IP地址可供分配,能够满足市场部的需求。表4-7中给出了能容纳126台主机的一个子网。,分析,表4-7 划分市场部子网,(2)两个能容纳52台主机的子网。,4.3 网际互连

40、协议IP,为满足2个子网各能容纳52台主机的需求,可以使用一级子网中的第2个子网210.31.233.128/25(子网掩码为255.255.255.128),取出其主机号的1位进一步划分成两个二级子网,其中第1个二级子网为210.31.233.128/26(子网掩码为255.255.255.192),划分给硬件部门,该二级子网共有62个IP地址可供分配;第2个二级子网为210.31.233.192/26(子网掩码为255.255.255.192)划分给软件部门,该二级子网共有62个IP地址可供分配。表4-8给出了能容纳62台主机的两个子网。,分析,表4-8 划分技术部的2个子网,4.3 网际

41、互连协议IP,对这个可变长子网的划分结果如图4-16所示。,图4-16 可变长子网划分结果,4.3 网际互连协议IP,超网和无类域间路由,目前,在Internet上使用的IP地址是在1978年确立的协议,它由4段8位二进制数字组成。由于Internet协议当时的版本号为4,因而称为“IPv4”。尽管这个协议在理论上有大约43亿个IP地址,但是,并不是所有的地址都得到了充分的利用。A类和B类地址所包含的主机数又太多,而C类地址包含的主机数又太少,如一个B类网络其中所包含的主机数可以达到65 534个,一个C类网络中只能容纳254台主机,这对于拥有上千台主机的单位来说,选择哪类网络地址都是不合适的

42、。此外,由于Internet的迅猛发展,主机数量急剧增加,它正以非常快的速度消耗着IP地址。为了解决当前IP地址面临的严重资源不足的问题,InterNIC设计了一种新的网络分配方法:对于一个主机数量介于B类网络和C类网络的单位,InterNIC给它分配多个C类网络的范围,该范围能够容纳足够的网络和主机。这种方法实质上就是将若干个C类网络合并成一个网络,这个合并后的网络就称为超网。例如,假设一个单位拥有2 000台主机,那么InterNIC并不是给它分配一个B类网络,而是分配8个C类网络。每个C类网络可以容纳254台主机,总共2 032台主机,能够满足实际需求。,4.3 网际互连协议IP,虽然这

43、种方法有助于节约B类网络,但它又导致新的问题:采用通常的路由选择计算,在Internet上每个路由器的路由表中必须有8个C类网络表项才能把IP包路由到该单位。为防止Internet路由器被过多的路由淹没,必须采用一种称为无类域间路由(Classless Inter-Domain Routing,CIDR)的计算,把多个表项缩成一个表项。使用了CIDR后,路由表中只用一个路由表项就可以表示分配给该单位的所有C类网络。在概念上,CIDR创建的路由表项可以表示为:,起始网络,数量,其中,“起始网络”表示的是所分配的第一个C类网络地址,“数量”是分配的C类网络的总个数。实际上,它可以用一个超网子网掩码

44、来表示相同的信息。,4.3 网际互连协议IP,将8个C类网络地址的二进制表示形式列出,如表4-9所示。,分析,表4-9 8个C类网络地址,4.3 网际互连协议IP,CIDR实际上是借用部分网络号来充当主机号。在表4-9中,因为8个C类地址网络号的前21位完全相同,变化的只是最后3位网络号,因此,可以将网络号的后3位看成是主机号,由此得到超网的子网掩码的二进制数为“11111111 11111111 11111000 00000000”,即255.255.248.0。若用网络前缀表示法来表示,可表示为210.31.224.0/21。,利用CIDR实现地址汇总有两个基本条件:(1)待汇总地址的网络

45、号拥有相同的高位。如表4-9所示,8个待汇总的网络地址的第3个位域的前5位完全相等,均为11100。(2)待汇总的网络地址数目必须是2n个,如2个,4个,8个,16个等;否则,可能会使汇总后的网络可能包含实际中并不存在的子网,导致路由黑洞。使用可变长子网划分、超网和CIDR配置网络时,要求相关的路由器和路由协议必须能够提供支持,IP路由信息协议版本2(RIPv2)和边界网关协议版本4(BGPv4)都支持可变长子网划分和CIDR,而路由信息协议版本1(RIPv1)则不支持。具体路由协议将在第六章进行讲解。,4.3 网际互连协议IP,4.3.3 IP数据报,图4-17 IP数据报的格式,4.3 网

46、际互连协议IP,IP数据报报头包含了一些必要的控制信息,由20个字节的固定部分和变长的可选项部分组成。已知最高位在左边,记为0位;最低为在右边,记为31位。那么报头中各字段的内容如下:,(1)版本。版本字段占4位,用来表明IP协议的版本。目前广泛使用的IP协议版本号为4(即IPv4),其版本字段为0100。,(2)首部长度。首部长度字段占4位,表示数据报头的长度。,(3)区分服务。区分服务字段占8位,指示数据报内容的优先权或者优先级。这个字段在旧标准中叫做服务类型,在一般情况下都不使用该字段。只有在使用区分服务时,这个字段才起作用。,4.3 网际互连协议IP,(4)总长度。总长度字段是指整个I

47、P数据报的长度(以字节为单位),包括数据报头和数据。由于该字段占16位,所以IP数据报最长可达65 535字节。,在IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,这个最大长度被称为最大传送单元(Maximum Transmission Unit,MTU)。当一个IP数据报在链路层封装成帧时,此IP数据报的总长度一定不能超过数据链路层所规定的MTU。,(5)标识符。标识符占16位,每个数据报都必须由唯一的标识符来标识,以便使接收端能重装被分段的数据包。当IP对数据段进行分段的时候,它将给所有的段分配一组编号,然后将这些编号放入标识符字段,保证分段不会被错误地进行重组。

48、,4.3 网际互连协议IP,(6)标志。标志字段占用3位,但只有低两位有效:,标志字段的最低位记为MF(More Fragment),又称最终分段标志。当MF=1时,表示该数据报后还有分片的数据报;当MF=0时,表示该数据报是最后一个分片。标志字段的中间一位记为DF(Dont Fragment),又称禁止分段标志。当DF=1时,表示该数据包不能分片;当DF=0时,才允许分片。,(7)片偏移。片偏移字段占13位,用于指出在较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位,也就是说,每个分片的长度一定是8字节(64位)的整数倍。,(8)生存周期(Time To Live,T

49、TL)。TTL值用于限制数据报在网络中的生存时间。数据报每经过一个路由器,该路由器将减少TTL的值;当TTL的值为0的时候,该数据报将被丢弃。这样可以防止一个数据报在网络中无限循环地转发下去。,4.3 网际互连协议IP,(9)协议。协议字段占8位,用于指定数据区中携带的消息是由哪种高级协议建立的。常用的协议和相应的协议字段值如下:,(10)首部校验和。首部校验和是一个16位的循环冗余校验码,其值等于IP报头内每一个字段中包含的值的和。该字段用于保证头部数据的完整性和传输的正确性。IP数据报每经过一个路由器,路由器都检查该校验和的值并进行更新,这是因为报头中的TTL值、标志、片偏移等值可能发生变

50、化。,(11)源IP地址和目的IP地址。源IP地址及目的IP地址均占32位,分别用于指定发送IP数据报的源主机地址和接收IP数据报的目的主机地址。,IP数据报报头的可选字段长度可变,从1个字节到40个字节不等,用来支持排错、测量以及安全等措施。增加可选字段是为了增加IP数据报的功能,但同时也使得IP数据报的首部长度不固定,增加了路由器处理数据报的开销。,4.3 网际互连协议IP,4.3.4 地址解析协议,IP地址与物理地址,实际通信时,在一个网络中对其内部的一台计算机进行寻址所使用的地址称为物理地址。通常将物理地址固化在网卡的ROM中,因此也称其为硬件地址或MAC地址。MAC地址的长度为48位

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号