现代计算机网络技术_第1页
现代计算机网络技术_第2页
现代计算机网络技术_第3页
现代计算机网络技术_第4页
现代计算机网络技术_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

学习目标掌握网络层基本概念和术语理解主要路由算法原理理解网络层拥塞控制算法与技术了解网络互联的主要技术掌握IP协议主要内容主要内容路由算法拥塞控制服务质量网际互连Internet上的网络层第5章网络层网络层的设计问题网络层关注的是如何将数据包从源端送到接收方,是处理端到端数据传输的最底层。网络层主要解决的问题路由选择网络互连拥塞控制为上层提供服务2023/6/72路由算法2023/6/73路由算法:决定分组被发送到哪一条输出线路数据报网络:针对每个到达的数据包重新选择路径。虚电路网络:仅建立一条新的虚电路时进行路由决策。路由:负责填充和更新路由表,并确定使用哪条路径。转发:当一个分组到达时,查找该分组对应的输出链路。路由算法中的性能指标:延迟时间、吞吐量、hop数。路由算法分类非自适应算法(静态路由)自适应算法(动态路由)。优化原则2023/6/74最优化原则(optimalityprinciple)如果路由器J在路由器I到K的最优路由上,则从J到K的最优路由会落在同一路由上。汇集树(sinktree)从所有的源结点到一个给定的目的结点的最优路由集合构成了一个以目的结点为根的树,称为汇集树。路由算法的目标:为所有的路由器找到并根据汇集树转发数据包。最短路径算法(Dijkstra)

基本思想构建一张拓扑图:图中的每个结点代表一个路由器,每条边代表一条通信线路。为了选择两个路由器间的路由,路由算法只需在图中找出节点之间的最短路径。测量路径长度的方法结点数量(跳数)物理距离传输延迟距离、信道带宽等参数的加权函数2023/6/75最短路由选择(续)

最短路径算法:用边的权值作为距离度量来计算(1)每个结点用从源结点沿已知最佳路径到本结点的距离来标注,标注分为临时性标注和永久性标注。(2)初始时,所有结点都为临时性标注,标注为无穷大;(3)将源结点标注为0,且为永久性标注,令其为工作结点;(4)检查与工作结点相邻的临时性结点,若该结点到工作结点的距离与工作结点的标注之和小于该结点的标注,则用新计算得到的和重新标注该结点。(5)在整个图中查找具有最小值的临时性标注结点,将其变为永久性结点,并成为下一轮检查的工作结点;(6)重复第四、五步,直到目的结点成为工作结点。2023/6/76最短路由选择(续)2023/6/77计算从A到D的最短距离2023/6/78泛洪算法(flooding)

1567432911532863基本思想:不计算路径,有路就走:将每一个输入数据包发送到除了该数据包到达的那条线路以外的所有输出线路。存在的问题:泛洪法会产生大量的重复数据包,即数据包重复到达某一节点,如3,6。泛洪算法(flooding)(续)

两种解决方法方法一:数据包的头中设一跳计数器,每经过一跳自动减1,计数值为0时,丢弃该数据包。方法二:让路由器避免重复发送已经泛洪过的数据包,即在每个节点上建立登记表,数据包再次经过时丢弃。2023/6/79距离矢量算法(1)D-V算法基本思想属于动态路由算法。每个路由器维护一张路由表,表中给出到每个目标的已知最佳距离以及所使用线路,并与相邻路由器交换距离信息来更新表。路由表以网络中每个路由器为索引,表项包括两部分:到达目的路由器的最佳输出线路、所需时间或距离。2023/6/710距离矢量算法工作过程:每隔一段时间,路由器向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表;邻居结点X发来的表中,X到路由器i的距离为Xi,本路由器到X的距离为m,则路由器经过X到i的距离为Xi+m。根据不同邻居发来的信息,计算Xi+m,并取最小值,更新本路由器的路由表。注意:在计算过程中不使用老的路由表。2023/6/711To通过A通过I通过H通过KA0242021B12363128C25181936D4027824E1473022F23201940G1831631H1720019I2101422J911710K2422220L293399J到A延时为8J到I延时为10J到H延时为12J到K延时为6线路8A20A28I20H17I30I18H12H10I0-6K15K节点J的新路由表J重新估计的延时路由器当前节点为JJ的邻节点:AIHKAEIHGFDCBLKJ2023/6/712距离矢量算法ABCDE1234初始时3234第1次交换后3434第2次交换后5454第3次交换后5656第4次交换后7676第5次交换后7878第6次交换后…………∞∞∞∞距离矢量算法(续)2023/6/713ABCDE∞∞∞∞初始时1∞∞∞第1次交换后12∞∞第2次交换后123∞第3次交换后1234第4次交换后好消息扩散的速度是每交换一次往远处走一跳。A下网了(2)无穷计算问题收敛:整个网络最佳路径的寻找过程。好消息传播得快,坏消息传播得慢距离矢量算法(续)克服收敛速度慢的方法水平分裂同距离矢量法,只是到X的距离并不向真正通向X的邻居节点报告:对下方节点,通知真正的距离;对上方节点(邻居节点),给出无穷大。如上图中的C点,它向D通知到A的是真正距离,而向B通知到A的距离是无穷大。坏消息以每交换一次跳一个节点的速度传播。虽然广泛使用,但有时候会失败。2023/6/714ABCDE链路状态算法链路状态算法的基本思想:(1)发现它的邻节点,并得到其网络地址。(2)设置它到每个邻节点的距离或开销。(3)构造一个包含所有刚刚获知的链路信息包。(4)将这个包发送给所有其他路由器,并接收来自所有其他路由器的信息包。(5)计算出到每个其他路由器的最短路径。2023/6/715链路状态算法(续)(1)发现邻居

路由器启动后向每个点到点线路发送HELLO分组(携带网络地址),另一端的路由器返回一个应答,通报其网络地址,且全局唯一。两个或多个路由器连在一个LAN时,引入人工伪结点N,指定路由器替代N运行路由协议。2023/6/716链路状态算法(续)(2)设置链路成本

链路成本可自动设置或由网络运营商配置。常用选择是成本与链路带宽成反比:使高容量的路径成为路由更好的选择。链路延迟作为成本的组成部分:更好的选择较短链路上的路径。2023/6/717链路状态算法(续)(3)构造链路状态数据包数据包以发送方的标识符开头,后面是序号、年龄和一个邻居结点列表;列表中的每个邻居结点,都要给出到这个邻居节点的延迟或开销。链路状态数据包可以周期性的创建或发生重大事件时创建。2023/6/718链路状态算法(续)举例:网络及其节点到其邻节点(路由器)的线路开销测量值(即延时,假设以ms计)。2023/6/719ABCDEF序号序号序号序号序号序号年龄年龄年龄年龄年龄年龄B4A4B2C3A5B6E5C2D3

F7

C1

D7F6E1F8E8AE324FDCB56187网络的链路、状态及分组情况

节点A仅与节点B和E相邻AB的时延为4msAE的时延为5ms

链路状态算法(续)(4)分发链路状态包

基本思想:使用泛洪法将链路状态数据包分发给所有路由器。为控制泛洪规模,每个数据包都包含一个序号,每次发送新数据包时加1。路由器记录所看到的所有信息对(源路由器,序号),并检查新进来的分组。当一个链路状态包到达时,若是新的,则转发;若是重复的,则丢弃;若序号比路由器记录中的最大序号小,则认为过时而丢。2023/6/720链路状态算法(续)存在的问题(1)序号可能绕回循环使用,产生混淆。(2)路由器可能崩溃重启,丢失所有序号记录表。(3)序号可能会发生错误。解决办法使用32位的序号。每个数据包的序号之后包含一个年龄(age)字段,每秒钟减1.2023/6/721链路状态算法(续)举例:用泛洪法(向邻节点)发布链路状态分组(以B为例,B的邻接点有A、C、F)。2023/6/722源序号年龄ACFACF数据A2160011100

F2160110001

E2159010101

C2060101010

D2159100011

发送标志ACK标志Fig.路由器B的链路状态分组的转发和确认上表中,每一行上的两组ACF位进行或运算的结果是111,这是巧合吗?链路状态算法(续)(5)计算新路由在路由器本地运行Dijkstra算法,计算到每个节点的路由,

构建出从本地出发到所有可能目标的最短路径。运行结果告诉路由器到达每个目的地可以走哪条链路。2023/6/723链路状态算法(续)LSR的优点路由信息的一致性好:坏消息也一样传播得快。状态分组的长度较短,仅包含到邻接点的距离、序号和年龄等,传输所耗用的网络带宽不大。状态分组的扩散,由于年龄参数的设定,不会无限制扩散,所以可适用于大型网络。LSR的缺点每个路由器需要有较大的存储空间,用以存储所收到的每一个节点的链路状态分组。计算工作量大,每次都必须计算最短路径。2023/6/724层次路由基本思想:分而治之路由器被划分成区域(regions):每个路由器知道如何将数据包路由到自己所在区域的目标地址,不知道其他区域的内部结构。大型网络,可将区域组织成簇(clusters)、簇组织成区(zones),区组织成组(groups)等等。2023/6/7252023/6/726层次路由不分层时1A的路由表目的地下一跳跳数1A----1B1B11C1C12A1B22B1B32C1B32D1B43A1C33B1C24A1C34B1C44C1C45A1C45B1C55C1B55D1C65E1C5分层时1A的路由表目的地下一跳跳数1A----1B1B11C1C121B231C241C351C45D5A5B5C5E4A4B4C3A3B1A1B1C2A2B2C2D区域1区域5区域3区域2区域4实例分析层次路由使得路由器1A的路由表从17项降低为7项缺点:分层后路由表中的路由不一定是最优路由。层次路由“应该分多少层?”对于一个包含N个路由器的网络,最优的层数是lnN,每个路由器所需要的路由器表项是elnN个。由分层路由导致的平均路径长度的实际增长非常小,可以接受。2023/6/727广播路由2023/6/728广播:同时给所有的目标发送一个数据包。(1)源机器给每个目标单独发送数据包发送量大,浪费带宽。需知道网上所有节点的地址。(2)泛洪法流量大,消耗大量带宽。某些节点还可能收到重复的报文。广播路由(续)(3)多目标路由每个数据包包含一组目标地址,指定所期望到达的目标。数据包到达路由器,路由器检查数据包携带的所有目标,确定输出线路集合;路由器为每一条输出线路复制一个新的数据包副本,每个副本中仅包含那些使用该线路的目标地址。原来的目标集合被分散到这些输出线路,经过多跳之后,最终每个数据包将只包含一个目标地址。2023/6/729广播路由(续)(4)逆向路径转发基本原理:当某一广播数据包到达路由器时,路由器检查它到来的那条线路是否正是通常用来给广播源端发送数据包用的那条线路。YES:该广播数据包是沿着最佳路径被转发过来的,是到达当前路由器的第一份副本,则将该分组转发到除进线以外的其它线路。NO:则当做重复数据包而丢弃。2023/6/7302023/6/731广播路由(续)逆向路径转发举例在(a)的网络中,每个节点都已生成了一张路由表,假设当前每个节点的路由表中到节点I去的路径中的下一跳分别为:当前节点ABCDEFGHJKLMNO到I去的下一节点FCDFAIJIIMKNIJ(a)一个网络示例ABCDEHFGIJKLMNOABCDEHFGIJKLMNO(b)一棵汇集树广播路由(续)根据逆向路径转发的原则,构造如下一棵树2023/6/732MHKJIHGFEDCBAONOKEGLLDNBH字母外面加一个圆圈表示是沿着汇集树的首选路径来的。ABCDEHFGIJKLMNO拥塞控制算法拥塞(congestion)网络中存在太多的数据包导致数据包被延迟和丢失,降低传输性能,这种情况叫拥塞。网络层和传输层共同承担处理拥塞的责任。2023/6/733拥塞控制算法拥塞控制和流量控制的区别拥塞控制:确保网络能够承载所有到达的流量;是一个全局性问题,涉及所有的主机和路由器。流量控制:确保快速的发送方不会持续的以超过接收方接收能力的速率传输数据;只与特定的发送方和接收方之间的点到点流量有关。2023/6/734光纤网络:100GbpsPC超级计算机电缆网络:1Mbps500台大型计算机500台大型计算机100kbps拥塞控制的途径2023/6/7351、增加资源网络供给:动态的增加网络资源。流量感知路由:根据流量模式定制路由。2、降低负载准入控制:拒绝导致拥塞的新连接,降低负载。流量限制:给造成问题的数据包源端发送反馈信息,要求源端抑制或减缓流量。负载脱落:网络丢弃无法传递的数据包。Internet的网络层2023/6/736Internet相互连接的网络或者自治系统的集合。ISP:Internet服务提供商,提供Internet接入服务。IP协议(InternetProtocol)IP提供一种尽力而为的把数据包从源端传输到接收方的方法,即不提供任何保证。2023/6/737IPv4协议0481631版本头部长区分服务总长度标识DFMF分段偏移量生存期协议头部校验和源IP地址目的IP地址可选项(可以省略)数据开始……IP数据报包含两部分:一个头部和一个正文(有效净荷)。IP头:包括20个字节的固定部分和变长的可选部分。IPv4协议(续)IP可选项变长,长度为4字节的倍数,不够则填充,最长为40字节。用于控制和测试:增加在原始设想中没有考虑到的工作。2023/6/738可选项描述安全性规定数据包的加密方式严格源路由分组必须严格按此路径转发松散源路由分组必须经过给出的路由器记录路由每台途经的路由器都必须附上它的IP地址时间戳每台途经的路由器必须附上它的IP地址和时间戳IP地址2023/6/739(1)IPv4的地址位数为32位。(2)32位地址组成:高位的可变长网络地址和低位的主机地址两部分。(3)IP地址表示方法:点分十进制法,例51.(4)IP地址并不真正指向一台主机,而是指向一个网络接口。(5)路由器有多个接口,从而有多个IP地址。IP地址(续)前缀定义网络部分的地址称为前缀(网络值对应一块连续的IP地址空间),定义主机部分的地址称为后缀。网络地址书写格式:前缀IP地址后跟一个斜线,斜线后的n表示地址最左边网络部分的长度,最右边的32-n位表示连接到网络的特定主机。例如/24。前缀指明了块的大小和最低IP地址:块大小由网络部分的位数决定,即块大小是2的幂。2023/6/740IP地址(续)子网掩码前缀可简单表示为“/n”,前缀长度相当于网络地址部分中1的二进制掩码,以该方式书写时称为子网掩码。子网掩码与IP地址进行AND运算,可提取该IP地址的网络地址。下图子网掩码为2023/6/741IP地址(续)子网子网划分:将一个网络块分割成若干个较小的几部分,但对外仍然是单个网络。一个网络被划分成为一系列较小的子网络称为子网。2023/6/742IP地址(续)路由器根据数据包的目标地址可确定它属于哪个子网,具体做法:将数据包的目标地址与每个子网的掩码进行AND运算,看结果是否对应某个前缀。2023/6/743例:考虑一个发往IP地址为51的数据包。EE的子网掩码为,AND运算之后为CS的子网掩码为,AND运算之后为ART的子网掩码为,AND运算之后为IP地址(续)CIDR-无类域间路由路由聚合:将多个小前缀的地址块合并成一个大前缀的地址块。由路由聚合产生的较大前缀地址块有时称为超网,以有别于地址块的分割。路由聚合与子网划分协同工作,统称为无类域间路由(CIDR)。2023/6/744IP地址(续)地址块w.x.y.z/n的信息提取:地址数:N=232-n,n是前缀长度。首地址(任意地址)AND(网络掩码);或者保留该地址的左边n位不变,把其余的32-n位都置0。末地址地址块中的地址数+首地址末地址;或者(任意地址)OR[NOT(网络掩码)];或者保留该地址的左边n位不变,把其余的 32-n位都置1。2023/6/745IP地址(续)2023/6/746例:如果地址块中的一个地址是2/27,求这个地址块的地址数、首地址和末地址。(1)n=27,网络掩码由27个1和5个0组成,即40

地址数为N=232-n=32(2)首地址=(2)AND(40)=4

或者把2的右边5位置0(3)网络掩码的反码为1

末地址=(2)OR(1)=5

或者把2的右边5位置12023/6/747IP地址(续)CIDR地址块的分配遵守三个原则:(1)必须是地址空间中连续的未分配地址才能被分配给申请的地址块。(2)申请的地址数N必须是2的整次幂,根据地址数能够求出其前缀长度的值。N=232-nn=32-log2N,因此N必须是2的乘方。(3)起始地址必须能够被地址块的地址数整除。IP地址(续)CIDR举例:从开始,剑桥大学、牛津大学和爱丁堡大学分别申请2048个、4096个和1024个IP地址,分配如下:2023/6/748学校地址数地址范围前缀剑桥2048~55/21爱丁堡1024~55/22保留1024~55/22牛津4096~55/202023/6/749IP地址(续)子网划分无分类编址属于两级编址(前缀和后缀),但是通过子网划分可以建立一个三级结构。授权使用某地址块的组织或ISP可以将该地址块进一步划分为若干个子网,并为每个子网指派一个子地址段。子网划分遵循以下原则:(1)每个子网的地址数是2的乘方。(2)每个子网的前缀长度用公式nsub

=n+log2(N/Nsub)求得。(3)每个子网的起始地址应能被它的地址数整除。假设某ISP授权使用的地址数为N,前缀长度为n,分配的每个子网的地址数为Nsub,子网前缀长度为nsub

,子网数为s。2023/6/750IP地址(续)例:某ISP被授权使用一个起始地址为/24的地址块。该组织需要用到三个子网,三个子地址块分别有120个地址、60个地址、10个地址。求出子网的前缀、首地址和末地址。该地址块共有232-24=256个地址,首地址为/24,末地址为55/24.第1个子网:需分配128个地址(2的乘方),前缀长度为n1

=24+log2(256/128)=25。首地址是,末地址是27。第2个子网:需分配64个地址,前缀长度为n2

=24+log2(256/64)=26。首地址是28,末地址是91。第3个子网:需分配16个地址,前缀长度为n3

=24+log2(256/16)=28。首地址是92,末地址是07IP地址(续)分类寻址1993年以前,IP地址被分为5个类别(A、B、C、D、E类。2023/6/751IP地址(续)分类地址存在的问题:地址空间浪费对于大多数组织,具有1600万个地址的A类网络太大;具有256个地址的C类网络太小;具有65536个地址的B类网络看似恰当好处,但是研究表明,超过半数的B类网络少于50台主机。引入CIDR技术来减小全局路由表的大小。2023/6/752今天,表明一个地址是否属于A、B或C类网络的标志位已不再使用。过时的分类寻址被无类寻址所取代!2023/6/753IP地址(续)网络主机地址类型用途全0全0本机启动时使用全0主机ID主机当前本网络中的主机网络ID全1直接广播在指定网上广播全1全1有限广播在本地网上广播127任意回送测试()特殊的IP地址IP地址(续)2023/6/754网络地址转换-NATIP地址非常匮乏!!保守解决方案:为连在网上并使用网络的计算机动态分配一个IP地址,主机不活跃时收回该IP地址,再分配给其他活跃的计算机。长期解决方案:从IPv4迁移到IPv6。目前普遍使用的快速方案:网络地址转换。IP地址(续)NAT的基本思想:ISP为每个家庭或每个公司分配一个IP地址(或者分配少量的IP地址),用这个IP地址来传输Internet流量。客户网络内部,每台计算机有唯一的IP地址,该地址用来传输路由内部流量。2023/6/755当一个数据包离开客户网络去其他ISP,须执行一个地址转换,把唯一的内部IP地址转换成那个共享的公共IP地址。2023/6/756IP地址(续)NAT中的公共IP地址使用了IP地址保留给私有网络的IP地址段。地址类别地址主机数A类-55/816777216B类-55/121048576C类-55/1665536任何网络可以在内部随意的使用这些地址,但是不允许包含这些地址的数据包出现在Internet上。2023/6/757IP地址(续)NAT的操作过程:通过NAT盒子(NATbox)将内部源IP地址转换成该客户所拥有的真实IP地址。2023/6/758IP地址(续)需要解决的一个问题:当应答数据包返回时,NAT盒子如何知道用哪个地址来替代它?输出数据包进入NAT盒子时:①源地址10.x.y.z被客户的真实IP地址取代;②同时TCP/UDP的源端口字段被一个索引值取代,指向NAT盒子的地址转换表中的一个表项(该表项包含了原来的IP地址和原来的源端口)。数据包从ISP到达NAT盒子时:①从TCP/UDP头中提取出源端口,作为索引值查找NAT盒子的映射表。②从对应表项中提取内部IP地址和原来的源端口,插入数据包。③将数据包传递给客户内部使用10.x.y.z进行路由。IPv6协议IPv6的主要改进更大的地址空间:16字节,128位首部的简化:只有7个固定域更好地支持选项增强了安全性更加关注服务质量2023/6/759IPv6协议(续)2023/6/7600481624

31版本区分服务流标签净荷长度下一头部跳数限制源地址(16字节)目的地址(16字节)IPv6头部IPv6协议(续)a)冒分十六进制表示法16个字节分成8组,每组4个16进制数,组之间用冒号隔开。例:8000:0000:0000:0000:0123:4567:89AB:CDEFb)零压缩法前导0可省略;16个0可构成的一个或多个组可用1对冒号来代替。上面的地址可写成:8000::123:4567:89AB:CDEFc)IPv4地址在IPv6中的表示IPv4地址00可写成::00 2023/6/761IPv6地址表示法Internet控制协议控制协议IP协议只负责传送IP数据包,无法监视和控制网络中出现的一些问题,这些工作由Internet的控制协议来完成。(1)ICMP(Internet控制报文协议)(2)ARP(地址解析协议)(3)DHCP(动态主机配置协议)2023/6/7622023/6/763Internet控制协议(续)(1)ICMP-Internet控制消息协议路由器通过ICMP协议监视和测试Internet。类型ICMP报文类型描述差错报文目的站点不可达数据包无法传递数据报超时TTL字段减为0数据报参数错无效的头字段控制报文源抑制抑制发送太多数据包的主机重定向告知路由器有关地理信息请求/应答报文应答和应答返回判断目标机器是否可达以及是否活着:ping应用时间戳请求/应答同应答类似,不过包含了时间戳:用于测量网络性能。路由器通告/恳求发现附近的路由器Internet控制协议(续)2023/6/764B可到达吗?可以,我在这里。PingBICMP回应请求ICMP回应应答B可到达吗?我不知道B在哪里。PingBICMP回应请求目的端无法到达主机A主机A主机B主机BICMP使用举例:测试报文的可达性:ping命令2023/6/765Internet控制协议(续)(2)ARP-地址解析协议将IP地址映射到数据链路层的地址Internet控制协议(续)DHCP动态主机配置协议采用DHCP时,每个网络必须有一个DHCP服务器负责地址配置:实现IP地址的自动分配。计算机通过广播一个请求报文(DHCPDISCOVER包)来请求IP地址,该报文必须到达DHCP服务器。DHCP服务器收到请求,为该主机分配一个空闲的IP地址,并通过DHCPOFFER包返回给主机。由于开始时主机没有IP地址,服务器用主机的以太网地址来标识该主机(主机的以太网地址由DHCPDISVOVER包携带)。2023/6/766问题:从地址池中分配给主机的IP地址能用多久?OSPF-内部网关路由协议2023/6/767自治系统AS内部使用的路由算法称为域内路由算法,域内路由协议也成为内部网关协议。AS之间的路由称为域间路由,使用的协议为域间路由协议和外部网关协议。Internet采用的域间路由协议是边界网关协议-BGP。早期的域内路由协议:基于距离矢量的设计思想,典型协议是路由信息协议-RIP。目前的域内路由协议:开放最短路径优先OSPF,借鉴了中间系统到中间系统IS-IS协议。OSPF广泛用于公司网络,IS-IS广泛用于ISP网络。Internet组播IP使用D类IP地址来支持组播。每个D类IP地址标识一组主机,总共有28位可用于标识组播组,即228个多播组。给D类地址发送数据包,网络会尽力将数据包传递给指定组中的所有成员。IP地址/24范围的地址保留用作本地网络组播。组播路由器通过IGMP(组管理协议)来查询主机属于哪个组播组。2023/6/7682023/6/769第6章传输层学习目标掌握传输层提供的服务接口掌握传输层协议基本要素掌握UDP、TCP协议了解计算机网性能问题主要内容传输服务传输协议的要素UDP协议TCP协议2023/6/770第6章传输层传输层架构在网络层提供的服务之上,将数据传递服务从两台主机之间扩展到了主机上的进程之间,即传输层负责整个报文的进程到进程的传递。寻址传输服务访问点TSAP传输服务访问点TSAP:传输层地址,TCP协议中指TCP的端口号。网络层地址称为网络服务访问点NSAP,在IP协议中即IP地址。2023/6/771三次握手连接建立2023/6/772tDATA(seq=x,ACK=y)ACK(seq=y,ACK=x)CR(seq=x)主机1主机2(a)正常操作主机1发出连接请求,序号为x(seq=x);主机2应答,接受主机1的连接请求,并声明自己的序列号为y(seq=y,ACK=x);主机1收到确认后发送第一个数据,并确认主机2的序列号(seq=x,ACK=y)。对称释放连接对称释放:A提出中止请求,B同意即中止2023/6/773由于两军问题的存在,可以证明不存在安全的通过N次握手实现对称式连接释放的方法。实际的通信中,三次握手+定时器的方法释放连接在绝大多数情况下是成功的。2023/6/774拥塞控制拥塞控制是网络层和传输层的共同责任。(1)拥塞发生在路由器上,因此在网络层检测拥塞。(2)拥塞是由传输层递交给网络层的流量引起的,应控制传输层往网络中发送数据包的速度。(3)Internet的拥塞控制严重依赖于传输层,一些算法被嵌入到TCP和其他协议中。2023/6/775理想的带宽分配逐步加大分配的带宽,可获得最佳性能,直到延迟迅速攀升。拥塞控制算法的目标不仅是简单的避免拥塞,它是为传输实体找到好的带宽分配方法,能够利用全部带宽并还能避免拥塞。(1)效率和功率2023/6/776理想的带宽分配(2)最大-最小公平性如果分配给一个流的带宽在不减少分配给另一个流带宽的前提下无法得到进一步增长,那么就不给这个流更多带宽,即增加一个流的带宽不以另一个流为代价。2023/6/777理想的带宽分配(3)收敛一个理想的拥塞控制算法,应迅速收敛到公平有效的带宽分配的理想操作点上,并跟踪该随时变化的操作点。2023/6/778调整发送速率发送速率受到两个方面因素的限制流量控制:接收端没有足够的缓冲区的情况下;拥塞控制:网络容量不足的情况下。2023/6/779调整发送速率(续)发送速率调整法则:加法递增乘法递减法则(AIMD),即加法递增带宽,收到拥塞信号时乘法递减带宽,可兼顾公平与效率AIMD是TCP采用的拥塞控制法则,实际策略是调整滑动窗口大小,不是直接调整发送速率。2023/6/780Internet传输协议-UDP用户数据报协议(UDP,UserDatagramProtocol)的段由8字节的头和有效载荷字段组成。UDP头部UDP数据区IP头部IP数据区Internet传输协议:TCP2023/6/781TCP协议需要解决的主要问题可靠传输流量控制和拥塞控制连接管理TCP服务模型套接字socket应用程序访问TCP服务:通过在收发双方创建套接字来实现。套接字的地址用(主机IP地址,16位主机端口号)表示。一个套接字有可能被用于多个连接,每条连接用(套接字1,套接字2)表示。2023/6/782TCP服务模型2023/6/783端口port端口号:·0~65535之间的16位整数。熟知端口(well-knownport):端口号小于1024注册端口:1024~49151,可在IANA注册以防重复。动态端口:49152~65535,可由任何进程使用,临时端口。IANA定义的端口号范围TCP服务模型常用well-knownTCP端口表2023/6/784端口号关键字服务说明20,21FTP文件传输协议22SSH远程登录,Telnet的替代品23TELNET终端连接25SMTP简单邮件传输协议53DNS域名解析协议80HTTP超文本传输协议110POP-3远程E-mail访问TCP协议按字节分配序号每个字节有一个32位的序号。TCP实体之间使用数据段的形式交换数据TCP数据段包含一个20字节的头(选项部分另加)和0个或多个数据字节。段的大小首先满足65515字节的IP包数据净荷长度限制,其次满足数据链路层最大传输单元(MTU)的限制,比如以太网的MTU为1500字节;TCP实体使用的基本协议:滑动窗口协议确认号等于接收方希望接收的下一个序号。2023/6/7852023/6/786TCP数据段头TCP段的头:20字节的固定部分+选项TCP的数据:最长为65535-20-20=65495字节TCP滑动窗口TCP的窗口管理2023/6/787TCP滑动窗口零窗口公告发送方收到一个零窗口公告时,必须停止发送,直到接收方重新发送一个非零的窗口公告,但有两种情况可以除外:(1)发送紧急数据:如允许用户终止当前正在远端机上运行的进程。(2)窗口探测:发送方可以发送1个字节的数据段通知对方,要求接收方重新宣告下一个期望的字节和窗口大小,以防止可能的窗口公告丢失而导致死锁。2023/6/788TCP滑动窗口低能窗口综合症发送应用程序产生数据的速度很慢,或者接收应用程序消耗数据的速度很慢,或者两者都有,会降低TCP的运行效率,称为低能窗口综合症。解决方案一:Nagle算法解决发送端发送多个小数据包造成的低效率问题。基本思想:任何时候只有第一个发送的数据包是小数据包。后续到达的字节被缓冲起来,直到发送出去的那个小数据包被确认,然后将所有缓冲的字节放在一个TCP段中发送出去。2023/6/7892023/6/790TCP滑动窗口解决方案二:Clark解决方案解决接收端应用每次仅读取1个字节数据的问题。Clark解决方案:禁止接收端发送只有1个字节的窗口更新段。TCP滑动窗口解决方案三:延迟确认发送端收到应用程序传递来的数据并不立即将数据发送出去;接收端并不立即发送确认段,而是一直等待到输入缓存有足够的空间为止。延迟确认:将确认和窗口更新延迟,且不超过500ms,希望能够获得一些数据免费搭载过去。2023/6/791TCP拥塞控制拥塞窗口和流量控制窗口拥塞窗口:任何时候发送端可以向网络发送的字节数,其速率是窗口大小除以连接的往返时间。TCP根据AIMD(加法递增乘法递减)法则调整拥塞窗口的大小。流量控制窗口:接收端可以缓冲的字节数。有效窗口:发送端的拥塞窗口和接收端的流量控制窗口二者中的较小者。2023/6/7922023/6/793TCP拥塞控制慢启动(slowstart)算法每接收到一个报文段的确认,窗口大小加1。窗口大小在每个RTT周期(轮次)内指数增长。慢启动阈值:以慢启动方式增加拥塞窗口,直到发生超时,或者拥塞窗口超过阈值。TCP拥塞控制拥塞避免:线性递增(加法增长)若拥塞窗口超过阈值,慢速启动阶段停止,切换到线性增长。每个往返时间拥塞窗口只增加1段:每次整个窗口所有段都被确认时,窗口大小才加1,即一个RTT周期增加一个最大段长,直至发生丢包超时事件。拥塞检测:乘性减小每当检测到丢包,阈值被设置为当前拥塞窗口的一半。如果是超时造成的丢包,拥塞窗口被复位到初始值,重新开始慢启动。2023/6/7942023/6/795TCP拥塞控制初始拥塞窗口为1个段的线性增长过程每个往返时间拥塞窗口只增加一段。TCP拥塞控制2023/6/796Internet拥塞算法的一个例子:TCPTahoe第7章应用层2023/6/797学习目标熟悉应用层基本概念掌握因特网的域名系统熟悉常见的应用层协议了解流式音视频的工作原理了解通信安全的工作原理主要内容DNS–域名系统电子邮件万维网流式音视频内容分发通信安全域名系统-DNSDNS(DomainNameSystem,域名系统)功能:映射应用层的主机名与网络层的IP地址之间的对应关系。DNS的本质是分级的、基于域的命名方案,并用一个分布式的数据库系统实现。为了将名字映射成IP地址,应用程序调用一个库程序-解析器(resolver),并将名字作为参数传递给该程序。2023/6/798域名系统-DNSDNS的分层结构Internet顶级域名分为通用的和国家或地区的两种类型。

2023/6/799通用的国家的sunyaleacmieeeedubjoccvuengcsengjackjillcuconlinecsailindaiescoolorinflitsfluitrobotnetworkintcomedugovmilorgnetcnjpnl...TnbmFig.7-1部分Internet域名空间

域名不区分大小写新建一个域必须征得所属域的同意。命名遵循组织的边界,而非物理网络边界。2023/6/7100域名系统-DNS通用的顶级域名域名资源记录2023/6/7101类型意义值SOA授权有关该区域的一组参数A主机的IPV4地址32位整型数AAAA主机的IPV6地址128位整型数MX邮件交换优先级,接受邮件的域NS域名服务器该域的服务器名CNAME别名域名PTR指针某一IP地址的别名,用于反向解析SRV服务提供服务的主机TXT文本说明的ACSII文本Domain_name∣Time_to_live∣Class∣Type∣ValueDNS的基本功能是将域名映射到资源记录,最常见的资源记录是IP地址。一条资源记录是一个五元组。域名服务器DNS名字空间被划分为许多无重叠的区域(zone)。2023/6/7102通用域国家域intcomedugovmilorgnetcnjpnl...sunyaleacmieeeedubjoccvuengcsengjackjillcuconlinecsailinda

温馨提示

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

评论

0/150

提交评论