Design and Implementation of Routing Protocols for IPv6 Global Anycast Communications
- 格式:pdf
- 大小:1.22 MB
- 文档页数:16
多核处理器核间的通信研究与实现摘要:针对多核处理器的特点提出一种新型的异构多核DSP处理器结构。
主处理器为通用处理器,作为控制密集型处理器核用于系统管理和控制;8个DSP作为计算密集型处理器核,用于大信息量融合计算。
详细设计8个DSP 之间的NoC互连结构。
首先采用2×4 2D Turos结构进行单个路由节点结构的设计,包括数据包格式、路由和仲裁设计;其次对路由节点进行编码、路由算法设计和确定节点路由方向。
该结构具有总线局部通信带宽高的优点,采用NoC 的易扩展性和NoC在各DSP之间通信的并行性使系统规模易于扩展并满足大批量数据传输要求。
最后通过仿真实验,验证了该设计的有效性,为后续多核处理器的设计与实现打下坚实的技术基础。
关键词:多核处理器;片上网络;拓扑结构;数据传输中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X (2016)16?0083?05Abstract: Aiming at the characteristics of multi?core processor, a new heterogeneous structure of multi?core DSP is put forward. The main processor is a common processor used for system management and control to control the intensive processor cores. Eight DSPs as the computation intensive processor cores are used to fuse and calculate the large amount of information. The structure of NoC interconnection among 8 DSPs was designed detailedly. The 2×4 2D Turos structure is used to design the single routing node structure, including data packet format design, routing design and arbitration design. And then the items of routing nodes coding, routing algorithm design and node routing direction determining were performed. This structure has the advantage of high bus local communication bandwidth. The extensibility of NoC and parallelism of NoC communication among DSPs are used to extend the system scale easily and satisfy the requirement of massive data transmission. The validity of the design was verified with simulation experiment, and it lays a solid technical foundation for follow?up design and implementation of multi?core processors.Keywords: multi?core processor; Network on Chip; topology structure;data transmission0 引言多核处理器是在一个芯片上集成多个处理器核,通过多核并行执行的方式来提高性能,对计算机体系结构的发展有着深远的影响[1?2]。
ROUTOSIntroduction:ROUTOS is a state-of-the-art routing operating system designed to manage network traffic efficiently. It provides intelligent algorithms and advanced routing protocols to optimize routing decisions and ensure seamless connectivity in complex network infrastructures. This document will provide a detailed overview of ROUTOS, its features, benefits, and implementation.Features of ROUTOS:1. Advanced Routing Algorithms:ROUTOS incorporates advanced routing algorithms that analyze network topology, traffic patterns, and other relevant factors to determine the optimal path for data packets. These algorithms dynamically adapt to changing network conditions, ensuring minimum latency and maximum throughput.2. Dynamic Path Selection:ROUTOS continuously monitors network conditions and dynamically selects the best path for transmitting data. Ittakes into account factors such as link quality, congestion levels, and shortest path to deliver the packets efficiently.3. Traffic Engineering:ROUTOS enables traffic engineering by allocating network resources intelligently. It provides mechanisms to prioritize traffic based on predefined policies, ensuring that critical applications receive the necessary bandwidth while optimizing resource utilization.4. Multi-Protocol Support:ROUTOS supports a wide range of routing protocols, including OSPF (Open Shortest Path First), BGP (Border Gateway Protocol), IS-IS (Intermediate System to Intermediate System), and RIP (Routing Information Protocol). This versatility allows seamless integration with diverse network infrastructures.5. Fault Recovery and Redundancy:ROUTOS is designed to minimize network downtime by offering fault recovery mechanisms and redundancy options. It detects and reacts to link failures, rerouting traffic through alternate paths to ensure continuous connectivity.6. Traffic Monitoring and Analysis:ROUTOS provides comprehensive traffic monitoring and analysis tools to gain insights into network performance and troubleshoot potential issues. It offers real-time statistics, flow analysis, and detailed reports for effective network management.Benefits of ROUTOS:1. Improved Network Performance:The advanced routing algorithms and traffic engineering capabilities of ROUTOS optimize network performance by ensuring efficient data transmission and resource allocation. This results in reduced latency, increased throughput, and improved overall network quality.2. Enhanced Scalability and Flexibility:ROUTOS can handle large-scale networks with ease due to its scalable architecture and support for various routing protocols. It can adapt to evolving network requirements, making it suitable for both small and enterprise-level networks.3. Increased Reliability:ROUTOS enhances network reliability by providing fault recovery mechanisms and redundancy options. It minimizes network downtime and ensures uninterrupted connectivity, critical for mission-critical applications and services.4. Simplified Network Management:ROUTOS simplifies network management by offering comprehensive monitoring and analysis tools. Administrators can gain insights into network performance, troubleshoot issues efficiently, and make data-driven decisions for network optimization.Implementation of ROUTOS:1. Hardware Requirements:The implementation of ROUTOS requires network devices capable of running the operating system efficiently. These devices should meet the minimum hardware specifications provided by the manufacturer.2. Installation and Configuration:ROUTOS installation involves loading the operating system onto compatible network devices and configuring the necessary settings. This process includes defining networktopology, enabling routing protocols, and setting up policies for traffic engineering.3. Integration with Existing Infrastructure:ROUTOS can seamlessly integrate with existing network infrastructure, including routers, switches, and other network devices. It can interoperate with different routing protocols, allowing organizations to leverage their existing network investments.4. Training and Support:Organizations implementing ROUTOS may require training for network administrators to understand and effectively manage the operating system. Training programs and technical support are available from the ROUTOS manufacturer to ensure a smooth implementation process.Conclusion:ROUTOS is a powerful routing operating system that offers advanced routing algorithms, dynamic path selection, traffic engineering capabilities, and fault recovery mechanisms. Its features and benefits contribute to improved network performance, enhanced scalability, increased reliability, and simplified network management. By implementing ROUTOS,organizations can optimize their network infrastructure, ensure seamless connectivity, and efficiently manage network traffic.。
一、判断对错1. The software system is the physical equipment that you can see and touch.2. Typically, a data value is set to zero to represent FALSE and 1 value for TRUE.3. In the earliest general-purpose computer, most input and output media were magnetic disks.4. Supercomputers are largest, fastest, and most expensive computer available.5. A computer system consists of hardware system and software system.1. The data bus always receives data from the CPU, and the CPU never reads the data bus.2. Main memory holds whatever programs and data are available for immediate use by theCPU.3. Dynamic RAM does not have to be refreshed.4.Dot-matrix printer work by squirting tiny droplets of liquid ink at the paper.5. The auxiliary memory is very small, relatively expensive, and has very high access speed.1. Shift registers operate in serial fashion all the bits of the word at a time.2. RISC processors have larger instruction sets that often include some particularly complexinstructions.3. SIMD represents an organization that includes many processing units under the supervisionof a common control unit.4. Parallel processing is established by distributing the data among the multiple functional units.5. RISC is a complex instruction set computer.1. A number of different algorithms can exist for solving a computational problem, and each ofthese algorithms could have a same running time complexity.2. The divide-and-conquer algorithm is a bottom-up technique that usually begins by solvingthe smallest subproblems, the dynamic programming solves problems in a top-down fashion.3. An important property of arrays is that their size and shape are constant.4. If all of the elements stored in a list are of the same type, then the list is said to beheterogeneous. However, if different types of elements are stored in the list, then the list is said to be homogeneous.5. A queue is a dynamic set that obeys the LIFO property.1. The computer hardware recognizes only assembly language instruction.2. A program written in the assembly language of one microprocessor can run on a computerthat has a different microprocessor.3. Assembly languages are platform-independent, but high-level languages are notplatform-independent.4. The 4GLs are also called nonprocedural languages.5. Each assembly language instruction corresponds to one unique machine code instruction.二、完形填空Unit 1This chapter introduces digital computer, data types, the evolution of computers, and types of computers. 1 is known to all, it’s hard to find a field in 2 computers are not being used. Digital computer, also called electronic computer or computer, is a digital system that 3 various computational tasks. Digital computers use the 4 number system, which has two digits: 0 and 1.By using various coding 5 , groups of bits can be made to represent not only binary numbers 6 other discrete symbols, such as decimal digits or letters of the alphabet. A computer system consists of hardware system and software system. Programs tell the hardware what to do. 7 software is designed to accomplish real-world tasks in fields such as accounting, entertainment, and engineering. Computers are usually 8 into four broad categories: microcomputers, minicomputers, mainframe computers, and supercomputers. It’s hard to give a 9 definition to each type because computer speeds and storage 10 change rapidly.1. A. As B. It C. As it D. That2. A. what B. which C. where D. when3. A. performs B. carries C. makes D. integrates4. A. decimal B. binary C. Arabian D. American5. A. technique B. technologyC. techniquesD. technologies6. A. instead of B. rather thanC. but alsoD. as well7. A. Application B. System C. Word D. Excel8. A. put B. made C. conducted D. classified9. A. precious B. progress C. proceeding D. precise10. A. capacities B. capable C. capabilities D. capacity1.A2. B3. A4. B5. C6. C7. A8. D9. D 10.AUnit 2A computer system 1 of hardware system and software system. The hardware of the computer is usually divided into three major parts or three 2 subsystems: the CPU, the memory subsystem, and the I/O 3 . The CPU is made up of three major parts, Register Set, the 4 logic unit, or ALU, and Control Unit. It performs many operations and controls computer. Memory is also known as 5 memory or main memory, which is cataloged into two major types of memory: Random Access Memory (RAM) and Read Only Memory (ROM).It refers to the 6 in the computer that hold whatever programs and data are available 7 immediate use by the CPU, along with the program’s data. Computer systems include special hardware 8 between the CPU and peripherals to supervise and synchronize allinput and output transfers. These components are called 9 units because they interface between the processor bus and the peripheral device. The I/O subsystem allows the CPU to 10 with input and output devices.1. A. consists B. makes upC. constitutesD. comprise2. A. premier B. primaryC. preliminaryD. elementary3. A. system B. machine C. subsystem D. device4. A. mathematic B. authorativeC. arithmeticD. authoritative5. A.external B.exterior C. Interior D. internal6. A. circuits B. wires C. lines D. hardware7. A.by B. for C. with D. in8. A.software B. setting C. listing D. components9. A. singular B.dual C. interface D. compact10. A.handle B. interact C. respond D. link1. A2. B3. C4. C5. D6. A7. B8. D9. C 10. BUnit 3In computer engineering, computer architecture is the ___1___ design and fundamental operational structure of a computer system. It is a ___2___ and functional description of requirements, especially speeds and interconnections, and design implementations for the various parts of a computer —___3___ largely on the way by which the central processing unit (CPU) performs internally and accesses addresses in memory. Computer system architecture ___4___ the design of the four ___5___: parallel processing, pipelining, vector processing and RISC. Parallel processing system is used to provide simultaneous data-processing tasks for the purpose of increasing the ___6__ speed of a computer systemand is able to perform ___7___ data processing to achieve faster execution time. A pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often ___8___ in parallel or in time-sliced fashion. A vector processor, is a CPU design that is able to run mathematical operations on multiple data elements simultaneously. Computers with vector processing capabilities are in demand in 9___ applications. RISC processors have fewer and __10___ instructions than CISC processors. As a result, their control units are less complex and easier to design.1. A. lastest B. conceptual C. ideal D. simple2. A. plan B. design C. blueprint D. concept3. A. relying B. depending C. attaching D. focusing4. A. refers B. speaks C. involves D. interacts5. A. ingredients B. types C. kinds D. lists6. A. computational B. computerC. computationD. computing7. A. current B. compoundC. concurrentD. massive8. A. displayed B. carriedC. accomplishedD. executed9. A. special B. specialized C. specific D. especial10. A. simple B. simplifying C. singular D. simpler1. B2. C3. D4. C5. A6. A7. C8. D9. B 10.D Unit 4Algorithms are essential to the way computers process information, because a computer program is 1 an algorithm that tells the computer what specific 2 to perform in certain order in order to carry out a speci fied task, such as calculating employees’ paychecks or printing students’ report cards. Thus, an algorithm can be considered to be 3 sequence of operations that can be performed by a turning-complete system. In fact, a data structure is a way of 4 data in a computer so that it can be used efficiently. Often a carefully 5 data structure will allow the 6 efficient algorithm to be used. The choice of the data structure often begins from the choice of an 7 data type.A well-designed data structure allows a variety of critical operations to be performed, using as few resources, both execution time and memory space, as possible. Data structures are implemented by a 8 language as data types and the references and operations they provide. Moreover, different kinds of data structures are 9 to different kinds of applications, and some are highly specialized to certain tasks. For example, B-trees are particularly well-suited for implementation of databases, 10 networks of machines rely on routing tables to function.1. A. essentially B. essential C. partially D. mainly2. A. methods B. steps C. plans D. exercises3. A. some B. a C. the D. any4. A. receiving B. storing C. input D. output5. A. chosen B. madeC. programmedD. picked6. A. very B. most C. more D. less7. A. abstract B.concrete C. special D. certain8. A. basic B. runningC. programmingD. advanced9. A. comforted B. suited C. compared D. hooked10. A. therefore B. with C. when D. while1. A2. B3. D4. B5. A6. B7. A8. C9. B 10. DUnit 5A total computer system includes both hardware system and software system. Hardware consists of the 1 components and all associated equipment. Software refers to the programs that are 2 for the computer. It is possible to be familiar with various3 of computer software without being concerned with details of how the computer hardware operates.A programming language is a language used to write computer programs, which involve a computer 4 some kind of computation or algorithm and possibly control over 5 devices such as printers, robots, and so on. Programming languages differ from 6 languages in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate 7 to machines. Some programming languages are used by one device 8 control another. A prominent 9 of programming languages is to provide instructions to a computer. Thousands of different programming languages have been 10 , and new languages are created every year.1. A. mental B. possible C.essential D. physical2. A. design B. spoken C. writtenD. made3. A. parts B. kinds C.types D. aspects4. A.performed B. to performC. performingD. performs5. A.intenal B. external C. inside D. outside6. A. natural B. Human C. computer D. artificial7. A.orders B. instructions C. codes D. calls8. A. to B. for C. with D. over9. A. show B. research C. purpose D. study10. A. creatingB. created C. to create D. creation1. D2. C3. D4. C5. B6. A7. B8. A9. C 10. B三、汉译英1.coding techniques 编码技术2. application software 应用软件3. floating point data 浮点数据4.timesharing分时,分时技术5. storage capacities 存储容量1. system buses 系统总线2. virtual memory 虚拟存储器3. computer architecture 计算机体系结构4. instruction set 指令集5. direct memory access 直接存储器存取1.parallel processing 并行处理2. pipeline processing流水线处理3. vector processing 向量处理4. scalar processor标量处理器5. backward compatibility 向下兼容1. parallel algorithm并行算法2. exhaustive search穷举搜索3. dynamic programming 动态规划4. doubly-linked list 双向链表5. two-dimensional array 二维数组1. derived class派生类2. Inheritance 继承3. markup languages 标记语言4. Hyperlinks 超链接5. Java virtual machine Java虚拟机四、翻译句子1. By using various coding techniques, groups of bits can be made to represent not only binary numbers but also other discrete symbols.2. System software includes not only the complex programs used by technicians to create application software in the first place but also the organizational programs needed to start up the computer and govern its use of other programs.3. Data are numbers and other binary-code information that are operated on to achieve required computational results.4. Rather than arithmetically or logically manipulating characters, a computer may concatenate strings of characters, replace some characters with others, or otherwise manipulate character strings.5. Software applications like word processing, electronic spreadsheets, database management programs, painting and drawing programs, desktop publishing, and so forth became commercially available, giving more people reasons to use a computer.1. By asserting these internal and external control signals in the proper sequence, the control unit causes the CPU and the rest of the computer to perform the operation needed to correctly process instructions.2. In a computer with virtual memory, less-used parts of programs are shifted from RAM to a hard disk and are moved back only when needed.3. A technique used to compensate for the mismatch in operating speeds is to employ an extremely fast, small cache between the CPU and main memory whose access time is close to processor logic clock cycle time.4. The data transfer rate of peripherals is usually slower than the transfer rate of the CPU, and consequently, a synchronization mechanism may be needed.5. In some computers the interrupt vector is an address that points to a location in memory where the beginning address of the I/O service routine is stored.1. The purpose of parallel processing is to speed up the computer processing capability and increase its throughput, that is, the amount of processing that can be accomplished during a given interval of time.2. It is characteristic of pipelines that several computations can be in process in distinct segments at the same time.3. To achieve the required level of high performance it is necessary to utilize the fastest and most reliable hardware and apply innovative procedures from vector and parallel processing techniques.4. In general, the greater the number of instructions in an instruction set, the larger the propagation delay is within the CPU.5. Although CISC processors are more complex, this complexity does not necessarily increase development costs.1. In short, communication problems arise when the language used for an algorithm's representation is not precisely defined or when information is not given in adequate detail.2. Another common algorithmic structure involves that the need to continue executing a statement or sequence of statements as long as some condition remains true.3. In many algorithms, running time will vary not only for inputs of different sizes, but also for different inputs of the same size.4. Thus, dynamic programming is a bottom-up technique that usually begins by solving the smallest subproblems, saving these results, and then reusing them to solve larger and larger subproblems until the solution to the original problem is obtained.5. The conversion from this conceptual one-dimensional array organization to the actual arrangement within the machine’s memory is straight forward and the data can be stored in a seguence of 24 memory cells with consecutive address in the same order envisioned by the programma.1. Documentation is needed for everyone who will be involved with the program——users, operators, and programmers.2. Rather, programs written in a high-level language or assembly language are converted to machine language, which is then executed by the computer.3. The corresponding programs set forth precise procedures, or series of instructions, and the programmer has to follow a proper order of actions to solve a problem.4. 4GLs may not entirely replace third-generation languages because they are usually focused on specific tasks and hence offer fewer options.5. Inheritance is the means by which objects of a class can access member variables and functions contained in a previously defined class, without having to restate those defi nitions.。
第37卷第10期 计算机应用与软件Vol 37No.102020年10月 ComputerApplicationsandSoftwareOct.2020机场智能驱鸟系统中的路由节点设计与实现陈裕通1 刘志刚1 陈裕芹1 刘玉芬21(广州民航职业技术学院 广东广州510403)2(华南理工大学广州学院 广东广州510800)收稿日期:2019-06-10。
广东省重点科研项目(2018GKTSCX025);广东省普通高校青年创新人才类项目(2018GkQNCX080)。
陈裕通,讲师,主研领域:无线通信技术。
刘志刚,副教授。
陈裕芹,副教授。
刘玉芬,高工。
摘 要 由于鸟类飞行路线的不确定性导致鸟击事件的时常发生,航空安全受到严重威胁,因此必须采取有效措施防止此类事件的发生。
结合现有驱鸟设备与机场地理环境的特性,提出基于物联网技术构建机场智能驱鸟系统的方案。
利用若干星型拓扑构建网状拓扑的设计解决ZigBee网络传输距离的问题,尤其对网络拓扑中起关键性作用的路由节点进行软硬件的设计,实现在机场区域内布设ZigBee网络的目的。
实验验证了所设计的路由节点的有效性,提高了原有机场驱鸟设备的驱鸟效果。
关键词 鸟击 驱鸟设备 物联网 路由节点中图分类号 TP319 文献标志码 A DOI:10.3969/j.issn.1000 386x.2020.10.018DESIGNANDIMPLEMENTATIONOFROUTINGNODEINAIRPORTINTELLIGENTBIRD REPELLINGSYSTEMChenYutong1 LiuZhigang1 ChenYuqin1 LiuYufen21(GuangzhouCivilAviationCollege,Guangzhou510403,Guangdong,China)2(GuangzhouCollegeofSouthChinaUniversityofTechnology,Guangzhou510800,Guangdong,China)Abstract Becauseoftheuncertaintyofbirdflightroutes,birdstrikesoftenoccurandaviationsafetyisseriouslythreatened.Therefore,effectivemeasuresmustbetakentopreventsuchincidents.Basedonthecharacteristicsofexistingbird repellingequipmentandairportgeographicenvironment,thispaperproposesaschemeofbuildingairportintelligentbird repellingsystembasedonInternetofThings.ItsolvedtheproblemoftransmissiondistanceofZigBeenetworkbyusingthedesignofseveralstartopologiestoconstructnetworktopology,especiallythedesignofhardwareandsoftwareofroutingnodeswhichplayedakeyroleinnetworktopology,andrealizedthepurposeofZigBeenetworkinairportarea.Theexperimentsverifytheeffectivenessoftheproposedroutingnode,whichimprovesthebird repellingeffectoftheoriginalairportbirdrepellingequipment.Keywords Birdstrike Birdrepellingequipment InternetofThings Routingnode0 引 言鸟类的飞行路线是难以预测的,而人类的飞行却是有规划的,因此当两者同时在有限空间里飞行时就必然会发生相撞的事故,也就是鸟击又名鸟撞。
asic设计及验证流程Asic design and verification process is a crucial step in ensuring the functionality and quality of integrated circuits. This process involves the creation of custom hardware to perform specific functions, such as in microprocessors or memory chips. Asic design begins with defining the requirements and specifications of the chip, which includes determining the desired functionality, performance, and power consumption. This initial stage is critical in setting the foundation for the rest of the design process, as any errors or oversights here can lead to costly delays and rework later on.Asic设计和验证流程是确保集成电路功能和质量的关键步骤。
该过程涉及创建定制硬件以执行特定功能,例如微处理器或存储器芯片。
Asic设计始于定义芯片的需求和规格,包括确定所需的功能、性能和功耗。
这个初始阶段对于后续设计过程至关重要,因为这里的任何错误或疏忽都可能导致昂贵的延迟和重新工作。
Once the requirements and specifications are established, the next step in the asic design process is architectural design. This phase involves creating a high-level design of the chip, including blockdiagrams and key components. Architectural design is crucial for determining the overall structure and organization of the chip, as well as defining the interfaces between different modules. This stage also includes making decisions on technology choices, such as the use of specific components or design methodologies.一旦建立了需求和规格,Asic设计流程的下一步是架构设计。
1 VLSI设计得层次以及每一层主要关注得对象,未来VLSI Design Flow and Abstraction; Future、Major levels of abstractionSpecification,技术规范设计用户提出对芯片用途、运行速度等得说明,规范多数就是不完全得,只就是一组要求Behavior,行为级设计行为描述比规范说明详细,规范通常用文字描述,而行为通常用可执行程序建模来描述Register-transfer,寄存器传输级设计系统得时间行为就是完全确定得,一直每个时钟周期内得输入信号与输出信号而逻辑信号并不就是以逻辑门形式给出得,系统功能由存储在抽象存储单元中得布尔函数来定义,从不而落就函数中仅仅能得到粗略得延时与面积估计Logic逻辑设计根据逻辑门、锁存器与触发器得布尔逻辑特性进行系统设计,尽管已知系统结构,但还就是不能计算完全得精确延时Circuit电路设计由晶体管实现电路系统Layout版图设计及早前得最后一级设计,由版图提取出寄生电阻与电容,然后加到所描述得电路中,从而进行更精确得仿真。
FutureVLSI technology is going to 14nm, and will scale down to the limit of molecule or atom level (Stability?)–Power: Important for portable device to decrease leakage current、–Interconnect: When VLSI technology scale down, the delay of interconnect is more and more important, because the RC of interconnect is almost no changed (the switch time of transistor is decreased)–3D transistor and 3D IC–Wafer level package–Design complexity: Integrated with biologic and optic device, and MEMS, and co-design with software, the ICs will be more intelligent --How to reuse?C-nanotube, successors?在碳纳米管得内部可以填充金属、氧化物等物质,这样碳纳米管可以作为模具,首先用金属等物质灌满碳纳米管,再把碳层腐蚀掉,就可以制备出最细得纳米尺度得导线,或者全新得一维材料,在未来得分子电子学器件或纳米电子学器件中得到应用。
TECHNOLOGICAL INNOVATION 接地电阻在线测试及远程监测系统的设计与实现张永超(中铁建电气化局集团南方工程有限公司,武汉 430074)摘要:针对既有建筑物防雷接地电阻的测试技术手段,只支持人工测试、一次只能测试一路接地电阻等缺陷,开发一套接地电阻在线测试及远程监测系统,有效的解决了原技术手段只能人工测试及单路测试等问题,实现接地电阻的实时在线测试、自动选路测试及远程测试等功能,并把测试结果实时上送到服务端,对不符合标准的接地点,及时给出预警、报警通知,有效的减轻了管理人员的工作强度,并提高工作效率。
关键词:防雷;接地电阻;在线测试;自动测试;远程监测中图分类号:TM54 文献标志码:A 文章编号:1673-4440(2020)07-0051-04Design and Implementation of Online Testing and Remote MonitoringSystem for Grounding ResistanceZhang Yongchao(China Railway Construction Electritication Bureau Group South Engineering Co., Ltd., Wuuhan 430074, China)Abstract: Considering the defects of the existing testing technology of building lightning protection grounding resistance, such as only supporting manual test and only testing one grounding resistance at a time, a set of grounding resistance online test and remote monitoring system has been developed, which effectively solves the original technology problems. The system realizes the functions of real-time online test, automatic circuit selection test and remote test of grounding resistance, the test results are sent to the server in real time, and the pre-alarm and alarm notices of the non-conforming grounding points are given out in time, which effectively reduces the work intensity of management personnel and improves the work effi ciency.Keywords: lightning protection; grounding resistance; online test; automatic routing test; remote monitoringDOI: 10.3969/j.issn.1673-4440.2020.07.011铁路建筑、高层建筑的防雷设施,接地电阻是反映建筑物防止直击雷、侧击雷和感应雷的重要指标,接地不良会直接导致建筑物受到雷击损坏。
sFlow V ersion 5AbstractThis memo defines 's sFlow system. sFlow is a technology formonitoring traffic in data networks containing switches and routers. In particular, it defines the traffic sampling mechanisms implemented in sFlow Agents, the sFlow MIB for configuring sFlow Agents, and the format of the sFlow Datagram that carries traffic measurement data from sFlow Agents to an sFlow Collector.这备忘录规定's sFlow系统.sFlow是一因为监视含有交换和路由器得数据网络的通讯流量得技术.特别是,它定义在sFlow代理身上执行流量取样机械设备,为配置sFlow代理器sFlow MIB和sFlow Datagram的格式,其一个sFlow搜集器的sFlow代理器带着从流量度量数据的.Table of Contents1. Overview (2)2. Terminology and Architecture (2)2.1 Terminology (2)2.2 sFlow Reference Model (4)3. Sampling Mechanisms (6)3.1 Packet Flow Sampling (6)3.2 Counter Sampling (7)4. sFlow MIB (8)4.1 The SNMP Management Framework (8)4.2 Structure of the sFlow MIB Module (9)4.2.1 The Receiver Group (9)4.2.2 The Flow Sampling Group (9)4.2.3 The Counter Polling Group (10)4.3 Definitions (11)5. sFlow Datagram Format (23)6. Security Considerations (43)6.1 Configuration (44)6.2 Transport (44)6.3 Confidentiality (44)7. References (45)8. Author's Addresses (47)Appendix A:Differences Between sFlow V ersions 1 and 2 (49)Appendix B:Random Number Generation (50)1. OverviewsFlow is a technology for monitoring traffic in data networks containing switches and routers. sFlow是一对含有交换机和路由器的网络流量数据进行得监视技术.The sFlow monitoring system consists of an sFlow Agent (embedded in a switch or router or in a standalone probe) and a central sFlow Collector. The architecture and sampling techniques used in the sFlow monitoring system were designed for providing continuous sitewide (and enterprise-wide) traffic monitoring of high speed switched and routed networks. This design specifically addresses issues associated with:sFlow监视系统由sFlow Agent(嵌入到交换机和路由器或单独的探测器中)和central sFlow Collector.使用在sFlow监视器系统的结构和采样技术都有计划的提供连续的网点范围(企业范围)的高速的交换和路由的网络工作的流量监视.o Accurately monitoring network traffic at Gigabit speeds and higher.准确得监视Gigabit速度及更高流量网络o Scaling to monitor tens of thousands of agents from a single sFlow Collector.依比例决定从单独得一个sFlow搜集器监视数以万计的代理器的.o Extremely low cost sFlow Agent implementation. 极其低价钱为sFlow代理工具The sFlow Agent uses sampling technology to capture traffic statistics from the device it is monitoring. sFlow Datagrams are used to immediately forward the sampled traffic statistics to an sFlow Collector for analysis.sFlow代理器使用取样技术捕获从它监视设备中进行流量统计.使用sFlow Datagrams为分析立即转发抽样检查流量统计给一个sFlow搜集器.This document describes the sampling mechanisms used by the sFlow Agent, the SFLOW MIB used by the sFlow Collector to control the sFlow Agent, and the sFlow Datagram Format used by the sFlow Agent to send traffic data to the sFlow Collector.这文件描绘经过sFlow代理器使用取样机制,SFLOW MIB经过sFlow搜集器通常控制sFlow 代理器,和sFlow Datagram格式经过sFlow代理器通常把流量数据寄给sFlow搜集器.This memo describes sFlow version 5. It replaces sFlow version 4 described in RFC 3176 [1]. The differences between sFlow versions 4 and 5 are described in Appendix A.这备忘录描绘sFlow版本5.它取代在RFC 3176[1]中描绘sFlow第4版.sFlow第4和5版之间的差异在附录A中被描绘.2. Terminology and ArchitectureThis section defines the elements of the sFlow system.这部分解释sFlow系统的基本原理2.1 TerminologyThe terms used to specify the sFlow architecture are defined here for reference.这些条款作为使用sFlow体系结构的参考.o Network Device:A piece of network equipment, such as a switch or router, that forwards data packets.网络设备:一台像交换器、路由器这样的转发数据包的网络设备o Data Source:A Data Source refers to a location within a Network Device that can make traffic measurements. Possible Data Sources include interfaces, physical entities within the device such as the backplane and VLANs. Each Data Source has access to a subset of the traffic flowing through the device. The type and number of Data Sources needed to completely monitor a device will depend on the internal architecture of that device. Typically a Data Source is defined for each physical interface on the device since this ensures that every packet transiting the device to be observed.数据源:在一定位置上能够产生流量检测的网络设备.可能数据源包括接口、在例如像backplane和VLANs这样的设备上的物理实体.每个数据源能够访问到通过设备数据流量的子集.一些类型和数量的数据源需要完整的监视设备将依赖设备的内部结构体系.典型的数据源为定义了每个设备上的物理接口以确保每个通过传输的包的观察设备o Packet Flow:A Packet Flow is defined as the path or trajectory that a packet takes througha Network Device (i.e. the path that a packet takes as it is received on one interface, is subject to a switching/routing decision and is then sent on another interface. In the case of a one-armed router, the source and destination interface could be the same. In the case of a broadcast or multicast packet there may be multiple destination interfaces).信息包流:定义为包通过网络设备的路径或轨迹(例如一个接口接受包,并由路由器或交换机决定是否发送给另外的接口的路径.在one_arm路由器的情况下,源和目的路由接口应当一样.在广播或多播包的情况下,这将多目的接口)o Packet Flow Sampling:Packet Flow Sampling refers to the random selection of a fraction of the Packet Flows observed at a Data Source.包流采样:在数据源上随机选择部分用来观察的包流.o Sampling Rate:The Sampling Rate specifies the ratio of packets observed at the Data Source to the samples generated. For example a sampling rate of 100 specifies that, on average, 1 sample will be generated for every 100 packets observed.采样率:采样包和观察源数据的比率.例如抽样率为100,那么平均从100个要观察的包中抽取1个包o Packet Flow Record:A Packet Flow Record describes the attributes of a Packet Flow. There are two types of information in a flow record:1 Information on the packet itself, typically a packet header, packet length and packet encapsulation.2 Information about the path the packet took through the device, including information relating to the selection of the forwarding path.包流记录:它描述了一个包流的特征.这里有2个信息在包流记录中:(1)包自己的信息,代表的有包头,包长度和包封装(2)关于包通过设备的路径信息,包含了相关的选择前向路径o Counter Sampling:Periodic sampling or polling of counters associated with a Data Source. 采样计数器:数据源关联的周期取样或者投票的计数器.o Sampling Interval:The time period between successive Counter Samples.取样时间间隔:连续计数采样之间的时间周期.o Counter Record:A record containing counter values associated with a Data Source at the end of a Sampling Interval.计数器记录:包含在采样周期结尾的与数据源关联的计数值的记录o sFlow Instance:An sFlow Instance refers to a measurement process associated with a Data Source.There may be one or more sFlow Instances associated with a single Data Source.Each sFlow Instance operates independently of other sFlow Instances, for example if Packet Flow Sampling instances each have their own Sampling Rates and Counter Sampling instaces have their own Sampling Interval.sFlow实例:与数据源关联的测量处理.可以提供一个或多个sFlow实例关联在一个数据源上.每个sFlow 实例独立于其他的sFlow 实例,例如,每个包采样实例都有他们自己的采样率和采样计数器在他们自己的采样周期中o sFlow Agent:The sFlow Agent provides an interface for configuring the sFlow Instances within a device. The sFlow Agent may support command line and/or SNMP based configuration.The agent is also responsible for maintaining measurement sessions with sFlow Collectors. It marshals data into sFlow Datagrams to send to sFlow Collectors. The sFlow Agent frees resources when a session expires.sFlow代理器:给设备中的sFlow实例的配置提供接口,它提供基于命令行或基于SNMP配置.它还负责对sFlow搜集器的维修测量对话.它整理数据到sFlow Datagram 发送到sFlow搜集器.sFlow代理在对话过期后释放资源.o sFlow Sub-Agent:In the case where sFlow is implemented on a distributed device architecture it may be desireable to distribute the sFlow Agent functionality. Each sFlow Sub-Agent is responsible for a particular subset of Data Sources.sFlow子代理器:在sFlow在分布结构设备上执行情况下可以是描述sFlow代理器的性能的愿望其sFlow有关一分配设备体系结构被执行.每一sFlow子代理依赖于数据源的特殊子集.o sFlow Collector:An sFlow Collector receives sFlow Datagrams from one or more sFlow Agents. The sFlow Collector may also configure sFlow Instances using the configuration mechanisms provided by the sFlow Agent.sFlow搜集器:一个sFlow搜集器从一个或更多sFlow代理器收到sFlow Datagrams.sFlow搜集器可以也配置sFlow实例使用经过sFlow代理器提供配置机械设备.o sFlow Datagram:The sFlow Datagram is a UDP datagram that contains the measurement data, and information about the measurement source and process. The format of the sFlow Datagram is defined in this document.sFlowDatagram:sFlow Datagram是一UDP datagram,其含有度量数据和关于度量来源和过程的信息的.sFlow Datagram的格式在这文件中被确定.2.2 sFlow Reference ModelThe figure below shows the relationships between the different entities within an sFlow system.下面图示展示了一sFlow系统内不同实体之间的关系.An sFlow Collector makes use of SNMP to communicate with an sFlow Agent in order toconfigure sFlow monitoring on a Network Device. The sFlow MIB describes the managed objects needed to configure an sFlow Agent. Packet Flow Sampling and Counter Sampling is performed by sFlow Instances associated with individual Data Sources within the sFlow Agent. In order to perform Packet Flow Sampling, an sFlow Instance is configured with a Sampling Rate. The Packet Flow sampling process results in the generation of Packet Flow Records. In order to perform Counter Sampling, an sFlow Instance is configured with a Sampling Interval. The Counter Sampling process results in the generation of Counter Records. The sFlow Agent collects Counter Records and Packet Flow Records and sends them in the form of sFlow Datagrams to sFlow Collectors.SFlow 搜集器为了配置sFlow 监视网络设备使用SNMP与sFlow 代理通讯. SFlow MIB 描述管理目标需要配置在sFlow Agent.包采样和计数采样在sFlow 代理上的一个个体数据源上的sFlow实例来执行.为了执行包流采样,要配置sFlow实例的采样率.包流采样处理结果由包流记录产生.为了执行计数器采样,sFlow实例配置采样间隔.计数器采样处理结果由计数器记录产生.sFlow代理搜集计数器记录和包流记录并以sFlow数据报形式发送他们到sFlow搜集器.3. Sampling MechanismsThe sFlow Agent uses two forms of sampling:statistical packet-based sampling of switched or routed Packet Flows, and time-based sampling of counters.sFlow代理用2种格式采样:基于包统计交换或路由包流的采样;基于时间和计数器的采样3.1 Packet Flow SamplingThe Packet Flow Sampling mechanism carried out by each sFlow Instance must ensure that any packet observed at a Data Source has an equal chance of being sampled, irrespective of the Packet Flow(s) to which it belongs.包流采样机制是由每个sFlow实例必须确认观察数据源上的任何包有平等的机会被抽样到.不考虑包流属于谁.Packet Flow Sampling is accomplished as follows:When a packet arrives on an interface, the Network Device makes a filtering decision to determines whether the packet should be dropped. If the packet is not filtered a destination interface is assigned by the switching/routing function. At this point a decision is made on whether or not to sample the packet. The mechanism involves a counter that is decremented with each packet.When the counter reaches zero a sample is taken. Whether or not a sample is taken, the counter Total_Packets is incremented.Total_Packets is a count of all the packets that could have been sampled.执行流程:当一个包到达接口,网络设备作出是否丢弃它的过滤.如果包没有被交换或路由功能过滤掉一个目的接口.在这指出决定是否采样包.这个机制包括计数器对每一个包递减.当计数器到到0,一个采样就产生.无论采样是否发生,计数器Total_Packts增加.Total_Packets是计算所有被采样的包数量Taking a sample involves either copying the packet's header, or extracting features from the packet.See sFlow Datagram Format for a description of the different forms of sample.Every time a sample is taken, the counter Total_Samples, is incremented. Total_Samples is a count of the number of samples generated.Samples are sent by the sFlow Instance to the sFlow Agent for processing.The sample includes the packet information, and the values of the Total_Packets and Total_Samples counters.The sFlow Agent may then use the samples to obtain additionalinformation about the packet's trajectory through the device. Such information depends on the forwarding functions of the device. Examples of trajectory information provided are source and destination interface, source and destination VLAN, next hop subnet, full AS path. Details of the forwarding information are given in the sFlow Datagram Format.包采样包括拷贝包的头或从包中提取特征.(看描述不同采样格式的sFlow数据报格式).每次采样,计数器Total_samples都增加.Total_samples是统计采样发生数量的.采样发送到sFlow 代理的sFlow实例处理. 采样包括包信息和Total_Packets和Total_samples计数器.SFlow代理要用采样获得关于包通过设备路径的的另外信息.一些信息依赖设备的转发功能.路径信息的例子提供源和目的接口,源和目的VLAN,子网下一跳,全AS-path.详细的转发信息付给sFlow 数据报格式When a sample is taken, the counter indicating how many packets to skip before taking the next sample should be reset. The value of the counter should be set to a random integer where the sequence of random integers used over time should be such that:当采样发生,计数器指示出下一次采样发生前有多少个包跳过,计数器的值被设为随机的一个int型数,(1) Total_Packets/Total_Samples = Sampling RateAn alternative strategy for Packet Flow Sampling is to generate a random number for each packet, compare the random number to a preset threshold and take a sample whenever the random number is smaller than the threshold value. Calculation of an appropriate threshold value depends on the characteristics of the random number generator, however, the resulting sample stream must still satisfy包流采样的选择策略是每个包产生一个随机数,比较随机数和提前设定的阈值,如果小于阈值就采样.计算一个合适的阈值依赖于特定的随机数产生器,但是,随之发生采样结果必须去更加完善.Appendix B further discusses the requirements for the random number generator.附录B进一步讨论随机数产生的要求.3.2 Counter SamplingThe primary objective of the Counter Sampling is to efficiently, periodically export counters associated with Data Sources.计数器取样的基本目标是要高效的、周期性地输出把计数器和数据源联系起来.Typically a Data Source will be associated with each interface on the device that can be an ingress or egress interface for Packet Flows.These interface Data Sources will then be used to export counters relating to the interfaces.典型一数据源将被把和每一在能是一进入的设备上接口联系起来或者那时为包Flows.这些数据源接口将被使用出口数据.A maximum Sampling Interval is assigned to each sFlow Instance associated with an interface Data Source, but the sFlow Agent is free to schedule polling in order maximize internal efficiency. 给分配一最大取样时间间隔但是sFlow代理器是对顺序投票明细表自由使内部效率增至最大每一sFlow实例把和联系起来一接口数据源.Packet Flow Sampling and Counter Sampling are designed as part of an integrated system. Both types of sample are combined in sFlow Datagrams. Since Packet Flow Sampling will cause a steady, but random, stream of sFlow Datagrams to be sent to the sFlow Collector, counter samples may be taken opportunistically in order to fill these datagrams.包流动取样和计数器取样作为一综合系统的一部分被设计.两个类型的样品在sFlow Datagrams中被合并.自包流动取样将给一固定的异性朋友但是任意行动造成以来,为了填补这些,计数器样品可以机会主义地被拿datagrams股sFlow Datagrams把寄给sFlow搜集器.One strategy for counter sampling has the sFlow Agent keep a list of counter sources being sampled. When a Packet Flow Sample is generated the sFlow Agent examines the list and adds counters to the sample datagram, least recently sampled first. Counters are only added to the datagram if the sources are within a short period, 5 seconds say, of failing to meet the required Sampling Interval (see sFlowCounterSamplingInterval in SFLOW MIB). Whenever a counter source's statistics are added to a sample datagram, the time the counter source was last sampled is updated and the counter source is placed at the end of the list. Periodically, say every sec ond, the sFlow Agent examines the list of counter sources and sends any counters that need to be sent to meet the sampling interval requirement.一计数器取样的对策让一计数器来源的清单继续是抽样检查让sFlow代理器.当一包流动样品是产生的时候,sFlow代理器检查清单和添加和样品datagram相反最不近来首先抽样检查.5次品谈到未能遭遇需要取样时间间隔(在SFLOW MIB中看见sFlowCounterSamplingInter)说如果在一短时期以内,来源是,计数器仅被被加入datagram.每当一计数器来源的统计被被加入一样品datagram,计数器来源最后被抽样检查时间被更新在清单的末端和计数器来源被安置.周期性地,比如说每隔一sFlow代理器检查计数器来源的清单和寄送任何应该是的计数器寄送符合取样时间间隔要求If the sFlow Agent chooses to regularly schedule counter sampling, then it should schedule each counter source at a different start time (preferably randomly) so that counter sampling is not synchronised within an agent or between agents.如果sFlow代理器宁愿选择正常计划计数器取样,然后在不同出发时刻它应该计划每一计数器来源,(更可取地任意行动地)因此计数器取样在一个代理器心里或者在代理器之间不是synchronised.4. sFlow MIBThe sFlow MIB provides a standard mechanism for remotely controlling and configuring an sFlow Agent.sFlow MIB为远离控制和配置sFlow代理器提供一个标准机制.4.1 The SNMP Management Framework (SNMP管理框架)The SNMP Management Framework presently consists of five major components:SNMP管理框架不久由五个主要成分构成:o An overall architecture, described in RFC 2571 [2].在RFC 2571[2]中描绘一总体系结构.o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [3], STD 16, RFC 1212 [4] and RFC 1215 [5]. The second version, called SMIv2, is described in STD 58, RFC 2578 [6], STD58, RFC 2579 [7] and STD 58, RFC 2580 [8].机制描绘和目标命名及事件是为了实现管理.管理信息(SMI)的结构的第一版本被称为SMIv1是在STD 16,RFC 1155[3],STD 16,RFC 1212[4]和RFC 1215[5]中描绘.第二版本是在SMIv2在STD 58,RFC 2578[6],STD58,RFC 2579[7]和STD 58,RFC 2580[8]中被描绘.o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [9]. A second version ofthe SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [10] and RFC 1906[11]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [11], RFC 2572 [12] and RFC 2574 [13].因为搬管理知识o信息礼仪.SNMP信息礼仪的第一版本被认为是SNMPv1和在STD中描绘15,RFC 1157[9].认为是SNMPv2c在RFC 1901[10]和RFC 1906[11]中被和描绘一SNMP信息礼仪的第二版本,其不是一因特网标准轨迹礼仪的.认为是SNMPv3在RFC 1906[11],RFC 2572[12]和RFC 2574[13]中被和描绘信息礼仪的第三版本.o Protocol operations for accessing management information.The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [9]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [14].information.第一为访问管理准备礼仪运算和结合PDU格式的o礼仪运算的在STD 15,RFC 1157[9]中被描绘.一第二套礼仪运算和结合PDU格式在RFC 1905[14]中被描绘.o A set of fundamental applications described in RFC 2573 [15] and the view-based access control mechanism described in RFC 2575 [16].o A套基本应用在RFC中描绘2573[15]和基于视野的接近的机会控制手段机械设备在RFC 中描绘2575[16].A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [17].一更详细对当前SNMP管理框架的介绍能在RFC 2570[17]中被找出.Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI.经由一个事实上信息存储被接近把管理目标称为管理信息基础或者MIB.在MIB中目标被规定使用在SMI中定义机械设备.This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations.The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB.这备忘录对SMIv2顺从指定一是的MIB模数.一MIB遵从SMIv1能被生产通过适合translations.The随之发生翻译MIB一定是按语义地等于,因为没有翻译是可能,除了什么地方物件或者事件是删掉Counter64的使用.一些在SMIv2中机器可读信息将在翻译过程期间被把变成在SMIv1中原文的描绘.但是,不认为这机器可读信息的失败改变MIB的语义学.4.2 Structure of the SFLOW MIB Module(SFLOW MIB模数的结构)The MIB consists of three groups of objects:the receiver group, the flow sampling group and the counter polling group.MIB由三群物件构成:接受组,流动取样组和投票计数器组在一起.4.2.1 The Receiver GroupThe receiver group defines the set of objects used to maintain an sFlow session between an sFlow Agent and an sFlow Collector.接受组定义使用目标集在sFlow代理器和sFlow搜集器之间保持一个sFlow session.Before making any configuration changes, an sFlow Collector must first find a free row in the receiver table and then claim it by writing its owner string and a reservation time into a free row in the receiver table. A session will automatically time out, and the associated resources freed, unless it is periodically refreshed by the the collector. By periodically refreshing its receiver table entry, an sFlow Collector ensures that its address is learned by any bridges on the path to the sFlow Agent, minimizing the chances that the sFlow Datagrams will be flooded by a bridge.在有任何配置改变之前,一个sFlow搜集器首先必须在接受表中找出一个自由表然后通过写他自己的字符串何预定时间值声明它,一个session将自动time out,互联资源自动释放,除非搜集器会周期性的刷新.通过周期性地刷新它的接受表入口,一个sFlow搜集器保证它的地址被任何在通向sFlow代理器的路径上的网桥学习到,极小改变sFlow Datagrams将使网桥溢出.Entries cannot be added to or removed from the receiver group table. An sFlow Agent implementor should limit the number of entries to ensure that the number of concurrent sFlow sessions is limited to a number that will not exceed that capacity of the device.接受组表不能添加或删除条目.一个sFlow代理器使用工具者应该限制入口的数目,保证其限制同时发生的sFlow sessions的数目为一数那个将不超过那设备的容量的.Having acquired a row in the receiver table, the sFlow Collector specifies an address and port that it will use to receive sFlow Datagrams. The maximum size of sFlow Datagrams can be configured in order to prevent packet fragmentation.在已获得接受表的row中,sFlow搜集器指定一地址和port来接受sFlow Datagrams.为了防止分包, 要配置sFlow Datagrams的最大值.4.2.2 The Flow Sampling GroupThe flow sampling group defines a set of locations, or Data Sources, in the device that are capable of Packet Flow sampling.Data Sources may correspond to interfaces, VLANs or other entities within the device. The set of Data Sources advertised by an sFlow Agent depends on the device architecture. For example, a device may have packet sampling integrated into its interface ASICs, in which case it will advertise Data Sources for each interface. Alternatively, a software router may simply have one Data Source associated with the routing module.包流取样组定义一组可能做出包流取样的位置或数据源的集合.数据源对应于设备interfaces、VLANs或者其它实体.sFlow代理器为数据源集做广播取决于设备体系结构.例如,一设备可以有把包完整取样到它的接口ASICs,在这种情况下它将为每一接口为数据源登广播的.另一种选择,一个软件路由可以简单用路由模式联系一数据源.Each Data Source may be capable of supporting more than one independent sampling process, in which case there will be multiple sFlow Instances associated with each Data Source. Each sFlow Instance can have its own independent sampling rate.每一数据源可以是能支持一或多独立取样处理,在这种情况下将有把多重sFlow实例和每一数据源联系起来的.每一sFlow实例能有它的自己独立的抽样速率.Even if the Data Source hardware is only capable of generating a single stream of packet samples, it is possible for the sFlow Agent to use sub-sampling to create multiple sFlow Instances for the Data Source. For example, suppose there are two sFlow Instances, one configured with a Sampling Rate of 512 and the other with a rate of 1024. The hardware can be configured to sample at a rate of 512 and then these samples can be sub-sampled in software using a sampling rate of 2 to achieve the 1024 rate. Only allowing Sampling Rates that are powers of two is attractive since it allows the smallest configured Sampling Rate to be set in hardware and all other sampling ratescan be obtained in software by sub-sampling.即使数据源硬件是仅仅能产生一单一的包样品,sFlow代理器使用子取样为数据源建立多重sFlow实例是可能的.例如,假定有两sFlow实例,一个取样以512的速率配置,其他的以1024配置.硬件能被配置在一512的速度方面试样后显示结果然后能是子在软件中取这些样品的样品使用一2的取样速度取得1024速度自它允许被把最小配置取样嵌入硬件速度和所有的其它取样速度能在软件中被亚取样得到以来,仅允许抽样检查是二的力量的速度是有吸引力.An Flow Sampling Instance may have a minimum allowable Sampling Rate.Setting a conservative value that ensures that the sFlow Agent can never become overloaded with Packet Flow Samples under worst case traffic loads is not advisable. This yeilds minimum Sampling Rate values that are very high and don't reflect typical traffic levels. The Agent may implement an automated one-way backoff of the Sampling Rate that triggers whenever an excessive number of samples per second is generated. When the triggered the Agent can double the Sampling Rate. If the threshold is exceeded again, the Sampling Rate is doubled again. The Sampling Rate will quickly reach a value that is sustainable. The sampling rate must stay at its new value and never automatically return to the originally configured value. The value may be changed back manually through the command line interface or via the sFlow MIB. This scheme protects against poorly chosen Sampling Rates or unexpected changes in peak traffic rates, but still allows low Sampling Rates to be safely selected where appropriate.一流取样实例可以让一最低限度容许抽样检查Rate.Setting一保守价值不是明智,其保证能从不变得用在糟情况流量负担下包流动样品使sFlow代理器超载的.这yeilds最低限度瞄准,抽样检查速度价值观,其是非常高和不反映出典型流量的.代理器可以执行一取样速度的自动化单向的backoff,扳机产生,究竟什么时候一过分每秒样品的数目是的.什么时候松开扳柄代理器能把取样速度增加一倍.如果门槛再次被超过,再次把取样速度增加一倍.取样速度将迅速达到一是支撑得住的价值.取样速度必须在它的新价值方面留下和从不自动返回原来配置价值.价值可以回来通过指挥线接口或者经由sFlow MIB手工被改变.这计划避免身体不舒服的选择取样速度或者意想不到高峰流量速度的改变的危害但是仍然允许低样品安全适合的地方,被选择速度.4.2.3 The Counter Polling GroupThe counter polling group defines a set of locations, or Data Sources, in the device that can provide counter information. Typically the Data Sources will be the interfaces on the device. Each Data Source may be capable of supporting more than one independent polling process, in which case there will be multiple counter polling instances associated with each data source. Each counter polling instance can have its own independent polling interval.它定义一组在能提供计数器信息的设备中位置或者数据源.典型数据源将是在设备上接口.每一数据源可以是能支持一个或多个独立投票处理,在这种情况下将有多重计数器获得把情况和每一数据源联系起来的.每一计数器能独立的时间间隔投票.4.3 DefinitionsSFLOW-MIB DEFINITIONS ::= BEGINIMPORTSMODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprisesFROM SNMPv2-SMITEXTUAL-CONVENTIONFROM SNMPv2-TCSnmpAdminStringFROM SNMP-FRAMEWORK-MIBOwnerStringFROM RMON-MIBInetAddressType, InetAddressFROM INET-ADDRESS-MIBMODULE-COMPLIANCE, OBJECT-GROUPFROM SNMPv2-CONF;sFlowMIB MODULE-IDENTITYLAST-UPDA TED "200309240000Z" -- September 24, 2003 ORGANIZA TION ""CONTACT-INFO"Peter Phaalhttp:///Tel:+1-415-283-3260Email:peter.phaal@"DESCRIPTION"The MIB module for managing the generation and transportationof sFlow data records."---- Revision History--REVISION "200310180000Z" -- November 18, 2003 DESCRIPTION"V ersion 1.3 (draft 5)Allow set to SFlowReceiver if it doesn't changevalue."REVISION "200309240000Z" -- September 24, 2003 DESCRIPTION"V ersion 1.3 (draft 4)Default value of sFlowRcvrAddress should be '00000000' h.Default value of sFlowCpReceiver should be 0."REVISION "200304080000Z" -- April 8, 2003 DESCRIPTION"V ersion 1.3 (draft 3)Clarify semantics of counter polling interval,sFlowCpInterval."REVISION "200209170000Z" -- September 17, 2002DESCRIPTION"V ersion 1.3 (draft 2)Adds support for multiple sFlow samplers per sFlowDataSource. Moved to enterprise number.Splits flow sampling,counter polling and receiver specification into separate tables."添加支持为每sFlowDataSource多重sFlow取样员.去企业提议number.Splits流动取样,投票计数器和进入独立表收件规格说明.REVISION "200107310000Z" -- July 31, 2001DESCRIPTION"V ersion 1.2Brings MIB into SMI v2 compliance."REVISION "200105010000Z" -- May 1, 2001DESCRIPTION"V ersion 1.1Adds sfDatagramV ersion."::= { enterprises sflow(14706) 1 }sFlowAgent OBJECT IDENTIFIER ::= { sFlowMIB 1 }SFlowDataSource ::= TEXTUAL-CONVENTIONSTA TUS currentDESCRIPTION"Identifies a source of sFlow data.The following data source types are currently defined:- ifIndex.<I>SFlowDataSources of this traditional form are called 'port-based'. Ideally the sampling entity will perform sampling on all flows originating from or destined to the specified interface. However, if the switch architecture only allows input or output sampling then the sampling agent is permitted to only sample input flows input or output flows. Each packet must only be considered once for sampling, irrespective of the number of ports it will be forwarded to. Note:Port 0 is used to indicate that all ports on the device are represented by a single data source. - sFlowFsPacketSamplingRate applies to all ports on the device capable of packet sampling.- smonVlanDataSource.<V>An SFlowDataSource of this form refers to a 'Packet-based VLAN'and is called a 'VLAN-based' dataSource. <V> is the VLANID as defined by the IEEE 802.1Q standard. Thevalue is between 1 and 4094 inclusive, and it representsan 802.1Q VLAN-ID with global scope within a givenbridged domain.Sampling is performed on all packets received that are partof the specified VLAN (no matter which port they arrived on).Each packet will only be considered once for sampling,irrespective of the number of ports it will be forwarded to.- entPhysicalEntry.<N>An SFlowDataSource of this form refers to a physical entitywithin the agent (e.g. entPhysicalClass = backplane(4)) andis called an 'entity-based' dataSource. Sampling is performedon all packets entering the resource (e.g. If the backplaneis being sampled, all packets transmitted onto the backplanewill be considered as single candidates for samplingirrespective of the number of ports they ultimately reach).Note:Since each SFlowDataSource operates independently apacket that crosses multiple DataSources may generatemultiple flow records."SYNTAX OBJECT IDENTIFIERSFlowInstance ::= TEXTUAL-CONVENTIONSTA TUS currentDESCRIPTION"If more than one sFlow sampler is available for thisSFlowDataSource then individual samplers are distinguishedusing the SFlowInstance variable. The value ofSFlowInstance ranges from 1..n where n is the number ofsamplers associated with this SFlowDataSource.Note:Each sFlow sampler instance must operateindependently of all other instances. Settingan attribute of one sampler must not alter thethe behavior and settings of other samplerinstances."SYNTAX Integer32 (1..65535)SFlowReceiver ::= TEXTUAL-CONVENTIONSTA TUS currentDESCRIPTION"Identify the sFlow receiver associated with this resource.A value of zero indicates that this resource is available.。
Design and Implementation of Routing Protocols for IPv6Global Anycast CommunicationsSatoshi DoiGraduate School of Information Science and Technology,Osaka Uni-versity,1–5Yamadaoka,Suita,Osaka565–0871,JapanShingo AtaGraduate School of Engineering,Osaka City University,3–3–138Sug-imoto,Sumiyoshi-ku,Osaka558–8585,JapanHiroshi KitamuraSolution Development Laboratories,NEC Corporation,2–11–5 Shibaura,Minato-Ku,Tokyo108–8557,JapanMasayuki MurataGraduate School of Information Science and Technology,Osaka Uni-versity,1–5Yamadaoka,Suita,Osaka565–0871,JapanAbstract:Anycast is a new IPv6feature that supports service–orientedaddress assignments in IPv6networks.However,because there are no pro-tocol standards or even consensus on routing protocols,inter–segment any-cast communications are not yet available.In this paper,wefirst discussproblems and solutions on inter–segment anycast communications.Basedon ourfindings,we propose two routing protocols for inter–segment any-cast to support anycast–oriented communication.We also implement theproposed routing protocols in an experimental environment and verify thatthey work correctly.We also compare the proposed routing protocols anddiscuss which is most suited to reducing overheads as much as possible.Keywords:IPv6,Anycast Communication,Network–layer Anycast,Any-cast Application,Anycast RoutingReference to this paper should be made as follows:Doi,S.,Ata,S.,Kita-mura,H.and Murata,M.(2005)‘Design and Implementation of RoutingProtocols for IPv6Global Anycast Communications’,International Journalof Internet Protocol Technology,Vol.x,No.x,pp.xxx–xxx.Biographical notes:Satoshi Doi is currently with Sony Corporation,Japan.He received B.E.and M.E.degrees in information science and tech-nology from Osaka University in2002and2004,respectively.His researchwork is in the area of designing protocols related to IPv6anycasting.Shingo Ata is a lecturer in the Graduate School of Engineering at Osaka1City University,Japan.He received M.E.and Ph.D.degrees in informaticsand mathematical science from Osaka University in1998and2000,re-spectively.His research includes design of communication protocols and performance modeling of communication networks.Hiroshi Kitamura works at NEC Corporation since1990.He also worksas a Visiting Associate Professor at University of Electro-Communicationsince2004.He received B.S.and M.S.degree from Nagoya University in1988and1990,respectively.He also received a Ph.D.degree in informat-ics and mathematical science from Osaka University in2002.He has beenengaged in research and development of Internet protocols.He currentlyfocuses on research and development of IPv6,Mobile IPv6,Plug and Play,and Security.Table1:IPv6address types.unicast multicast anycast communication point to point to point to form point multipoint pointtarget of node group service typeaddressnumber of single multiple multiplemembershiproles in both client serverC/S model(listner)1INTRODUCTIONAnycast[1]is one of the new IPv6(IP version 6[2])features that supports service-oriented address assignments in IPv6networks.An anycast address is not determined by the location of the node,but by the type of service offered at the node.In any-cast communications,the client can automatically obtain the appropriate node corresponding to a spe-cific service without knowledge of the location of the server.Anycast,which is defined in the IPv6,is a new networking paradigm supporting service–oriented ad-dresses and an identical address can be assigned to multiple nodes providing a specific service.An any-cast packet(i.e.,one with an anycast destination ad-dress)is delivered to one of these nodes with the same anycast address.The idea of anycast wasfirst de-scribed in RFC1546[3],which stated that the moti-vation for anycasting was to drastically simplify the task offinding an appropriate server on the Internet. The Internet Protocol version6(IPv6)has three types of IP addresses,i.e.,unicast and multicast ad-dressesas in IPv4,and an anycast address that is the subject of the current paper.Table1summa-rizes the forms of communication for these addresses.A unicast address is a unique identifier for each net-work interface,and multiple interfaces must not be assigned the same unicast address.Packets with the same destination address are sent to the same node.A multicast address,on the other hand,is assigned to a group of nodes,i.e.,all group members have theFigure1:Anycast communication.same multicast address and packets for this address are sent to all members simultaneously.Like a multicast address,a single anycast address is assigned to multiple nodes(called anycast mem-bership),but unlike multicasting,only one member of the assigned anycast address communicates with the originator at a time.Figure1has an example of anycast communica-tion.There are three nodes associated with the any-cast address A any.When the source node sends a packet,where the destination address is A any,the packet is sent to one of three nodes(X uni in thisfig-ure),not to all hosts.The advantage of anycasting is that the source node can receive a specific service without knowledge on current conditions in service nodes and/or networks.When host X uni goes down, the packet for A any can be sent to another host(Y uni or Z uni)(Fig.1).How appropriately the destination node is chosen from anycast membership depends on the anycast routing protocol.The basic idea behind anycast communication is to separate the logical service identifier from the phys-ical host equipment,i.e.,the anycast address is as-signed on a type-of-service basis,which enables the network service to act as a logical host.However,IPv6anycasting still has several prob-lems that need to be clarified within the context of the current specifications.In our previous work,we showed some applications suitable to anycasting and provided some advantages of anycasting[4].Another problem with IPv6–based anycasting is 2that a routing protocol has not been included in its specifications,which is indispensable in making any-casting more widespread.There are several challeng-ing issues that need to be resolved in designing any-cast routing protocols[4].1.Scalability issueThe routing entries for anycast addresses should be stored individually on the router.It is easy to imagine explosions in routing tables as anycast addresses get to be more widely used.2.Criteria for selecting anycast membershipAnycast routing is required to transfer an any-cast packet to an appropriate anycast node,but the meaning of appropriate needs to differ among applications.The criteria for anycast routing strongly affects anycast communication capabil-ities.Based on thesefindings,we designed routing proto-cols for inter-segment anycast communication that we will present after the next section.We also need to identify how stateful applications utilize anycasting in designing their routing proto-cols.Internet applications using all TCP-based or some UDP-based protocols are stateful,i.e.,end hosts establish the conditions of communication with each other and assume that their partners are identical during the exchange.This is very important be-cause the current definition of anycasting is essen-tially stateless,i.e.,the destination host should be de-termined on a packet-by-packet basis by the routers. In our previous work,we have proposed Anycast Ad-dress Resolving Protocol(AARP)to establish TCP connections with a specific anycast address[4].The rest of this paper is organized as follows.The next section discusses the proposed anycast routing architecture.In Section3,we describe the specifica-tion of our architecture and we test and evaluate our proposed protocols in Section4.Finally,we summa-rize our work and describe our future research topics in Section5.2ARCHITECTURAL DESIGNThe advantage of anycast communication from the application’s view is that the packet is automatically forwarded to the appropriate node according to network and/or node conditions.It is therefore important to maintain the routing information of anycast addresses.Because of this,we will propose a new anycast routing architecture,which we describe in this section.2.1Design Choices and ModelsThe design choices we made in our anycast routing protocol are as follows.2.1.1Using Existing Address SpaceWe allowed unicast and anycast addresses within the same space and to do this we chose a seed node from anycast membership before assigning an anycast ad-dress.We then established the anycast address of membership to be the unicast address of the seed node.The anycast router forwards an anycast packet to an appropriate node within the anycast member-ship.However,the unicast router only tries to for-ward the anycast packet to the seed node.An anycast packet leaving an arbitrary node is at the very least sent to the seed node.Any packet destined for the anycast address is guaranteed to be sent to at least one destination node.2.1.2Gradual DeploymentWe envision the gradual deployment of anycasting and the protocol works correctly in our architecture and offers advantages even if there is only one anycast router between the sender and seed node.Its impact increases as more anycast routers are deployed.2.1.3Modifying Existing Routing Protocols We adopted an approach that modifies existing rout-ing protocols to the anycast routing protocol to re-duce the complexity of implementation.32.1.4Packet-by-Packet Basis Forwarding Each anycast router forwards anycast packets to only one node on a packet-by-packet basis.As previously discussed,anycast routers should have both node selection criteria and knowledge to select one entry.We introduce a value called metric for this purpose.Each anycast router selects one ap-propriate node based on the metric.The meaning of appropriateness differs due to the kinds of applica-tions,and only a node with an anycast address can know what application it provides.Then,the metric is advertised by the node having the anycast address. Moreover,we assume that the metric is non-negative with an integer value that simplifies the operation of anycast routers.All anycast routers select appropri-ate a node from multiple nodes by simply comparing the metric(e.g.,the anycast router chooses one rout-ing entry with a minimum value for the metric).We define two types of metric(called metric type):•receiver metric:the preference value of a node with an anycast address(e.g.,CPU load).The receiver metric can only be set by the any-cast receiver,and must not be updated by the anycast router.This type of metric is suitable for notifying of the availability of resources in the anycast receiver(e.g.,CPU resources and num-ber of acceptable requests).•link metric:the preference value of a link among two anycast routers(e.g.,propagation delay).If the metric is link metric,the anycast router overwrites the metric value in the control mes-sage by adding the value of link metric associated with the anycast router.The link metric is useful in describing the end-to-end performance(e.g., round trip delay and number of hops).However, this link metric should be configured based on the metric of unicast routing because the anycast packets traverse the route that unicast routing uses.2.2Proposed ArchitectureFigure2is an overview of the routing architecture we propose and there are two types of routing topolo-gies.The unicast network is the existing network topology where both unicast and anycast packets are forwarded on the basis of a unicast address.In the anycast network,anycast-aware routers(called any-cast routers)are connected to one another and only anycast packets are forwarded by treating their ad-dresses as anycast addresses.The anycast network can thus be considered as a logical overlay network over the unicast network.In an anycast network,nodes are not physically (i.e.,directly)connected,but are connected via var-ious kinds of logical peer-to-peer connections(e.g., virtual path,tunneling,or encapsulation).An any-cast router is upper-compatible,does anycast routing functions,and has the capabilities of unicast routers. An anycast router has extra routing entries(called anycast routing entries)in the unicast routing table to handle anycast addresses.For each anycast ad-dress,the anycast router registers only one anycast routing entry as a host entry.The host entry means the routing entry with128–bit length address prefix. If the anycast router knows there are multiple nodes having same anycast address,it selects one node and registers it in the routing table.When a packet ar-rives at the anycast router,it checks the unicast rout-ing table tofind an entry regarding the destination address of the packet in the same fashion as existing unicast routing which uses the longest prefix match-ing.As a result of the longest prefix matching,the anycast routing entry must be chosen if the anycast router has its entry.Then,the anycast router can find an entry by using the destination address.After itfinds this,the packet is treated as an anycast packet and forwarded to the next anycast router according to the routing table.Otherwise,it is forwarded through the unicast routing mechanism.Figure2has an example of anycast routing where we have assumed that the node selection criterion is the number of hops.A smaller count is more appropriate here.In Figure2,the short cylin-ders represent routers and the one labeled“ARo”is an anycast router.The other short cylinders(i.e., non-labeled cylinders)are unicast routers.There are two anycast members for the anycast address 3ffe:5::5.Note here that3ffe:5::5is also the unicast address of anycast receiver ARe1.Here,node 4Figure2:Proposed ArchitectureARe1is the seed node of anycast membership for 3ffe:5::5.The other node ARe2is in a different network(3ffe:4::/32).Let us now consider where two nodes(C1and C2)send packets destined for any-cast addresses3ffe:5::5.The difference is whether there is an anycast router on the route to seed node ARe1.C1first forwards the packet to router ARo through unicast routing(solid arrow).Intermediate router ARo is an anycast router and can detect that the packet is also an anycast packet.According to anycast routing(dashed arrow),any-cast router ARo then forwards it to node ARe2, which is the node nearest C1.However,since there is no anycast router between C2and ARe1,the packet is simply forwarded to ARe1through unicast rout-ing only.Note that there is a more appropriate node (ARe2)in this network.For example,if we replace the router next to C2(short-checked cylinder)with an anycast router,the packet could be transmitted to the more appropriate ARe2node through anycast routing.The above description reveals that our anycast routing protocol works appropriately even when there are a limited number of anycast routers.If these are increased,better routing is achieved.When all routers in the network are anycast,flexible routing adopting a control policy using various metrics will be possible.3ROUTING PROTOCOL DESIGNThis section describes the routing protocols for the anycast routing architecture we propose.Note again that our basic motivation in supporting anycasting was to minimize the overheads or implementation in-volved in deploying it as much as possible.We focused on the difference between any-casting and unicasting/multicasting to develop an anycast routing protocol through existing uni-cast/multicast routing protocols.Anycasting and unicasting/multicasting have many similar character-istics while they also have some differences.Ourfirst step in designing the anycast routing protocol is to clarify these similarities and thenfind how to mod-ify the existing routing protocols to support anycast routing.Several protocols for unicast or multicast routing are currently available.As we can see in Table2, these can be classified into three types,i.e.,a(1)dis-tance vector,(2)link state,and(3)core-based tree.In the distance vector algorithm,a router has a list of routers which are directly connected to it.By ex-changing the list with other adjacent routers,it can identify all routers capable of connecting to an arbi-trary destination.The link state algorithm utilizes a list of connected links instead of a list of routers. Through exchanging the list of links,the router can identify the entire topology of the network.The router then prepares a shortest path tree(SPT)with Dijkstra’s shortest pathfirst algorithm[5].Based on the SPT,the routerfinally constructs the routing table.The core-based tree is a kind of hierarchical al-gorithm and itfirst chooses one or more core routers from all routers.The core router centralizes all rout-ing information on behalf of the other routers.One of these other routers only holds the routing informa-tion for where it belongs.Each router only sends a packet to the core router and only it can decide the route for the destination address.Since each routing protocol has both advantages and disadvantages,we defined the anycast routing protocol based on all of these,i.e.,(1)the Anycast extensions to RIP(ARIP),(2)the Anycast exten-5Table2:Classification of Routing ProtocolsDistance Link Core BasedVector State Tree Unicast RIPng[6]OSPFv3[7]Multicast DVMRP[8]MOSPF[9]PIM-SM[10]Anycast ARIP AOSPF PIA-SM[11]Figure3:Overview of Anycast Routing Protocol sions to OSPF(AOSPF),and(3)the Protocol In-dependent Anycast Sparse Mode(PIA-SM).In our previous work,we designed the(3)PIA-SM[11],and Matsunaga[12]provides a description of the imple-mentation method for this.(1)ARIP and(2)AOSPF are presented in turn in the subsections that follow. In terms of functionality,a routing protocol for anycast communication consists of the following three steps(see also Figure3)and the difference between the two above–mentioned routing protocols are in Step2.1.Initiate anycast membership2.Construct and update routing table3.Forward anycast packetsThe anycast router forwards anycast packets based on the routing table constructed in Step2.Note again that Step3is the same as unicast routing.Each anycast router simply checks the unicast routing ta-ble tofind an entry regarding the destination addressof the packet.In what follows,we detail Step1and Step2separately.3.1Initiating Anycast Membership Like multicasting,the host participating in(or leav-ing from)anycast membership must have the capabil-ity of notifying the nearest anycast router of the sta-tus(joining/leaving).The method offinding a host participating in anycast membership(called anycast host below)is different and is based on the loca-tion of the anycast host.If the anycast receiver and the anycast router are on the same segment,an ex-tended version of MLD(Multicast Listener Discov-ery)is used[13].This is called ARD(Anycast Re-ceiver Discovery).Basically,an anycast host gener-ates an ARD report message to the anycast router af-ter the anycast host receives an ARD query message from the anycast router.The anycast host can ad-ditionally send the ARD report message if it cannot receive the ARD query message.However,the any-cast host sends an ARD done message prior to leaving membership.Because the destination addressfield of ARD packets is set to one of the link-local addresses, e.g.,the link-scope all-nodes(FF02::1)or the link-scope all-routers(FF02::2),this method can only be applied where all hosts and routers reside within the same segment.3.2Constructing and Updating Rout-ing TableIf the type of routing entry advertised by the anycast receiver is only the receiver metric,the processes of constructing and updating the routing table are com-mon to the ARIP and AOSPF.We call these proce-dures as the Advertising Receiver Metric,which we presentfirst.This is followed by an explanation on constructing and updating routing tables supporting the link metric.3.2.1Advertising Receiver MetricFigure4outlines the constructing and updating rout-ing tables when anycast routers only consider the re-ceiver metric.If anycast routers only consider the 6receiver metric,they can use unicast routing infor-mation to describe the topology of routers.Each anycast receiver becomes just like a leaf attached to a tree constructed through the topology of anycast routers.Before describing the procedure,we define some routing related nodes.•Selected anycast receiver is the anycast re-ceiver which has the minimum metric among the same anycast membership.•Alternate anycast receiver is the anycast re-ceiver which has the second minimum metric among the same anycast membership.•Selected anycast router is the anycast router physically or virtually connected to the selected anycast receiver.•Alternate anycast router is the anycast router physically or virtually connected to the selected anycast receiver.•Adjacent anycast router is the anycast router connected physically or virtually.Figure4shows the basic operations for the Adver-tising Receiver Metric which are following.1.Notify the membership information by exchanging ARD query/report All anycast re-ceivers send the ARD report indicating their mem-bership information and metric in response to the ARD query sent from the anycast router periodically. If the anycast receiver cannot receive the ARD query, they can send the unsolicited ARD report.After receiving the ARD report,the anycast router creates/updates the entry in the local database called ARDB(Anycast Receiver Database).Each entry in the ARDB is stored with three items:the anycast address itself,the receiver metric,and the unicast address of the anycast router.2.Send the information of new anycast re-ceiver.If the anycast router receives the ARD re-port,it sends the information on the new anycast receiver(i.e.,three items registered in the ARDB)to the adjacent anycast routers.3.Constructing the routing table and the ARDB After receiving the entry of ARDB,the anycast router lookups the routing entry for the any-cast address specified in the ARD report,and com-pares the metric in the ARD report with the metric in the matched routing entry.If the metric in the ARD report is smaller than the metric in the routing entry,the anycast router replaces the metric to the smaller one.Then,the anycast router forwards the entry to all the adjacent anycast routers except the router from which the ARD report arrives.By propa-gating the ARD report hop-by-hop basis,all anycast routers can obtain the minimum value of the metric and its forwarding direction.Then,all the packets sent to the anycast address are transferred to the se-lected anycast receiver.Additionally,the anycast router connected to the anycast receiver can store the entry of ARDB if the anycast address of attached anycast receiver is the same as the anycast address of new anycast receiver. This stored ARDB entry is used when the metric is updated.If the selected anycast router does not have the ARDB entry of other anycast receivers and it de-tects the overload of selected anycast receiver by using threshold exceeding message as follows,the anycast router will send a large number of message to discover other anycast receivers.Moreover,if the anycast router receives this message,it also does not know other anycast receiver.Then,each anycast router sends the reply message respectively.It consumes much of traffic.Therefore,each anycast router stores the receiving entry in the ARDB if the metric is more than the value of the attached anycast receiver’s metric.Basically,all requests from the client are forwarded to the anycast receiver with the lowest metric(called the selected anycast receiver).If the condition of the selected anycast receiver changes,the metric of the receiver changes.When the selected anycast receiver does not have the lowest metric,another anycast re-ceiver(called alternate anycast receiver)is selected as a new selected anycast receiver.To discover the alternate anycast receiver,the se-lected anycast router picks out an entry with the low-est metric among all entries in the ARDB except for the current selected anycast receiver.Then,the fol-7Figure 4:Basic Operation of Advertising Receiver Metriclowing process is done to update the routing entry (See Figure 5).1.The selected anycast receiver sends a threshold exceeding message when the metric value exceeds the threshold.2.When the selected anycast router receives the threshold exceeding message,it lookups the en-tries which has the minimum metric for the any-cast address specified in the threshold exceeding message.Then,it selects an alternate anycast receiver ,and finds the alternate anycast router in the ARDB.3.After finding the alternate anycast receiver ,the selected anycast router sends a change request message to the alternate anycast router .The al-ternate anycast router is identified by the unicast address of anycast router stored in the ARDB.4.After receiving the change request message,the alternate anycast router sends a routing update message to all anycast routers by using flooding.5.Then,each anycast router updates its routing ta-ble when it receives the routing update message.The selected anycast router can recognizethatFigure 5:Route Update of Advertising Receiver Metricthe alternate anycast router changes its rout-ing information based on the change route re-quest.If the selected anycast router cannot re-ceive a routing update message,it wonders that the change request message might be dropped.The selected anycast router remove the entry which has the minimum metric for the anycast address in the ARDB,and back to Step 2.We designed this mechanism assuming that the se-lected anycast receiver would change according to the condition of anycast receivers.In unicast routing,packets during transitions in the routing path may be dropped,but it does not occur frequently.How-ever,with anycasting,because route changes occur more frequently than with unicasting,the frequency of dropping packets in anycasting is relatively higher than the case of unicasting.Consequently,more fail–safe mechanisms are needed to prevent anycast pack-ets from being dropped because of route changes.With our design,the anycast router which sent the change request message confirms that the selected anycast receiver is replaced by the alternate anycastreceiver by receiving the routing update message.Fora more complete fail–safe mechanism,we introduced following procedure.•During route changes,the routing information for all anycast routers is unstable.Some anycast routers have changed to the new route while oth-ers have not done yet.Because the new route in-8formation is distributed from the alternate any-cast router,anycast packets may be forwarded to either the selected anycast receiver or the alter-nate anycast receiver.Since the routing update message is transferred from the alternate any-cast router,the anycast routers near the alter-nate anycast router can update the routing ta-ble early.However,anycast routers far from the alternate anycast router may forward the any-cast packet to the selected anycast receiver.In that case,the selected anycast router redirects the anycast packet toward the alternate anycast router.This prevents packets from dropping.This mechanism is also useful when anycast re-ceivers fail.If a selected anycast receiver sud-denly goes down without sending a threshold ex-ceeding message and the attached anycast router detects this,the router attached to the selected anycast receiver sends a change request message to the router attached to the alternate anycast receiver.Additionally,during route changes,it redirects anycast packets toward the alternate anycast receiver.3.2.2Supporting Link MetricThe ARIP and the AOSPF use different mechanism to collect the link metric.In what follows,we describe these mechanisms separately.ARIPFigure6has an example of constructing/updatinga routing table with ARIP.ARIP works as follows.1.Notify the membership information by exchanging ARD query/report All anycast re-ceivers send the ARD report indicating their mem-bership information(i.e.,anycast address)in re-sponse to the ARD query the anycast router sent periodically.If the anycast receiver cannot receive the ARD query,they can send the unsolicited ARD query at certain interval(e.g.,every30seconds).The periodical update by the anycast router is triggered by the ARD report from the anycast receiver.2.Send the ARI message After receiving the ARD report,the anycast router creates an Any-cast Route Information(ARI)message which con-sists of at least(anycast address,metric)pair.Then, the anycast router sends it to the adjacent anycast routers.When the anycast router sends the ARI message to adjacent anycast routers,it overwrites the metric of ARI message by adding the link metric as-sociated with the output interface.This is because that the link metric in the direction from the anycast receiver is more important.The anycast receiver acts as a server,then much data will be transferred from the anycast receiver to the clients.3.Receive the ARI message and update the routing table and/or Blocking list When an anycast router receives the ARI message,the anycast routerfirst checks whether the anycast address of the ARI message has already been stored in the routing table.If the anycast address is not in the routing table on the anycast router,the anycast router regis-ters the anycast address into the routing table.Then, the anycast router overwrites the metric of ARI mes-sage and forwards it to the adjacent anycast routers except in the direction of its source.Otherwise,it compares the metric of the ARI message with the metric of existing routing entry.After receiving the entry of ARI message,the any-cast router lookups the routing entry for the anycast address specified in the ARI message,and compares the metric in the ARI message with the metric in the matched routing entry.If the metric in the ARI mes-sage is smaller than the metric in the routing entry, the anycast router replaces the metric to the smaller one.Then,the anycast router forwards the entry to all the adjacent anycast routers except the router from which the ARI message arrives.When the any-cast router sends the ARI message to adjacent any-cast routers,it overwrites the metric of ARI message by adding the link metric associated with the output interface.By propagating the ARI message hop-by-hop basis,all anycast routers can obtain the mini-mum value of the metric and its forwarding direction. Then,all the packets sent to the anycast address are transferred to the selected anycast receiver.9。