Download as pdf or txt
Download as pdf or txt
You are on page 1of 53

Network routing algorithms protocols

and architectures Second Edition.


Edition Medhi
Visit to download the full and correct content document:
https://textbookfull.com/product/network-routing-algorithms-protocols-and-architecture
s-second-edition-edition-medhi/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Network Routing 2018 Mehdi Ramasamy 9780128007372 2nd


Edition Karthik Ramasamy Deep Medhi

https://textbookfull.com/product/network-routing-2018-mehdi-
ramasamy-9780128007372-2nd-edition-karthik-ramasamy-deep-medhi/

Campus Network Architectures and Technologies 1st


Edition Ningguo Shen

https://textbookfull.com/product/campus-network-architectures-
and-technologies-1st-edition-ningguo-shen/

Network Flow Algorithms 1st Edition Williamson

https://textbookfull.com/product/network-flow-algorithms-1st-
edition-williamson/

Flexible Network Architectures Security : Principles


and Issues First Edition Rudra

https://textbookfull.com/product/flexible-network-architectures-
security-principles-and-issues-first-edition-rudra/
Sustainable Wireless Network-On-chip Architectures 1st
Edition Murray

https://textbookfull.com/product/sustainable-wireless-network-on-
chip-architectures-1st-edition-murray/

Clustering and Routing Algorithms for Wireless Sensor


Networks Energy Efficiency Approaches 1st Edition
Pratyay Kuila

https://textbookfull.com/product/clustering-and-routing-
algorithms-for-wireless-sensor-networks-energy-efficiency-
approaches-1st-edition-pratyay-kuila/

Number Systems for Deep Neural Network Architectures


1st Edition Alsuhli

https://textbookfull.com/product/number-systems-for-deep-neural-
network-architectures-1st-edition-alsuhli/

Enterprise Wireless Local Area Network Architectures


and Technologies 1st Edition Rihai Wu

https://textbookfull.com/product/enterprise-wireless-local-area-
network-architectures-and-technologies-1st-edition-rihai-wu/

Enhanced Living Environments Algorithms Architectures


Platforms and Systems Ivan Ganchev

https://textbookfull.com/product/enhanced-living-environments-
algorithms-architectures-platforms-and-systems-ivan-ganchev/
Network Routing
Algorithms, Protocols, and
Architectures

Second Edition
Network Routing
Algorithms, Protocols, and
Architectures

Second Edition

Deep Medhi

Karthik Ramasamy
Morgan Kaufmann is an imprint of Elsevier
50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States
Copyright © 2018 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including
photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on
how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as
the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted
herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes
in research methods, professional practices, or medical treatment may become necessary.
Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information,
methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety
and the safety of others, including parties for whom they have a professional responsibility.
To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or
damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods,
products, instructions, or ideas contained in the material herein.

Library of Congress Cataloging-in-Publication Data


A catalog record for this book is available from the Library of Congress

British Library Cataloguing-in-Publication Data


A catalogue record for this book is available from the British Library

ISBN: 978-0-12-800737-2

For information on all Morgan Kaufmann publications


visit our website at https://www.elsevier.com/books-and-journals

Publishing Director: Jonathan Simpson


Acquisition Editor: Brian Romer
Editorial Project Manager: Ana Claudia A. Garcia
Production Project Manager: Punithavathy Govindaradjane
Designer: Mark Rogers
Typeset by VTeX
To Karen: the distance cost is now infinite and yet does not feel so
To Deuta: the man who new infinity, probabilistically
To Maa: who has the indefinable ability to see infinity
To Neiloy & Robby: there are infinite paths – take the one you like
— Deep/Debu/Dad

To my wife, Monika, with love


— Karthik
CONTENTS

Foreword (1st Edition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . xxv


Preface (2nd Edition) ........................................................... xxvii
Preface (1st Edition) . . . . . . . . . . . . . . . . . . . . . xxix
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

About the Authors . . . . . . . . . . .. . . . ... . . . ... . . . . . . . . . . . . . . . . . . . .. . . . ... . . . .. . . . .. xxxv


.

PART 1 ROUTING: BASICS ANO FOUNDATIONS


CHAPTER 1 Networking and Network Routing: An Introduction . . . . . . . • . . . . . . . . . . . . . . . 2
1.1 Addressing and Internet Service: An Over vie w . . . . . . . " . . . . . . . • . . • • . . . . . . . . 4
1.2 Network Routing: An Overview . . . . . . . . • • . . . , . • • . . . • . . 5
1.3 IPv4 Addressing ................................. .. .... .. . . 7
1.3.1 Classful IPv4 Addressing Scheme ... . . . . . . . . .. . . . . . . . . . . 8
l.3.2 SubnettinglNetmask in IPv4 ................................ 9
1.3.3 Classless Inter-Domain Routi ng (CIDR) ........ . lO
1.4 IPv6 Addressing . . . . . . . . . .. . . . . _ _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II
1.5 On Architectures . . . .. . . . . . . . .... .
. . . . . . . . . . .. 1 I
1.6 Service .Ar chitecture . . . . . . . . . . . . . • • . . . . . . . . , . • . . . • . . . . . . • . . . • . . . . . . . J2
1.7 Protocol Stack Architecture . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . • . . . • • . . . . . • . 14
1.7.1 as I Reference Model. ...... . . . ... .. ... . ... . .. .. . . ... .
. . . . . . . . . . J4
1.7.2 IP Protocol Stack Architecture . . . . . . . . . . • . . . . J5
1.8 Router Architecture. . . . . . . . . . . .. . . . .. .. ... ... . .. .. . .
. . . . . .. . .. 20
1. 9 Network Topology Architecture ... .. . . . .. .... . .. . . ..
. . . . 21
1.10 Network Manageme nt A rc hitectur e . . . . . . . . • . . . . 22
1.11 Global Telephone Network......... . . . ..... .... . . . ...... . ... . . . . . . 22
1.12 Communication Technolog i es . . . . . . . . . . . . . . . . . . . . . • • . . . . . . • . . . . . . . . . • . 24
1.13 Standards Committees . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . • . . . • . . . . . . • . . 25
1.\3.1 Internet
Engineering Task Force . . . . . . . . . . . . . • . . . . . . . . . . . . 26
1.13.2 fn ternational Telecommunication Union . . . . . . • • . . . , . . . . . . . . . . 26
1.14 Last Two Bits... . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . .. . . .. . 27
1.14.1 Type.Length. Value (TLV) . . . . . . . . .. . . . .. . . . ... . 27
1.14.2 Network Protocol A nalyzer . . . . . . . .. . . .. . . . .... . .. ... . . ... .. 27
1 . 1 5 Summary 28
Further Lookup . . . .. . . . ... . . . . .... . . .. . . . . ..... . . . . . . . . . ... .. . . . . . . 28
Exer ci ses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

CHAPTER 2 Routing Algorithms: Shortest Path, Widest Path, and Spanning Tree ........ 30
2.1 B ackg round . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Bellman-Ford Algorith m and the Di sta nce Vector A ppro ach . ..... . . . .... . . . 33
2.2.1 Centralized View: Bellman-Ford Algorithm . . . . . . . . . . . . . . • • . . 33
2.2 .2 Di stri buted View: A Distance Vector Approach . . . . . . . . . . . • . . . . . . . . . 36

vii
....�
.. --------------------------------------------
VIII CONTENTS

2.3 Dijks tra's Algorithm . . . . . . . . . . . . . . . . . • . . . . . . • . . . • . . . . . . . . . . . . . . . . 38


2.3.1 Centralized Approach..................................... . 38
2.3.2 Distributed Approach . . . .. . . . .... . . . . .. . . . . . . . . . . ... . . . . . . . 40
2.4 Compariso n of the Bellman-Ford Algorithm and Dijkstra's Algorithm. . . . • . . . 4J
2.5 Shortest Path Computation with Candidate Path Caching . . . . . . . . . . . _ _ . 43
2.6 Widest Path Computation with Candidate Path Caching . . . . . _ . .. . . .. 45
2.7 Widest Path Algorithm .... . .. . . . . . . . .. . . .... .. .. . .... . . . ... . 47
2. 7.1 Dijkstra-Based Approach.. . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . 47
2. 7 . 2 Distance Vector-Based Approa ch ...... . . . ... .. . . . 49
2.8 Shortest Widest Path and Widest Shortest Path ..... ... . . ....... . . 49
2.9 Tree, Spanning Tree, and Steiner Tree A lgorithms . . . ...... . . . 49
2. 9.1 Spanning Tree: B r ea dth First Search and Depth First Search ...... .... 50
2. 9.2 Minimum S panning Tree . . . . . . . ..... . . .. . . ..... . . . . . . . . ..... . . 53
2. 9.3 Steiner Tree ... . . ..... . . . . . . . ...... . . .. . . .. . . . . .. 55
2.10 k-Shortest Paths Algorithm . . . . . .... . .... . . . . . . . . . . .....
. . . . . . . • 57
2.11 Summary . .. . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .... . . . . . . . . .. 59
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • .. . . 60
Exercises . . . . . . . . . . . . . . 61

CHAPTER 3 Routing Protocols: Framework and Principles 64


3.1 Routing Protocol, Routing Algori thm, and Routing Table . . . . . . . . • . . . . . . • . . . 65
3.2 Routing Information Representation and Protocol Messages, , . . . . . ... , , , , .. . 68
3.3 Distance Vector Routing Protocol . . . . . . . . . . _ . . . . . . _ . . . • • . . . . . • • _ . 69
3.3.1 Conceptual Framework and lllustration . . . . . . . . . . . . . _ _ . . . 69
3.3.2 Why Timers Matter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.3 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.4 Can We Avoid Loops? ......................................... . 8J
3.3.5 Distance Vector Protocol based on Diffuslng Computation with
Coordinated Updates (DUAL) . .... . . . . . . .. . . .. . . . . . . . . . . . ...... . 82
3. 3 . 6 B abe l Routing Protocol . . . . . . . . . . . . . . . . . . . . 89
3.4 Link State Routing Protocol.. . . . . . . . .... . . . . . . . .. . . . . . . . . . . ...... . 90
3.4.1 Link State Protocol: In-Band Hop-by-Hop Dissemination ............ . 91
3.4. 2 Link State Protocol: In-Band Based on End-to-End Session . . . . . . .. .. . 98
3. 4.3 Route Computation. .. . . . . .. . . . . . . . . .. . . . . . . . 99
3.5 Path Vector Routing Prot ocol . . . . . . . . . . . . . . . . . • . . • . . . . • . . . . . JOO
3.5.1 Basic Principle . . . . . . . . . . . . . . . . . . . . . . • . . . • . . . . . . . . . . • . . . JOl
3.5.2 Path Vec tor with Path Caching . . . . . . . . . . . . . . . . . . . . . . . . . . J03
3.6 Link C ost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . 108
3.6.1 ARPANET R ou tin g Metrics . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . • . . . 108
3.6.2 Other Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . 110
3.7 Threats to Routj ng Protocols . . . . . . . . . • . . . . . . . • . . . . . . . . . . • . . . • . . . . . . . . . . IlD
38 . Sum.mary . . . . . . . . . . . . . . • . . . . . . • . . . • . . . . . . . . . . • • . . . . . • . . . III
Further Looku p . . . . . . . . . • . . . . . . . • . . . • . . . . . . • . . • • . . . . . . . . . . • . . . . 112
Exercises .. 112
-------------------------------------------- � ......
CONTENTS IX

CHAPTER 4 Network Flow Models. . . . . . . . . . . . . . . . . • . • . . . . . . • . . . • . . . .. . . . .. . . . .. 114


4.1 Terminologies . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • • . . . . . • • . . • .I 15
. . • . . • . .

4.2 Single-Commodity Network Flow. . .. .. . . . .. . .


. .. . . . . . . .. ..
. .. .. . . . . .. .. 116
4.2.1 A Three-Node Illustration . ... .. . .. . .. . . . . .. ... . . .. . . .... 116
4.2.2 Formal Description and Minimum Cost Routin
g Objective . _ 1 17
4.2. 3 Variat
ion in Objective: Load Balancing . .. . . . . .. . . 120
4.2.4 Variat
ion in Objective: Average Delay. . . . . . . . .. . . . ... . . 122
4.2.5 Summary and Applicability. . . . .... . ..
. 123
4.3 Multicommodity Network Flow: Three-Node Example........... .... 124
4.3.1 MinimuJU Cost Routing: Illustration.. .. . . . . .. . .... .. . . .. .. 124
4.3.2 Load Balancing: Illustration ........ .. .. ....... ..... ...... .. . 130
4.3.3 Minimulll Average Delay: Illustration ............ ... . ... .. ..... 1 33
4.4 Multicommodity Network Flow: Gen eral Lin k-Path Formulation. . . . . . . . . . • .
. ] 36
4.4.1 Background on Notation . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . • . . 137
4.4.2 Minimum Cost Routing: Gen eral Link-Path Fonnu]atlon . . . . , , . . . . . .. 139
4.4. 3 Load Balancing: Link-Path Formulation . . . . . . . . . . . . . . . . . . • . . • . . . . . 141
4.4.4 Minimum Average Delay: Link-Path Formulation. . . . . . . . . • . . . .
. . • . . 142
4.4. 5 How Man y Nonzero Flows at O ptima l ity? ... . . ..... . . ..... . 143
4.5 Multicomillodity Network Flow Problem: Non-Splittablc Flow . . . . . . . . . . . • . . 145
4.6 Node-Link Formulation.. . . . .. . ..... . . .. . ... ..... . . . . . . .. ..... 147
4.6.1 Minimum Cost Single-Commodity Network Flow Problem ... 147
4.6.2 Minimum Cost Multicommodity Network Flow Problem.. .. 150
4.6.3 Load Balan cing Multicommodity Network Flow Problem .... 151
4.6.4 Shottest Path Routing. .... .. . . . ... . . . . ... .. . 15 2
4.6.5 Shortest Path Tree. ... .. .. ...... ...... .. . . ... .. .. ... .. 153
4.7 Gene rating Traffic Matrix.. . . .. . . . ............ . . .... ... .. .. .. .. 153
4.8 Summary . . . . . . . . . . . . . . . • . . . . . • .
• . . . . . . . .
• 154
Further Lookup . . . . . . . . . . . • . . . . . . • . . . . . . . . . . . . . . • . . . .. . .
. . . .... ....
• 154
Exe rcises ....... . , .
. .
. . ISS

PART 2 INTERNET ROUTING


CHAPTER 5 IP Routing and Distance Vector Protocol Family. . . . . . . . . . . .... . . . .. . . ... 160
5.1 Routers, Networks, and Routing [nfonnation: Some Basics. . ... . . . ... . . .. . .. ]61
5.1.1 Routing Tab l e. . . . . .. . . . . . . . . . . . . ... . . . . . . . . . . ... . . . . ... . . ]61
5.1.2 Communication of Routing Informatjon . ... . . .. 1 64
5.2 Static Routes .... .. . . .. . ... . . ... . ... ..... ... . 164
5.3 Routing lnformato
i n Protocol, Version I (RIPv I). . . ... . .... .. . . 165
5.3.1 Communication and Message Format....... ....... .......... 165
5.3.2 Gen eraIOperation .................... ............... ......... 167
5.3.3 [s RIPvl Good to Use? . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . 168
5.4 Routing Information Protocol. Version 2 (RIPv2) . . . . . . . . . • . . . . . . . . . . • .. ..
. 168
5.5 Interior Gateway Routing Protocol (IGRP) . . . . . . . . . . • . . . . . . . . . . • . . . . . . • . . 171
5.5.1 PacketFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . . • . . • . . . . . . • . . 171
....�
.. --------------------------------------------
X CONTENTS

5.5.2 Computing Composite Metric. .... ............ ... . ......... . ..... 172
5.6 Enhanced Interior Gateway Routing Protocol (EIGRP) . .. . . . ... .... . .. . . . .. 175
5.6.1 Packet Format.. . . .. . . .. . . .... . . . . . . ... .... . . . ... . .. ... . . . . .. .. 175
5.7 Route Redistribution 177
5.8 Summary .. . 179
Further Loo kup . . . . . . . . . 181
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . 182

CHAPTER 6 OSPF and Integrated IS-IS . . .. . . . ... . . . . . . .. . . . .. . . . . . . . .. . . ... . . . .. 184


6.1 From a Protocol Family to an Instance of a Protocol 185
6.2 OSPF: Protocol Features . . . . . . . ..
. . . . . . .. . . . ... . . . 186
6.2.1 Network Hierarchy ..................................... . 186
6.2.2 Router Classification ......... .. ....... .... . . . . ..... 186
6.2.3 Network Types .......................................... 187
6.2.4 Flooding.. .... . . .. ... ... . .. .. .. .. ... . 188
6.2.5 Link State Advertisement (LSA) Types ..................... . 189
6.2.6 Sub-Protocols ................................................. 189
6.2.7 Ro uting Comp u tation and Equal-Cost MuJtipa t h .................... 190
6.2.8 A dditional Feat ures . . . .. ... .... . . . . ... .. ... . . . . . ..... .... . . . ... 194
6.3 MuJtitopo1ogy Routing In OSPF . .. . ..... .. ...... . ........... .. ..... .. .. 195
6.4 OSPF Packet Format. . . .. . . ...... . . . .. .. ..... . . . . . ... ... . .. 195
6.5 Examples of Router LSA and Network LSA . . . . . . .. 202
6.6 Integrated IS-IS. . . ..... . . .... . . .. . . ... .... . . 203
6.6.1 Key Features. . . .. . .. .... .. .... .. .. .. ... .. .. .. .. . . 204
6.7 Similarities and Differences Between IS-[S and OSPF 207
6.8 OSPFv3 an d IS-IS for IPv6 . . .. . ...... .. . . . .. ..... .. . . . .... .. . 209
6.9 Additiona l Extenso
i ns to OSPF and IS-IS. . . . . . • . . . . . . . . . . . . . . • . . . ..... .. 210
6.10 Summary .. ............ ........... .. .......... ... ... 2 11
Further Lo ok up .. . . . ... . ... . . . . . . .... ... . . .. . . ... . . . . .... . . .. . . . ..... 211
Exercises .. 2 12

CHAPTER 7 IP Traffic Engineering. ............................. .... ............ 214


7.1 Traffic, Stochast icity, De l ay, and Utilization .............................. 215
7.1.1 What Is IP Network Traffic? . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 2'15
7.1.2 Traffic and Performance Measures ... . ... . . .. . ... . .... ... . . . . ..... 216
7.1.3 Characterizing Traffic. . . . .... .. . ... . ..... ... . .......... . .. ...... 216
7.1.4 Average Delay in a Single Link System. ......... ............. . . ... 217
7.1.5 Nonstationarity of Traffic. .. .... . . . .. ... .... . . .. ..... .... . 2J 9
7.2 Applications' View . . . . . . . . . . ... . . 220
7.2.1 TCP Throughput and Possible Bottlenecks. . . . . .. . . ...... 220
7.2.2 Bandwidth-Delay Product . . . . .. .... . . . ... ........ . 221
7.2.3 Router Buffer Size . .. .... .. ........ .. .. .... 222
7.3 Tra ffic Engine erin g: An Architectural Framework 222
7 .4 Traffic Engineer i ng; A Four-Node Illustration. ... .. . ..... . . .. .. . ...... . .. 224 .

7.4.1 Network Flow Optimization ..................................... 224


-------------------------------------------- � ......
CONTENTS XI

7.4.2 Shortest Path Routing and Network Flow ........... . 226


7.5 IGP Metric (Link Weight) Determination Problem for the Load Balan cing
Objective: Pre li minary Di sc ussion _ _ . . . . . . . . . . _ _ _ . . . . . . . . . . _ _ _ _ . 231
7.6 Det ermining IGP Link Weigh ts via Duality of MCNF Problems ... . 233
7.6. 1 TIIustration of Duality Through a Thre e-Node Network for Minimu m
Cost Routing .... . _ . ..... . .. . . . . ... .. .. . . . .. .... . . . 233
7.6.2 Minimum Cost Routing, Duality. and Link Weights . . . . . . . . . 235
7.6.3 m ustrati on of D ual i ty Through a Three-Node Network for the Load
B alan cing Obje ctive . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 239
7.6.4 Load Balancing Prob lem, Duality, and Link Weights . . . . . . . . . 240
7.6.5 A Composite Objective Function, Duality, and Link Wei gh ts . 242
7.6.6 Minim.izatjon of Aver age Delay, D u ali t y, and Link We igh t s .. 243
7.7 Illustration of Link Wejght Determination Through Duality 247
7.7.1 Case Study: I .......................................... . 247
7.7.2 Case Study: 11 . . . . . . . . . . . . . . . . . . . . . . • . . 2 52
7.8 Link Weight Detennlnation: Large Networks . . . . . . . . . . . . . • . . . . • . . 253
7.9 IP Traffic Engineering of PoP-ta-Datacenter Networks . . . . . . . . _ _ 256
7 . 1 0 Sumn1ary . .. . . , . , . . . . . , . . , . . , . . . . . . , , , , , , , . . . . . , , , , , , , • . . . • , , . , , , . , . 25 6
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Exercises . . . . , ' , . . . . . . . . • . " . , . . • . . . . . . . ' , . • . . . • . . . . . . • . . . • ' , . . . . . . . 257

CHAPTER 8 Multicast Routing _ . . . . _ . . . _ _ . . . . _ _ . . . . . . . . . . . . • . _ . • . . _ _ . . . _ _ . . . . _ _ 260


8. 1 Multicast [P Addressi ng . . . . . . . _ . _ . . . . . . . . . . . . .. 261
8.2 Internet Group Managem ent Protocol (IGMP) . .. _ . . . . . . . . . . • . 266
8.3 Multicast Listener Discovery Protocol (MLD) . . . . . . . . . • . . . . . . . . 267
8.4 Reverse Path Forwarding (RPF) . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . • . . . . . . . . 268
8.5 Dista nc e Vector Multicast Routing Protocol (DVMRP) . . . . . . . . . . . • . . . . . . . . . 269
8.6 Mult icast OS PF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . • • . . . . . . 270
8.7 Core Based Trees.................................................. . 273
8.8 Protocol Independent Multicast (P[M) . . ... . . . . . . • . 274
8.8.1 PIM-Dense Mode . . .. .. . .. . . . . .. .. . .. . . . .. . . ... .. .. . . .. 275
8.8.2 PIM-Sparse Mode .................................... . 277
8.8.3 SeJectjng and Ad vertis in g Rendezvous Point for PIM Sparse Mode 279
8.8.4 Source Specific Multicast . .. . . . ... . . . . . . . . . . . . 280
8.9 Inter-Domain Multicast Routing .......................... . 280
8.9.1 Border Gateway Multicast Protocol (BGMP) .. 280
8.9.2 Multiprotocol Extension of BGP and a Composite Approach ... 2Sl
8. 1 0 Internet Protocol Television (IPTV) Multicasting.... . . . . . . . ...... . . 283
8 . 1 1 Summar y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . .. 284
Further Lookup . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . • . . . • . . . . . . . .. 284
Exerci ses . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . • . 285

CHAPTER 9 BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . • . . . . . . . . . . • . . . . . . . . . . . . . . . 286


9.1 BGP: A Brief Over v iew . . . . . . . • . . . • . . . . . . . . . . . . . . • . . . . . . • . . . . • . . .. . ... 287
9 2 . 8GP: B as ic Terminology . . . . . . • . . . • . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . . .. 290
....�
.. --------------------------------------------
XII CONTENTS

9.3 BOP Operations.................................................... . 291 .

9.3.1 Message Op erations . .. ..


. . . . .. . . . . . ... . . . . . . . . . . .... . . . . . . . . . . . 291
9.3.2 BOP Timers .................................................. . 292
9.4 BGP Configur3tjon Initialization ....................................... . 293
9.5 Two Face s of BOP: External BOP (eBOP) and Internal BOP (iBOP) ......... . 295
9.6 Path Attributes... ... .... ..... . .. .... ..... . . .. .... .... .. 298
.

9.7 BGP Dec ision Process _ _ . . . . . . . . . . _ _ _ . . . . . . . . . . . .


. 302
9.7.1 BOP Path Selection Process 302
9.7.2 Roule Aggregation and Dissemination .. .... .. ... .. . ..... . . . 304
9.7.3 Recap. .. ... .... ... .. . .... . .. ... .. ...... .. ... . ..... 305
9.8 Internal BOP Sca labi lity ... .. ... .... ... ... .. .... ..... .. . ........ 306
9.8.1 Route R efle cti o n A ppr oach . .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
9.8.2 Confederation Ap proac h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . 309
9.9 Route Flap Damping . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . 311
9.10 BOP Additional Features and Extensions........................... . 3'13
9.10.1 Communities................................................. . 3'13
9.10.2 BOP 4-byte Autonomous Systems Number Space ............ . 314
9.10.3 BOP Mulliprotocol Extension (MP-BOP) ......................... . 314
9.10.4 BOPforIPv6................................................. . 314
9.10.5 BOP/MPLS .. . . . . .. ...... . . .. . ... .. . . .. . . ..... . . .
. . 314
9.11 BOP Vulnerabilities ..... . .. ... .. 316
9.12 Securing BOP ... . . . .......... ... ......... .... . 317
9.12.1 Secure BOP (S-BOP) .... .. .......... .. . . . .. .... ...
. 317
9.12.2 Secure Origin BGP (soBGP). 318
9.12.3 Resource Public Key Infrastructure (RPKI) Architecture 318
9.13 Fi nit e State Machine of A BGP Connection. ... . . . . . .... . . .... . . 320
9.14 BGP4 Protocol Message Fonna t .. . . . . ........ . . . .......... . . ..... 324
9.14.1 CommonHeader ...... ................... .. 324
9.14.2 Message Type: OPEN .................. . .. . . .. .. 324
9.14.3 Message Type: UPDATE. . . ... .. . .... . .. .... ... ..
. 326
9.14.4 Message Type: NOTIFICAT[ON ............................ 328
9.14.5 Message Type: KEEPALIVE .................................. . . 328
9.14.6 Message Type: ROUTE-REFRESH . . . . . . . . . • . . . . . . . . . . . . . . . 328
9.14.7 Path Attribute in UPDATE message .............................. . 330
9.1 5 Summary . .. . . ....... .... . ........ .... . ..... .. . ............ . . ...... 331
.

Further Lookup . .. ... . ... . . . ... .. . . .. .. . . ... . . . . ... ....... . . . . .. .. .. 332


.

Exercises . . . . . . . . . . . . . . . . . . . . . . 333
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CHAPTER 10 Routing in the Global Internet ...................................... , 334


10.1 Internet Routing Evolution................ .................... 335
10.2 Addressing and Routing: Illustrations. ... ........ ............ 337
10.2.1 Scenari o A: Routi ng a Packet (Same S ub net ) . . . . . . . . . . . . • . . . . . . . . . . 339
10.2.2 Scenari o B: Routing a Packet (Intra-Domain) . . . . . . . . . . . . . . . . . . . . . . . 340
10.2.3 Sc enari o C: Routing a Packet (lnter-Domain) . . . . . . . . • . . . • . . . . . . . . . . 343
-------------------------------------------- � ......
CONTENTS XIII

10.2.4 Scenario D: Ro uting a Packet (End-to-End R outing for Fix e dfMobi l e


Devices) . .... . . . ... ... .... . . .... . .... . ..... ...... . . ..
. . 345
10.3 Allocation ofIP Prefixes and AS N umbers....................... 34 8
10.4 Curren t Architectural View of the Internet....................... 349
10.4.1 Custo me rs and Providers. Peers and Tiers, and Internet Exchang e Points 350
10.4.2 An Illustration on Customer-Provider and Peers . . . . . . . . .. . . . ..... . . 353
10.4.3 A Representative Internet Connectivity . .. ....... .... 353
10.4.4 Customer Traffic Routing: A Geographic Perspective 356
10.5 Traffic En g ine erin g Implications . .. . . . . . .. . . . .. . . . . . . .. . . . . . . . . . . . .. . . . 358
10.6 Point of Presen ce (PoP) for Large (SPs .. .. . . . . .... .. . .... . . ... ... . ... . 359
10.7 Pohcy-Based Routing ........................................ 361
10.7.1 BGPWedgies . ....... ............. ....... ........ 363
10.8 IP Prefix Hijacking .. .. . . . . . . .. .. . . . . . ... . . . . . . . . . .. . . . 365
10.9 Detecting and Preventing (P Prefix Hijacking . .. ............ . . 368
10.10 Internet Routing Instability. . ... . .. .. . ... 369
10.11 Size and Growth of thelnternet R outing Architecture. . . . . . . . . .. . . 370
10.12 Addressi ng the Growth: LocatorflD Separation Protocol (LISP). .... 37 3
10.13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Further Look up ..................................................... 375
Exercises.. . . . . . .... . . . . . . . . . . . . . .. ..... . . .. . . .. . .. . . . . .... . . . ... . .. 37 6

CHAPTER 11 Routing and Traffic Engineering in Software Defined Networks. . . . .. . . . ... 378
11.1 Software Defined Networks: An Over view . . ... . ... . ... . ..... . . 379
11.2 OpenFlow .. .... . . .... . . . .. . . . . .... . . . . .. . . ..... .. . ... . .. . . . .. . . 382
11.3 Rou tin g D ecisi on s . . . . . . . . . . . . . _ _ . . . . . . . . . . _ _ _ . . . . • . _ _ . . . .
. 386
11.4 Traffic Engineering for Aggregated Flow Rou tin g. . . . . . . _ . .
. 388
J 1.4.1 Aggregation at Origin-Dest.ination Level .......................... 388
11.4.2 Traffic Engineering for Mul t iple Se rvices . . . ... ........ .... .... . 389
1 1.4.3 Traffic Engi neeri ng in the Presence of Flow Table Limits .......... 390
1.1.4.4 Remark: Using Optimization Models in Practice 392
11.5 Flow Management Approaches ..................................... . 392
11.6 Summary ...... ............ . ..... ........ .... ..... 394
Furrher Lookup .. ..... .. . . . . .... . . . . .. .. .. ..... 394
Exercises. . ...... ....... . 394

CHAPTER 12 Routing and Traffic Engineering in Data Center Networks . .. ............. 396
12.1 Cloud Services and Data Center Applications 397
12.2 Data Center Network: A Simple Illustration.. 39 8
12.3 Data Center Network: RoutingfForwarding Requirements . . ..... . .. 400
12.4 Fat-Tree Data Center Topology ......................... . 401
12.4.1 Addressi ng...... ...... ... ... . ...... ... ... ............. .. 402
12.4.2 Routing Table ... . . . .... . ... .. .... ... ... 404
12.4.3 Routing Paths ........................................ 40 5
12.5 Portland Approach for the Fat-Tree To pology . . . . . . . . . . . . . . .. . . . . . . . . . . . 405
12.6 Multipath Ro ut ing and Traffic Engine ering for Fat-Tree Topology . . . . . . . . . . . 40 7
....�
.. --------------------------------------------
XIV CONTENTS

12.7 BCube ................................................... . 409


12.7.1 RoutiJlgPaths .... . .............. ............. ......... 411
12.7.2 Rou ting ProtocoL . . . . . . . . . . . . .. . . . . .
. . . . . . . . . . . .. .
. . . . . . . . . . . .. 412
12.8 M ult ip a th Rou ting and Traffic Engineering for BCube Architecture. . . . . . . . .. 412
12.9 Border Ga te way ProtocoL (BGP) in Ultra Large Data Center Ne two rks . 413
12.9.1 5 -stage CLos Topology and eBGP for Rou tin g.. .............. ...... 414
12.10 Software-Defined Network.ing for Data Center Networks. . ... . . . . . . . . . .... 417 .

12.11 Convergence Time and Performance . . . . . . . . . . . . . . . . . . . . . . . . . • • . . • . . . . . . 4 19


12.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . 420
Further Lookup . . . . • . . . • . . . . . . . • . . • . . . . . . • • . . • • . . . . . . • . . . • . . . . . . 420
Exercises _ . 4 21

PART 3 ROUTER ARCHITECTURE & DESIGN


CHAPTER 13 Router Architectures. . . . . . . . . . . . . . . . . . . . . . . • . .. . . . . .. . ... ..... .... 424
13.1 Functions of a Router . . . . . . , . . . . . . . . , . . . , . . • . . . • . . . . , , . . . . • . . . . . . 425
13. '1.1 Basic Forwar ding Functions . _ _ . . . . . . . • . . . • . . . . . . . . . . • • . . 426
] 3.1.2 Complex FOlwardjng Functions . . . . . . . . . . .
. . 426
13.1.3 Rou ting Proce<s Functions. .. . . .
. . . . .. . . ...
. . . . 42 7
13.1.4 Routing TabLe Versus Forwarding Table . . .. . . . . . . . . . . . _ . _ . . . 428
13.1.5 Performance Indicator of Routers . . . . . . . . . . .. . 428
13.2 Types of Routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . 429
13.3 E1elnents of a Router . . . . . . , . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . • . . . • . . .. . . . 430
13.4 Packet FLow .............................................. . 433
13.4.1 Jngress Packet Processing . . . ,.,', .. ,. . . ., . . ,.,',. ," , . .,. 434
13.4.2 Egress Packet Processing. . . . . . . . . . . .. . .
. . . ... . .
. . . . 435
13.5 Packet Processing: Fast Path Versus Slow P ath . . . . _ . . . . . . . . . . . . . 435
13.5.1 Fas t Path Functions. .... ... ............ . 43 7
13.5.2 SLow Path Operations.................................. . 43 9
13.6 Rou ter A rchi tec tures . . . . , . . . ... . . , . . , . . . . . .. . , . . ., . . . .., . . . . . . . , . .. , , 4 41
13.6.1 Shared CPU Architectures............................... . 441
13.6.2 Shared Forwarding E ngine Architecture . . . . . . . . . . . . . . . • . . . • . . • . . . 444
13.6.3 Shared Nothing Architectures. . . . . . . • . . . . . . . . . _ • • . . 447
] 3.6.4 Clustered Architectures . . . . ... . . . . . . . • . . .
. . . . . .
. . . . 4 49
13.7 Summary . . . . . . . . ....... . . ... . . .... . ...
. . . . 450
Further Lookup . . . . . . . . . . . . . . . . • . . . . . . . . . . • _ . . . . . . . . . . . . . • _ . . . 451
Exercises . . 451

CHAPTER 14 IP Address Lookup Algorithms.. . . . . . . . . . . . . . • . • . . . . . .. . ... ..... .... 454


14.1 Impact of Addressing On Lookup. . . . . . .... . . . . . . . . . . ... . .. 455
14.1.1 Address Aggregation . ..... ...... .. ..... .... ............. 457
14.2 Longest Prefix Matching. ..... ... .............. .. . 458
14.2.1 Trends, Observations, and Requirements . . . . _ . . . . . . . . . . • _ . . . 459
14.3 NaIve Algorithms . . . . . . . . . . . . . . . . . . . . . . . • . . . . . .
. . . . • . 460
14.4 Binary Tries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . . . . . . • . . . • . . . . . . . . . . 461
-------------------------------------------- � ......
CONTENTS XV

14.4.1 Search and Update Operations . . . . . . . . . . • . . . • . . . . . . • . . . • . . 462


14.4.2 Path Compression. ...... . ...... .............. ............. ... . 464
1 4.5 Multibit Tries .................................................. 465
14.5.1 Prefix Transformations. 466
14.5.2 Fixed Stride Multibit Trie 468
14.5.3 Search Algorithm . . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . . • . . • . . . . . . . 468
14.5.4 Update Algorithm . . . . . • . . . • . . . . . . . . . . . . . . • . . . • . . • . . . • • . . . . . . . . 469
14.5.5 Implementation................ . . . , . . . .... . . . . . . . . 471
14.5.6 Choice of Strides . . . . . . . . . .. . . . . . . . .. . . . . . . . . . . 471
14.5.7 Variable Stride Multibit Trie 472
1 4.6 Compressing Multibit Tries ..... . . . . . .. ... . . .. . . . . . .... .. .. . 472
14.6. 1 Level Compressed Tries . . . . • . . . . . . . . . . • . . . • . . . . . . . . . . • . . . . . . . . . 473
14.6.2 Lulea Compressed Tries . . . . • . . . • . . . . . . . . . . • . . . • . . • . . . . . . . . . . . . . 475
14.6.3 Tree Bitmap................................................. . 480
1 4.7 Search by Length Algorithms. . . . . . . . . . . . . . . . . . . . • . . . . . . . . 484
14.7.1 Linear Search on Prefix Lengths ........... .... . 48 5
14.7.2 Binary Search on Prefix Lengths............ . ...... . ...... . 485
1 4.8 Search by Value Approaches . . . . . . . . . . . . . . . . . . . . . • . . . . . . • • . . . • . . . . . . . . 48 7
14.8.'1 Prefix Range Search.. . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 487
1 4.9 Hardware A.lgorithl.ns . . . . . . . . , . . . . . . . . . . . , . . . . . . . . . . • . . . . . . . . , . . . . . . . 490
14.9.1 RAM-Based Lookup. . . . . . . . . . . . . • . . . . . . • • . . • • . . . 490
14.9.2 Ternary CAM-Based Lookup . .. .... . . . . . . . . . ..
. . . . 491
14.9.3 Multibit Tries in Hardware.. ... . . . . . . . ...... . . . ..... 494
14.9.4 Field-Programmable G ate Array (FPGA) . . . . • . . . • . .... . . . 495
1 4.10 Comparing Different Approaches. . . . . . . . . . . . . . . . . • . . . • . . . . . . • . . . . . . . .. 496
1 4.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • . . . . . . . . . 497
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . . . . 497
Exercises. _ _ . . . . . . . . . . . . . . . . . . _ _ ... . . . . . . . _ . . .. . . ... . _ . . . . . . . . . 498

CHAPTER 1 5 IP Packet Filtering and Classification . . . . . • . • . . . . • . • . • . . . . . . . . . . . . . . . 500


1 5.1 Importance of Packet Classification.................................... . 501
1 5.2 Packet Classification Problem . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • . . . . . . . . . 503
15.2.1 Expressing Rules....... ..... . 504
] 5.2.2 Performance Metrics . . . . . . .... . . . ... . ...... . . . . . . . .... .. . . 50 5
1 5.3 Packet Classification Algorithms 505
1 5.4 Nai've Solutions . .. ... . . . .. . . . . _ _ . . . . . . . . . . _ _ _ . 506
1 5.5 Two-Dimensional Solutions, .. , . . . . . . , . ,
. . . . . . . . . . . . . . . . . . . . . . . . . ,
. . . . 507
15.5.1 Hierarchical Tries: Trading Time for Space ..................... . 507
15.5.2 Set Pruning Tries: Trading Space for Time ... , . , . , , , , . . . . , , . , , , , , . 510
1 5.5.3 Grid-of-Tries: Best of Both Worlds...................... . 511
1 5.6 Approaches for d Dimensions ................................. 5 14
15.6.1 Geometric View of Classification: Thinking DifFerently 5 14
15.6.2 Characteristics of Real Life Classifiers - Thinking Practically 517
1 5.7 Extending Two-Dimensional Solutions.. . . . . . . . . . . . . . . . . . 5 18
15.7.1 Naive Extensions ......................... . . . . . . . . . . .. . . 518
....�
.. --------------------------------------------
XVI CONTENTS

I S.7. 2 Native Extensions . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . 5 19


15.8 Divide and Conquer Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . • . . . 520
l S .8.1 Lucent Bit Vector . . . . ........ . . . ........ . . . . ..... 522
I S .8.2 Aggregated Bit Vector (ABV) . . . ..... . . 524
15.8.3 Cross-Producting . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . 5 25
1 5 .8.4 Recu rsive Flow Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
15.9 Tuple Space Approaches . .. . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . 533
IS.9.1 Tuple Space Search.. . .. . .. ... .... ... . .... ....... .... . 534
IS.9.2 Tuple Space Pruning . . . . . . . . . . . . . . . . . . 535
15.10 Decision Tree Approaches . . . . . . . . . . . . . . . . . . . . . . ..... . 537
1 5 . 1 0 . 1 Hierarchical I ntel l ige nt Cuttings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
1 5 . 1 0.2 HyperCuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
15.11 Hardware-Based Solutions. . . . ..... . . ... . . . .... . . . ... . ...... . . . . .. ... . 542
1 5 . 1 1 . 1 Ternary Content Addressable Memory (TCAM) . . . . . . . . . . 542
15.12 Lessons Learned . . . ... . . .... . . .. . .. . .. . . . . . . . . 543
15.13 Summary . . . .. . ...... . ....... ...... ....... .... .... . ......... .... . 544
Further Lookup . . . . . . . . . . . . . . . . • . . . • . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . 545
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S46

CHAPTER 1 6 Switch Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . 548


16.1 Generic Switch Archilccture 549
16.2 Req ui relnents and Metrics . . . . . . . • . . . • . . • . . . • . . . . . . . . . . . . . . • . . . . . . . . . . 550
16.3 Shared Backp l ane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5S1
16.3. I Shared Bus . . . . . . .... . . 551
16.4 Switched Backp l ane . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . ..... ... . . . . .... 553
16.5 Shared Memory . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
16.5.1 Scal ing Memory Bandwidth . . . . . . . . . . . . . . . . . . . . .
. . . . . . 555
16.6 Crossbar . , , . . . . . . . . . . . . , . . . . . . . . . . . , . , . . . • . . . . . . . , , . . . . . • . . . . , , . . . . 556
1 6.6.1 Take-a-Ticket Scheduler . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 558
1 6.6.2 Factors That Limit Performance . .... . . . .... . ... .. . . ... 561
16.7 Head-of-Line (HOL) Blocking . ..... . . ... . . . .... . . .... . . ...... . . . 561
16.8 Output Queueing . . . . .. . . . . ... . . . . . ..... . 56 3
16.9 Virtual Output Queueing. .. . . . . . . . . . . . ... . . . 56 5
1 6.9.1 Maximum B i partite M atc hi ng . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6
16.9.2 Parallel Iterative M at ching . . . . . ... . . . .. . . . . .... . . .. . 568
1 6.9.3 iSLIP Scheduling . . . . . . . . . . . . ........ . .. . . . ... . 573
1 6.9.4 Priorities and Multicast in iSLIP . ........ 577
16.10 Input and Output Blocking. . ... . . . .. .. . . .... . . . .. 578
1 6 .11 Scaling Switches to a Large Number of Ports . . . . . . . . . . . . . . . . . . . . . . 579
16.12 Clos etworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
1 6. 1 2. 1 Complexity of Scheduling Algorithms . 583
1 6 .13 Torus Netw orks . . ... . . . .. . .. . .. . ...... .... . 585
16.1 3 . 1 Packaging Using Short Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
1 6 .14 Scaling Switches for High-Speed Links . . . . . . . . . . . . . . . . . . . . . . . . 589
16 14 1 Bit Slici ng
. . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . . . . . 59 0
-------------------------------------------- � ......
CONTENTS XVII

1 6 . 1 4.2 Time S lici ng . . . . . . . . . . . . • . . . • . . . . . . . . . . • . . . . . . • . . . • . . 591


1 6 . 1 4.3 Dis trib uted Scheduling , , , . • , , , . , ' ' ' , , . . . . . . . , . , . . . . . . . . , ' ' ' ' ' ' 592
1 6 . 1 5 Concl usions . " " " , . . • ' , . . . . . ' , . . . . , ' , . , . . " . . . • . , ' , . . , . , 592
1 6 . 1 6 Summary " . . . . "" . . . " . . . ".. . . 593
Further Look up . . .. . . . ... . . . . . .. . . . .. . . . . , .. . . . . . 593
Exerci ses . . _ . . 594

CHAPTER 1 7 Packet Queueing and Scheduling . . . . , , . . . , , , . . , • , . . . . . .. . . . .. . . . . . . 596


17.1 Packet Scheduling , . ' , , , , , , ' , , , . . ' , , , , , , . ' , . . . . , • , , , , . . • . . . • . , 597
17,1.1 First-In, First-Out Queueing , , , , , , , , ,.,. .' . ' ' . , , , . , , , , , , 597
1 7 , 1 .2 Priority Qu euei ng . , . . . , . . . . . , , . , . . , . . ... . , . . . , . , . . . .. . , , . , . . . 598
1 7. 1 .3 Round-Robin and Fair Queueing . . . . . . . . . . . . . . . . . . . . . . . 599
]7,1.4 Weighted Round-Robin (WRR) and Weigh ted Fair Queueing (WFQ) , 600
] 7 , 1 .5 Deficit Round-Robin Queueing , . 60 l
1 7 . 1 .6 Modified Deficit Round-Robin Queueing . . . 604
17.2 TCP Congestion Control . . . . . . . . _ _ . . . . . . . . . . _ _ _ . 604
1 7.2.1 Slow Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
1 7.2.2 Addit ive
Increase, M ultiplicative Decre as e . . . , . . . . .. . . . . 607
17,2.3 Fast Retransmit and Fast Recovery , , , , , , . . , , , , . " . . . • . , , 607
17.3 Implicit Feedback Schemes " " , . . , " " " " , . • . . , ' " , ' , . . • " 608
17,3, I Drop P osi ti on " " " " , . . , " " " " , . . . . . • • " " ' . • . . • . . , " " 608
1 7,3.2 Proactive Versus Reactive Dropping , , , , . . . , • ' , . ' , , • ' . . • . ' 610
1 7 .4 Random Early Detection (RED) " " " " " " ".., .." .. " ".." " " " ,. 611
17.4.1 Computing Average Length of Queue , . . . , ' . " ' , . , ' , . . • , " " " " 613
1 7.4.2 Computing Drop Probability . . . . . . . . . . . 614
1 7.4.3 Selting Qmin and Qmax . . . . . . . . • • . . • • . . 615
17.5 Variations of RED , . , . . . . . . ., . 615
17,5.1 Weighted Random Early Detection (WRED) " " " ' . ,..." " " ' " 615
]7,5.2 Adaptive Random Early Detection , , , , . . . . , , , , , , , ' . .... . . . 618
1 7 .6 Explicit Feedback Schemes " " " " " ...." """." 619
17.6.1 Choke Packets . . . . ". . . . .. . . . . ....... " . . . . , . , . . .... . . . . 620
]7,6.2 Explicit Congestion Notification , , , , , , , . . . . , • , , , , , • . . . " , ,, , ,," 620
17.7 New Class of Algorithms . . " " . . . " " " " , . . " . " " " ,, ,..., , , , , , , , , , 622
17.8 Analyzing System Behavior , , , . . . . . . . . . . , . . . . . . . .. . . , , , , . . . . . . . , , ,.. 623
17.9 Summary . . " " " . " " . " " " . . • " . " , . " . • . . , • ' , . ' , , . ' . . • ' , . , , ,. " 624
Further Lookup " .. , ...... . . . ......." , . . ........,.. , . . ...... , .. " 624
Exercises , . . , , , , , , . , , , , . . ' , , , , . . • ' , . ' , , . ' , . • . . , • ' , . ' , , • . . . • ' , 625

CHAPTER 1 8 Traffic Conditioning . . . • . . . • • . . . . • • . " . . . , . , . . , . , • • • . . • • • . . . • • . . . • • 626


18.1 Service Level Agreements 627
18.2 Differentiated Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
18.3 Traffic Condi ti oning Mechani sms . . , , , . ' , , . ' , . • ' , • • ' , . ' , , • ' . , • . ' . ' , , 628
1 8.4 Traffic Shaping , , , . . , , , , . . , , , , . . . . , . . . , , . . . . . . . .. . . " , . . . . . . . . " , , , " 630
1 8.4.1 Leaky Bucket " .. , " ,..." .., ' , . , ....... ,. . , ' , ...." , . " .. , ' 63 I
1 8.4,2 Token Bucket. , . . , . . . . . . . . . , . . , , . . . . . . . .. . . , ' , . . . . . . . . , , , , , " 632
....�
.. --------------------------------------------
XVIII CONTENTS

1 8.5 Traffic Policing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . 636


18.5.1 Compari ng Traffic PoJ icing and Shaping . . . . . . . . . . . . . . • . . . . . . • . . . 637
1 8.6 Packet Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
1 8 .6.1 Graded Profi les . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
J8 .6.2 Single-Rate Tricolor Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
1 8 .6.3 Two-Rate Tricolor M arking . . . . . . . . . 642
1 8.7 Sununary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . • . . . . . . . . . . . . . . . . . . 643
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Exercises . , . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , , . . . . 644

PART 4 ROUTING IN RESERVATION-ORIENTED NETWORKS


CHAPTER 1 9 Circuit-Switching: Hierarchical and Dynamic Call Routing . . . . . . . . .. . . .. . 646
1 9. 1 Circuit Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • . . . 647
1 9.2 Hierarchical Call Routin g . . . . . . . . . . . . . . . . . . . • . . . ... . . . .... . . .. . . . 647
19.2.1 Basic Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
1 9.2.2 A Simple TIIustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
] 9.2.3 Overall Hierarchjcal Routing Architecture . . . . . . . . . . . . . 650
1 9 .2.4 Telephone Service Providers and Telephone Network Architecture . . . 652
1 9.3 The Road to Dynamic Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
1 9.3. 1 Limitation of Hierarchical Routing . 653
1 9 .3.2 Historical Perspective . . . . . . . . . . . . . . . . . . . • . . .... . . .. . . . 653
1 9.3.3 Call Control and Crankback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
1 9.3.4 Trunk Reservation (State Protection) . . . . . . . . . . . . . . . . . . . . . . . 656
1 9.3.5 Where Does Dynamic Routing Fit with Hierarchical Routing . . . . 657
1 9.3.6 Mixing of acc and PCC . . . . . ... . . . .. . . . . . ... . . . . . . . . . . .. 657
1 9.3.7 Summary . . . . ... . . . . .... . . . 658
1 9.4 Dynamic Non-Hierarchical Routing (DNHR) . . . . . . .. 658
1 9.5 Dynamically Controlled Routing (OCR) . . . . . . . . .... . . . . .... . . . . . . . . . ... 660
1 9.6 Dynamic Alternate Routing (DAR) . .. ... . . . .... .. .. . . . . .. ... .. . . . . . .... 663
1 9.7 Real-Time Network Routing (RTNR) . . . . . . . . . . . . . . . . . . . . • . . . . . 664
1 9. 8 Classification of Dynamic Call Rou ting Schemes . . . . . . . . . . . . . . • . . . . . . • . . . 666
1 9.9 Maximum Allowable Residual Capacity Routing . . . . . . . . . . . . . . • . . . . 667
1 9. 10 Dynamic Routing and Its Relation to Other Routing . . .. . . .. . .... 669
1 9 . 1 0 . 1 Dynamic Routing and Link State ProtocoJ . . . . . . . . . . . . . . 669
19.JO.2 Path Selection in Dynamic Routing in Telephone Networks and IP
Routing . . .. . . . . ... . . . . . ... . . . . . . . . . . 669
1 9. 1 0.3 Relation to Constraint-Based Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
1 9. 1 1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • . . . • . . • . . . 670
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Exercises . , , , , , , , , . . . ., , . ,. ,,. . . . . ., . , ,,,. . . . , . , , . . , ,. . . . . ,,. ,, , , . . . 671

CHAPTER 20 Traffic Engineering for Circu it-Switched Networks . . . . . . . • . . . . • . • . . • • . . . 674


20.1 Why Traffic Engineering . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . • . 675
20.2 Traffi c Load and Blocking . . . . . . . . . . • . . . . . . • • . . . . . . . . . . • . . . • . . . . . . . . . . 676
-------------------------------------------- � ......
CONTENTS XIX

20.2. 1 Computing Erlang-B Loss Formula . . . .. . . . . . • . . . . . .... . . 679


20.3 Grade-of-Service (GoS) . . . . . . . . . . . . . . . . . . . . . . . • . . . . . • . . . . • . . . . ... . 680
20.3.1 Circuit Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . 682
20.3.2 Offered Load Scaling and Blocking . . . . . . . . . .... . . . . 682
20.4 Centi-Call Seconds (CCS) and Determ ining Offered Load . . . .... . . . . 683
20.5 Economic CCS (ECCS) Method . . . . . . . .. . . . . . ..... . . . . . . . . 685
20 . 6 Network Controls for Traffic Engineering ......... . . . . . ..... . . . 687
20.6. '1 Guidelines on Detection of Congestion . . . . . . . . . . . . . .... . . . . 688
20.6.2 Examples of Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
20.6.3 Communication of Congestion Control Information . . . . . . . . . . . . . 692
20.6.4 Congestion Manifestation . . . . . . . . . . . .... . . . . . . . . . ..... . . . .. 692
20.7 State-Dependent Call Routing . . . . . . . ... . . . ..... . 693
20.8 Analysis of Dynamic Routing .. . . . . ......... . . . . ..... . . . 694
20.8.1 Three-Node Network . . .. . . . . . .... . . . . . . . . . .... . . . . 694
20.8.2 N -Node Symmetric Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
20.8.3 N -Node Symmetric Network with State Protection . . . . . . . . . . . 698
20.8.4 Illustration Without and With State Protection . . . . . . . . . 700
20.9 Performance for Heterogeneous Services . . . . . ...... . .. . . . . ...... . . . .. . .. 70 I
20.10 Summary . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . 705
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705

CHAPTER 2 1 Quality of Service Routing . . . . . . . .. . . . . . . . . . . . . . . .. . . . ... . . . . . . . . .. 708


21.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
21.2 QoS Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
21.3 Adapting Shortest Path and Widest Path Routing: A Basic Framework 7 14
2 1 .3.1 Singl e Attribute . . . . . . . . . . . . . . . . . . . . .
. .. . . ... .
. . . . . . . . . . . . . . . . 714
2 1 .3.2 Multiple Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
2 1 .3.3 Additional Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
21.4 Update Frequency, Information Inaccuracy, and Impact on Rout ing . . . . . . . . . _ 716
21.5 Lessons from Dynamlc Call Routing in the Telephone Network . . . . . . . . . . . . . 719
21.6 A General Framework for Source-Based QoS Routing with Path Caching . 720
2] .6.1 Routing Computation Framework . . . . . . . . . . . 721
2 1 .6.2 Routing Computation ......................... . 722
2 1 .6.3 Routing Schemes . . . . . . . . . . . . . ..... . 723
21 .6.4 Results 724
21.7 Routing Protocols for QoS Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
2 1 .7.1 QOSPF: Extension to OSPF for QoS Routing . . . . . . . . . . . . . . . . . . . 729
2 1 .7.2 ATM PNNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
21.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 l
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 l
Exercises . 732

CHAPTER 22 Multiprotocol Label Switching (MPLS) . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. 734


22.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . • . . . . . . . . . 735
....�
.. --------------------------------------------
XX CONTENTS

22.2 Traffic Engineeling Extension to Routing Protocols . . . . . . . . • . . . . . . . • . 736


22.3 Mul tiprotocoJ Label Switching (MPLS) . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . 737
22.3. J Labeled Packets and LSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
22.3.2 Label Distribution.......... ............. ............ 74J
22.3.3 RSVP·TE for MPLS.. . 742
22.3.4 Traffic Engineering Extensions to OSPF and IS-IS . . . . . . . . .. 747
22.3.5 Point-to-Multipoint LSP and Multipoint-to-Multipoint LSP . . . . . . . . . 748
22.4 Generalized MPLS (GMPLS) ........... .......... .......... .... 749
22.4.1 GMPLS Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
22.4.2 Label Stacking and Hierarchical LSPs: MPL SIGM PLS . . . . . . . . . . . . . 751
22.4.3 RSVP-TE for GMPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
22.4.4 Routing Protocols in GMPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754 .

22.4.5 Control and Data Path Separallo n and Link Management Protocol , 756
22.5 MPLS Virtual Private Networks. . . . . ... . . . .. . . . . .... . . . . . . . . . . .. 758
22.5.1 BGPIMPLS IP V PN .......... ...... .. ..... ....... .. 758
22.5.2 Layer 2 VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
22.6 Multicast VPN with MPLS . . . . . . .... . . 762
22.7 Summ ary . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Further L ookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764

CHAPTER 23 Routing and Traffic Engineering using MPLS. . . . • . • .. . . . .. . .. .. . .. ..... 766


23.1 Traffic En gi neering of TPfMPLS Networks . . . . . . . . . . . . . . . . . . . . . 767
23.1.1 A Brisk Walk Back in History . . . . . . . . . . . . . . . . . . . . . . . . 767
23.1.2 MPLS-B ased Approach for Traffic Engineering . . . . . . . . . . 768
23.2 V PN Traffic Engineering . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . .... 771
23.2.] Problem lI1ustration: Layer 3 V PN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77]
23.2.2 LSP Path Determination: Constrained Shortest Path Approach. . 774
23.2.3 LSP Path Detennination: Network Flow Modeling Approach . . . . 776
23.2.4 Lay er 2 VPN traffic engineering . . . . . . . . . . . . . 779
23.2.5 Observations and General M o del ing Framework . . .... . . . . . . . . . . . . 780
23.3 Multicast VPN Traffic Engineering . . . . . ... . . ... 781
23.4 RoutinglTraffic Engin eeri n g for Voice Over MPLS . . . ..... ... . . . 782
23.5 Summary . . .. . . . . . .. . . . . . . . . . . .... . . . . . . . . . . . . . . ..... . .. . 784
Further Lookup .... ............... ............................... . . . 784
Exercise s . . . .. . . .. .. 785

CHAPTER 24 Routing in Optical Networks, Mu ltilayer Networks, and Overlay Networks . . . 786
24. 1 Optical Technology: Overview . .. . .. ..
. . . ..... . 787
24. 1 .1 SONET/SDH...... ............. ..... .. . . . . . . . . . 787
24. 1.2 OTN ............. .. ........... .. . .... ... .... . . ... ... 788
24.2 How Is Opt ical Routing Different? . . . . ..... . .. . ..... ... . 789
24.3 SONET/SDH and OTN Routing . . . . .. . . . . . . . . . . . ... . . .. . . . . . ... 790
24.3.' Routing in a SONET Ring. . ... . . .. .... .. .. . . . . ..... ... . .. . .... 790
24.3.2 Routing in SONET/SDH or OTN Transport Cross-Connect Networks 792
-------------------------------------------- � ......
CONTENTS XXI

24.4 WDM Routing and Wavelength Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . 794


24.4.1 WDM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
24.4.2 Routing in WDM with Full Conversion: Transport Mode . . . . . . . . . 796
24.4.3 No Conversion Case . . . . . . .... . . . . .. . . . . ... . . . .. 797
24.4.4 On-Demand, Instantaneous Optical Services . . . . . . .. . . . . . . . 797
24.5 Protection Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
24.5.1 Solution Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
24.6 Routing in Multilayer Networks . . . . . . . .. . . . . . . . . . . 80 I
24.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 I
24.6.2 IP O ver SONET: Combined Two-Layer ROUling De sign . . 804
24.6.3 Virtual Private Networks Over Substrate Network . . . . . . . . . . . . . . . . . 807
24.7 Overlay Networks and Overlay Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 808
24.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Further Lookup . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . ... . 81 I
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812

CHAPTER 25 Call Routing in GSTN .. . . . .. . . . ... . . . . . . . . . . . . . . .. .. . ... . . . . . . . . .. 81 4


25.1 E. I64 Addressi ng for GSTN 815
25.2 National umbering Plan . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1 7
25.3 Provider Identifier: Carrier Identifi cation Code, Mobile Courury Code, an d
Mobile Network Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
2 5.4 Signaling System: SS7 and Point Code . . . . . . . . . . . . . .. . . . . . . . . . . . . 821
25.4.1 SS7 Network Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
25.4.2 Point Code . . . . . . . . . . . . . . . . ... . . . .. 823
25.4.3 Point Code Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
25.5 55? Protocol Stack . . . . . . .... . . . . 828
25.5.1 Lower Layer Protocols: MTP1, MTP2, MTP3 . . . . . . .. . . 828
25.5.2 Upper Layer Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . ... . . .. 83 1
25.6 SS7 .ISUP and Call Processing . . . . . .. . . . . .. . . . ... . . . . .. 83 1
25.6.1 Called/Calling Party N umber Format . . . . . . . . . . . . . . . . . .. . . . 836
25.7 Call Routing: Sing1e Provider Case . . . . . . . . . . . . . . . . . . . . . . . . ... .. . . 837
25.7.1 Handling Dialed Numbers . . . . . . . . . . . . . . . . . ... . . . .. 837
25.7.2 Illustration of Call Routing . . .. . . . . . . . . 838
25.7.3 Some Observati on s . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . .. . . 842
25.8 Call Routing with Multiple Service Providers . . . . . . . . . . . . . . . . . . . . . . 843
25.9 Number Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 845
25.9.1 What Is Number Portability About' . . . . . . . . . . . . . ... . 845
25.9.2 Portab ility Classification . . . . . . . . . . . . . .. . . . . . . . .. . . . 847
2 5.1 0 Non-Geographic or Toll-Free Number Portability . . . . • . . . .. . . . . . . . . . . 848
25. 1 0 . 1 SOO-Number Management Architecture . . . . . . . . . . . . • . . . . . . . . . . . . . 848
25.10.2 Message and Call Routing . . . . . . . . . . . . . . . . . . . .. . . . 848
25.1 1 FixedIMobile Number Portability . . . . . . . . . . .. 850
2 5 . 1 LI Portabi lity Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25. 1 1 . 2 Routing Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . ... . 853
25..1 l .3 Comparison of Routing Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
....�
.. --------------------------------------------
XXII CONTENTS

25. 1 1 .4 Imp act on TAM Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . 858


25. 1 1 .5 Number Portability Implementation . . . . . . . . . . . . . . . . . . . . . . . . . • . . . 858
25. 1 1 .6 Routing in the Presence of a Transit Network . . . . . . _ _ 859
25. 1 2 Multiple Provider Environment with Local Number P0I1ability . . . 86]
25. 1 3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
Further Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . , . . . 864
Exercises . . . . . . . _ . . . . . _ . . . . . . . . • . . . _ . . . . . . • . . • • . _ . . . . • . . . . . 865

CHAPTER 26 VolP C a ll Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866


26.1 Background . . . . . . . . . . . . . . . . . . . . . . . 867
. . . . . . . • . . . . . . . . . . . . . . • . . . .

26.2 GSTN Call Routing Using Int ernet ........... . . ....... 868
26.2.1 Conceptual Requirement . . .. . . . . 868
. . . . . . . • . .

26.2.2 VoIP Adapter Functionality.. ...... . . ........ . 869


. . . • .

26.2.3 Addressing and Routing . . . . . . . 870


. . . . • . . . . . . . . . . . . . . . . . . • . . . . . . • .

26.2.4 Serv ice Observations . . . . . . . _ 874


. . . . . . . . . . . . . . . . . . . _ . . . .

26.2.5 Traffic Engineeri ng . . . . . . . . . . . . 874


. . . . . . . . . . . . .

26.2.6 VoIP Adapter: An Alternative S eenario . . . . . . . . . . 877 . . . . . . . . .

26.3 GSTN Call Routing: Managed IP Approach . . 877 . . . . . . . . . . . . . . .

26.4 IP-GSTN Tnterworking for VoIP .... . . .... . . .... 878 .

26.4.] Gateway Function . . . . . . . . . . . 879


. . . . . . . • . . . • . . . . . . . . . . • . . . . . . • . . .

26.4.2 SIP Addressing Basics . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .. . , . 880 . . . . . .

26.4.3 SIP Phone to POTS Phone . . . . 880


. . . . • . . . • .

26.4.4 POTS Phone to SIP Phone . . . . . . . . . . . . . . . . 883 .

26.4.5 GSTN-IP-GSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883 .

26.4.6 Traffic Engineering.. ...... . . 886


.

26.5 IP Multimedia Subsystem (IMS) 887


26.5 . ] f M S Architecture 888
26.5.2 Call Routi ng Scenarios . . . . . . . 889
. . . . . . . . . . . • . . . . . . . . . . • • . . • . . • . . .

26.6 Multiple Heterogeneous Providers Environ ment , , , , , , ,, , , , , 891 . . . . . . . . . . . . . .

26.6. 1 Via Routing . . . . . . . . . . . . . . . . 891


. . . . . . . . . . . • . . . . . . . • .

26.6.2 Carrier Selection Alternative . _ 892


. . . . . . . • . . . . . . . . . . . . . . • . . . .

26.7 All-IP Environment for VoIP Services . . . . . . . . . . . . . . . . . . . . . . 892


26.8 Addressing Revisited.... 893
26,9 SUllllnary . . . . . . . . . . . . . . . . . . . . . • . . . 895
. . . . . . . . . . . . . . . . . . . . . . • . . . .

Further Lookup 895


Exercises . . 896

PART 5 A P PENDICES, BIB LIOGRAPHY, AND INDEX


APPENDIX A Notations, Conventions, and Symbols
A.1 On Notations and Conven tions 899
A.2 Symbols 900
APPENDIX B Miscellaneous Topics 9D2
B.1 Bi nary and Hexadecimal Numbers 903
B.2 Functions: Logarithm and Modulo 904
-------------------------------------------- ......

CONTENTS XXI I I

B.3 Fixed-Point Equation 904


B.4 Computational Complexity 906
B.5 Equivalence Classes 907
B.6 Solving Linear Programming Problems 908
B .6 . 1 Using CPLEX 908
B.6.2 Using Matlab 909
B.7 Exponential Weighted Moving Average (EWMA) 91 1
B.8 Linear Regression Fit 912
B.9 Non-Linear Regression Fit 913
B.l0 Computing Probability of Path Blocking or Loss 914
B.l l Four Factors j n Packet Delay 915
B.12 Exponent i al Dj stribution and Poisson Process 91 6
B.13 Generating Normal and Lognormal Distributions 918
B.14 Self-Similarity and Heavy-Tai led Distributions 918
B.15 M arkov Chain and the Birth-and-Death Process 920
B.15.1 Birth-and-Death Process 92 1
B . l 5.2 MIMll System 922
B.lS.3 Trunk Reservation Model for Circuit-Switched Networks 923
B.16 Average Network Delay 923
B.17 Packet Format: IPv4. IPv6, TCP. and UDP 924
APPENDIX C Solutions to Selected Exercises 928
Bibliography 932
Index 966
FOREWORD (1ST EDITION)

My involvement with computer networking started with TheoryNet (1977), an email system for theo-
retical computer scientists. Later (1981) I helped lead the CSNET (computer science network) project
which eventually connected most academic and many industrial computer research groups. In those
early days, our efforts were primarily focused on providing connectivity and being able to use ap-
plications such as email, ftp, and telnet. However, even in the simple (by today’s standards)
environment of the 1970s and early 1980s (Arpanet, CSNET, other experimental Internet networks),
getting routing “right” turned out to be quite challenging.
I was fortunate to be part of the NSFNET regional/backbone model development. This is when
I began to fully understand the significance of routing in a large-scale multi-domain network and, in
particular, the central role of policy issues in such a decentralized environment. As the Internet has
become global in scale and ubiquitous over the past decade, routing has become ever more important.
Packets must be forwarded efficiently from one end of the world to the other with minimal perception
of delay. This has required tremendous efforts on many fronts: how to evolve routing protocols for
large-scale loosely-coupled networking environments, how to engineer a network for efficient routing
from an operational point of view, how to do efficient packet processing at routers, and how to effec-
tively take into account the complexity of policy issues in the determination of routes. And while over
the past two decades there have been many exciting advances, much work remains to be done.
In parallel, we have seen tremendous advances in traditional telephony. The underlying telecommu-
nication system has changed from analog to digital and has incorporated the latest advances in optical
technologies and, more recently, voice over IP. Throughout these revolutionary changes, routing has
continued to play a critical role.
We are now at a crossroad. Various efforts are underway to determine a framework for next gener-
ation networks that allows seamless convergence of services and a platform to more easily create new
services. Among other things, this requires a fresh look at routing. To be successful, it is important that
we understand what has worked to date. To better understand the issues and complexities we should
look at this broadly, considering a variety of different network architectures, not just the for Internet.
For each such network architecture we can benefit from understanding its principles, protocols, algo-
rithms, and functions, with focus on routing. This will help give us perspective as we consider how to
design routing for the next-generation network.
In this regard, Deepankar Medhi and Karthikeyan Ramasamy’s book, Network Routing: Algo-
rithms, Protocols, and Architectures, is very timely. Departing from most other works, it is unique
in providing an in-depth understanding of routing in a wide variety of types of networks. It includes
extensive coverage of the evolution of routing over time. Particularly appealing is its in-depth coverage
across a spectrum of algorithmic, technical, experiential, and practical issues. In addition, the detailed
coverage of routers and switches is particularly valuable as it helps the reader to gain an understand-
ing of why different approaches and components are needed to address packet processing, especially
for scalability. In this regard, it is uniquely successful in drawing the important connection between
routing and routers.
xxv
XXVI FOREWORD (1ST EDITION)

Medhi and Ramasamy’s presentation is very clear and approachable, allowing a wide audience to
understand and gain an appreciation of network routing. I believe that it will become a core refer-
ence book on routing for router developers, network providers, students, and researchers, both today’s
practitioners and those who are interested in next generation routing.
Lawrence Landweber
Past John P. Morgridge Chair and Past Department Chairman,
Computer Science Department, University of Wisconsin–Madison
Fellow, Association for Computing Machinery
Recipient of IEEE Award on International Communication
Former President and Chair of the Board of Trustees, Internet Society
PREFACE (2ND EDITION)

It has been a decade since the first edition of this book was published. When we first wrote it, we
thought that would be it. To our pleasant surprise, the book picked up an audience from all over the
world. We received remarks such as the following:

“I was searching for particular information and I found it wonderfully explained in your routing
book. What a great book, every time I use it I am so glad to have it!” – Brunilde Sansò (Canada)
“I have found it really good: comprehensive, clear, precise, generic.” – Peter Soreanu (Israel)
“In my opinion, your book is an excellent source for introducing the IGP and EGP protocols.” – Don
Lanzinger (USA)
“It is a very good book, very recommended and it has been a great help for planning the course.”
– Eduardo Moreno (Chile)

We were pleased to get such nice responses and that our book struck a cord with a particular
audience.
Most recently, our publisher approached us to consider doing a second edition. Honestly, we did
not think this book was ever going to go for a second edition. It made us pause. Given our other com-
mitments, we also needed to think if we would have enough bandwidth to work on the second edition.
Finally, we decided to take the plunge. It turned out to be more challenging than we originally thought
for two reasons: 1) while on the surface, it might seem that not much has changed in routing since the
first edition, there has been a number of important developments due to software-defined networking,
data center networking, and more critical issues in regards to security with routing; 2) we faced per-
sonal situations that needed to take priority over working on the book. For the latter, we are thankful
that the publisher was able to accommodate us by giving us additional time to finish this project.
The book has gone through quite a bit of changes. In particular,

• The material in many chapters have been extensively updated with new discussions, based on feed-
back from students, educators, and professionals. New sections are added in many chapters covering
topics such as algorithms for trees in Chapter 2, node-link formulation for additional problems in
Chapter 4, OPSPFv3 in Chapter 6, BGP security in Chapter 9, and IP prefix hijacking in Chapter 10.
In particular, security issues with routing are now discussed throughout the book.
• New chapters have been added on multicast routing (Chapter 8) , on routing and traffic engineering
in data center networks (Chapter 12), and on routing in software defined networks (Chapter 11).
The chapter on optical, multilayer, and overlay routing (Chapter 24) is completely revamped.

ACKNOWLEDGMENTS
Several students who took the course, Network Routing, from the first author, read the chapters care-
fully, especially the new chapters while the second edition was under preparation. For their comments
xxvii
XXVIII PREFACE (2ND EDITION)

as well as comments from students who took the course earlier, we like to thank Abdoh Jabbari, Ah-
mad Alhonainy, Akshay Reddy Gayam, Daehee Kim, Daroon Hassan, Diana Dasi, Driss Benhaddou,
Fathima James, Jebreel Khurmi, Jagannath Mangipudi, Mirza Mohd Shahriar Maswood, Md Tajul Is-
lam, Md Mainul Islam Mamun, Nitin George, Rahul Chaudhari, Rohit Abhishek, Saud Alqahtani, Sean
Baes, Seoung Jin Lee, Shuai Jack Zhao, Sheyda Kiani Mehr, Sravan Valluri, Subhash Methuku, Syed
Faraz Hussain, and Tejas Parab.
We also benefited from feedback by Aanand Ramachandran (Microsoft, India), Brunilde Sansò
(Polytechnique Montréal, Canada), Geoff Huston (APNIC, Australia), George Rouskas (North Car-
olina State University, USA), Javier Carmona Murillo (University of Extremadura, Spain), Jennifer
Rexford (Princeton University, USA), Jörg Liebeherr (University of Toronto, Canada), Lúcia Martins
(University of Coimbra, Portugal), María J. Verdú (University of Valladolid, Spain), Mario Baldi (Po-
litecnico di Torino, Italy), Nasir Ghani (University of South Florida, USA), Nelson Fonseca (University
of Campinas, Brazil), Steve Dispensa (Microsoft, USA), Peter Soreanu (ORT Braude College, Israel),
and Teresa Gomes (University of Coimbra, Portugal), at various stages of preparing the manuscript and
for comments on our 1st edition. We again thank Jane Zupan for identifying new quotes for use at the
beginning of the chapters.
Our external reviewers took time out of their busy schedules to review many of the chapters.
We thank Ítalu Cunha (Universidade Federal de Minas Gerais, Brazil), Manav Bhatia (Nokia, In-
dia), T. Venkatesh (Indian Institute of Technology–Guwahati, India), and Stefano Secci (Université
Pierre et Marie Curie, France) for their detailed comments on the draft of many chapters. In addi-
tion, Sandeep Pisharody (Arizona State University, USA), Dallal Belabed (Thales Communications &
Security, France), and Steve Dispensa (Microsoft, USA) read chapters and provided helpful comments.
We thank the Elsevier team, Brian Romer, Ana Claudia A. Garcia (muito obrigado!), and Punitha-
vathy Govindaradjane, for their great support with the second edition. SkyLaTeX from VTEX made
it easy to make the final corrections online. Two persons stood out for their dedicated help in various
phases of this project. Xuan Liu (AT&T Labs-Research) read many chapters on a short notice, and
provided new references and much help when needed; her contributions were immeasurable. Nancy
Lorenz read the manuscript diligently one page at a time to find and fixed numerous typos—the only
person to have read the entire book! We thank them profoundly.
The first author thanks the National Science Foundation (NSF grant #s: 9422092, 9506652,
0831090, 0916505, 1029562, 1217736, 1526299), and the Defense Advanced Research Project Agency
(DARPA AFRL agreement # F30602-97-1-0257) for their funding support that helped shape both the
first edition and the second edition of this book.
Finally, we thank our families for their support (you know who you are).
Deepankar (Deep) Medhi
Overland Park, KS, USA
Karthikeyan (Karthik) Ramasamy
Santa Clara, CA, USA
PREFACE (1ST EDITION)

In the span of a quarter-century, network routing in communication networks has evolved tremen-
dously. Just a quarter century ago, the public switched telephone network (PSTN) was running hierar-
chical routing, ARPANET routing was operational, and the telecommunication infrastructure had fixed
static transport routes. In the 1980s, we first saw the tremendous growth in routing: Internet routing was
deployed under the TCP/IP stack starting, first with the RIP protocol; the telephone network started de-
ploying dynamic call routing schemes; and the telecommunication transport network deployed SONET
transport mechanisms, which could re-route in a ring topology in 40 millisec in the event of a failure.
In the past fifteen years, we have seen the need for policy routing due to multiprovider setting, and
need to develop fast lookup algorithms for packet processing that enables efficient routing. We have
also seen inter-dependency between addressing and routing as first addressed through classless Inter-
domain Routing (CIDR) and more recently, due to number portability in the PSTN; more importantly,
we saw how the way an addressing scheme is deployed can impact routing and lookup algorithms.
Network routing can be broadly divided into three basic fundamental categories: packet routing,
circuit-switched routing, and transport routing; certainly, a combination is possible. The evolution over
the past quarter century has brought to the foreground the need to understand and examine where
and how different dimensions of routing, from algorithms to protocols to architectures, can differ for
different types of networks and where they intersect. Certainly, the goal is to see how we learn from
our past experiences and prepare ourselves for next generation networks and routing.
While numerous papers have been written on the subject of network routing, and several books
are now available on routing for specific networks, the field still lacks a comprehensive or systematic
guide that encompasses various routing paradigms. Secondly, even in discussions of a single routing
type (for example, either Internet or PSTN), the focus often appears to be either on protocols or on
algorithms without tying them together along with analysis and implementation; or, the work delves
more into router command-line for router configuration, or, being informational without explaining
the whys. Furthermore, how the addressing mechanism can affect routing decisions is yet another
important topic that is rarely discussed. For efficient routing, how routers are architectured, and why,
is yet another mystery. Finally, the relation between traffic engineering and efficient routing is also
another topic. In the end, one needs to be somewhat of an “expert” in different routing paradigms to
get a well-rounded view.
Lastly, after investigating about routing in different networks for a number of years, we have come
to the observation that network routing is like an economy. Similar to macroeconomics and microeco-
nomics, network routing also has macro- and micro-centric issues; in addition, seemingly different and
conflicting systems can and do co-exist. Not all of the issues are purely technical; business relations
and regulatory issues are also important to recognize and consider. Thus, this book is an attempt to
paint a broad picture that encompasses various aspects of network routing in one place.
xxix
XXX PREFACE (1ST EDITION)

AUDIENCE
Our goal has been to create a book that can be used by a diverse set of audiences, and with varied levels
of background. Specifically, we set out to create a book that can be used by professionals as well as
students and researchers. In general, this is intended as a self-study. We assume that the reader already
has some basic knowledge of networking. Among professionals, the intent has been to cover two broad
groups, router developers including protocol designers and router architects, and network designers and
operators, with the overall goal to bring out issues that one group might want to understand that the
other group faces. For students, this book is intended to help learn about routing in depth, along with
the big picture and lessons from operational and implementation experience. For researchers, who want
to know what has been done so far and what are critical issues to address for next generation routing,
this is intended as a helpful reference. In general, this book has been intended as a one-stop treatise for
all interested in network routing in different networks.

ORGANIZATION AND APPROACH


The book is organized into six parts. Each part starts with a chapter-level summary. We present below
a brief overview of each part:

• Part-I (four chapters): We cover the basic foundations of routing, from algorithms to protocols,
along with network flow modeling.
• Part-II (five chapters): This part is about IP network routing, from standardized protocols for both
intra- and inter-domain routing, to IP traffic engineering, to Internet routing architectures.
• Part-III (four chapters): This part covers PSTN routing, from hierarchical routing to dynamic rout-
ing, from addressing to traffic engineering, including the role of signaling in routing, along with the
impact of number portability in routing.
• Part-IV (three chapters): In this part, we cover router architectures for different scale routers for
efficient packet processing, along with address lookup algorithms, and packet filtering and classifi-
cation mechanisms.
• Part-V (four chapters): As impetuses for next generation routing, we present quality-of-service rout-
ing, multiprotocol label switching, generalized multiprotocol label switching, and routing at the
intersection of IP-PSTN for voice over IP.
• Part-VI (five chapters): This bonus material (available only on the CD-ROM) is made up of two
sub-parts: the first three chapters continue beyond Part-IV by delving more into routers by pre-
senting efficient switching, packet queueing and scheduling, and traffic conditioning; the remaining
two chapters extend Part-V by covering transport network routing, optical network routing, and
multilayer routing.

At the beginning of each chapter, a reading guideline is provided. This gives a brief description
on the background needed to read the chapter; it also discusses which other chapters this chapter is
connected to or has dependency on. In general, it is not necessary to read the chapters in the sequential
order presented. Furthermore, the chapters are organized in a way so that the reader who has famil-
iarity with a particular topic can move on and read other chapters of interest. Similarly, there are a
Another random document with
no related content on Scribd:
populace of the city, some twenty-five thousand,[202] staring their
wonderment with open eyes and mouth, thronged either side of the
way along which marched the army in battle array, headed by the
cavalry. Never before had the Spaniards seen so beautiful an
American city. Cortés called it Seville, a name which Spaniards
frequently applied to any place that pleased them, as we have seen,
while the soldiers, charmed with its floral wealth and beauty, termed
it Villaviciosa, and declared it a terrestrial paradise. One of the
cavalry scouts, on first beholding the freshly stuccoed walls gleaming
in the sun, came galloping back with the intelligence that the houses
were silver-plated. It was indeed an important place, holding a large
daily market. A central plaza was inclosed by imposing temples and
palaces, resting on pyramidal foundations, lined with apartments and
surmounted by towers, and around clustered neat dwellings with
whitened adobe walls embowered in foliage. Statelier edifices of
masonry, some having several court-yards, rose here and there,
while in every direction spread an extensive suburb of mud huts with
the never failing palm-leaf roof. Yet even the humblest abodes were
smothered in flowers.[203] The people also, as we might expect by
their surroundings, were of a superior order, well formed, of
intelligent aspect, clothed in neat white and colored cotton robes and
mantles, the nobles being adorned with golden necklaces, bracelets,
and nose and lip rings, set with pearls and precious stones.

When the troops reached the plaza, Chicomacatl,[204] lord of the


province, stepped from the palace to receive his guests. He was
supported by two nobles, and though enormously stout,[205] his
features denoted high intelligence, and his manner refinement. He
was more of a gentleman than many of the Spaniards, whose
merriment over his corpulence Cortés was obliged to repress. After
saluting and wafting incense before the commander of the strange
company, Chicomacatl embraced Cortés and led him to his quarters
in the spacious halls adjoining the temple, after which he retired for a
time. There the men rested and refreshed themselves, guards being
carefully posted, for Cortés would not trust his fate to strangers, and
strict orders were given that no one should leave the building.[206]
It was not long before Chicomacatl returned in a litter with a
richly attired suite, bringing presents of fine robes, and jewels worth
about two thousand ducats. During the conversation that ensued,
Cortés as usual extolled the greatness and power of his king, and
spoke warmly of his mission to replace their bloody religion with a
knowledge of the true God. Were there wrongs to redress, that is to
say, when opportunity offered for the perpetration of a greater wrong
by himself, no knight of La Mancha or Amadis of Gaul could be more
valiant than he. In return the chief of Cempoala unbosomed himself,
for the manner of Cortés was winning, and his speech inspired
confidence whenever he chose to make it so. Then his fame, already
wide-spread over the land, and the dim uncertainty as to his nature,
whether more celestial or terrestrial, added weight to his words. So
Chicomacatl poured forth from an overflowing heart a torrent of
complaints against the tyranny of Montezuma. He drew for the
Spaniards a historic outline of the Aztecs—how a people the
youngest in the land had, at first by cunning and treachery, and
finally by forced allies and preponderance of arms, built their power
upon the ruin of older states. The Totonacs, whose records as an
independent nation in this region extended over seven centuries,
had succumbed only some twenty-five years before this.[207] And
now Montezuma’s collectors overran the provinces, gathering heavy
tributes, seizing the beautiful maidens, and conveying the men into
slavery or to the sacrificial stone. Neither life, liberty, nor property
could be enjoyed with any degree of safety.
Whereat Cortés of course was indignant. It was his special
business to do all the tyrannizing in that region himself; his sword
would give ample protection to his new allies, and bring abundant
honor to his king and himself. Let but the people prove loyal to him,
he concluded, and he surely would deliver them from the hated yoke;
yet he did not mention the more fatal bondage into which he would
place them. Chicomacatl eagerly assured Cortés of support from the
Totonacs, numbering fifty thousand warriors, with numerous towns
and fortresses.[208] Furthermore, there were many other states ready
to join an insurrection which should prove strong enough to brave
the terrible Montezuma.

Their visit over,[209] the Spaniards continued their march


northward to join the fleet. Four hundred tlamamas, or carriers,
attended, in courtesy to honored guests, to relieve the soldiers of
their burdens. The following day they reached Quiahuiztlan, a
fortified town about a league from the sea. This town was
picturesquely placed on a rocky promontory bordering one of the
many wild ravines thereabout, and of difficult access, commanding
the plain and harbor at its base.[210] The army advanced cautiously,
in battle array,[211] but the place was deserted. On reaching the
plaza, however, some fifteen chiefs came forward with swinging
censers, and apologized, saying that the people had fled, not
knowing what the strange arrival portended, but reassured by the
Cempoalans, they were already returning to serve them. The
soldiers then took possession of a large building, where food was
brought them. Presently the chief appeared; and close at his heels in
hot haste came the lord of Cempoala, who announced that the Aztec
collectors had entered his city.[212] While conferring with Cortés and
the chiefs assembled, Chicomacatl was informed that the collectors,
five[213] in number, had followed him to Quiahuiztlan, and were even
then at the door. All the chiefs present turned pale, and hastened out
to humble themselves before the officers, who responded with
disdainful condescension. The officers were clad in embroidered
robes, with a profusion of jewelry, and wore the hair gathered upon
the crown. In the right hand they carried their insignia of office, a
hooked carved stick, and in the left a bunch of roses, the ever
welcome offering of the obsequious Totonac nobles who swelled
their train. A suite of servitors followed, some with fans and dusters,
for the comfort of their masters. Passing the Spanish quarter without
deigning to salute the strangers, the emissaries of the mighty
Montezuma entered another large building, and after refreshing
themselves summoned the tributary chiefs, reprimanded them for
having received the Spaniards without permission from Montezuma,
and demanded twenty young persons for an atoning sacrifice. Well
might the demoniacal order cause to tremble every youth throughout
the land; for whose turn should be next none could tell. Even the
faces of the chiefs were blanched as they told Cortés, informing him
also that it was already determined in Aztec circles to make slaves of
the Spaniards, and after being used awhile for purposes of
procreation, they were to be sacrificed.[214] Cortés laughed, and
ordered the Totonacs to seize the insolent officials. What! lay violent
hands on Montezuma’s messengers? The very thought to them was
appalling. Nevertheless they did it, for there was something in the
tone of Cortés that made them obey, though they could not
distinguish the meaning of his words. They laid hold on those tax-
men of Montezuma, put collars on their necks, and tied their hands
and feet to poles.[215] Their timidity thus broken, they became
audacious, and demanded the sacrifice of the prisoners.[216] “By no
means,” Cortés said, and he himself assumed their custody.
Howsoever the cards fall to him, a skilful gamester plays each
severally, nothing cavilling, at its worth. So Cortés now played these
messengers, the method assuming form in his mind immediately he
saw them. With him this whole Mexican business was one great
game, a life game, though it should last but a day; and as the
agencies and influences of it fell into his fingers, with the subtlety of
the serpent he dealt them out, placing one here and another there,
playing with equal readiness enemy against enemy, and multiplying
friends by friends.
These so lately pride-puffed tribute-men, now low laid in the
depths of despondency—how shall they be played? Well, let them
be like him who fell amongst thieves, while the Spanish commander
acts the good Samaritan. In pursuance of which plan, when all had
retired for the night, he went stealthily to them, asked who they were,
and why they were in that sad plight, pretending ignorance. And
when they told him, this rare redresser was angry, hot with
indignation that the noble representatives of so noble a monarch
should be so treated. Whereupon he instantly released two of them,
comforting the others with the assurance that their deliverance
should quickly follow; for the emperor Montezuma he esteemed
above all emperors, and he desired to serve him, as commanded by
his king. Then he sent the twain down the coast in a boat, beyond
the Totonac boundary.
Next morning, when told that two of the Aztec captives had
broken their bonds and escaped, the Totonacs were more urgent
than ever for the immolation of the others. But Cortés again said no,
and arranged that they should be sent in chains on board one of his
vessels, determined afterward to release them, for they were worth
far more to his purpose alive than dead.
It is refreshing at this juncture to hear pious people censure
Cortés for his duplicity, and to hear other pious people defend him on
the ground of necessity, or otherwise. Such men might with equal
reason wrangle over the method by which it was right and honorable
for the tiger to spring and seize the hind. The one great wrong is lost
sight of in the discussion of numerous lesser wrongs. The murderer
of an empire should not be too severely criticised for crushing a gnat
while on the way about the business.[217]
At the suggestion of Cortés, messengers were sent to all the
towns of the province, with orders to stop the payment of tribute and
to seize the collectors, but to spare their lives. Information was
likewise to be given to the neighboring nations, that all might prepare
to resist the force which Montezuma would probably send against
them. The Totonacs became wild with joy, and declared that the little
band who dare so brave Montezuma must be more than men.[218] To
Quiahuitzlan flocked chiefs and nobles from all parts, eager to
behold these beings, and to ascertain their own future course of
action. There were those among them still timid, who urged an
embassy to the king of kings, to beseech pardon before his army
should be upon them, slaying, enslaving, and laying waste; but
Cortés had already influence, was already strong enough to allay
their fears, and bring them all into allegiance to the Spanish
sovereign, exacting their oath before the notary Godoy to support
him with all their forces. Thus, by virtue of this man’s mind, many
battles were fought and won without the striking of a blow. Already
every Spaniard there was a sovereign, and the meanest soldier
among them a ruler of men.

FOOTNOTES
[176] Bernal Diaz, Hist. Verdad., 27. Herrera, dec. ii. lib. v. cap. vi., and others
refer to a similar number as being on the sick-list. Yellow fever, or vómito negro,
now the scourge of this and adjoining regions, appears to have developed with the
growth of European settlements, and Clavigero states that it was not known there
before 1725. Storia Mess., i. 117.

[177] ‘Hasta el parage del rio grande de Pánuco,’ Herrera, loc. cit. ‘Llegaron al
parage del rio grande, que es cerca de Panuco, adonde otra vez llegamos quãdo
lo del Capitá Juan de Grijalua.’ Bernal Diaz, Hist. Verdad., 27.

[178] ‘Doze dias que gastaron en este peligroso viage.’ Herrera, ubi sup. ‘Boluiose
al cabo de tres semanas ... le salian los de la costa, y se sacauã sangre, y se la
ofreciã en pajuelos por amistad a deidad.’ Gomara, Hist. Mex., 45.

[179] Ixtlilxochitl, Hist. Chich., 289. Quiauitl, rain or shower. Molina, Vocabulario.
Hence rainy place. Herrera calls it Chianhuitzlan, and this has been adopted by
Clavigero and most other writers. Prescott, Mex., i. 348, in a note holds up
Clavigero as a standard for the spelling of Mexican names, but he forgets that the
Italian form, as in the above case, would be misleading to English people.

[180] ‘Le llamarõ Vernal, por ser, como es, vn Cerro alto.’ Vetancvrt, Teatro Mex.,
pt. iii. 115. This may have been the origin of the name for the Spanish port, after
which Bernal Diaz says it was called. Hist. Verdad., 27. He applies the name to a
neighboring fort, spelling it in different ways, of which Solis, and consequently
Robertson, have selected the most unlikely. Gomara applies Aquiahuiztlan to the
harbor. Hist. Mex., 49.

[181] Bernal Diaz relates with great satisfaction how earnestly the speaker
pleaded for his vote, addressing him repeatedly as ‘your worship.’ One reason for
their earnestness, he implies, was the superiority in number of the Velazquez
party. ‘Los deudos, y amigos del Diego Velazquez, que eran muchos mas que
nosotros.’ Bernal Diaz, Hist. Verdad., 28-9. He forms this estimate most likely on
the proportion of leaders who from jealousy of Cortés, and for other reasons, were
addicted to Velazquez; but their men were probably more in favor of the general
than of the captains, to judge from the result. The sailors for obvious reasons may
have added to the Velazquez number, if not to their strength.

[182] ‘Se hazia mucho de rogar: y como dize el refran: Tu me lo ruegas, è yo me


lo quiero.’ Bernal Diaz, Hist. Verdad., 29.

[183] ‘Se puso vna picota en la plaça, y fuera de la Uilla vna horca.’ Bernal Diaz,
Hist. Verdad., 29; Vetancvrt, Teatro Mex., pt. iii. 116. This signifies that justice was
installed, its officers being next appointed.

[184] See note 23, chap. ii., this volume.

[185] ‘Nombrónos ... por alcaldes y regidores,’ say distinctly the appointed officers
themselves, in their letter to the emperor. Carta del Ayunt., in Cortés, Cartas, 20.
Bernal Diaz also indicates that Cortés made the appointments, although he at first
says, ‘hizimos Alcalde, y Regidores.’ Yet it is probable that the authorities were
confirmed formally as they were tacitly by the members of the expedition; for
Cortés, as he acknowledges, had no real authority to form a settlement.

[186] Testimonio de Montejo, in Col. Doc. Inéd., i. 489. ‘Â este Montejo porque no
estaua muy bien con Cortés, por metelle en los primeros, y principal, le mandò
nombrar por Alcalde.’ Bernal Diaz, Hist. Verdad., 29.
[187] Herrera, dec. ii. lib. v. cap. vii; Torquemada, i. 587. Bernal Diaz skips the
regidores. He thinks Villareal was not reappointed alférez because of a difficulty
with Cortés about a Cuban female. Hist. Verdad., 29; Vetancvrt, Teatro Mex., pt. iii.
116. Promotion and other causes gave speedy rise to changes among the
officials; Ávila, for instance, becoming alcalde mayor of New Spain, and Pedro de
Alvarado alcalde of the town.

[188] ‘Los q̄ para esto estauã auisados, sin dar lugar a que nadie tomasse la
mano. A vozes respõdierõ Cortes, Cortes.’ Herrera, dec. ii. lib. v. cap. vii. Bernal
Diaz merely intimates that a ‘packed’ meeting was held, by stating that the men of
Velazquez were furious on finding Cortés and the municipality elected, declaring,
‘q̄ no era bien hecho sin ser sabidores dello todos los Capitanes, y soldados.’ Hist.
Verdad., 29. This indicates also that many of the opponents must have been sent
away from camp for the occasion, perhaps on board the vessels. Montejo had
besides a number with him.

[189] ‘El qual como si nada supiera del caso, preguntò que era lo que mandauã.’
Having signified his acceptance, ‘Quisierõ besarle las manos por ello, como cosa
al bien de todos.’ Herrera, ubi sup.

[190] Gomara says frankly, ‘Cortés acepto el cargo de capitan general y justicia
mayor, a pocos ruegos, porq̄ no desseaua otra cosa mas por entonces.’ Hist.
Mex., 48. ‘Y no tuvo vergüenza Gomara,’ is Las Casas’ comment on the
admission. Hist. Ind., iv. 496. Bernal Diaz states that Cortés had made it a
condition, when the army pleaded to remain in the country, that he should receive
these offices: ‘Y lo peor de todo que le otorgamos que le dariamos el quinto del
oro.’ Hist. Verdad., 29. The letter of the ayuntamiento to the emperor sets forth
that they had represented to Cortés the injustice of trading gold for the sole benefit
of Velazquez and himself, and the necessity of securing the country and its wealth
for the king by founding a colony, which would also benefit them all in the
distribution of grants. They had accordingly urged him to stop barter as hitherto
carried on, and to found a town. It is then related how he yielded his own interest
in favor of king and community, and appointed them alcaldes and regidores. His
authority having in consequence become null, they appointed him in the king’s
name justicia, alcalde mayor, and captain, as the ablest and most loyal man, and
in consideration of his expenses and services so far. Carta 10 Jul., 1519, in
Cortés, Cartas, 19-21. Both Puertocarrero and Montejo confirm, in their testimony
before the authorities in Spain, that Cortés yielded to the general desire in doing
what he did. Col. Doc. Inéd., i. 489, 493-4. According to Gomara, Cortés makes a
trip into the neighboring country, and, finding how rich it is, he proposes to settle,
and to send the vessels to Cuba for more men wherewith to undertake the
conquest. This was approved: Cortés accordingly appointed the municipality, and
resigning the authority conferred by the Jeronimite Fathers and by Velazquez, as
now useless, these officers in turn elected him as their captain-general and justicia
mayor. The council proposed that, since the only provisions remaining belonged to
Cortés, he should take from the vessels what he needed for himself and servants,
and distribute the rest among the men at a just price, their joint credit being
pledged for payment. The fleets and outfit were to be accepted by the company in
the same way, the vessels to be used to carry provisions from the islands.
Scorning the idea of trading his possessions, Cortés surrendered the fleet and
effects for free distribution among his companions. Although liberal at all times
with them, this act was prompted by a desire to gain good-will. Hist. Mex., 46-8;
Herrera, dec. ii. lib. v. cap. vii.; Torquemada, i. 395, 587. Las Casas terms the
whole transaction, as related by Gomara and the ayuntamiento, a plot to defraud
Velazquez of his property and honors. Comparing the conduct of Cortés with that
of Velazquez against Colon, he finds the latter trifling and pardonable, while the
former was a barefaced robbery, resulting to Velazquez in loss of fortune, honors,
and life. The captains were accomplices. Hist. Ind., iv. 453, 494-6. Peter Martyr
gives the facts in brief without venturing an opinion, dec. v. cap. i.; Zumárraga, in
Ramirez, Doc., MS., 271-2. Cortés still held out the offer to furnish a vessel for
those who preferred to return to Cuba. As for Velazquez’ goods, they remained
safely in charge of the authorized agent, who also recovered the advances made
to members. See note 5, cap. v.

[191] As for the ayuntamiento, the passive recognition accorded to it, confirmed as
it was by the popularly elected general, may be regarded as sufficient. Spanish
municipal bodies possessed an extensive power conferred upon them during
successive reigns, chiefly with a view to afford the sovereign a support against the
assuming arrogance of the nobles. Their deliberations were respected; they could
appoint members, regulate their expenses, and even raise troops under their own
standard. As an instance of the consideration enjoyed by these troops, it is related
that Isabella the Catholic, when reviewing the army besieging Moclin, gave a
special salute of respect to the banner of Seville. Alaman, Disert., i. 612;
Zamacois, Hist. Méj., ii. 401-2.

[192] According to Gomara, Cortés enters the country with 400 men and all the
horses, before the election had been mooted. He describes the towns visited. Hist.
Mex., 46-8. Bernal Diaz pronounces the number of men and the time of entry
false. He also states that Montejo was bought over for 2000 pesos and more. Hist.
Verdad., 30.

[193] According to Bernal Diaz, Hist. Verdad., 30, gold played an important role in
effecting this change of allegiance, termed by Velazquez, in his Memorials to
Spain, a witchery. Solis sees nothing but the dignified yet clever traits of his hero
in all this.
[194] The soldiers called them Lopelucios, because their first inquiry was
Lopelucio, ‘chief,’ whom they wished to see. They had not ventured to approach
while the Mexicans were at the camp. Bernal Diaz, Hist. Verdad., 28.

[195] According to Gomara, followed by Herrera, the Totonacs were about twenty
in number, and came while Teuhtlile was absent on his second mission to Mexico,
without bringing a direct invitation to the Spaniards. Hist. Mex., 43-4.

[196] See Native Races, v. 475-7.

[197] Ixtlilxochitl, Hist. Chich., 288. This author is not very careful, however, and
his desire to court the Spaniards has no doubt led him to antedate the event.
Brasseur de Bourbourg accepts his story in full. Hist. Nat. Civ., iv. 87-8. A similar
revelation is claimed to have been made by two Aztec chiefs, Vamapantzin and
Atonaltzin, who came to the camp in the retinue of the first messengers from
Mexico. Descendants of the early Aztec kings, and discontented with the present
ruler, they promised Cortés to deliver certain native paintings foretelling the
coming of white men, to reveal the whereabouts of the imperial treasures, and to
plot an uprising among native states in aid of Spaniards. For these services they
received extensive grants after the conquest, including that of Ajapusco town. The
document recording this is a fragment which Zerecero parades in the opening part
of his Mem. Rev. Méx., 8-14, as a discovery by him in the Archivo General. It
pretends to be a title to Ajapusco lands, and contains on the first pages a letter
signed by Cortés at San Juan de Ulua, ‘20 March,’ 1519, as ‘Captain-general and
governor of these New Spains.’ Both the date and titles stamp the letter at least as
more than suspicious.

[198] The natives called it Citlaltepetl, starry mountain, with reference probably to
the sparks issuing from it. For height, etc., see Humboldt, Essai Pol., i. 273.
Brasseur de Bourbourg gives it the unlikely name of Ahuilizapan. Hist. Nat. Civ., iv.
99. The ending ‘pan’ implies a district or town, not a mountain. The description in
Carta del Ayunt., in Cortés, Cartas, 22-3, expresses doubt whether the whiteness
of the summit is due to snow or to clouds.

[199] Alvarado chased a deer, and succeeded in wounding it, but the next moment
the dense underbrush saved it from pursuit. The Carta del Ayunt., loc. cit., gives a
list of birds and quadrupeds; and a descriptive account, founded greatly on fancy,
however, is to be found in the curious Erasmi Francisci Guineischer und
Americanischer Blumen-Pusch, Nürnberg, 1669, wherein the compiler presents
under the title of a nosegay the ‘perfume of the wonders of strange animals, of
peculiar customs, and of the doings of the kings of Peru and Mexico.’ The first of
its two parts is devoted to the animal kingdom, with particular attention to the
marvellous, wherein credulity finds free play, as may be seen also in the flying
dragon of one of the crude engravings. In the second part, the aborigines, their
history, condition, and customs, are treated of, chiefly under Peru and Mexico,
chapter v. relating specially to the latter country. The narrative is quite superficial
and fragmentary; the ‘nosegay’ being not only common but faded, even the style
and type appearing antiquated for the date. Appended is Hemmersam, Guineische
und West-Indianische Reissbeschreibung, with addition by Dietherr, relating to
Africa and Brazil.

[200] ‘A tres leguas andadas llego al rio que parte termino con tierras de
Montecçuma.’ Gomara, Hist. Mex., 49; Torquemada, i. 395.

[201] Gomara, who ignores the previous night’s camp, states that the detour up
the river was made to avoid marshes. They saw only isolated huts, and fields, and
also about twenty natives, who were chased and caught. By them they were
guided to the hamlet. Hist. Mex., 49. They met one hundred men bringing them
food. Ixtlilxochitl, Hist. Chich., 289. Prescott allows the Spaniards to cross only a
tributary of la Antigua, and yet gain Cempoala. Mex., i. 339-40.

[202] Las Casas says 20,000 to 30,000. Hist. Ind., iv. 492. Torquemada varies in
different places from 25,000 to 150,000. The inhabitants were moved by Conde de
Monterey to a village in Jalapa district, and in Torquemada’s time less than half a
dozen remained. i. 397. ‘Dista de Vera-Cruz quatro leguas, y las ruínas dan á
entender la grandeza de la Ciudad; pero es distinto de otro Zempoal ... que dista
de este doze leguas.’ Lorenzana, in Cortés, Hist. N. España, 39. ‘Assentada en vn
llano entre dos rios.’ A league and a half from the sea. Herrera, dec. ii. lib. v. cap.
viii.

[203] ‘Cempoal, que yo intitulé Sevilla.’ Cortés, Cartas, 52. See Native Races, ii.
553-90; iv. 425-63, on Nahua architecture.

[204] Ixtlilxochitl, Hist. Chich., 294. Brasseur de Bourbourg, by a misconstruction


of his authorities, calls him Tlacochcalcatl. Codex Chimalpopoca, in Brasseur de
Bourbourg, Hist. Nat. Civ., iv. 93. See Sahagun, Hist. Conq., 16.

[205] ‘Una gordura monstruosa.... Fue necesario que Cortés detuviesse la risa de
los soldados.’ Solis, Hist. Mex., i. 175.

[206] ‘Se hizo el alojamento en el patio del Templo mayor.’ Herrera, dec. ii. lib. v.
cap. viii.

[207] For the reigns of their kings, see Torquemada, i. 278-80. Robertson, Hist.
Am., ii. 31, wrongly assumes the Totonacs to be a fierce people, different from
Cempoalans.
[208] ‘Toda aquella provincia de Cempoal y toda la sierra comarcana á la dicha
villa, que serán hasta cinquenta mil hombres de guerra y cincuenta villas y
fortalezas.’ Cortés, Cartas, 53. ‘Cien mil hõbres entre toda la liga.’ Gomara, Hist.
Mex., 57. ‘En aquellas tierras de la lengua de Totonaque, que eran mas de trienta
pueblos.’ Bernal Diaz, Hist. Verdad., 31. The province appears to have extended
from Rio de la Antigua to Huaxtecapan, in the north of Vera Cruz, and from the
sea to Zacatlan, in Puebla. Patiño assumes Mixquhuacan to have been the
capital, but this must be a mistake.

[209] Gomara relates that the army remained at Cempoala fifteen days, during
which frequent visits were made by the lord, Cortés paying the first return visit on
the third day, attended by fifty soldiers. He describes briefly the palace, and how
Cortés, seated by the side of the lord, on icpalli stools, now won his confidence
and adhesion. Hist. Mex., 51-3; Tapia, Rel., in Icazbalceta, Col. Doc., ii. 561;
Herrera, dec. ii. lib. v. cap. x. Bernal Diaz declares Gomara wrong, and insists that
they proceeded on their way the following day. Hist. Verdad., 31; Clavigero, Storia
Mess., iii. 26-7.

[210] For illustrated description of barranca ruins, see Native Races, iv. 439 et
seq.

[211] Ávila, who had command, was so strict as to lance Hernando Alonso de
Villanueva for not keeping in line. Lamed in the arm, he received the nickname of
el Manquillo. Bernal Diaz, Hist. Verdad., 31. The riders were obliged to retain their
seats, lest the Indians should suppose that the horses could be deterred by any
obstacles. Gomara, Hist. Mex., 53.

[212] Vetancvrt, Teatro Mex., pt. iii. 117. Others suppose that he came merely to
persuade the cacique to join Cortés. Clavigero, Storia Mess., iii. 27.

[213] Four men. Ixtlilxochitl, Hist. Chich., 289. ‘Twenty men,’ says Gomara, Hist.
Mex., 54, who does not refer to the arrival of Cempoala’s lord.

[214] ‘Monteçuma tenia pensamiẽnto, ... de nos auer todos á las manos, para que
hiziessemos generacion, y tambien para tener que sacrificar.’ Bernal Diaz, Hist.
Verdad., 28.

[215] ‘Carcerati nelle loro gabbie,’ is the way Clavigero puts it. Storia Mess., iii. 28.
One was even whipped for resisting.

[216] ‘Porque no se les fuesse alguno dellos á dar mandado á Mexico,’ is Bernal
Diaz’ reason for it. Hist. Verdad., 32.
[217] ‘Condotta artifiziosa, e doppia,’ etc., says Clavigero, Storia Mess., iii. 28,
while Solis lauds it as ‘Grande artífice de medir lo que disponia, con lo que
rezelaba: y prudente Capitan.’ Hist. Mex., i. 186.

[218] ‘Desde alli adelante nos llamaron Teules,’ says Bernal Diaz, with great
satisfaction. Hist Verdad., 32. ‘A los Españoles llamaron teteuh, que quiere decir
dioses, y los Españoles corrompiendo el vocablo decian teules, el cual nombre les
duró mas de tres años,’ till we stopped it, declaring that there was but one God.
Motolinia, Hist. Ind., i. 142-3. See note 16.
CHAPTER X.
MULTIPLICATION OF PLOTS.

June-July, 1519.

Cortés, Diplomate and General—The Municipality of Villa Rica Located—


Excitement throughout Anáhuac—Montezuma Demoralized—Arrival of
the Released Collectors at the Mexican Capital—The Order for
Troops Countermanded—Montezuma Sends an Embassy to Cortés—
Chicomacatl Asks Aid against a Mexican Garrison—A Piece of
Pleasantry—The Velazquez Men Refuse to Accompany the Expedition—
Opportunity Offered them to Return to Cuba, which they Decline
through Shame—The Totonacs Rebuked—The Cempoala Brides—
Destruction of the Idols—Arrival at Villa Rica of Salcedo—Efforts of
Velazquez with the Emperor—Cortés Sends Messengers to Spain—
Velazquez Orders them Pursued—The Letters of Cortés—Audiencia of
the Emperor at Tordesillas.

Palamedes invented the game of chess while watching before


the gates of Troy; a tame business, truly, beside the achievements of
the heaven-born Achilles, the hero of the war. Yet chess remains,
while Achilles and his heaven have melted with the mists. Who shall
say, then, which was the greater, Cortés the soldier, or Cortés the
diplomate? But these were barbarians, one says, with whom the
shrewd Spaniards had to deal; they had neither horses, nor iron, nor
gunpowder, to aid them in their wars. Furthermore, they regarded the
strangers fully as demi-gods, probably as some of their own
wandering deities returned. True; but he makes a great mistake who
rates the Mexicans so far beneath Europeans in natural ability and
cunning. Montezuma lacked some of the murderous enginery that
Cortés had, and his inner life was of different dye; that was about all.
If any would place Cortés, his genius, and his exploits, below those
of the world’s greatest generals, because he warred on enemies
weaker than their enemies, we have only to consider the means at
his command, how much less was his force than theirs. What could
the Scipios or the Cæsars have done with half a thousand men; or
Washington, or Wellington, with five hundred against five hundred
thousand? Napoleon’s tactics were always to have at hand more
forces than the enemy. In this the Corsican displayed his astuteness.
But a keener astuteness was required by Cortés to conquer
thousands with hundreds and with tens. Perhaps Moltke, who, with a
stronger force, could wage successful war on France, perhaps he,
and a handful of his veterans, could land on the deadly shores of the
Mexican Gulf, and with Montezuma there, and all the interior as dark
to them as Erebus, by strategy and force of arms possess
themselves of the country. I doubt it exceedingly. I doubt if one in ten
of the greatest generals who ever lived would have achieved what
the base bastard Pizarro did in Peru. The very qualities which made
them great would have deterred them from anything which, viewed in
the light of experience and reason, was so wildly chimerical. Then
give these birds of prey their petting, I say; they deserve it. And be
fame or infamy immortal ever theirs! Lastly, if any still suspect the
genius of Cortés unable to cope with others than Indians, let them
observe how he handles his brother Spaniards.
It was about time the municipality should find anchorage; too
much travelling by a town of such immaculate conception, of so
much more than ordinary signification, were not seemly. Velazquez
would deride it; the emperor Charles would wonder at it: therefore
half a league below Quiahuiztlan, in the dimpled plain which
stretches from its base to the harbor of Bernal at present protecting
the ships, where bright waters commingling with soft round hills and
rugged promontories were lifted into ethereal heights by the misted
sunshine, the whole scene falling on the senses like a vision, and not
like tame reality, there they chose a site for the Villa Rica,[219] and
drew a plan of the town, distributed lots, laid the foundations for forts
and batteries, granary, church, town-hall, and other buildings, which
were constructed chiefly of adobe, the whole being inclosed by a
strong stockade. To encourage alike men and officers to push the
work, Cortés himself set the example in preparing for the structures,
and in carrying earth and stones. The natives also lent their aid, and
in a few weeks the town stood ready, furnishing a good shipping
depot, a fortress for the control of the interior, a starting-point for
operations, an asylum for the sick and wounded, and a refuge for the
army in case of need.
Great was the excitement in Anáhuac and the regions round
about over the revolt of the Totonacs and the attitude assumed by
the Spaniards; and while hope swelled the breast of subjected
peoples, the Aztec nobles, seeing revolution in the signs of the
times, began to look to the safety of their families and estates.[220]
To Montezuma the seizure of his collectors was an outrage on the
sacredness of his majesty, and a slur on his power, which the council
declared must be punished in the most prompt and effective manner,
lest other provinces should follow the example. And yet the monarch
had no stomach for the business. Ofttimes since these accursed
strangers touched his shores would he willingly have resigned that
which he above all feared to lose, his sceptre and his life; then again,
as appetite returned and existence was loaded with affluent
pleasure, he sighed to taste the sweets of power a little longer. He
was becoming sadly pusillanimous, an object of contempt before his
gods, his nobles, and himself. It seemed to him as if the heavens
had fallen on him and held him inexorably to earth. There was no
escape. There were none to pity. He was alone. His very gods were
recreant, cowering before the approach of other gods. Repressing
his misgivings as best he might, he issued orders for an immediate
descent of the army on the offenders. Let the mettle of these beings
be proven, and let them live or die with their Totonac allies. To this
end let levies be made of men and money on a long-suffering
people, whose murmurs shall be drowned in the groans of fresh
victims on the sacrificial altar of the war god.[221]
See now how powerfully had wagged that little forked tongue of
Cortés! See how those gentle whisperings that night at Quiahuiztlan,
those soft dissemblings breathed into the ears of two poor captives
—see how they shot forth like winged swords to stop an army on the
point of marching to its slaughters! Here, as in scores of other
instances, Cortés’ shrewdness saved him from disaster.
For in the midst of the warlike preparations arrived the two
released collectors, and their presentation of the magnanimity of the
white chief, of his friendly conduct and warm assurances, materially
changed the aspect of affairs. There was no alliance; there was no
rebellion; the Totonacs dared not rebel without foreign support; with
them Montezuma would settle presently. And with no little alacrity did
he countermand the order for troops, and send an embassy to
Cortés. Thus through the vacillating policy which now possessed the
Mexican monarch was lost the opportunity to strike the enemy
perhaps a fatal blow; and thus by that far off impalpable breath was
fought and won another battle, this time vanquishing the king of
kings himself, with his hundred thousand men.

The embassy sent comprised two of Montezuma’s nephews,[222]


accompanied by four old and honorable caciques. They were to
express the monarch’s thanks to the Spaniards, and to remonstrate
against the revolt encouraged by their presence. He had become
assured that they were of the race predicted by his forefathers, and
consequently of his own lineage; out of regard for them, as guests of
the revolted people, he would withhold present chastisement. A gift
of robes and feather-work, and gold worth two thousand castellanos,
accompanied the message.[223]
We cannot blame Cortés if his heart danced to its own music as
he assured the envoys that he and all his people continued devoted
to their master; in proof of which he straightway produced the other
three collectors, safe, sound, and arrayed in their new attire.[224]
Nevertheless, he could but express displeasure at the abrupt
departure of the Mexicans from the former camp. This act had forced
him to seek hospitality at the hand of the Totonacs, and for their kind
reception of him they deserved to be forgiven. Further than this, they
had rendered the Spaniards great benefits, and should not be
expected to serve two masters, or to pay double tribute; for the rest,
Cortés himself would soon come to Mexico and arrange everything.
The envoys replied that their sovereign was too engrossed in serious
affairs to be able as yet to appoint an interview. “Adieu,” they
concluded, “and beware of the Totonacs, for they are a treacherous
race.” Not to create needless alarm, nor leave on the minds of the
envoys at their departure unpleasant impressions concerning his
projects, Cortés entertained them hospitably, astonished them with
cavalry and other exhibitions, and gratified them with presents. The
effect of this visit was to raise still higher the Spaniards in the
estimation not only of the Aztecs, but of the Totonacs, who with
amazement saw come from the dread Montezuma, instead of a
scourging army, this high embassy of peace. “It must be so,” they
said among themselves, “that the Mexican monarch stands in awe of
the strangers.”
Not long after, Chicomacatl came to Cortés asking aid against a
Mexican garrison, said to be committing ravages at Tizapantzinco,
[225]
some eight leagues from Cempoala. Cortés was in a merry
mood at the moment; he could see the important progress he was
making toward the consummation of his desires, though the men of
Velazquez could not—at least they would admit of nothing honorable
or beneficial to Cortés, and they continued to make much trouble.
Here was an opportunity to test the credulity of these heathen, how
far they might be brought to believe in the supernatural power of the
Spaniards. Among the musketeers was an old Biscayan from the
Italian wars, Heredia by name, the ugliest man in the army, uglier
than Thersites, who could not find his fellow among all the Greeks
that came to Troy. Lame in one foot, blind in one eye, bow-legged,
with a slashed face, bushy-bearded as a lion, this musketeer had
also the heart of a lion, and would march straight into the mouth of
Popocatepetl, without a question, at the order of his general. Calling
the man to him, Cortés said: “The Greeks worshipped beauty, as
thou knowest, good Heredia, but these Americans seem to deify
deformity, which in thee reaches its uttermost. Thou art hideous
enough at once to awe and enravish the Aztecs, whose Pantheon
cannot produce thine equal. Go to them, Heredia; bend fiercely on
them thine only eye, walk bravely before them, flash thy sword, and
thunder a little with thy gun, and thou shalt at once command a
hundred sacrifices.” Then to the Totonac chief: “This brother of mine
is all sufficient to aid thee in thy purpose. Go, and behold the
Culhuas will vanish at thy presence.” And they went; an obedience
significant of the estimation in which Cortés was then held, both by
his own men and by the natives.
They had not proceeded far when Cortés sent and recalled
them, saying that he desired to examine the country, and would
accompany them. Tlamamas would be required to carry the guns
and baggage, and they would set out the next day. At the last
moment seven of the Velazquez faction refused to go, on the ground
of ill health. Then others of their number spoke, condemning the
rashness of the present proceeding, and desiring to return to Cuba.
Cortés told them they could go, and after chiding them for neglect of
duty he ordered prepared a vessel, which should be placed at their
service. As they were about to embark, a deputation appeared to
protest against permitting any to depart, as a proceeding prejudicial
to the service of God, and of the king. “Men who at such a moment,
and under such circumstances, desert their flag deserve death.”
These were the words of Cortés put into the mouth of the speaker.
Of course the order concerning the vessel was recalled, and the men
of Velazquez were losers by the affair.[226]
The expedition, composed of four hundred soldiers, with
fourteen horses, and the necessary carriers, then set off for
Cempoala, where they were joined by four companies of two
thousand warriors. Two days’ march brought them close to
Tizapantzinco, and the following morning they entered the plain at
the foot of the fortress, which was strongly situated on a high rock
bordered by a stream. Here stood the people prepared to receive
them; but scarcely had the cavalry come in sight when they turned to
seek refuge within the fort. The horsemen cut off their retreat in that
direction, however, and leaving them, began the ascent. Eight chiefs
and priests thereupon came forth wailing, and informed the
Spaniards that the Mexican garrison had left at the first uprising of
the Totonacs, and that the Cempoalans were taking advantage of
this and of the Spanish alliance to enforce the settlement of a long-
standing boundary dispute. They begged that the army would not
advance. Cortés at once gave orders to restrain the Cempoalans,
who were already plundering. Their captains were severely
reprimanded for want of candor as to the real object of the
expedition, and were ordered to restore the effects and captives
taken. This strictness was by no means confined to them, for a
soldier named Mora, caught by the general in the act of stealing two
fowls, was ordered hanged. Alvarado, however, cut him down in time
to save his life, probably at the secret intimation of Cortés, who,

You might also like