因特网基础网络互连.ppt

上传人:sh****n 文档编号:11525679 上传时间:2020-04-27 格式:PPT 页数:129 大小:2.03MB
返回 下载 相关 举报
因特网基础网络互连.ppt_第1页
第1页 / 共129页
因特网基础网络互连.ppt_第2页
第2页 / 共129页
因特网基础网络互连.ppt_第3页
第3页 / 共129页
点击查看更多>>
资源描述
第8章因特网基础与网络互联,主讲人:周云艳Email:yanwork104,Internet,Internet是指主要通过TCP/IP协议将世界各地网络连接起来,实现资源共享、提供各种应用服务的全球性计算机网络,国内一般称因特网或国际互联网。Internet使用路由器将分布在世界各地数以千计的规模不一的计算机网络互连起来,成为一个超大型国际网,屏蔽了物理网络连接的细节,使用户感觉使用的是一个单一网络,可以没有区别地访问Internet上任何主机。,本章要点,了解网络互联的基本概念、互联层次知道因特网的接入技术及数据链路层ppp协议掌握网络层IP协议及其地址划分方法理解网络层ARP、RARP、ICMP协议工作原理了解IPv6协议掌握传输层TCP、UDP协议的工作原理,8.1网络互连的基本概念,网络互联是指把各种物理网络(不同的或相同的,局域网或广域网)通过某种技术连接起来,形成一个覆盖范围更大的、对用户透明的网络。,网络互联的动力:更大范围的资源共享网络互联:HOST-LAN、LANLAN/WAN1.网络互联层次:物理层数据链路层网络层网络层以上,物理层:中继器/集线器在电缆段之间复制比特流。没有地址概念,因此从本质上不能算是网络互连。,网络层,数据链路层,物理层,传输层,应用层,网络层,数据链路层,物理层,传输层,应用层,物理层物理层,中继器集线器,电缆段2,电缆段1,物理层,数据链路层:网桥/交换机在网段之间转发数据帧。根据数据帧中的信息(MAC地址)进行转发。,网络层,数据链路层,物理层,传输层,应用层,网络层,数据链路层,物理层,传输层,应用层,物理层,网桥交换机,数据链路层,网段1,网段2,链路层,物理层,网络层:路由器在网络之间转发报文分组。根据分组中的逻辑地址(IP地址)进行转发。,网络层,数据链路层,物理层,传输层,应用层,网络层,数据链路层,物理层,传输层,应用层,物理层,路由器,链路层,网络层,网络2,网络1,传输层及应用层:网关连接不同体系结构的网络,使用端口号或其他特定标识寻址。,网络层,数据链路层,物理层,应用层/传输层,网络层,数据链路层,物理层,应用层/传输层,物理层,网关,链路层,网络层,网络1,应用层/传输层,物理层,链路层,网络层,网络2,2.LAN的互联,本地互联特点:范围有限、主干(Backbone)采用局域网技术,如FDDI、Ethernet、TokenRing互联层次:链路层(网络层)互联设备:网桥、交换机(有时可采用路由器)远程互联特点:范围大、主干采用广域网技术,如ISDN、X.25、DDN、ATM、FR、ADSL等互联层次:网络层或更高层(链路层)互联设备:路由器、网关(有时可采用远程网桥),LAN1,LAN2,中继器或HUB,LAN1,LAN2,网桥或交换机,LAN1,LAN2,路由器,LAN1,路由器,LAN2,路由器,WAN,本地,远程,8.2因特网的体系结构TCP/IP,8.3因特网的接入技术,用户计算机和用户网络接入Internet所采用的技术和接入方式的结构,统称为Internet接入技术,其发生在连接网络与用户的最后一段路程,是网络中技术最复杂、实施最困难、影响面最广的一部分。,住宅接入:点对点访问,拨号访问与路由器的连接速率可达56kb/sISDN(一线通):与路由器的连接为128kb/s的全数字化连接ADSL(非对称用户线路):asymmetricdigitalsubscriberline上行可达1Mb/s:home-to-router下行可达8Mb/s:router-to-homeADSL的应用:已经普及,住宅接入:线缆调制解调器,HFC:hybridfibercoax(光纤同轴电缆混合网络)非对称:下行可达10Mb/s,上行为1Mb/sHFC将家庭用户连接到ISP的路由器若干个家庭用户共享10Mb/s访问带宽;关注点:拥塞,规模控制问题。应用:在国内的个别地区试点。,住宅接入:线缆调制解调器,Diagram:,机构接入:局域网,机构的局域网(LAN)将端系统连接到边界路由器。以太网(Ethernet):共享或专线电缆将端系统连接至端接路由器;10Mb/s,100Mb/s,1Gb/s应用:企事业单位、网吧、学校、公司,因特网,R,移动网络接入,共享的无线访问网络把端系统连接到路由器无线LAN使用无线频谱替代有线介质e.g,802.11a/b/g11Mb/s、54Mb/s广域无线访问CDPD:通过蜂窝式网络无线访问ISP路由器,因特网,8.4因特网的链路层与网络层,因特网的链路层协议包括:SLIP、PPP、HDLC相关的议题还包括:通过局域网接入因特网时ARP与IP的交互问题。因特网的网络层协议主要包括:互联网络协议IP网络控制信息协议ICMP路由协议组播协议IGMP,8.4.1点对点的数据链路协议,PPP提供差错检验、支持多种协议、允许动态分配IP地址、支持认证等。PPP帧格式,8.4.2因特网的网络层与IP协议,因特网的网络层功能:,传输层:TCP,UDP,数据链路层,物理层,网络层,网络层协议组成,因特网的网络层协议分成四部分:网际协议(IP)、路由选择协议、网络控制信息协议(ICMP)和组播协议(IGMP)。网际协议:决定了网络层的编址机制,数据报的格式(网络层的PDU),各节点根据数据报的字段所应采取的动作。IP协议有两个版本,IPv4RFC791和IPv6RFC2373,RFC2460。路由选择协议:决定数据报在发送过程中由信源到信宿所经过的路由器。网络控制信息协议:可以为用户提供网络中的各种运行信息。组播协议:由于数据报的发送无须建立过程和响应信息,因此可以支持因特网上的多点同时传送,但由于网络层协议设计上的限制,多点传送解决起来比较复杂。,网际协议IPInternetProtocol,IP是因特网的网络层中最重要的协议提供数据报(Datagram)的投递服务(主机到主机)在不同的数据链路层上进行数据转发操作IP的数据报投递服务是非连接的,不可靠的非连接数据报之间没有相互的依赖关系;不能保证报文的有序投递。不可靠数据报的投递没有任何品质保证(QoS),数据报可能被正确投递,可能被丢弃。,1.IPv4地址及子网,IP地址:32bit的逻辑地址,用来标识主机或路由器的网络接口;网络接口:用于连接主机与路由器之间的物理链路:路由器有多个接口主机可能有一个,也可能有多个接口IP地址只与设备的网络接口有关IP地址书写方法:32bit划分为4个字节写成点分的4个十进制数,IP地址的表示方法,IP地址的分类,IP地址包括2个部分:网络地址(网络号)主机地址(主机号)网络是什么?(从IP地址的视角)具有相同网络地址的设备接口,或不经过路由器就可以物理上相互通达的设备,223.1.1.1,223.1.1.2,223.1.1.3,223.1.1.4,223.1.2.9,223.1.2.2,223.1.2.1,223.1.3.2,223.1.3.1,223.1.3.27,由3个IP网络组成的互连网(对于以223开头的IP地址,前24位为网络地址),LAN,IP地址的分类,最高位为0,接下来的7位为网络ID,共有27-2=126个网络,网络号是1126,127专用。,剩余的24位代表主机ID。每个网络224-2=16777214个主机地址。,高位为10,接下来的14位为网络ID,共有214=16384个网络,首个域值为128191。,高位为110,接下来的21位为网络ID,共有221=2097152个网络,首个域值为192223,D类地址的高位为1110,其余28位为组播地址,第一个域值为224239。,E类地址的高位为11110,其余27位目前保留,第一个域值为224239。,剩余的16位代表主机ID。每个网络有216-2=65534个主机地址。,剩余的8位代表主机ID。每个网络有28-2=254个主机地址。,每个客户机可以参加特定组,只有注册了多播地址的主机才能收到数据包,有效的主机ID和网络ID不能为0或255;网络ID不能为127;IP地址全球唯一性;使用便于记忆的格式:xxx.xxx.xxx.xxx如:192.168.25.168,在xxx.xxx.xxx.xxx中:由1到126开头的IP是AClass由128到191开头的IP是BClass由192到223开头的则为CClass当我们知道IP的类型之后,我们就可以知道IP的Net_ID和Host_ID:AClass:AAA.HHH.HHH.HHHBClass:BBB.BBB.HHH.HHHCClass:CCC.CCC.CCC.HHH例如:10.129.216.168NetID:10HostID:129.216.169131.248.122.1NetID:131.248HostID:122.1202.103.96.168NetID:202.103.96HostID:168专用地址:RFC1597,为那些没有连接到Internet或者安装了防火墙的组织,预留了一系列专用网络地址。包括:A类10.0.0.0-10.255.255.255B类172.16.0.0-172.31.255.255C类192.168.1.90-192.168.254.0,保留的IP地址,一般来说,主机号部分为全“1”的IP地址保留用作广播地址;主机号部分为全“0”的IP地址保留用作网络地址。,用来测试软件,分组永远都不会离开主机,而是简单地返回到协议软件。,路由器使用这种地址将一个分组发送到一个特定网络上的所有主机。,某主机可以使用这种广播地址向该网络中的所有主机发送报文;,某主机运行引导程序又不知道自己的IP地址时,使用这样的地址向引导服务器发送IP数据报以便发现自己的IP地址。,某主机向同一网络中其它主机发送分组时使用,子网划分,从主机号借用若干个比特作为子网号subnet-id,而主机号host-id也就相应减少了若干个比特。IP地址=,当没有划分子网时,IP地址是两级结构,地址的网络号字段也就是IP地址的“因特网部分”,而主机号字段是IP地址的“本地部分”。划分子网后IP地址就变成了三级结构。划分子网只是将IP地址的本地部分进行再划分,而不改变IP地址的因特网部分。三级层次:网点(site)、子网(subnet-id)、主机(host-id),C类网络的子网划分,将主机标识位划分出若干位作为子网标识,子网标识位可由子网掩码确定。,子网划分子网掩码,子网掩码的作用使网络内的计算机了解子网划分的结构使边缘路由器了解子网划分的结构子网掩码的格式子网掩码也是32bit长的二进制数,由一串连续的1后跟一串连续的0组成;前面的1与网络号和子网号对应,后面的0与主机号对应。,子网划分子网掩码,网络号net-id,主机号host-id,两级IP地址,网络号,net-id,host-id,三级IP地址,主机号,子网掩码,互联网部分,本地部分,互联网部分,本地部分,划分子网时的网络地址,net-id,subnet-id,host-id为全0,不划分子网时,各类IP地址默认的子网掩码为:A类:255.0.0.0B类:255.255.0.0C类:255.255.255.0已知IP地址和子网掩码,如何计算子网地址?用子网掩码和IP地址“相与”(AND操作),结果就是子网地址。例如:IP地址10.5.100.1,子网掩码255.255.192.0。则可计算出10.5.100.1的子网地址为00001010000001010110000000000001AND)1111111111111111110000000000000000001010000001010100000000000000(=10.5.64.0),推论:若两个IP地址具有完全相同的子网地址,则它们在同一子网中。,例1:对于B类IP139.175.000.000,把B类网络的Mask从255.255.0.0改为:255.255.224.0,即将原来的HostID中的3Bit作为子网ID,可以组成8个子网号:000到111,再加上原来的NetID:10001011.10101111.00000000.00000000,各子网的实际NetID就成了:10001011.10101111.00000000.00000000(139.175.0.0)10001011.10101111.00100000.00000000(139.175.32.0)10001011.10101111.01000000.00000000(139.175.64.0)10001011.10101111.01100000.00000000(139.175.96.0)10001011.10101111.10000000.00000000(139.175.128.0)10001011.10101111.10100000.00000000(139.175.160.0)10001011.10101111.11000000.00000000(139.175.192.0)10001011.10101111.11100000.00000000(139.175.224.0),本来是16个bit的HostID只剩下13个bit了,也就是说:在每个子网络里面,最多只能有213-2=8,190台主机,有效的主机ID为:xxx00000.00000001到xxx11111.11111110之间。在Sub-netID001之下的主机号码,将会是从00100000.00000001到00111111.11111110之间,亦即是:从32.1到63.254之间,则整个IP地址为:从139.175.32.1到139.175.63.254之间。同样的,在Sub-netID100之下的主机号码,是从10000000.00000001到10011111.11111110之间,亦即是:从128.1到159.254之间,整个IP位址则是:从139.175.128.1到139.175.159.254之间。请你自己动手算算在110这个Sub-netID之下的主机号码范围是多少?139.175.192.1到139.175.223.254,已知某主机地址210.222.5.121,子网掩码为255.255.255.248求:该主机所在子网的子网地址?该子网可用的主机地址范围?该子网的子网广播地址?解答:子网掩码248-11111000,主机号121-01111001,因此可判断:子网网络号为210.222.5.120,可用地址0111100101111110(121126)子网广播01111111(210.222.5.127),Q.如何在网络拓扑图中找出所有的网络?拿掉路由器;整个网络形成了若干个“被隔离的网络孤岛”;每个“孤岛”就是一个网络。Q:右图中1)包含了几个网络?2)每个网络的子网地址分别是什么?(假定网络掩码为255.255.255.0),223.1.2.1,超网构造,采用将多个C类地址合并为一个大的地址范围的方式,即构成一个超网。分配地址块利用合并的C类地址块构成一个超网,使每一个路由器的路由表中只有一个项目。选择地址块规则:规则1,地址块数必须是2的整数次方规则2,这些地址块在地址空间上必须是连续的规则3,超块的第一个地址的第三个字节必须能够被块数均匀地分割开,即如果块数为N,则第三个字节必须能够被N整除。例:第一组:198.47.32.0198.47.33.0198.47.34.0第二组:198.47.32.0198.47.42.0198.47.52.0198.47.62.0第三组:198.47.31.0198.47.32.0198.47.33.0198.47.34.0第四组:198.47.32.0198.47.33.0198.47.34.0198.47.35.0,超网掩码,几个地址块组合成的超块,必须有它的第一个地址和超网掩码才能知道所构成的超网使用了多少个C类地址。,超网地址:第一个地址、超网掩码,IP无分类编址:CIDR,分类编址:地址空间的利用率低,地址空间面临耗尽;e.g.,一个B类网址可以容纳65K台主机,但可能被一个只有2K台主机的企业占据。CIDR:ClasslessInterDomainRouting地址的网络部分长度任意,不再分为固定的几种类型;地址格式:a.b.c.d/x,x为地址中网络部分的位数,表示该块中的地址最左边x个比特相同,最右边32-x个比特彼此不同。CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号,即x。IP地址:=,128.14.32.0/20表示的地址块共有212个地址(因为斜线后面的20是网络前缀的比特数,所以主机号的比特数是12)。这个地址块的起始地址是128.14.32.0。在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20地址块”。128.14.32.0/20地址块的最小地址:128.14.32.0128.14.32.0/20地址块的最大地址:128.14.47.255全0和全1的主机号地址一般不使用。,128.14.32.0/20表示的地址(212个地址),1000000000001110001000000000000010000000000011100010000000000001100000000000111000100000000000101000000000001110001000000000001110000000000011100010000000000100100000000000111000100000000001011000000000001110001011111111101110000000000011100010111111111100100000000000111000101111111111011000000000001110001011111111111010000000000011100010111111111111,所有地址的20bit前缀都是一样的,CIDR地址块划分举例,因特网,206.0.68.0/22,206.0.64.0/18,ISP,大学X,一系,二系,三系,四系,206.0.71.128/26206.0.71.192/26,206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25,206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26,206.0.70.0/24,206.0.71.0/25,206.0.71.0/26206.0.71.64/26,206.0.71.128/25,206.0.68.0/23,单位地址块二进制表示地址数ISP206.0.64.0/1811001110.00000000.01*16384大学206.0.68.0/2211001110.00000000.010001*1024一系206.0.68.0/2311001110.00000000.0100010*512二系206.0.70.0/2411001110.00000000.01000110.*256三系206.0.71.0/2511001110.00000000.01000111.0*128四系206.0.71.128/2511001110.00000000.01000111.1*128,CIDR地址块划分举例,因特网,206.0.68.0/22,206.0.64.0/18,ISP,大学X,一系,二系,三系,四系,206.0.71.128/26206.0.71.192/26,206.0.68.0/25206.0.68.128/25206.0.69.0/25206.0.69.128/25,206.0.70.0/26206.0.70.64/26206.0.70.128/26206.0.70.192/26,206.0.70.0/24,206.0.71.0/25,206.0.71.0/26206.0.71.64/26,206.0.71.128/25,206.0.68.0/23,这个ISP共有64(=224-18)个C类网络。如果不采用CIDR技术,则在与该ISP的路由器交换路由信息的每一个路由器的路由表中,就需要有64个项目。但采用地址聚合后,只需用路由聚合后的1个项目206.0.64.0/18就能找到该ISP。,2.IP数据报格式,协议(Protocol):8bit,表示使用iP层服务的高层协议。IP选项(IPOptions)140字节,用于支持纠错、测量及安全等措施。同时增加了路由器的处理IP数据的开销,在IPv6中IP数据报的首部规定为固定的。,复制子域:1-选项必须复制到所有分片中,0-选项必须仅仅复制到第一个分片中类子域:00-选项用作数据报控制,10-选项用作纠错和管理,数子域:1)无操作(代码为1):1字节,不需要长度和数据域,用作选项之间的填充符。2)选项结束(代码为0):1字节3)记录路由(代码为7):记录处理IP数据报的互联网路由其,最多可以列出9个路由器的IP抵制。4)严格源路由(代码为137):要求报文严格按给定的路由传送。5)不严格源路由(代码为131):要求报文必须按次序经过给定的路由器。6)时间戳(代码为68):记录IP包经过每一个路由器的时间,用于网络吞吐量、拥塞的分析。,服务类型,服务类型(TypeofService)TOS比特:其中的每一个比特都可以是0或1,但就每一个数据报而言,它们中最多只能有一个比特是1。不同应用程序可以请求特定的服务类型,一些常见的服务类型如下表:,C-MinimizeCost,最小费用R-MaximizeReliability,最高可靠性T-MaximizeThrough-put,高大吞吐量D-MinimizeDelay,最小延迟,数据服务类型和优先级TOS,RFC0791,版本号,值=4,IP报头长度,4Byte为单位,值:5-15,服务类型:PPPDTR00PPP:优先级D=1:低延时T=1:高吞吐R=1:高可靠,IP报文长度,含报头和数据,值:0-65536即64KB,IP报文编号标识,判断分段属于哪一个IP报,高层协议标示TCP/UDP,跳步数,64-255,包含选项的IP包头CheckSum,每经过一个路由器需重新计算。,分段偏移,说明本段在当前IP包中的位置,以8Byte为单位。,DF=1:未分段DF=0:分段MF=1:中间段MF=0:最后段,8.4.3因特网的IP路由技术,为分组选择一条从源主机到目的主机的最佳路径。可选路径不止一条路径可能要跨越多个网络网络中实现路由选择功能的设备是路由器。对每一个接收到的分组,路由器必须确定从哪条路径将其转发出去。路由器根据其内部保存的一张路由表转发分组。路由表中存放了到达其他网络的路由信息。目的网络地址下一跳(路由器)地址(NextHop)其他(各种标志、子网掩码、接口、),路由表的基本内容,202.168.0.0,172.16.0.0,10.0.0.0,R1,R2,R1的路由表,.1,.1,.2,.1,s0,s1,如何根据路由表进行路由选择,路由选择:根据路由表找到一条到达目的网络的路径(实际上是查找输出接口)。路由选择的基本方法:取出收到的分组中的目的IP地址,并提取出目的网络地址;用目的网络地址在路由表中查找:若目的网络与路由器直接相连,则“直接交付”;如果找到匹配的表项,则将分组发送到该表项指定的下一跳路由器;如果未找到,则搜索路由表中有无“default”的表项:如果有,就将将分组发送到该表项指定的下一跳路由器;如果没有,则发送一个“主机不可达”或“网络不可达”的出错信息给发出该分组的计算机。,例:设某一路由器建立了如图所示的转发表:,此路由器可以直接从接口0和接口1转发分组,也可通过相邻的路由器R2、R3和R4进行转发。现共收到5个分组,其目的站IP地址分别为:202.96.39.10;202.96.39.196;202.96.40.151;166.111.153.5;162.105.153.90.试分别计算下一跳。,IP路由协议的层次,因特网被划分为许多自治系统(AutonomousSystem,AS),每个AS都是一个互联网络。AS的特点:它有权自主地决定在本系统内采用何种路由选择协议。一个AS内的所有网络都属于一个组织或机构管辖并在本AS内是连通的。根据路由协议是为AS内部的路由优化还是为AS之间的路由优化,因特网把路由协议分为两大类:内部网关协议(IGP):如RIP、OSPF等;外部网关协议(EGP):如BGP(边界网关协议)。因特网的早期RFC文档中使用“网关”这一词,“网关”即“路由器”,路由表的维护,路由表如何建立?如何根据网络的变化进行更新?静态路由:由网络管理员设置并随时更新网络管理员的工作负担重,容易出错,适应性差;简单、开销小,只适用于小型网络。动态路由:路由器运行过程中根据网络情况动态地维护减轻了网络管理员的工作负担重;实时性好,适应性好;能够满足大型网络的需要;因要搜集网络运行状态,网络开销有所增加,实现也比较复杂。因特网中的路由器采用的都是动态路由。,动态路由的实现,动态路由(建立、维护、更新)需要借助路由协议实现,路由协议有两大类:全局路由协议局部路由协议,全局路由协议,依据完整的网络全局拓扑信息计算到达各个网络的最佳路径。因为本协议需要了解每条网络链路的状态,故也称其为链路状态路由协议(LinkStateRoutingProtocol,L-S)。路由计算在所有路由器中完成,运行L-S协议的每个路由器都要向所有路由器发送与自己相邻的路由器的链路状态信息,内容包括:路由器所连接的网络链路;该链路的状态:连通性、开销、速度、距离、时延等信息。通过互相通告链路状态,每个路由器最终都可以建立一个关于整个网络拓扑结构的数据库,再使用Dijkstra算法即可计算出到达各网络的最佳路径。典型的链路状态路由协议是OSPF(OpenShortestPathFirst)。,Dijkstra算法是一种计算连通图中的最短路径的方法。,工作过程发现邻居结点每个路由器启动后向其邻居发Hellopacket,通过邻居的回应报文从而使双方互相了解;测量线路开销每个路由器通过向其邻居发ECHOpacket,可以计算出之间的线路传输时延,L-S算法示例,例如:假设某时刻B收到了其他路由器的LS-报文,则B可构造全网的TOP图,且计算出从B到其他各路由器的代价和输出端口如下表示:,加权TOP图LS-报文,某时刻B路由表:,每个路由器动态计算并维护一张距离向量表,表中包含从本节点能到达的所有网络的最佳路径的代价和输出接口;每个路由器开始只知道与其直接相连的链路的信息。通过与相邻路由器的通信和一系列反复的计算,路由器可以逐渐获得到达某些网络的最佳路径信息。因为需要了解每条链路的距离,故也称其为距离矢量路由协议(DistanceVectorRoutingProtocol,D-V)。距离矢量协议计算网络中链路的距离矢量,然后根据计算结果构造路由表。每一个路由器工作时会定期向相邻路由器发送消息,消息的内容就是自己的整个路由表,其中包括:目的网络的地址;到达目的网络的下一跳路由器地址;到达目的网络所经过的距离。运行距离矢量协议的路由器会根据相邻路由器发送过来的信息,更新自己的路由表。典型的距离矢量路由协议是RIP(RoutingInformationProtocol)。,局部路由协议,V-D算法示例,假设某时刻网络连接图如下所示:J到邻接节点的代价分别为:JA=8,JI=10,JH=12,JK=6;J从每个邻接节点上收到一张路由信息表如所示;J根据上述路由信息和到邻接接点的代价可以算出到每一个接点的最优代价和出口,并据此进行IP包转发。,J从邻居A/I/H/K得到的路由信息,路由器J的向量表,RIP协议操作,每个路由器每隔30s相相邻路由器(连接在同一个网络上的路由器)广播自己的路由表。路由表信息:目的网络,到某网络的距离及应经过的下一站,间接交付,间接交付,间接交付,A,B,C,直接交付,直接交付,直接交付不需要使用路由器间接交付必须使用路由器,直接交付和间接交付,8.4.4ARP协议和RARP协议,在因特网中,数据分组传输使用的是IP地址(逻辑地址);而在局域网中,传输数据时需要使用物理地址(MAC地址)。许多因特网的主机位于局域网中,当数据分组到达局域网时,需要把IP地址转换成MAC地址,然后把分组封装在局域网链路层的帧中,才能发送到该主机。ARP协议和RARP协议用以实现从IP地址与硬件地址的动态映射(只有这样的映射才能最终在物理链路上传输数据帧)。即用于IP地址与数据链路层的硬件地址的转换。IP地址硬件地址,ARP,RARP,ARP协议的工作过程,主机或路由器需要向本局域网的某个主机或路由器发送IP分组:(1)在自己的ARP调整缓存中查询目的端的IP地址,查询到目的地址,即将该硬件地址写入MAC帧,通过局域网将该MAC帧发往目的端(2)若缓存中没有目的端IP地址,源端即运行ARP,发出ARP请求分组,广播查询目的端IP地址。网络上所有的主机或路由器都能接收到该ARP请求分组。(3)预期的接收者在ARP请求分组中见到自己的IP地址,即向源端单播ARP响应分组。ARP响应分组中包含接收者的IP地址和硬件地址。(4)同时在自己的ARP高速缓存中写入目的端IP地址和硬件地址的映射,以备后用。(5)源端接收到目的端的ARP响应分组后,在自己的ARP高速缓存中写入目的端IP地址和硬件地址的映射,以备后用。为了能及时准确地反映网络的动态变化,ARP为所保存在高速缓存中的每一个地址映射表项设置了生存时间(一般为1020min)。凡超过生存时间的地址映射表项将从高速缓存中删除。ARP只能用于具有广播能力的网络。,A,Y,X,B,Z,主机B向A发送ARP响应分组,主机A广播发送ARP请求分组,ARP请求,ARP请求,ARP请求,209.0.0.5,209.0.0.6,00-00-C0-15-AD-18,08-00-2B-00-EE-0A,我是209.0.0.5,硬件地址是00-00-C0-15-AD-18我想知道主机209.0.0.6的硬件地址,我是209.0.0.6硬件地址是08-00-2B-00-EE-0A,A,Y,X,B,Z,209.0.0.5,209.0.0.6,00-00-C0-15-AD-18,ARP分组的格式,RARP协议,RARP的工作过程在网络上设置一个RARP/DHCP服务器;工作站/主机启动时,向网络上广播RARP包“我的物理地址为aa.bb.cc.dd.ee.ff,有谁知道我的IP地址请告诉我”。RARP/DHCP服务器收到RARP广播包后,根据IP地址当时的使用情况为该工作站/主机分配一个IP地址,并通过RARP包返回给aa.bb.cc.dd.ee.ff,8.4.5ARP与IP的交互,例子:由R对A到B的数据包进行路由的过程,A,R,B,假设主机111.111.111.111要发送一个数据报到主机222.222.222.222。发送主机的链路层协议必需指出该目的主机的MAC地址。那么发送主机会使用哪个MAC地址?,是222.222.222.222的MAC地址49-BD-D2-C7-56-2A吗?,目的MAC地址为49-BD-D2-C7-56-2A的帧能穿越路由器吗?,实际上,发送主机在发送分组之前,就已经知道目的主机不在本地LAN上(只要比较目的主机和发送主机的IP地址中的网络地址部分便可得知),所以必须将分组发送给路由器,由路由器进行转发。路由器的IP地址(Windows中称为缺省网关)在发送主机中已经预先设置(在本例中为111.111.111.110)。现在的问题是:发送主机如何得到路由器接口的MAC地址呢?当然是使用ARP协议!一旦发送主机获得了路由器接口的MAC地址,就可以生成一个数据帧,发送给路由器。LAN1上的路由器接口收到了发给它的数据帧后,将封装在其中的分组提交给网络层。这样,分组就成功地从主机发送到了路由器上!,接下来,路由器还必须将分组发送到目的地。路由器首先需要选择适当的接口来转发,这项工作路由器可以通过查询路由表来完成。路由表告诉路由器:“需要通过222.222.222.220接口转发该分组”。于是,路由器把分组送到该接口。最后,接口将分组传送给其适配器,组成新的数据帧,并广播到LAN2中。这时,数据帧的目的MAC地址才是真正的最终目的主机的MAC地址。路由器又是如何知道最终目的主机的MAC地址呢?还是使用ARP协议!路由器通过数据报中的目的IP地址和ARP协议来得到目的主机的MAC地址。,8.4.6IP地址的获取分配?,主机的IP地址有两种分配策略:由网络管理员手工分配(静态分配);动态分配:DHCP协议(DynamicHostConfigurationProtocol)网络中需设置一台DHCP服务器;网络管理员在DHCP服务器中预先定义一个IP地址池。分配过程:需要申请IP地址的主机在网络中广播“DHCPdiscover”报文网络中的DHCP服务器用“DHCPoffer”报文响应主机发送IP地址请求:“DHCPrequest”报文DHCP服务器从地址池中取出一个未分配的IP地址发送给请求者:“DHCPack”报文,8.4.7ICMP协议,网际控制报文协议(Internetcontrolmessageprotocol,ICMP)主要用于发送网络故障消息及进行网络检测的一些控制消息。ICMP是网络层协议,但它的报文先要封装成IP数据报,再传递给下一层。其报文有差错报告报文和查询报文两大类。ICMP不是高层协议,而是IP层的协议。ICMP报文通过IP协议来传输,当路由器要发送ICMP报文时,它会创建一个IP数据报并将ICMP报文封装到IP报文的数据区中,然后这个数据报象普通的IP报文一样通过Internet。,ICMP的报文格式,TypeCodedescription00echoreply(ping)workunknown37dest.hostunknown40sourcequench(congestioncontrol-notused)80echorequest(ping)90routeadvertisement100routerdiscovery110TTLexpired120badIPheader,最常用的是“目的地无法到达”和“回声”消息。,A,B,广域网,到Z的数据,路由器R用ICMP消息通知目的地“不可达”,R,A,B,用PING命令产生的回声请求及回声应答,pingxxx.xxx.xxx.xxx,网络层协议,ICMP,IGMP,IPv4,ARP,RARP,8.4.8IPv6,初始的动机:IPv4的32-bit地址空间预计在2008年将全部分配完毕。IPv6的地址多达2128(340万亿亿亿亿),地球上每平方米可分配0.668亿亿亿个IP地址。其他动机:改革首部格式帮助加速处理和加速转发;改革首部,以实现QoS;新型“任意播-Anycast”地址的实现:实现在若干备份服务器中寻求“最佳”路由。IPv6分组格式:固定长度的40byte首部;不支持分组的分割。,可以使地球表面每粒沙子都有一个IP地址。,IPv6首部,Priority(Trafficclass):确定数据流中各分组的优先级。FlowLabel:标识不同“flow”中的分组,以便按各自的“需求”进行处理。Nextheader:后面的附加报头(如果有的话)的类型;对于最后一个报头,则用来说明传送数据的上层协议是什么。,其他不同于IPv4的修改,Checksum:完全取消,以减少每个步跳上的处理时间Options:允许使用,但不再是首部的内容,而是由“NextHeader”字段说明ICMPv6:ICMP的新版本新增报文类型,e.g.“PacketTooBig”组播管理功能,IPv6地址,IPv6地址形式是x:x:x:x:x:x:x:x,由8个16比特的数组组成,每个组为4位的16进制数。如:FECC:109F:7894:0BC0:7766:1230:EFCD:3344地址每个区中前面的“0”不必写,但每个区中至少应有1个数值。地址中有长串的连续的16比特的“0”,这可以用重叠冒号“:”来代替。不过,“:”在1个地址中只能出现1次。此外,“:”还可以用来代替地址中开头和末尾的连续的“0”位。如:1080:0:0:0:8:800:200C:417A可写成1080:8:800:200C:417A0:0:0:0:0:0:0:1可写成:1在IPv6和IPv4混合的节点环境中,则采用x:x:x:x:x:x:d.d.d.d的地址格式。其中“x”是16进制数值,用于地址高位的6个16比特位,“d”是10进制数值,用于地址低位的4个8比特位。例如,0:0:0:0:0:0:13.1.68.3可写成:13.1.68.30:0:0:0:0:FFFF:129.144.52.38可写成:FFFF:129.144.52.38,IPv6地址前缀的表示方法类似于CIDR中IPv4的地址前缀表示法,为:IPv6地址/前缀长度IPv6地址是任一种表示法表示的IPv6地址,前缀长度是一个十进制数值,用于指定组成前缀的比特数的位数。如,对60bit的前缀52AB00000000CD3,以下表示为合法:52AB:0000:0000:CD30:0000:0000:0000:0000/6052AB:CD30:0:0:0:0/6052AB:0:0:CD30:/60以下表示为非法:52AB:0:0:CD3/60;52AB:CD30/60;52AB:CD3/60当需要同时写出该节点的节点地址和前缀时,可通过如下方式将二者合一:节点地址:52AB:0:0:CD30:123:4567:89AB:CDEF子网号:52AB:0:0:CD30:/60可简写为:52AB:0:0:CD30:123:4567:89AB:CDEF/60,截止到2004年6月,全球已分配的606个IPv6地址块中,中国只占有11块,申请的地址数量仅占全球已申请数的1.8%,且都为缺省的/32(“/32”相当于2128-32,即296个IPv6地址)。而美国、日本、德国、荷兰、英国5个国家所分配到的地址总数已占全球已申请数的一半,约为48%。,8.4.9从IPv4向IPv6迁移,并不是所有的路由器都能够在同一时刻升级不能采用“易帜日”的办法;但是网络如何能够在IPv4和IPv6路由器共存的情况下运行?两种建议的途径:双栈(DualStack):某些具有双栈(v6,v4)的路由器可以将两种地址格式进行“翻译-translate”隧道(Tunneling):IPv6可以作为IPv4的载荷通过IPv4的路由器,即把IPv6的分组封装在IPv4的分组中在IPv4网络中传输。,IP层问题:,IP包在网络层传送过程中由于网络硬件损坏、网络负荷过重、目的网络、目的主机、目标端口不可达等原因,导致IP包被丢弃或损坏;由于IP包的体积是有限的,而应用系统之间交换的数据往往会超过这个限制,因此,必须有一套机制将应用系统送来的数据进行划分,以符合IP包的传送要求;由于IP包路由的复杂性及不可预测性,IP包之抵达常是不依序的,必须对IP包进行组装和控制;主机上同时可能有多个应用系统之间需要进行通信的情况,需要标示;需要一套传输控制机制,以更可靠、更方便和有效的传送数据,且将这种机制与应用程序分离开,并向应用程序提供一致的数据流传送接口。,8.5因特网传输层协议,从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。,物理层,网络层,运输层,应用层,数据链路层,面向信息处理,面向通信,用户功能,网络功能,IP提供的是主机之间的通信源地址和目的地址是主机的地址称为“machine-to-machine”传输协议提供应用程序之间的通信需要有扩展的寻址机制来标识应用程序称为“end-to-end”,TCP/IP协议,TCP/IP中的两个协议TransmissionControlProtocol(TCP)为应用程序提供了可靠的面向连接的传输服务UserDatagramProtocol(UDP)一种不可靠的、以数据报为中心的传输协议传输协议数据单元TPDU(TransportProtocolDataUnit)TCP报文段(segment)UDP数据报(Datagram),8.5.1应用程序多任务处理分用/复用(multiplexing/Demultiplexing),分用:将接收到的段提交给正确的应用层进程,P2,receiver,H,t,segment,segment,M,P1,P3,P4,segmentheader,application-layerdata,复用:传输层从多个应用进程获取数据,然后对它们进行封装。复用/分用:基于发送方、接收方的端口号和IP地址,源/目的端口号存在于每个段中。,源端口#,宿端口#,32bits,应用层数据(报文),其他首部字段,TCP/UDP段格式,传输层端口号,在TCP和UDP的段头有两个端口号分别为源端口(sourceport-number)和宿端口(destinationport-number)根据IP地址和端口号就可以唯一地确定信宿主机中某个特定进程。端口号是一个16比特的数字,其数值范围从065535。端口号为1024以内的称之为常用端口或熟知端口(Well-KnownPort),这些常用端口所对应的服务通常情况下是固定的。1024至65535端口号称为一般端口或(动态)连接端口(Registered/Dynamic),在数据传输过程中,应用层中的各种不同的服务器进程不断地检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。,常见的“熟知端口”,分用/复用举例,主机A,服务器B,端口的使用:简单的telnet应用,Web客户端主机A,Web服务器B,Web客户端主机C,端口的使用:Web服务器,.,.,主页1,主页2,8.5.2无连接的传输:UDPRFC768,为那些不需要(或不使用)TCP所提供的面向连接服务的应用协议提供了低开销的传输服务,经常使用广播或多播的应用程序以及那些需要快速的请求和查询周转时间的应用程序使用UDP一种不可靠的、以数据报为中心的传输协议,类似于发明信片具有最小的费用、计算量、通信量,UDP协议的特点,UDP保留应用程序定义的报文边界,它从不把两个应用程序报文组合在一起,也不把单个应用报文划分成几个部分。即,应用程序把一数据块交给UDP发送,这块数据将作为独立的单元到达对方的应用程序。UDP不具备接收保证和避免重复等有序投递的功能。1.使用UDP协议的应用层协议特点所传输的内容较短不希望使用TcP协议的流量控制或拥塞控制机制,或者在应用程序中使用了自己的流量控制或拥塞控制机制。2.UDP协议的特点用户数据报只有8字节的头部,比TCP20字节的头部短;UDP发送数据前不需要建立连接(当然也就不存在发送后的释放);没有数据的确认和重传,因而减少了开销和发送数据之前的延时;没有拥塞控制,也不保证可靠支付,因此,主机不需要维持具有许多参数的、复杂的连接状态表。,UDP首部结构,UDP伪包头格式,SourceIPAddress&DestinationIPAddress源/目主机IP地址;Protocol协议类型,UDP:17;UDPLength包头+数据区的总长度,不包括伪包头。注意:伪包头并不包括在UDP报文中,使用伪包头是为了验证UDP是否到达正确的目的端:当目的端收到UDP包后,计算出校验和(其中包括自己的IP地址和端口),当与UDP包中校验和相同时,则说明该UDP包到达了正确的主机和正确的端口。,伪包头,UDP多路复用与分用,在主机1中可以有多个进程与主机2中的一个服务或多个服务通过UDP进行通信,对于主机1的UDP协议,需要把来自三个进程的UDP包(通过端口区分)分别封装成IP包交给IP层发送,对于主机2,则要把来自IP层的UDP包拆封,并根据包中的目的端口将UDP包分别送给不同的服务进程.,主机1,主机2,UDP的协议端口,服务器一般使用well-known端口通常相同的服务有相同的端口端口号数字较低客户端从协议软件获得没有使用的端口端口号数字较高常见的使用UDP的服务DNS(域名解析服务):使用53号端口。snmp(简单网络管理协议):使用161号端口,用以管理网络设备。聊天软件Oicq:Oicq的程序既接受服务,又提供服务,以保证聊天的双方平等。Oicq采用无连接的协议,服务器使用8000号端口侦听是否有信息的到来;客户端使用4000号端口向外发送信息。如果遇到上述两个端口正在使用(有很多人同时与几个好友聊天)时,就顺序往上加。TFTP(简单文件传送协议):端口号69RPC(远程过程调用):端口号111,8.5.3TCP协议RFCs:793,1122,1323,2018,2581,为应用程序提供可靠的面向连接的传输服务,在一个TCP连接中,仅有两方进行彼此通信。提供面向连接(全双工)、可靠的、鲁棒的,按序传送数据的服务。TCP的数据传送单位称为“报文段”,记为TPDU。TCP连接的建立主要通过三次握手完成。通信结束,使用四次握手来关闭一个连接。TCP的拥塞控制是保证其鲁棒性的一个重要因素。TCP可靠的传输,由使用序号、利用确认和重传的机制来保证。,TCP首部格式,一个TCP数据报分为首部和数据两部分。04810162431,(1)源端口和目的端口各2个字节,表示源和目的端口号。(2)发送序号4字节,指出本报文中的数据的第一个字节在发送方本次连接上发送的数据流中的位置(以字节编号,SYN=1时表示启始值,不一定为0)。(3)确认序号4字节,告诉对方希望下一次接收的字节序号,与ACK=1配合使用;当接收端接收到TCP包并检验确认后,将发送序号加上数据长度产生一个确认序号,附在下一个数据包中捎带给对方(无需送出专门的确认包),这样发送端就知道刚才的包已经被成功接收到了。,TCP的编号与确认TCP将所要传送的整个报文段看成是由一个个字节组成的,对于每一个字节进行编号。在传送数据之前,通信双方要首先商定好起始序号,每一次传送数据时,都会将报文段中的第一个字节的序号放在报文段中的确认序号字段中。在TCP报文段首部含有确认序号字段,通过它可以完成TCP报文的确认,具体的确认是对接收到的数据的最高序号进行确认,返回的确认序号是已经收到的数据的最高序号加1。由于TCP采用全双工的通信方式,因此进行通信的每一方都不必专门发送确认报文段,可以在传送数据的同时进行确认,这种方式称为捎带确认。,TCPseq.#s和ACKs,Seq.#s:该数据段第一个字节在(整个报文)字节流中“顺序编号”ACKs:期望对方发来的“下一个”字节的编号有多少字节已被确认Q:接收方如何接受失序的数据段?A:TCP没有定义-由程序设计者决定,HostA,HostB,Us
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!