于银辉教授吉林大学通信工程学院_第1页
于银辉教授吉林大学通信工程学院_第2页
于银辉教授吉林大学通信工程学院_第3页
于银辉教授吉林大学通信工程学院_第4页
于银辉教授吉林大学通信工程学院_第5页
已阅读5页,还剩237页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、于银辉于银辉 教授教授吉林大学吉林大学通信工程学院通信工程学院32.1 TCP/IP参考模型参考模型2.2 IP及辅助协议及辅助协议2.3 UDP和和TCP协议协议4 2.1.1 TCP/IP分层模型l1、OSI参考模型 (1)OSI-RM的分层结构56(2)各层功能概述l物理层(数据传送单位比特) 功能物理层提供用于建立、保持和断开物理连接的机械的、电气的、功能的和规程的手段。7表示经过实际线路传送后,比特流没有发生变化。功能功能物理层提供用于物理层提供用于建立、保持和断开物理连建立、保持和断开物理连接的机械的、电气的、功接的机械的、电气的、功能的和规程的手段。能的和规程的手段。功能:功能:

2、8l简而言之,物理层提供有关同步和全双工比特流在物理媒体上的传输手段。l物理层典型的协议RS232C,RS449422423,V24,V28,X20和X21等。910负责数据链路的建立、维持和负责数据链路的建立、维持和拆除。拆除。差错控制差错控制流量控制流量控制常用的协议常用的协议基本型基本型传输控制规程和高级数据链路传输控制规程和高级数据链路控制规程控制规程(HDLC)。功能:功能:11数据链路层(数据传送单位帧)功能:l负责数据链路的建立、维持和拆除。l差错控制l流量控制 常用的协议基本型传输控制规程和高级数据链路控制规程(HDLC)。12路由选择路由选择差错控制差错控制流量控制流量控制网

3、络层的协网络层的协议议X.25分组级分组级协议协议功能:功能:13网络层(数据传送单位分组)功能:l路由选择l差错控制l流量控制网络层的协议X.25分组级协议14端到端的顺序控制、流端到端的顺序控制、流量控制、差错控制及监量控制、差错控制及监督服务质量。督服务质量。功能:功能:15运输层(数据传送单位报文)l功能端到端的顺序控制、流量控制、差错控制及监督服务质量。1617负责进程间建立会话和负责进程间建立会话和终止会话,并且控制会终止会话,并且控制会话期间的对话。话期间的对话。提供诸如会话建提供诸如会话建立时会话双方资格的核立时会话双方资格的核实和验证,由哪一方支实和验证,由哪一方支付通信费用

4、,及对话方付通信费用,及对话方向的交替管理、故障点向的交替管理、故障点定位和恢复等各种服务定位和恢复等各种服务。功能:功能:18l会话层及以上各层中,数据的传送单位一般都称为报文,但与运输层的报文有本质的不同。19代码转换、代码转换、数据格式转数据格式转换、数据加换、数据加密与解密、密与解密、数据压缩与数据压缩与恢复等。恢复等。功能:功能:2021确定应用进程之间确定应用进程之间通信的性质,以满通信的性质,以满足用户的需要。足用户的需要。 同同时应用层还要负责时应用层还要负责用户信息的语义表用户信息的语义表示,并在两个通信示,并在两个通信用户之间进行语义用户之间进行语义匹配。匹配。功能:功能:

5、22(3)信息在OSI参考模型各层的传递过程23图图2-2 信息在各层之间的传递过程信息在各层之间的传递过程242526图图2-2 信息在各层之间的传递过程信息在各层之间的传递过程2728292、TCPIP分层模型lTCPIP模型及与OSI参考模型的对应关系如图2-3所示。30图图2-3 TCPIP模型及与模型及与OSI参考模型的对应关系参考模型的对应关系31l网络接口层对应OSI参考模型的物理层和数据链路层;l网络层对应OSI参考模型的网络层;l运输层对应OSI参考模型的运输层;l应用层对应OSI参考模型的5、6、7层。32图图2-3 TCPIP模型及与模型及与OSI参考模型的对应关系参考模

6、型的对应关系332.1.2 TCPIP模型各层功能及协议l1、应用层l作用为用户提供访问Internet的高层应用服务,例如文件传送、远程登录、电子邮件、WWW服务等。34l协议一组应用高层协议,即一组应用程序,主要有文件传送协议FTP、远程终端协议TELNET、简单邮件传输协议SMTP、超文本传送协议HTTP等等。l应用层的数据传送单位是报文。35lTCP/IP运输层的作用是提供应用程序间(端到端)的通信服务,确保源主机传送的数据正确到达目的主机。36运输层提供了两个协议:l传输控制协议TCPl用户数据报协议UDPl运输层的数据传送单位是TCP报文段或UDP报文(统称为报文段)。37l网络层

7、的作用是提供主机间的数据传送能力,其数据传送单位是IP数据报。l网络层的核心协议是IP协议,IP协议非常简单,它提供的是不可靠、无连接的IP数据报传送服务。38l网络层的辅助协议是协助IP协议更好地完成数据报传送,主要有:l(1)地址转换协议ARP用于将IP地址转换成物理地址。l(2)逆向地址转换协议RARP与ARP的功能相反,用于物理地址转换成IP地址。39 (3)Internet控制报文协议ICMP用于报告差错和传送控制信息,其控制功能包括:差错控制、拥塞控制和路由控制等。 (4) Internet组管理协议IGMPIP多播用到的协议,利用IGMP使路由器知道多播组成员的信息。40ll网络

8、接口层的数据传送单位是物理网络帧(简称物理帧或帧)。41l主要功能: (1)发端负责接收来自网络层的IP数据报,将其封装成物理帧并且通过特定的网络进行传输; (2)收端从网络上接收物理帧,抽出IP数据报,上交给网络层。42l网络接口层没有规定具体的协议。lTCPIP模型的网络接口层对应OSI参考模型的物理层和数据链路层,不同的物理网络对应不同的网络接口层协议。43 2.2.1 IP协议(IPv4)1、IP协议的特点l仅提供不可靠、无连接的数据报传送服务;lIP协议是点对点的,所以要提供路由选择功能;lIP(IPv4)地址长度为32比特。 44lInternet为每一个上网的主机分配一个唯一的标

9、识符,即IP地址。 (1)IP地址的结构45图图2-5 IP地址的结构地址的结构(1)IP地址的结构46l我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是惟一的 32 bit 的标识符。lIP 地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配 47l根据网络地址和主机地址各占多少位,IP地址分成为五类,即A类到E类,如图2-6所示。48l分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准

10、协议。l子网的划分。这是对最基本的编址方法的改进,其标准RFC 950在 1985 年通过。l构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。49分类 IP 地址 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。 两级的 IP 地址可以记为:IP 地址 := , (6-1):= 代表“定义为”50net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地

11、址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 00151net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001A 类地址的网络号字段 net-id 为 1 字节52net-id24 bithost-id24

12、 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001B 类地址的网络号字段 net-id 为 2 字节53net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E

13、 类地址保 留 为 今 后 使 用1 1 1 1 001C 类地址的网络号字段 net-id 为 3 字节54net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001A 类地址的主机号字段 host-id 为 3 字节55net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网

14、络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001B 类地址的主机号字段 host-id 为 2 字节56net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001C 类地址的

15、主机号字段 host-id 为 1 字节57net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001D 类地址是多播地址 58net-id24 bithost-id24 bitnet-id16 bitnet-id8 bitIP 地址中的网络号字段和主机号字段 0A 类地址host-id16 bitB 类地址C 类地址01 1host

16、-id8 bitD 类地址 1 1 1 0多 播 地 址E 类地址保 留 为 今 后 使 用1 1 1 1 001E 类地址保留为今后使用 59l先按所要找的 IP 地址中的网络号 net-id 把目的网络找到。l当分组到达目的网络后,再利用主机号host-id 将数据报直接交付给目的主机。l按照整数字节划分 net-id 字段和 host-id 字段,就可以使路由器在收到一个分组时能够更快地将地址中的网络号提取出来。 60(2)IP地址的表示方法:点分十进制记法 10000000000010110000001100011111 机器中存放的 IP 地址是 32 bit 二进制代码100000

17、00 00001011 00000011 00011111 每隔 8 bit 插入一个空格能够提高可读性采用点分十进制记法则进一步提高可读性1 128 11 3 31 将每 8 bit 的二进制数转换为十进制数612. 常用的三种类别的 IP 地址 IP 地址的使用范围 网络 最大 第一个 最后一个 每个网络类别 网络数 可用的 可用的 中最大的 网络号 网络号 主机数 A 126 (27 2) 1 126 16,777,214 B 16,384 (214) 128.0 191.255 65,534 C 2,097,152 (221) 192.0.0 223.255.255

18、 25462 IP地址用点分十进制表示,好处是可以提高IP地址的可读性,而且可很容易地识别IP地址类别。63(1) IP 地址是一种分等级的地址结构。分两个等级的好处是:l第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。l第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。 64(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。 l当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的

19、 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多接口主机(multihomed host)。l由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。 65(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。(4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。 66互联网中的 IP 地址 BR

20、1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id67互联网中的 IP 地址 B22

21、R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id68互联网中的 IP 地址 B222

22、.1.1.3R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id69互联网中的 IP 地址 B222.

23、1.1.2R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。图中的网络号就是 IP 地址中的 net-id70互联网中的 IP 地址 B22.1

24、.1.1R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。 71互联网中的 IP 地址 B22.

25、1.1.1R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。 72互联网中的 IP 地址 B22

26、.1.1.1R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。 73互联网中的 IP 地址 B2

27、R1R3R2222.1.3.LAN3N3N222.1.6.N1LAN2LAN1互联网两个路由器直接相连的接口处,可指明也可不指明 IP 地址。如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络” 。现在常不指明

28、 IP 地址。74lIP地址用点分十进制表示,好处是可以提高IP地址的可读性,而且可很容易地识别IP地址类别。75l例2-1:某IP地址为10011000 01010001 10000001 00000000,将其表示成点分十进制形式。l解:此IP地址的点分十进制表示为 76l 目前Internet中一般采用A、B、C类地址,这三类地址归纳如表2-1所示。 7778l几点说明:起始地址是指前8个比特表示的地址范围。79lA类地址标识的网络种类为,减2的原因是:第一,IP地址中的全0表示“这个”(this)。l网络号字段为全0的IP地址是个保留地址,意思是“本网络”。l第

29、二,网络号字段为127(即01111111)保留作为本地软件环回测试本主机用。80l每网主机数,减2的原因是:全0的主机号字段表示该IP地址是本主机所连接到的“单个网络”地址;全1的主机号字段表示该网络上的所有主机。81l两级IP地址存在的缺点:一是IP地址空间的利用率有时很低;二是两级的IP地址不够灵活。l为了解决这些问题,Internet采用子网地址,由此IP地址结构由两级发展到三级。82l划分子网和子网地址l划分子网的目的为了便于管理,一个单位的网络一般划分为若干子网,子网是按物理位置划分的。l为了标识子网和解决两级的IP地址的缺点,采用子网地址。83l子网编址技术的概念指在IP地址中,

30、对于主机地址空间采用不同方法进行细分,通常是将主机地址的一部分分配给子网做为子网地址。84图图2-7 三级三级IP地址结构地址结构85子网掩码l子网掩码的作用:l表示子网和主机地址位数;l将某台主机的IP地址和子网掩码相与可确定此主机所在的子网地址。86l子网掩码的长度也为32比特,与IP地址一样也用点分十进制表示。l已知一个IP网络的子网掩码,将其点分十进制转换为32比特的二进制,其中“1”代表网络地址和子网地址字段;“0”代表主机地址字段。8788l(1)CIDR的主要特点lCIDR不再划分A类、B类和C类地址,也不再划分子网地址,因而可以更加有效地分配IPv4的地址空间。89lCIDR使

31、用各种长度的“网络前缀”来代替分类地址中的网络号和子网号。lIP地址是无分类的两级编址。90lCIDR一般表示为:lIP地址 := , 91lCIDR也可以采用斜线记法,具体为:在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的比特数(这个数值对应于三级编址中子网掩码中1比特的个数)。92l例如,CIDR地址0/22(其二进制表示为 11000100 00011100 01000001 00011110)l表示网络前缀占22比特,为11000100 00011100 010000l主机号占10比特,为01 00011110l需要注意的是,上例CIDR的斜线记法指的是

32、一个单个的IP地址。93lCIDR将网络前缀都相同的连续的IP地址组成CIDR地址块。l一个CIDR地址块是由起始地址(地址块中的最小地址)和地址块中的地址数来决定的。94CIDR地址块的表示方法有以下几种:l斜线记法l例如,/20表示的地址块共有个地址,为地址块的起始地址。(在不需要指出(在不需要指出地址块的起始地地址块的起始地址时,也可将这址时,也可将这样的地址块简称样的地址块简称为为“/20地址块地址块”)。)。注意95l这个地址块的最小地址:,最大地址:55l其实主机号全0的和

33、主机号全的155不用,所以此地址块实际共有个地址。96l将点分十进制中低位连续的0省略l例如,/12 可简写为56/12l用二进制表示l 例如,/12 可写为l00111000 0000 l(20个可以是任意值,但全0和全1的主机号一般不使用)97l网络前缀的后面加一个星号 * 的表示方法l例如:/12 可写为 l00111000 0000*98l在星号 * 之前是网络前缀,而星号 * 表示IP地址中的主机号。l需要注意的是,见到斜线记法表示的地址时,一定要根据上下文弄清它是指一个单个的IP地址还是指一个地址块。99lCID

34、R虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。l掩码的表示:网络前缀所占的比特数均为1,主机号所占的比特数均为0。100l4、IP数据报格式lIP数据报的格式如图2-8所示。101图图2-8 IP数据报格式数据报格式102l首部各字段的作用:l版本(4bit)指出IP协议的版本,目前的IP协议版本号为4(即IPv4)。l首部长度(4bit)以32比特(4字节)为单位指示IP数据报首部的长度。lIP数据报首部长度为2060字节。103l服务类型(8bit)用来表示用户所要求的服务类型,具体包括优先级、可靠性、吞吐量和时延等。l总长度(16bit)以字节为单位指示数据报的长度,

35、数据报的最大长度为65535字节。104l标识、标志和片偏移字段(共32bit)控制分片和重组。l生存时间(8bit)记为TTL,控制数据报在网络中的寿命,其单位为秒。105l协议(8bit)字段指出此数据报携带的数据使用何种协议,以便目的主机的网络层决定将数据部分上交给哪个处理过程。l首部检验和(16bit)字段对数据报的首部进行差错检验。106l源地址和目的地址各占4字节,即发送主机和接收主机的IP地址。l可选字段用来支持排错、测量以及安全等措施。l填充IP数据报报头长度为32bit的整倍数,假如不是,则由填充字段添“0”补齐。107l(1)在发送端l源主机在网络层将运输层送下来的报文组装

36、成IP数据报,然后将IP数据报送到网络接口层。108l在网络接口层对IP数据报进行封装,形成可以在物理网络中传输的帧,然后送到物理网络上传输。109l每个物理网络都规定了物理帧的大小,物理网络不同,帧的大小限制也不同,物理帧的最大长度称为最大传输单元MTU。l一个物理网络的MTU由硬件决定,通常情况下是保持不变的。110l源主机所发送的IP数据报在到达目的主机前,可能要经过由若干个路由器连接的许多不同种类的物理网络。l路由器对IP数据报要进行以下处理:路由选择、传输延迟控制和分片(需要的话,进行分片)等。111路由选择l每个路由器都要根据目的主机的IP地址对IP数据报进行路由选择。112传输延

37、迟控制l为避免由于路由器路由选择错误,至使数据报进入死循环的路由,而无休止地在网中流动,IP协议对数据报传输延迟要进行特别的控制。l为此,每当产生一个新的数据报,其报头中“生存时间”字段均设置为本数据报的最大生存时间,单位为秒。113l随着时间流逝,路由器从该字段减去消耗的时间。l一旦TTL小于0,便将该数据报从网中删除,并向源主机发送出错信息。114分片分片的概念lIP数据报要通过许多不同种类的物理网络传输,而不同的物理网络MTU大小的限制不同。为了选定最佳的IP数据报大小,以实现所有物理网络的数据报封装,IP协议提供了分片机制,在MTU较小的网络上,将数据报分成若干片进行传输。115l分片

38、是在MTU不同的两个网络交界处路由器中进行的,而片重组是由目的主机完成。lIP数据报在传输过程中可以多次分片,但不能重组。116分片方法l每片与原始数据报具有相同的格式,每片中包括片头和部分数据报数据。l其中,片头大部分是复制原始数据报的报头,只增加了少量表示分片信息的比特(我们认为片头=报头);而片数据MTU-片头,另外在求片数据大小时,注意分片必须发生在8字节的整倍数。117分片控制l数据报报头中,与控制分片和重组有关的三个字段为标识、标志和片偏移。118l标识占16bit,标识字段是目的主机赋予数据报的标识符,其目的是确保目的主机能重组分片为数据报。l分片时,该字段必须原样复制到新的片头

39、中。119l当分片到达时,目的主机使用标识字段和源地址来识别分片属于哪个数据报。l标志占3bit,如图2-12所示。120图图2-12 标志字段的意义标志字段的意义121l标志字段目前只有前两位有意义。l标志字段的最低位MF1表示后面“还有分片”,MF0表示这已是最后一个分片;标志字段中间的一位是DF,意思是“不能分片”,只有当DF0时才允许分片。122l片偏移占13bit,指出某片数据在初始数据报数据区中的偏移量,其偏移量以8个字节为单位指示(所以分片必须发生在8字节的整倍数)。123l当所传数据流到达目的主机时,首先在网络接口层识别出物理帧,然后去掉帧头,抽出IP数据报送给网络层。l如果I

40、P数据报在传输过程中进行了分片,目的主机要进行重组。124 2.2.2 Internet控制报文协议(ICMP)l1、ICMP的作用lICMP是IP协议正常工作的辅助协议,是TCP/IP提供的用以解决差错报告与控制的主要手段。lICMP的控制功能包括:差错控制、拥塞控制和路由控制等。125 图图2-13 ICMP报文的封装报文的封装2、ICMP报文的封装及格式126 图图2-14 ICMP报文格式报文格式(2)ICMP报文格式127lICMP报文分为报头和数据区两大部分,其中报头包含:类型字段、代码字段和校验和字三项。128各部分的作用为:l类型字段占8比特,表示ICMP报文类型。l代码字段占

41、8比特,用于进一步区分某种类型中的几种不同情况。129l校验和字段占16比特,提供对整个ICMP报文的差错校验。l参数字段占32比特,这部分内容与ICMP的类型有关(没有可不用)。130l数据字段ICMP报文数据区含有出错IP数据报报头及其前64比特数据,这些信息将由ICMP提供给发送主机,以确定出错数据报。131lICMP报文包括两种类型:ICMP差错报告报文和ICMP询问报文。132ICMP差错报告报文主要有:l目的不能到达l源站抑制l数据报超时l参数问题 l重定向(改变路由)133ICMP询问报文主要有:l回送请求和回答报文l时间戳请求和回答报文l掩码地址请求和回答报文l路由器询问和通告

42、报文 134l 1、地址转换协议ARP(1)地址转换协议ARP的作用l地址转换协议ARP的作用:l在Internet中,每一个物理网络中的主机都具有自己的物理地址,并且这些主机不能直接识别IP地址。135l即IP地址是不能直接用来通信的,在实际链路上传送数据帧时,必须使用物理地址。l所以在Internet中要求提供实现物理地址与IP地址转换的协议。l地址转换协议ARP的作用是将IP地址转换为物理地址。136l逆向地址解析协议RARP的作用是将物理地址转换为IP地址。137l1、IP多播的基本概念lIP多播就是在IP网上进行一对多的通信,即由一个源点发送到许多个终点。lIP多播可以分为两种:一种

43、是只在本局域网上进行硬件多播,另一种是在IP网的范围进行多播。138lIGMP的作用:路由器为建立多播转发路由必须了解每个多播组成员在Internet中的分布,所以主机应该能将其所在的多播组通知给本地路由器。139l主机与本地路由器之间使用IGMP来进行多播组成员信息的交互。l在此基础上,本地路由器再与其他多播路由器通信,传播多播组的成员信息,并建立多播路由。1402.3.1 可靠传输的原理l运输层几种保证可靠传输的协议。141l停止等待协议规定:发送端采用停止等待发送方式,即每发送一个报文段就暂停下来,等待接收端的确认。142l它是OSI-RM的第二层,设立目的在于将一条原始的、有差错控制的

44、物理线路变为对网络层无差错的数据链路。143l(1)链路是指一条无源的点到点的物理线路 段,中间无任何交换节点。 (2)数据链路物理链路加上必要的通信规程。l在数据通信中采用复用技术时,一条链路上可以有多条数据链路。l(3)数据链路层:首要任务在于管理数据传输。通 过本层协议,在不太可靠的物理层链路上实 现可靠的数据传输。l数据链路层多采用面向比特的协议。144现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。 145l常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。l早期的数据通信协议曾

45、叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 结点结点帧帧146(1) 链路管理 (2) 帧定界 (3) 流量控制(4) 差错控制 (5) 将数据和控制信息区分开 (6) 透明传输 (7) 寻址 147l停止等待协议的优点是实现简单,但缺点是由于采用停止等待发送方式,通信信道的利用率不高。l为了提高通信信道的利用率,满足数据传输高效率的要求,可采用连续发送方式。148l即发送端能够连续发送报文段,而不是在每发送完一个报文段后,就停下来等待接收端的确认。l发送端在连续发送报文段的同时,接收对方的确认。l若某报文段有错(或丢失),则将出错(或丢失)报文段或出错(或丢失

46、)报文段及以后的各报文段重发。149l这种协议称为自动重发请求ARQ (Automatic Repeat reQuest)协议。l根据重发方式的不同分为连续ARQ协议和选择重发ARQ协议。150停止等待协议完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2AP1缓存发送方接收方帧高层帧151l假定 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。l假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。 152l现在去掉上述的第二个假定。但是,仍然保留第一个

47、假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。l由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法。 153在发送结点: (1) 从主机取一个数据帧。 (2) 将数据帧送到数据链路层的发送缓存。 (3) 将发送缓存中的数据帧发送出去。 (4) 等待。 (5) 若收到由接收结点发过来的信息(此信息 的格式与内容可由双方事先商定好),则 从主机取一个新的数据帧,然后转到(2)。154在接收结点: (1) 等待。 (2) 若收到由发送结点发过来的数据帧, 则将其放入数据链路层的接收缓存。 (3)

48、 将接收缓存中的数据帧上交主机。 (4) 向发送结点发一信息,表示数据帧已 经上交给主机。 (5) 转到(1)。155两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制156 实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a) 正常情况ABDATA0DATA0送主机ACK(c) 数据帧丢失重传tout丢失 !ABDATA0送主机ACKDATA0丢弃ACK(d) 确认帧丢失重传tout丢失 !ABDATA0NAKDATA0送主机ACK(b) 数据

49、帧出错重传出错四种情况157l结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。 计时器又称为定时器。l若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。l一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。 158l使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。 l若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。l但此时结点 B 还必须向 A 发送确认帧 ACK,因为 B

50、已经知道 A 还没有收到上一次发过去的确认帧 ACK。 159l任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。 l序号占用的比特数越少,数据传输的额外开销就越小。 l对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。 一个比特可表示 0 和 1 两种不同的序号。 160l数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。l每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。 161l虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待

51、协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。 162l在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。l假设待传送的数据 M = 1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。 163l这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。l按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到,现在期望接收第 n 号帧”。 ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”; ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号

52、帧”。 164(1) 从主机取一个数据帧,送交发送缓存。(2) V(S)0。 (3) N(S)V(S)。(4) 将发送缓存中的数据帧发送出去。 (5) 设置超时计时器。(6) 等待。 等待以下(7)和(8)这两个事件中最先出现的一个(7) 收到确认帧 ACKn, 若 n = 1 V(s),则: 从主机取一个新的数据帧,放入发送缓存; V(S)1 V(S),转到 (3)。 否则,丢弃这个确认帧,转到(6)。 (8) 若超时计时器时间到,则转到(4)。165(1) V(R)0。(2) 等待。(3) 收到一个数据帧; 若 N(S) = V(R),则执行(4); 否则丢弃此数据帧,然后转到(6)。(4

53、) 将收到的数据帧中的数据部分送交上层软件 (也就是数据链路层模型中的主机)。(5) V(R)1 V(R)。(6) nV(R); 发送确认帧 ACKn,转到(2)。 166l只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。l接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。 若二者相等就表明是新的数据帧,就收下,并发送确认。 否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。 167l连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现

54、相同序号的确认帧,表明接收端收到了重复帧。 l发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。 168l实用的 CRC 检验器都是用硬件完成的。lCRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。l发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ (Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。 169l设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的

55、。显然,数据帧的发送时间 tf 是数据帧的长度 lf (bit)与数据的发送速率 C (bit/s)之比,即 tf = lf /C = lf /C (s) (3-1) l发送时间 tf 也就是数据帧的发送时延。l数据帧沿链路传到结点B还要经历一个传播时延 tp。l结点 B 收到数据帧要花费时间进行处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。 170停止等待协议中数据帧和确认帧的发送时间关系 ABDATADATAACK传播时延 tp处理时间 tpr确认帧发送时间 ta传播时延 tp处理时间 tprtT时间两个成功发送的数据帧之间的最小时间间隔数据帧的发送时间tf设置

56、的重传时间tout171l重传时间的作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。 l为方便起见,我们设重传时间为 tout = tp + tpr+ ta + tp + tpr (3-2) l设上式右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于传播时延 tp,因此可将重传时间取为两倍的传播时延,即 tout = 2tp (3-3)172l优点:比较简单 。l缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。l为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。这将在后面进一步讨论。 173l(1)连续ARQ

57、协议工作原理l连续ARQ协议的重发方式是返回重发,即发送端从出错(或丢失)报文段及以后的各报文段都要重发。l连续ARQ协议的工作原理如图2-18所示。174图图2-18 连续连续ARQ协议的工作原理协议的工作原理175l 连续ARQ协议在处理报文段丢失时的方法与处理报文段出错的方法相同,仍是采用超时定时器,从丢失的某个报文段及以后的各报文段都要重发。176l值得说明的是,在连续AQR协议的实际应用中,为减少接收端的开销,不必对每个接收正确的报文段立即应答,而是在连续收到多个正确的报文段后,只对最后的一个发出确认,表示为ACK(n)。177l其中序号n有两层意思:一是向发送端表明确认发送序号为n

58、-1及以前各个报文段;二是向发送端表示期望接收序号为n的报文段。178l滑动窗口协议的作用是限制已发送出去但未被确认的报文段的数目,这样既可以循环重复使用报文段的序号,减少系统的额外开销,又能实现流量控制。l滑动窗口协议的具体实现是在发送端设定发送窗口,接收端设接收窗口。179发送窗口l发送窗口的作用及意义发送窗口用来对发送端进行流量控制。l发送窗口的尺寸代表在还没有收到对方确认的条件下,发送端最多可以发送的报文段个数。l发送窗口的意义如图2-19所示。180 图图2-19 发送窗口的意义发送窗口的意义181接收窗口l接收窗口用来控制接收报文段。l只有当接收到的报文段的序号落在接收窗口内,才允

59、许将该报文段收下;否则,一律丢弃。182l接收窗口的尺寸用表示。l在连续ARQ协议中,窗口的意义如图2-21所示。183图图2-21 窗口的意义窗口的意义184l在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。l如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。l由于减少了等待时间,整个通信的吞吐量就提高了。 185连续 ARQ 协议的工作原理 DATA0DATA1DATA2DATA3DATA4DATA5重传 DATA2重传 DATA3ACK1ACK2ACK1 确认 DATA0ACK2 确认 DATA1DATA2 出错,丢弃DATA3 不按序,丢弃,重传

60、ACK2DATA4 不按序,丢弃,重传 ACK2DATA5 不按序,丢弃,重传 ACK2ACK3ACK3 确认 DATA2ACK4 确认 DATA3ACK4重传 DATA5重传 DATA4超时重传时间ABtout送交主机送交主机?ACK2ACK2ACK2186(1) 接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)。(2) ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论