[互联网]ch8第8章 网络互联与因特网基础

上传人:枫** 文档编号:578970429 上传时间:2024-08-25 格式:PPT 页数:97 大小:1.96MB
返回 下载 相关 举报
[互联网]ch8第8章 网络互联与因特网基础_第1页
第1页 / 共97页
[互联网]ch8第8章 网络互联与因特网基础_第2页
第2页 / 共97页
[互联网]ch8第8章 网络互联与因特网基础_第3页
第3页 / 共97页
[互联网]ch8第8章 网络互联与因特网基础_第4页
第4页 / 共97页
[互联网]ch8第8章 网络互联与因特网基础_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《[互联网]ch8第8章 网络互联与因特网基础》由会员分享,可在线阅读,更多相关《[互联网]ch8第8章 网络互联与因特网基础(97页珍藏版)》请在金锄头文库上搜索。

1、1第第8章章 网络互联与因特网基础网络互联与因特网基础本章内容本章内容网络互联的基本概念网络互联的基本概念因特网的体系结构因特网的体系结构因特网接入技术因特网接入技术因特网的链路层与网络层因特网的链路层与网络层因特网的传输层协议因特网的传输层协议28.1 网络互联的基本概念?网络互联的动力:更大范围的资源共享网络互联的动力:更大范围的资源共享网络互联:网络互联:HOST-LAN、LANLAN/WAN3网络互联层次从网络体系结构的层次观点来考察,网络互联从网络体系结构的层次观点来考察,网络互联可在四个层次上实现:可在四个层次上实现: 物理层物理层 数据链路层数据链路层 网络层网络层 网络层以上网

2、络层以上4 物理层:中继器物理层:中继器/集线器集线器 在电缆段之间复制比特流。 没有地址概念,因此从本质上不能算是网络互连。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层物理层物理层 物理层物理层中继器中继器集线器集线器电缆段电缆段2电缆段电缆段15物理层物理层 数据链路层:网桥数据链路层:网桥/交换机交换机 在网段之间转发数据帧。 根据数据帧中的信息(MAC地址)进行转发。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层

3、应用层物理层物理层网桥网桥交换机交换机数据链路层数据链路层网段网段1网段网段26链路层链路层物理层物理层 网络层:路由器网络层:路由器 在网络之间转发报文分组。 根据分组中的逻辑地址(IP地址)进行转发。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层物理层物理层路由器路由器链路层链路层网络层网络层网络网络2网络网络17 更高层:网关更高层:网关 连接不同体系结构的网络网络层网络层数据链路层数据链路层物理层物理层应用层应用层/传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层/传输层传输层

4、物理层物理层网关网关链路层链路层网络层网络层网络网络1应用层应用层/传输层传输层物理层物理层链路层链路层网络层网络层网络网络28LAN的互联 本地互联本地互联 特点:范围有限、主干(特点:范围有限、主干(Backbone)采用局域网技术,)采用局域网技术, 如如FDDI、Ethernet、Token Ring 互联层次:链路层(网络层)互联层次:链路层(网络层) 互联设备:网桥、交换机(有时可采用路由器)互联设备:网桥、交换机(有时可采用路由器) 远程互联远程互联 特点:范围大、主干采用广域网技术,如特点:范围大、主干采用广域网技术,如ISDN、X.25、DDN、 ATM、FR、ADSL等等

5、互联层次:网络层或更高层(链路层)互联层次:网络层或更高层(链路层) 互联设备:路由器、网关(有时可采用远程网桥)互联设备:路由器、网关(有时可采用远程网桥)9LAN1LAN2中继器中继器或或HUBLAN1LAN2网桥或网桥或交换机交换机LAN1LAN2路由器路由器LAN1路由器路由器LAN2路由器路由器WAN本地本地远程远程10网络互联的归纳 物理层:使用中继器或集线器在不同的电缆段之间复制位信号,无寻址功能;数据链路层:使用网桥或交换机在局域网之间存储转发数据帧,用MAC地址寻址;网络层:使用路由器在不同的网络之间存储转发分组,用IP地址寻址;传输层及应用层:使用网关提供更高层次的互连,用

6、端口号或其他特定标识寻址。118.2 因特网体系结构因特网是世界上最大的互联网络,具有开放性。1974年,斯坦福大学的两位研究员瑟夫(cerf)和康恩(kahn)提出了开放网络的四项原则:小型化、自治:每个网络可以自行运作,当需要进行网间互联时无需改变其内部结构。尽力而为的服务:互联网络仅提供尽力而为的服务,如果需要可靠的通信,则由发送端通过重传丢失的报文来实现。无状态路由器:互联网络中的路由器不保存任何现行连接中已经发送过的信息流状态。非集中控制:在互联网络中不存在全局性的控制机制。12因特网是一个开放网络的典型例子。为满足开放网络的要求,因特网从1983年开始引入并使用TCP/IP协议栈(

7、Transmission Control Protocol / Internet Protocol)。TCP/IP不是单一的协议,而是由数十个具有一定层次结构的协议组成的一个协议集。而TCP和IP是该协议中两个最重要的协议。整个TCP/IP协议集的框架被称为TCP/IP体系结构或简称为TCP/IP。由于TCP/IP协议在因特网中的广泛使用,现在人们常常把TCP/IP协议称为因特网协议。13 因特网协议栈和协议数据单元应用层(FTP,Telnet,SMTP,HTTP,DNS,SNMP)传输层(TCP,UDP)网络层(IP,ICMP,ARP,RARP,IGMP)链路层(PPP,HDLC,以太网,令

8、牌环网)物理层TCP/IP协议栈第1层第2层第3层第4层第5层协议数据单元(PDUs)段(Segment)数据报(Datagram)帧(Frame)位流(Bits)报文(Message)148.3 因特网的接入因特网的接入是指如何把用户的计算机连接到因特网的接入点因特网的边缘路由器因特网接入采用了广域网连接技术。从用户类型划分,因特网接入分为:住宅(居民区)接入机构接入移动用户接入15居民区因特网接入:拨号和ADSL模拟调制解调器通过电话网拨号上网用户计算机通过电话拨号与因特网服务提供商建立连接,在用户本地环路上传输的是模拟信号拨号接入的速率最高不超过56kb/s ADSL(非对称用户线路)在

9、用户本地电话线环路上采用数字信号传输技术,能够在一条上同时提供话音服务和数据通信服务,但其下行传输速率可达到8Mb/s,上行传输速率也能达到将近1Mb/s上下行速率不对称的特点非常适用于上网目的以因特网浏览为主的用户 16居民区因特网接入: 线缆调制解调器HFC:Hybrid Fiber Coax(光纤同轴电缆混合网络)非对称:下行可达10Mb/s,上行为1Mb/sHFC将家庭用户连接到 ISP的路由器若干个家庭用户共享10Mb/s访问带宽;关注点:拥塞,规模控制问题。应用:在国内的个别地区试点。17居民区接入: 线缆调制解调器Diagram: http:/ 局域网 (LAN) 将端系统连接到

10、端接路由器以太网(Ethernet): 共享或专线电缆将端系统连接端系统和路由器10 Mb/s, 100Mb/s, 1Gb/s 以太网应用: 企事业单位, 家庭用户 普遍使用的LAN19无线网络接入共享的无线访问网络把端系统连接到路由器无线无线LAN使用无线频谱替代有线介质e.g,802.11a/b/g11Mb/s、54Mb/s广域无线访问广域无线访问CDPD:通过蜂窝式网络无线访问ISP路由器basestationmobilehostsrouter因特网因特网208.4 因特网的链路层和网络层因特网的链路层协议包括:SLIP、PPP、HDLC相关的议题还包括:通过局域网接入因特网时ARP与I

11、P的交互问题。因特网的网络层协议主要包括:互联网络协议IP网络控制信息协议ICMP路由协议组播协议IGMP21点对点的数据链路协议一方发,一方收;一条链路:比广播信道简单的多无需介质访问控制不必进行MAC寻址e.g.,拨号链路,ISDN 线路等常见的点对点数据链路控制协议:SLIP (Serial Line Internet Protocol) PPP (Point-to-Point Protocol)SDLC:Synchronous Data Link Control (SNA的面向比特的数据链路规程)HDLC:High level data link control (ISO高级数据链路控

12、制)22PPP 设计要求 RFC 1557帧封装: 将网络层的分组封装到数据链路层的帧中 同时同时可以承载任意网络协议的网络层数据 (不仅仅是 IP)提供向上分用的能力位流透明: 在数据字段中,必须能携带任意组合的位流错误检测 (但无需校正)网络层地址协商: 客户端可以学习/配置对方提供的网络地址23PPP无需做的工作错误校正/恢复流量控制有序递交 支持多点链路 (e.g.,轮询)错误恢复、流量控制、分组的有序递交都被移到更高层(在端点,或者说端到端)去解决了!24PPP 数据帧Flag:帧定界符(7EH)Address:固定为FFHControl:缺省为03H,表示为无编号帧Protocol

13、:数据类型,即帧中携带的数据属于哪一个上层协议 (LCP, IP, IPCP, ) 25PPP 数据帧Info:所携带的上层数据Check:CRC校验和,用于进行错误检测26字节填充(Byte Stuffing) “数据透明” 要求:数据中必须可以包括帧中flag字段的固定位模式:01111110(7EH)Q: 如何判断这个到底是数据还是flag?A: 异步链路采用字节填充法解决(同步链路则使用与HDLC相同的位填充法)发送方:数据中的所有字节都用2字节序列(7DH, 5EH)代替数据中的所有(7DH)都用2字节序列(7DH, 5DH)代替接收方:进行相反的操作27字节填充Flag位模式出现在

14、发送数据中数据中的Flag位模式被转换成“双字节模式”10101028因特网的网络层与IP协议因特网的网络层功能:路由表路由协议路由选择RIP, OSPF, BGPIP 协议地址转换数据报格式分组处理ICMP 协议错误报告路由器 “信令”传输层传输层: TCP, UDP数据链路层数据链路层物理层物理层网络层网络层IGMP 协议组播信息交互组播路由选择29网络层协议组成因特网的网络层协议分成四部分:网际协议(网际协议(IP)、路由选择协议路由选择协议、网络控制信息协议(网络控制信息协议(ICMP)和组播组播协议(协议(IGMP)。网际协议网际协议:决定了网络层的编址机制,数据报的格式(网络层的P

15、DU),各节点根据数据报的字段所应采取的动作。IP协议有两个版本,IPv4 RFC 791和IPv6 RFC 2373,RFC 2460。路由选择协议路由选择协议:决定数据报在发送过程中由信源到信宿所经过的路由器。网络控制信息协议网络控制信息协议:可以为用户提供网络中的各种运行信息。组播协议组播协议:由于数据报的发送无须建立过程和响应信息,因此可以支持因特网上的多点同时传送,但由于网络层协议设计上的限制,多点传送解决起来比较复杂。30网际协议IPInternet ProtocolIP是因特网的网络层中最重要的协议提供数据报数据报(Datagram)的投递服务(主机到主机)在不同的数据链路层上进

16、行数据转发操作IP的数据报投递服务是非连接的,不可靠的非连接数据报之间没有相互的依赖关系;不能保证报文的有序投递。不可靠数据报的投递没有任何品质保证(QoS),数据报可能被正确投递,可能被丢弃。31IP地址IP地址地址: 32bit的逻辑地址, 用来标识主机或路由器的网络接口;网络接口网络接口: 用于连接主机与路由器之间的物理链路:路由器有多个接口主机可能有一个,也可能有多个接口IP地址只与设备的网络接口有关IP地址书写方法:32bit划分为4个字节写成点分的4个十进制数223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.

17、1223.1.3.2223.1.3.1223.1.3.27223.1.1.1 = 11011111 00000001 00000001 0000000122311132IP地址IP地址包括2个部分: 网络地址(网络号)主机地址(主机号) 网络是什么? (从 IP 地址的视角)具有相同网络地址的设备接口,或不经过路由器就可以物理上相互通达的设备223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27由3个IP网络组成的互联网(对于以223开头的IP地址,前24位为网络地址

18、 )LAN33IP地址为讨论 “网络”的说法,重新审视IP地址:“分类” 编址:1.0.0.0 to126.255.255.255128.0.0.0 to191.255.255.255192.0.0.0 to223.255.255.255224.0.0.0 to239.255.255.255Range0NetID10110NetID1110Multicast AddressHostIDNetIDHostIDHostIDClassABCD8 bits8 bits8 bits8 bits最大网络数= 27-2 = 126最大主机数= 224-2 = 16777214最大网络数= 214 = 163

19、84最大主机数= 216-2 = 65534最大网络数= 221 = 2097152最大主机数= 28-2 = 25434保留的IP地址以下这些IP地址具有特殊的含义: 00.0000.000000 . 00000000 . 000011.1111.11 1111 . 11111111 . 1111本机本机本网中的主机本网中的主机局域网中的广播局域网中的广播回路回路( (Loopback) )00.0000.00主主 机机 号号1111 . 11111111 . 1111网络号127127任任 意意 值值0000 . 00000000 . 0000网络号对指定网络的广播对指定网络的广播网络地址

20、网络地址一般来说,主机号部分为全一般来说,主机号部分为全“1 ”的的IP地址保留用作广播地址;地址保留用作广播地址; 主机号部分为全主机号部分为全“0 ”的的IP地址保留用作网络地址。地址保留用作网络地址。35划分子网为什么要划分子网?IP分类不合理,地址空间利用率低美国的某些机构拥有的地址空间甚至比其他一些国家的全部地址空间还大每个网络都指定一个网络地址将使路由表太大增加了路由器成本查找路由耗时增加路由器之间交换的路由信息增加两级IP地址不够灵活不能充分利用已申请到的地址资源扩充新的网络如何在现有的地址范围中建立多个网络?36划分子网(Subnetting)又称子网寻址或子网路由选择方法:从

21、IP地址的主机编号部分“借用”若干位作为子网编号主机编号部分相应缩短例如:原来的网络:10.5.0.0借用2位划分子网后:10.5.64.0和10.5.128.0 子网的特点:多个子网可以运行在同一物理网络上。划分子网后,原来的网络对外仍呈现为一个完整的网络,外面看不见其内部的子网结构。即:划分子网完全是该网络内部的事务,与外部无关。00001010 00000101 xxxxxxxx xxxxxxxx网络号 主机号子网1:00001010 00000101 01 xxxxxx xxxxxxxx网络号 子网号 主机号子网2:00001010 00000101 10 xxxxxx xxxxxxx

22、x网络号 子网号 主机号37Subnet 110.5.64.xSubnet 210.5.128.x路由器两个子网之间的通信必须通过路由器才能实现,但物理连接不一定非要通过路由器,子网可以运行在同一物理网络上。38在一个物理网络上运行多个子网子网1的主机子网2的主机39划分子网后,网络对外仍是一个网络网络 10.5.0.0所有目的地址为10.5.x.x 的分组均到达此路由器.64.1.64.2.64.3.128.1 .128.2 .128.3 .128.4.1.2.3子网10.5.64.0.1.2.3子网10.5.128.0.440子网掩码子网掩码的作用使网络内的计算机了解子网划分的结构使边缘路

23、由器了解子网划分的结构子网掩码的格式子网掩码也是32bit长的二进制数,由一串连续的1后跟一串连续的0组成;前面的1与网络号和子网号对应,后面的0与主机号对应。如前面的例子:子网结构为: 00001010 00000101 ss xxxxxx xxxxxxxx子网掩码为: 11111111 11111111 11 xxxxxx xxxxxxxx 写成十进制数为: 255.255.192.041不划分子网时,各类IP地址默认的子网掩码为:A类:255.0.0.0B类:255.255.0.0C类:255.255.255.0已知IP地址和子网掩码,如何计算子网地址?用子网掩码和IP地址“相与”(AN

24、D操作),结果就是子网地址。例如:IP地址10.5.100.1,子网掩码10.5.192.0。则可计算出10.5.100.1的子网地址为 00001010 00000101 01100000 00000001AND) 11111111 11111111 11000000 00000000 00001010 00000101 01000000 00000000 (=10.5.64.0)推论:若两个IP地址具有完全相同的子网地址,则它们在同一子网中。42Q. 如何在网络拓扑图中找出所有的网络?拿掉路由器;整个网络形成了若干个“被隔离的网络孤岛”;每个“孤岛”就是一个网络。Q: 右图中1)包含了几个

25、网络?2)每个网络的子网地址分别是什么?(假定网络掩码为255.255.255.0)223.1.2.1223.1.1.1223.1.1.3223.1.1.4223.1.2.2223.1.2.6223.1.3.2223.1.3.1223.1.3.27223.1.1.2223.1.7.0223.1.7.1223.1.8.0223.1.8.1223.1.9.1223.1.9.243IP编址:CIDR(无类域间路由)分类编址:地址空间的利用率低,地址空间面临耗尽;e.g.,一个B类网址可以容纳65K台主机, 但可能被一个只有2K台主机的企业占据。CIDR: Classless InterDomain

26、Routing地址的网络部分长度任意,不再分为固定的几种类型;地址格式: a.b.c.d/x,x为地址中网络部分的位数。11001000 00010111 00010000 00000000networkparthostpart200.23.16.0/2344IP编址:言犹未尽.Q: ISP如何得到整块的地址? A: ICANN:Internet Corporation for Assigned Names and Numbers(因特网名称和编号组织)分配地址管理DNS批准域名,解决纷争Q: 单位或企业如何获得网络地址?A: 向ISP申请(在单位内部,则向网络中心申请) 45IP 数据报格式

27、verTotal length32 bitsdata (可变长度,一般为一个 TCP 或UDP 数据段)16-bit identifierInternet checksumtime tolive32 bit source IP addressIP 协议版本号首部长度 (bytes)余留步跳(每经过一个路由器都要减1)用于分段/重装数据报长度 (bytes)数据对应的上层协议是什么head.lentype ofservice数据“类型” flgsfragment offsetupper layer32 bit destination IP addressOptions (if any)E.g.

28、时间戳,记录路由标记,定义要访问的路由器校验和46IP路由选择 为分组选择一条从源主机到目的主机的最佳路径。可选路径不止一条路径可能要跨越多个网络 网络中实现路由选择功能的设备是路由器。对每一个接收到的分组,路由器必须确定从哪条路径将其转发出去。 路由器根据其内部保存的一张路由表转发分组。路由表中存放了到达其他网络的路由信息。目的网络地址 下一跳(路由器)地址(Next Hop)其他(各种标志、子网掩码、接口、)路由选择47路由表的基本内容202.168.0.0172.16.0.010.0.0.0R1R2R1的路由表.1.1.2.1目的网络目的网络下一跳路由器地址下一跳路由器地址172.16.

29、0.010.0.0.0202.168.0.2202.168.0.0直接(从s0)直接(从s1)default202.168.0.2s0s148如何根据路由表进行路由选择路由选择:根据路由表找到一条到达目的网络的路径(实际上是查找输出接口)。想一想:为何不是“找到一条到达目的主机的路径”?从两个方面考虑:如何减小路由表中的路径数量(在因特网的骨干链路中尤其重要)与目的主机的连接只有两种类型:点到点链路和广播型网络(LAN)有些情况下,路由表中也可设置到达目的主机的路由。路由选择的基本方法:取出收到的分组中的目的IP地址,并提取出目的网络地址目的网络地址;用目的网络地址在路由表中查找:若目的网络与

30、路由器直接相连,则“直接交付”;如果找到匹配的表项,则将分组发送到该表项指定的下一跳路由器;如果未找到,则搜索路由表中有无“default”的表项:如果有,就将将分组发送到该表项指定的下一跳路由器;如果没有,则发送一个“主机不可达”或“网络不可达”的出错信息给发出该分组的计算机。 目的网络目的网络下一跳路由器地址下一跳路由器地址172.16.0.010.0.0.0202.168.0.2202.168.0.0直接(从s0)直接(从s1)default202.168.0.249路由表的维护路由表如何建立?如何根据网络的变化进行更新?静态路由:由网络管理员设置并随时更新网络管理员的工作负担重,容易出

31、错,适应性差;简单、开销小,只适用于小型网络。动态路由:路由器运行过程中根据网络情况动态地维护减轻了网络管理员的工作负担重;实时性好,适应性好;能够满足大型网络的需要;因要搜集网络运行状态,网络开销有所增加,实现也比较复杂。因特网中的路由器采用的都是动态路由。 50动态路由的实现动态路由(建立、维护、更新)需要借助路由协议实现,路由协议有两大类:全局路由协议依据完整的网络全局拓扑信息计算到达各个网络的最佳路径。因为本协议需要了解每条网络链路的状态,故也称其为链路状态链路状态路由协议(路由协议(Link State Routing Protocol,L-S)。路由计算在所有路由器中完成,运行L-

32、S协议的每个路由器都要向所有路由器发送与自己相邻的路由器的链路状态信息,内容包括:路由器所连接的网络链路;该链路的状态:连通性、开销、速度、距离、时延等信息。通过互相通告链路状态,每个路由器最终都可以建立一个关于整个网络拓扑结构的数据库,再使用Dijkstra算法即可计算出到达各网络的最佳路径。 典型的链路状态路由协议是OSPF(Open Shortest Path First)。Dijkstra算法是一种计算连通图中的最短路径的方法。51局部路由协议通过一系列重复的、分布的方式来计算最佳路径。每个路由器开始只知道与其直接相连的链路的信息。通过与相邻路由器的通信和一系列反复的计算,路由器可以逐

33、渐获得到达某些网络的最佳路径信息。因为需要了解每条链路的距离,故也称其为距离矢量路由协议距离矢量路由协议(Distance Vector Routing Protocol,D-V)。距离矢量协议计算网络中链路的距离矢量,然后根据计算结果构造路由表。每一个路由器工作时会定期向相邻路由器发送消息,消息的内容就是自己的整个路由表,其中包括:目的网络的地址;到达目的网络的下一跳路由器地址;到达目的网络所经过的距离。运行距离矢量协议的路由器会根据相邻路由器发送过来的信息,更新自己的路由表。 典型的距离矢量路由协议是RIP(Routing Information Protocol)。 52IP路由协议具有

34、的共性动态地学习、计算到达网络中各子网的路由并插入到路由表中。如果到达一个子网有多条合法路由,那么将最好的一条放到路由表中。当路由表中的路由不再合法时,则通告给其他路由器,并从自己的路由表中删除该路由。尽快地加入新的路由,或者用更好的路由替代失效的路由。阻止循环路由。53IP路由协议的层次因特网被划分为许多自治系统(Autonomous System,AS),每个AS都是一个互联网络。AS的特点:它有权自主地决定在本系统内采用何种路由选择协议。一个AS内的所有网络都属于一个组织或机构管辖并在本AS内是连通的。根据路由协议是为AS内部的路由优化还是为AS之间的路由优化,因特网把路由协议分为两大类

35、:内部网关协议(IGP):如RIP、OSPF等;外部网关协议(EGP):如BGP(边界网关协议)。54AS、IGP和EGPAS1AS2AS3EGPEGPEGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGP55ARP协议和RARP协议ARP将一个已知的IP地址映射到MAC地址。想一想:为何要进行映射?(后面将给出答案)映射方法:已知:IP地址1)检查本地ARP高速缓存表,若找到IP地址对应的表项,则取出表项中的MAC地址;2)若IP地址不包含在表中,就向网上发广播来寻找。具有该IP地址的目的站用其MAC地址作为响应。ARP只能用于具有广播能力的网络。只能用于具有广

36、播能力的网络。56AC我需要我需要10.0.0.5的的MAC地址地址IP = 10.0.0.5 IP = 10.0.0.5 MAC = ?MAC = ? 我就是,这是我就是,这是我的我的MAC地址!地址!IP = 10.0.0.5IP = 10.0.0.5MAC = 08-00-00-20-2C-0AMAC = 08-00-00-20-2C-0AB10.0.0.110.0.0.510.0.0.2ARP操作的例子:A想知道10.0.0.5的MAC地址57为什么需要地址解析协议?或者说,为何要进行地址映射?Answer:在因特网中,数据分组传输使用的是IP地址(逻辑地址);而在局域网中,传输数据时

37、需要使用物理地址(MAC地址)。许多因特网的主机位于局域网中,当数据分组到达局域网时,需要把IP地址转换成MAC地址,然后把分组封装在局域网链路层的帧中,才能发送到该主机。588.4.5 ARP与IP的交互例子:由R对A到B的数据包进行路由的过程ARB在LAN1中,所有的主机都具有111.111.111.xxx的IP地址形式。LAN2中的所有主机都具有222.222.222.xxx的IP地址形式。假设主机111.111.111.111要发送一个数据报到主机222.222.222.222。发送主机的链路层协议必需指出该目的主机的MAC地址。那么发送主机会使用哪个MAC地址?是222.222.22

38、2.222的MAC地址49-BD-D2-C7-56-2A吗?目的MAC地址为49-BD-D2-C7-56-2A的帧能穿越路由器吗?59实际上,发送主机在发送分组之前,就已经知道目的主机不在本地LAN上(只要比较目的主机和发送主机的IP地址中的网络地址部分便可得知),所以必须将分组发送给路由器,由路由器进行转发。路由器的IP地址(Windows中称为缺省网关)在发送主机中已经预先设置(在本例中为111.111.111.110)。现在的问题是:发送主机如何得到路由器接口的MAC地址呢?当然是使用ARP协议!一旦发送主机获得了路由器接口的MAC地址,就可以生成一个数据帧,发送给路由器。LAN1上的路

39、由器接口收到了发给它的数据帧后,将封装在其中的分组提交给网络层。这样,分组就成功地从主机发送到了路由器上!60接下来,路由器还必须将分组发送到目的地。路由器首先需要选择适当的接口来转发,这项工作路由器可以通过查询路由表来完成。路由表告诉路由器:“需要通过222.222.222.220接口转发该分组”。于是,路由器把分组送到该接口。最后,接口将分组传送给其适配器,组成新的数据帧新的数据帧,并广播到LAN2中。这时,数据帧的目的MAC地址才是真正的最终目的主机的MAC地址。路由器又是如何知道最终目的主机的MAC地址呢?还是使用ARP协议!路由器通过数据报中的目的IP地址和ARP协议来得到目的主机的

40、MAC地址。61RARP协议:把MAC地址映射为IP地址用于无盘工作站环境无盘工作站没有磁盘,配置的IP地址无法保存。RARP的基本思想:网络中配置一台RARP服务器;RARP服务器中有一张MAC地址与IP地址的映射表;由网络管理员预先配置好地址映射过程:无盘工作站启动时,从硬件配置中读出MAC地址,并将其封装在RARP请求报文中,广播到网上;RARP服务器收到请求报文后,在映射表中检查有无对应表项。若找到,将对应的IP地址装入响应报文中发回给请求者。RARP也也只能用于具有广播能力的网络。只能用于具有广播能力的网络。62IP地址: 如何分配?主机的IP地址有两种分配策略:由网络管理员手工分配

41、(静态分配);动态分配:DHCP协议(Dynamic Host Configuration Protocol)网络中需设置一台DHCP服务器;网络管理员在DHCP服务器中预先定义一个IP地址池地址池。分配过程:需要申请IP地址的主机在网络中广播 “DHCP discover” 报文网络中的DHCP服务器用 “DHCP offer”报文响应主机发送IP地址请求:“DHCP request” 报文DHCP服务器从地址池中取出一个未分配的IP地址发送给请求者:“DHCP ack” 报文 63ICMP协议:Internet Control Message Protocol用于主机、路由器、网关之间交换

42、网络层信息报告错误: unreachable host, network, port, protocol进行request/reply 应答(ping命令)同处于网络层但“凌驾”于IP之上:ICMP报文需要封装到IP分组中进行传输ICMP报文(教材报文(教材p322): type和code两个字段的含义见右。Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest. host unreachable 3 2 dest. protocol unreachable 3 3 dest. por

43、t unreachable 3 6 dest. network unknown 3 7 dest. host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header64最常用的是最常用的是“目的地无法到达目的地无法到达”和和“回声回声”消息。消息。AB广域网广域网发数据给发数据给Z到到Z的数据的数据用用ICMP通知通知A”我不

44、知道如何我不知道如何到达到达Z?”目的端无法到达目的端无法到达路由器路由器R用用ICMP消息通知目的地消息通知目的地“不可达不可达”R65ABB可以到可以到达吗?达吗?ICMP回声请求回声请求 可以,可以,我在这里。我在这里。ICMP回声应答回声应答用用PING命令产生的回声请求及回声应答命令产生的回声请求及回声应答ping xxx.xxx.xxx.xxxping xxx.xxx.xxx.xxx66IPv6初始的动机: IPv4的32-bit地址空间预计在2008年将全部分配完毕。IPv6的地址多达2128(340万亿亿亿亿),地球上每平方米可分配0.668亿亿亿个IP地址。其他动机:改革首部

45、格式帮助加速处理和加速转发;改革首部,以实现 QoS;新型 “任意播-Anycast”地址的实现:实现在若干备份服务器中寻求“最佳”路由。IPv6 分组格式: 固定长度的40 byte首部;不支持分组的分割。可以使地球表面每粒沙子都有一个IP地址。67IPv6 首部Priority(Traffic class): 确定数据流中各分组的优先级。Flow Label: 标识不同“flow”中的分组,以便按各自的“需求” 进行处理。Next header: 后面的附加报头(如果有的话)的类型; 对于最后一个报头,则用来说明传送数据的上层协议是什么。 68其他不同于IPv4的修改Checksum:完全

46、取消,以减少每个步跳上的处理时间Options:允许使用, 但不再是首部的内容, 而是由 “Next Header” 字段说明ICMPv6:ICMP的新版本新增报文类型, e.g. “Packet Too Big”组播管理功能69从IPv4向IPv6迁移并不是所有的路由器都能够在同一时刻升级不能采用 “易帜日”的办法;但是网络如何能够在IPv4和IPv6路由器共存的情况下运行? 两种建议的途径:双栈(Dual Stack):某些具有双栈 (v6, v4)的路由器 可以将两种地址格式进行 “翻译-translate” 隧道(Tunneling):IPv6可以作为IPv4的载荷通过IPv4的路由器

47、,即把IPv6的分组封装在IPv4的分组中在IPv4网络中传输。70双栈(Dual Stack)方式双栈路由器71隧道(Tunneling)在必要时将IPv6封装到IPv4中72IPv6如何影响下一代互联网?如何影响下一代互联网? IPv6可以为任何你所能想象到的东西提供固定的IP地址IPv6不仅可以为每一台网络终端提供了固定的IP地址,而且提供了人与人、人与物乃至于物与物之间通信的可能。 移动通信行业将是IPv6最早和最大的受益方移动IPv6适用于数量庞大的移动终端,它提供了足够的地址空间可以为在公共互联网上运行的每个移动终端分配一个IPv6地址。在全球范围内解决了有关网络和访问技术之间的移

48、动性问题。IPv6在中国据报道,到2005年底,我国建成覆盖全国主要城市的IPv6网络,覆盖城市达20个,接入节点达300个。 IPv6地址的争夺战截止到2004年6月,全球已分配的606个IPv6地址块中,中国只占有11块,申请的地址数量仅占全球已申请数的1.8% ,且都为缺省的/32(“/32”相当于2128-32,即296个IPv6地址)。而美国、日本、德国、荷兰、英国5个国家所分配到的地址总数已占全球已申请数的一半,约为48%。738.5 因特网传输层协议提供运行在不同主机中进程间的逻辑通信;传输协议仅运行在端系统中;传输 vs. 网络层服务:网络层网络层: 在端系统间进行通信;传输层

49、传输层: 在进程间进行通信;传输层依赖于网络层的服务,反过来又加强了网络层的服务。applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicallogical end-end transport74传输层协议Internet的两类传输服务:可靠的

50、,按序点对点递交: TCP拥塞控制流量控制连接建立不可靠的(“尽力而为”), 无序的点对点或广播递交:UDP不能提供的服务:实时性带宽承诺可靠的广播通信 applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicallogical end-end

51、 transport75applicationtransportnetworkMP2applicationtransportnetwork复用/分用(Multiplexing/Demultiplexing)回顾:segment(段)- 传输层实体间交换数据的单位 receiverHtHn 将接收到的段提交给正确的应用层进程。segmentsegmentMapplicationtransportnetworkP1MMMP3P4segmentheaderapplication-layer data分用:分用:76复用/分用复用/分用:基于发送方、接收方的端口号和IP地址:源/目的端口号存在于每个段

52、中。 传输层从多个应用进程获取数据,然后对它们进行封装。源端口 #宿端口宿端口 #32 bits应用层数据 (报文)其他首部字段其他首部字段TCP/UDP 段格式复用:复用:77传输层端口号在TCP和UDP的段头中有两个端口号源端口号(source port-number)宿端口号(destination port-number)TCP使用端口号来标识执行发送和接收的应用进程,端口号可以帮助TCP来分离字节流并且把相应字节传递给正确的应用程序。根据IP地址和端口号就可以唯一地确定信宿主机中某个特定进程。端口号可以是半永久的和临时的:服务器端在一个半永久性的端口上来监听客户端的访问请求。客户端使

53、用临时端口在本地标识一个对话。客户端的端口只在使用TCP服务时候才存在,而服务器端口只要服务器进程在运行就一直存在。 78端口号是一个16比特的二进制数,其取值范围从065535。网络上的计算机中运行的任何网络应用程序都有一个或多个端口号与之对应。端口号分为三类:从01023的端口号被称为众所周知的端口号众所周知的端口号(well-known numbers)并被限制使用这些端口号已分配给标准的网络应用:如HTTP、FTP、SMTP等。众所周知的端口号的详细说明见 RFC 1700;或访问http:/www.iana.org/assignments/port-numbers。从10244915

54、1的端口号称为注册端口号注册端口号,用来标识那些已经向IANA注册的应用。 从4915265535的端口号称为私有端口号私有端口号,是非注册的,并且可以动态地分配给任何应用进程。 79一些常见的“众所周知的”端口号FTPSMTPTFTPDNSTelnetSNMP2123255369161TCP/UDP应用层应用层传输层传输层20HTTP80网络层网络层IP80端口使用举例主机 A服务器 Bsource port: xdest. port: 23source port:23dest. port: x端口的使用端口的使用: 简单的简单的 telnet 应用应用Web客户端主机 AWeb服务器 BW

55、eb客户端主机 CSource IP: CDest. IP: Bsource port: ydest. port: 80Source IP: CDest. IP: Bsource port: xdest. port: 80端口的使用端口的使用: Web 服务器服务器Source IP: ADest IP: Bsource port: xdest. port: 80.主页1主页281UDP:用户数据报协议 RFC 768“最简约的” Internet 传输协议提供“尽力而为的” 服务,UDP数据段允许:丢失应用数据不按序到达无连接:无连接:在UDP收发双方之间无需握手信号;每个UDP数据段的操作

56、都互相独立。为什么需要 UDP?无需建立连接(连接过程会增加延迟)简单:在收发双方之间没有连接状态段首部较短无拥塞控制:UDP 可按需要随时发送82UDP:(续) 经常在流媒体中使用对传输速率敏感对传输可靠性不敏感允许数据丢失UDP的其他用途:DNSSNMP若需要通过UDP进行可靠传输,需要在应用层增加可靠性措施在应用程序中程序员必须考虑出错恢复机制!UDP 数据报格式源端口 #宿端口 #32 bits应用层数据 (报文)lengthchecksumUDP段的段的字节数字节数,包括首部包括首部83TCP协议 RFCs: 793, 1122, 1323, 2018, 2581点对点点对点一个发送

57、方,一个接收方 可靠,按序的字节流可靠,按序的字节流无“报文边界”,无结构,但有顺序流量控制流量控制采用接收窗口机制,通过设置窗口大小控制流量发送发送&接收缓存接收缓存84全双工数据传输全双工数据传输在同一连接上双向传输MSS:maximum segment size最大段字节数1500,536,512面向连接面向连接握手过程 (交换控制信息) :在交换数据前初始化收发双方的状态。采用“三次握手”过程建立连接。85TCP 段格式source port #dest port #32 bits应用数据 (可变长度)sequence numberacknowledgement numberrcvr

58、window sizeptr urgent datachecksumFSRPAUheadlennotusedOptions (可变长度)URG: urgent data (一般不用)ACK: ACK# validPSH: push data now(一般不用)RST, SYN, FIN:connection estab(setup, teardowncommands)接收方一次能够接收的字节数按发送数据的字节计算(不是按段数!)Internetchecksum(as in UDP)86TCP Seq.# 和 ACK#Seq.#:该数据段第一个字节在(整个报文)字节流中 “顺序编号” ACK#:

59、期望对方发来的“下一个”字节的编号有多少字节已被确认Q: 接收方如何接受失序的数据段?A: TCP 没有定义 - 由程序设计者决定Host AHost BSeq=42, ACK=79, data = CSeq=43, ACK=80UsertypesChost ACKsreceipt of echoedChost ACKsreceipt ofC, echoesback CSeq=79, ACK=43, data = Ctime简单的 telnet 场景87TCP连接的建立:三次握手例如:例如:A、B两个主机要建立连接(两个主机要建立连接(由由A发起)发起)AB方向方向消息消息含义含义ABABAB

60、SYNSYNACKACK我的初始序号是我的初始序号是X序号用于跟踪通信顺序,确保多个包传输时无数据丢失。序号用于跟踪通信顺序,确保多个包传输时无数据丢失。通信双方建立连接时必须互相交换各自的初始序号。通信双方建立连接时必须互相交换各自的初始序号。知道了,你的序号是知道了,你的序号是X我的初始序号是我的初始序号是Y知道了,你的序号是知道了,你的序号是Y握手握手123合合并并1.2.3.4.88TCP通过三次握手来建立连接AB发送发送SYN消息消息(SEQ=x)收到收到SYN消息消息(SEQ=x)发送发送SYN消息消息(SEQ=y, ACK=x+1)收到收到SYN消息消息(SEQ=y, ACK=x

61、+1)发送确认发送确认(ACK=y+1)收到确认收到确认(ACK=y+1)双方连接建立双方连接建立89AB发送发送FIN消息消息(SEQ=x)接收接收FIN消息消息(SEQ=x)TCP发送确认发送确认(ACK=x+1)接收接收ACK消息消息(ACK=x+1)AB的连接断开的连接断开(半关闭半关闭) 但但A仍可接收数据仍可接收数据TCP发送确认发送确认(ACK=y+1)接收确认接收确认(ACK=y+1)BA的连接断开的连接断开TCP通过四次握手来释放连接应用进程应用进程释放连接释放连接通知应通知应用进用进程程应用进程释应用进程释放连接放连接发送发送FIN消息消息 (SEQ=y, ACK=x+1)

62、接收接收FIN消息消息(SEQ=y)90TCP 流量控制接收端: 显式地向发送端通告自己的接收缓存的大小 (动态变化)RcvWindow (见见TCP段格式)发送端: 需要保存已经发送的,但未被确认的数据。发送端不可发送太多、太快以至于使接收端的缓存出现溢出。流量控制接收端缓存接收端缓存RcvBuffer = 接收端的TCP缓存大小RcvWindow = 缓存中空闲的部分91*TCP传输的往返时间(RTT)和超时TCP每发送一个报文段,就重置一次计时器。计时器设置的重传时间已到但还未收到确认,就必须重传这一报文段。TCP采用了一种自适应算法:记录每个报文段发出的时间以及对应的确认报文段收到的时

63、间,二者之差就是报文段的往返时延称为SampleRTT92Q: 如何设置TCP 超时的值?A: 应比RTT长一点注意:RTT会变哟!太短:很多报文段重传时间太早,给网络造成许多不必要的负荷。太长:对数据段丢失的反应太慢,效率降低。Q: 如何估算RTT?SampleRTT:对从开始发送报文段到收到ACK响应所经过的时间进行测量:忽略重传、积欠 ACKed 数据段。SampleRTT是会变化的,要设法使估算的RTT “更平滑”使用若干新近的测量结果, 而不仅仅是最近一次的 SampleRTT。93EstimatedRTT = (1-x)*EstimatedRTT + x*SampleRTT指数加权

64、移动平均(EWMA)给定样本的影响随指数形式快速递减X的典型量值:0.125(1/8)设置超时值EstimtedRTT 加上“安全边际(safety margin)”,如果EstimatedRTT变化较大变化较大加大安全边际。Timeout = EstimatedRTT + 4*DeviationDeviation(偏差偏差) = (1-x)*Deviation + x*|SampleRTT-EstimatedRTT|94*TCP 拥塞控制两个 “阶段”slow start(慢启动)congestion avoidance(拥塞避免) 重要变量:CongwinThreshold:定义两个慢启动

65、之间,拥塞控制阶段的门限值“刺探” 可用带宽: 理想情况:全速传输 (Congwin越大越好) 没有数据丢失增加Congwin直到出现数据丢失 (拥塞)数据丢失时:减小 Congwin ,然后重新开始进行“刺探”95TCP Slowstart(慢启动)窗口尺寸按指数递增 (每隔RTT) (不算太慢!)丢失事件:超时或出现三次重复的ACKsinitialize: Congwin = 1for (each segment ACKed) Congwin+until (loss event OR CongWin threshold)Slowstart 算法Host Aone segmentRTTHos

66、t Btimetwo segmentsfour segments96TCP 拥塞避免/* slowstart is over */ /* Congwin threshold */Until (loss event) every w segments ACKed: Congwin+ threshold = Congwin/2Congwin = 1perform slowstart拥塞避免11: 在出现三次重复的ACK后,TCP Reno将跳过slowstart (快速恢复)在此阶段,Congwin以线性方式增长,发生超时,门限值减半97小 结网络互联的基本概念、体系结构和接入网络互联的基本概念、体系结构和接入因特网的链路层与网络层因特网的链路层与网络层点对点协议网络层与IP协议IP路由ARP协议和RARP协议ARP与IP的交互IP地址的分配(DHCP)ICMP协议因特网的传输层因特网的传输层传输层的多任务处理与端口无连接的传输:UDP协议面向连接的传输:TCP协议

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号