SlideShare una empresa de Scribd logo
1 de 535
Descargar para leer sin conexión
TCP/IP Illustrated
Oleg V. Titov, CTD IFMO RU
Table of Contents
TCP/IP Illustrated .       .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    1
  TCP/IP Illustrated, Volume 1      .   .   .   .       .   .   .   .   .   .   .   .   .   .    1
     The Protocols    .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    1
     W. Richard Stevens .       .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    1
     Contents      .  .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    1
Preface .     .    .  .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    8
  Preface .        .  .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    8
       Introduction .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    8
       Organization of the Book .       .   .   .       .   .   .   .   .   .   .   .   .   .    8
       Readers .      .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .    9
       Systems Used for Testing .       .   .   .       .   .   .   .   .   .   .   .   .   .   10
       Typographical Conventions .      .   .   .       .   .   .   .   .   .   .   .   .   .   11
       Acknowledgments .        .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   11
Chapter 1. Introduction .       .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   13
  Introduction .      .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   13
       1.1 Introduction    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   13
       1.2 Layering .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   13
       1.3 TCP/IP Layering .        .   .   .   .       .   .   .   .   .   .   .   .   .   .   17
       1.4 Internet Addresses .     .   .   .   .       .   .   .   .   .   .   .   .   .   .   18
       1.5 The Domain Name System .         .   .       .   .   .   .   .   .   .   .   .   .   19
       1.6 Encapsulation .      .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   20
       1.7 Demultiplexing       .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   21
       1.8 Client-Server Model      .   .   .   .       .   .   .   .   .   .   .   .   .   .   22
       1.9 Port Numbers .       .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   23
          Reserved Ports .      .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   23
       1.10 Standardization Process     .   .   .       .   .   .   .   .   .   .   .   .   .   24
       1.11 RFCs      .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   24
       1.12 Standard, Simple Services .     .   .       .   .   .   .   .   .   .   .   .   .   25
       1.13 The Internet .      .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   26
       1.14 Implementations .       .   .   .   .       .   .   .   .   .   .   .   .   .   .   26
       1.15 Application Programming Interfaces .        .   .   .   .   .   .   .   .   .   .   27
       1.16 Test Network .      .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   28
       1.17 Summary .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   28
          Exercises .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   29
Chapter 2. Link Layer .         .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   30
  Link Layer .     .  .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   30
       2.1 Introduction    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   30
       2.2 Ethernet and IEEE 802 Encapsulation .        .   .   .   .   .   .   .   .   .   .   30
       2.3 Trailer Encapsulation .      .   .   .       .   .   .   .   .   .   .   .   .   .   32
       2.4 SLIP: Serial Line IP     .   .   .   .       .   .   .   .   .   .   .   .   .   .   33
       2.5 Compressed SLIP .        .   .   .   .       .   .   .   .   .   .   .   .   .   .   34
       2.6 PPP: Point-to-Point Protocol .   .   .       .   .   .   .   .   .   .   .   .   .   34
       2.7 Loopback Interface .     .   .   .   .       .   .   .   .   .   .   .   .   .   .   36
       2.8 MTU .      .    .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   38
       2.9 Path MTU .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   38
       2.10 Serial Line Throughput Calculations .       .   .   .   .   .   .   .   .   .   .   39
       2.11 Summary .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   40
          Exercises .      .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   40



                                                    i
Chapter 3. IP: Internet Protocol     .  .   . .  .   .   .   .   .   .   .   .   .   .   41
                                                                                         .
  IP: Internet Protocol .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   41
                                                                                         .
       3.1 Introduction .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   41
                                                                                         .
       3.2 IP Header .      .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   41
                                                                                         .
       3.3 IP Routing .     .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   45
                                                                                         .
          Examples      .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   47
                                                                                         .
       3.4 Subnet Addressing .       .  .   . .  .   .   .   .   .   .   .   .   .   .   49
                                                                                         .
       3.5 Subnet Mask      .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   51
                                                                                         .
          Example .     .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   51
                                                                                         .
       3.6 Special Case IP Addresses    .   . .  .   .   .   .   .   .   .   .   .   .   52
                                                                                         .
       3.7 A Subnet Example .        .  .   . .  .   .   .   .   .   .   .   .   .   .   53
                                                                                         .
       3.8 ifconfig Command          .  .   . .  .   .   .   .   .   .   .   .   .   .   55
                                                                                         .
       3.9 netstat Command .            .   . .  .   .   .   .   .   .   .   .   .   .   56
                                                                                         .
       3.10 IP Futures .    .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   56
                                                                                         .
       3.11 Summary .       .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   57
                                                                                         .
          Exercises .   .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   58
                                                                                         .
Chapter 4. ARP: Address Resolution Protocol .    .   .   .   .   .   .   .   .   .   .   59
                                                                                         .
  ARP: Address Resolution Protocol .    .   . .  .   .   .   .   .   .   .   .   .   .   59
                                                                                         .
       4.1 Introduction .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   59
                                                                                         .
       4.2 An Example .     .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   59
                                                                                         .
       4.3 ARP Cache .      .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   60
                                                                                         .
       4.4 ARP Packet Format .       .  .   . .  .   .   .   .   .   .   .   .   .   .   61
                                                                                         .
       4.5 ARP Examples .       .    .  .   . .  .   .   .   .   .   .   .   .   .   .   62
                                                                                         .
          Normal Example .      .    .  .   . .  .   .   .   .   .   .   .   .   .   .   62
                                                                                         .
          ARP Request to a Nonexistent Host . .  .   .   .   .   .   .   .   .   .   .   64
                                                                                         .
          ARP Cache Timeout .        .  .   . .  .   .   .   .   .   .   .   .   .   .   65
                                                                                         .
       4.6 Proxy ARP .      .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   65
                                                                                         .
       4.7 Gratuitous ARP .     .    .  .   . .  .   .   .   .   .   .   .   .   .   .   67
                                                                                         .
       4.8 arp Command .        .    .  .   . .  .   .   .   .   .   .   .   .   .   .   68
                                                                                         .
       4.9 Summary .        .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   68
                                                                                         .
          Exercises .   .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   68
                                                                                         .
Chapter 5. RARP: Reverse Address Resolution Protocol .   .   .   .   .   .   .   .   .   69
                                                                                         .
  RARP: Reverse Address Resolution Protocol   .  .   .   .   .   .   .   .   .   .   .   69
                                                                                         .
       5.1 Introduction .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   69
                                                                                         .
       5.2 RARP Packet Format .      .  .   . .  .   .   .   .   .   .   .   .   .   .   69
                                                                                         .
       5.3 RARP Examples .      .    .  .   . .  .   .   .   .   .   .   .   .   .   .   69
                                                                                         .
       5.4 RARP Server Design .      .  .   . .  .   .   .   .   .   .   .   .   .   .   72
                                                                                         .
          RARP Servers as User Processes    . .  .   .   .   .   .   .   .   .   .   .   72
                                                                                         .
          Multiple RARP Servers per Network   .  .   .   .   .   .   .   .   .   .   .   72
                                                                                         .
       5.5 Summary .        .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   72
                                                                                         .
          Exercises .   .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   73
                                                                                         .
Chapter 6. ICMP: Internet Control Message Protocol .     .   .   .   .   .   .   .   .   74
                                                                                         .
 ICMP: Internet Control Message Protocol .    .  .   .   .   .   .   .   .   .   .   .   74
                                                                                         .
       6.1 Introduction .   .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   74
                                                                                         .
       6.2 ICMP Message Types        .  .   . .  .   .   .   .   .   .   .   .   .   .   74
                                                                                         .
       6.3 ICMP Address Mask Request and Reply   .   .   .   .   .   .   .   .   .   .   77
                                                                                         .
       6.4 ICMP Timestamp Request and Reply .    .   .   .   .   .   .   .   .   .   .   78
                                                                                         .
          Alternatives .    .   .    .  .   . .  .   .   .   .   .   .   .   .   .   .   81
                                                                                         .
       6.5 ICMP Port Unreachable Error .    . .  .   .   .   .   .   .   .   .   .   .   82
                                                                                         .
          tcpdump Time Line     .    .  .   . .  .   .   .   .   .   .   .   .   .   .   84
                                                                                         .



                                             ii
6.6 4.4BSD Processing of ICMP Messages .        . . .   .   .   .   .   .   .   .    85
                                                                                           .
      6.7 Summary .          .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    87
                                                                                           .
         Exercises .     .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    87
                                                                                           .
Chapter 7. Ping Program .        .    .  .   .   .    . . .   .   .   .   .   .   .   .    88
                                                                                           .
  Ping Program .         .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    88
                                                                                           .
      7.1 Introduction .     .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    88
                                                                                           .
      7.2 Ping Program       .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    88
                                                                                           .
         LAN Output .        .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    89
                                                                                           .
         WAN Output .        .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    91
                                                                                           .
         Hardwired SLIP Links .       .  .   .   .    . . .   .   .   .   .   .   .   .    91
                                                                                           .
         Dialup SLIP Links       .    .  .   .   .    . . .   .   .   .   .   .   .   .    92
                                                                                           .
      7.3 IP Record Route Option .       .   .   .    . . .   .   .   .   .   .   .   .    93
                                                                                           .
         Normal Example .        .    .  .   .   .    . . .   .   .   .   .   .   .   .    94
                                                                                           .
         Abnormal Output .       .    .  .   .   .    . . .   .   .   .   .   .   .   .    96
                                                                                           .
      7.4 IP Timestamp Option .       .  .   .   .    . . .   .   .   .   .   .   .   .    97
                                                                                           .
      7.5 Summary .          .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    98
                                                                                           .
         Exercises .     .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    98
                                                                                           .
Traceroute Program .         .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    99
                                                                                           .
  Traceroute Program .       .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    99
                                                                                           .
      8.1 Introduction .     .   .    .  .   .   .    . . .   .   .   .   .   .   .   .    99
                                                                                           .
      8.2 Traceroute Program Operation .     .   .    . . .   .   .   .   .   .   .   .    99
                                                                                           .
      8.3 LAN Output .       .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   100
                                                                                           .
      8.4 WAN Output         .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   104
                                                                                           .
      8.5 IP Source Routing Option .     .   .   .    . . .   .   .   .   .   .   .   .   106
                                                                                           .
         traceroute Examples with Loose Source Routing .      .   .   .   .   .   .   .   107
                                                                                           .
         traceroute Examples with Strict Source Routing . .   .   .   .   .   .   .   .   109
                                                                                           .
         traceroute Round Trips with Loose Source Routing     .   .   .   .   .   .   .   111
                                                                                           .
      8.6 Summary .          .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   112
                                                                                           .
         Exercises .     .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   112
                                                                                           .
Chapter 9. IP Routing .      .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   114
                                                                                           .
  IP Routing .      .    .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   114
                                                                                           .
      9.1 Introduction .     .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   114
                                                                                           .
      9.2 Routing Principles .        .  .   .   .    . . .   .   .   .   .   .   .   .   114
                                                                                           .
         Simple Routing Table .       .  .   .   .    . . .   .   .   .   .   .   .   .   115
                                                                                           .
         Initializing a Routing Table    .   .   .    . . .   .   .   .   .   .   .   .   117
                                                                                           .
         A More Complex Routing Table        .   .    . . .   .   .   .   .   .   .   .   118
                                                                                           .
         No Route to Destination      .  .   .   .    . . .   .   .   .   .   .   .   .   119
                                                                                           .
      9.3 ICMP Host and Network Unreachable Errors      . .   .   .   .   .   .   .   .   119
                                                                                           .
      9.4 To Forward or Not to Forward .     .   .    . . .   .   .   .   .   .   .   .   120
                                                                                           .
      9.5 ICMP Redirect Errors        .  .   .   .    . . .   .   .   .   .   .   .   .   121
                                                                                           .
         An Example .        .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   121
                                                                                           .
         More Details .      .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   123
                                                                                           .
      9.6 ICMP Router Discovery Messages .       .    . . .   .   .   .   .   .   .   .   124
                                                                                           .
         Router Operation .      .    .  .   .   .    . . .   .   .   .   .   .   .   .   125
                                                                                           .
         Host Operation      .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   125
                                                                                           .
         Implementation .        .    .  .   .   .    . . .   .   .   .   .   .   .   .   126
                                                                                           .
      9.7 Summary .          .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   126
                                                                                           .
         Exercises .     .   .   .    .  .   .   .    . . .   .   .   .   .   .   .   .   126
                                                                                           .
Chapter 10. Dynamic Routing Protocols        .   .    . . .   .   .   .   .   .   .   .   128
                                                                                           .
  Dynamic Routing Protocols .         .  .   .   .    . . .   .   .   .   .   .   .   .   128
                                                                                           .



                                             iii
10.1 Introduction    .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   128
                                                                                            .
      10.2 Dynamic Routing .        .  .    .  .  .   .    .   .   .   .   .   .   .   .   128
                                                                                            .
      10.3 Unix Routing Daemons .      .    .  .  .   .    .   .   .   .   .   .   .   .   129
                                                                                            .
      10.4 RIP: Routing Information Protocol   .  .   .    .   .   .   .   .   .   .   .   129
                                                                                            .
        Message Format .       .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   129
                                                                                            .
        Normal Operation .     .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   130
                                                                                            .
        Metrics .      .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   131
                                                                                            .
        Problems .     .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   131
                                                                                            .
        Example .      .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   132
                                                                                            .
        Another Example .      .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   133
                                                                                            .
      10.5 RIP Version 2 .     .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   136
                                                                                            .
      10.6 OSPF: Open Shortest Path First .    .  .   .    .   .   .   .   .   .   .   .   136
                                                                                            .
      10.7 BGP: Border Gateway Protocol .      .  .   .    .   .   .   .   .   .   .   .   137
                                                                                            .
      10.8 CIDR: Classless Interdomain Routing .  .   .    .   .   .   .   .   .   .   .   138
                                                                                            .
      10.9 Summary .       .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   139
                                                                                            .
        Exercises .    .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   140
                                                                                            .
Chapter 11. UDP: User Datagram Protocol .      .  .   .    .   .   .   .   .   .   .   .   141
                                                                                            .
  UDP: User Datagram Protocol       .  .    .  .  .   .    .   .   .   .   .   .   .   .   141
                                                                                            .
      11.1 Introduction    .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   141
                                                                                            .
      11.2 UDP Header      .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   141
                                                                                            .
      11.3 UDP Checksum .      .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   142
                                                                                            .
        tcpdump Output .       .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   143
                                                                                            .
        Some Statistics    .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   144
                                                                                            .
      11.4 A Simple Example .       .  .    .  .  .   .    .   .   .   .   .   .   .   .   144
                                                                                            .
      11.5 IP Fragmentation .       .  .    .  .  .   .    .   .   .   .   .   .   .   .   145
                                                                                            .
      11.6 ICMP Unreachable Error (Fragmentation Required) .   .   .   .   .   .   .   .   148
                                                                                            .
        Example .      .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   148
                                                                                            .
      11.7 Determining the Path MTU Using Traceroute .     .   .   .   .   .   .   .   .   150
                                                                                            .
        The Worldwide Internet      .  .    .  .  .   .    .   .   .   .   .   .   .   .   151
                                                                                            .
      11.8 Path MTU Discovery with UDP .       .  .   .    .   .   .   .   .   .   .   .   151
                                                                                            .
        Example .      .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   151
                                                                                            .
      11.9 Interaction Between UDP and ARP .      .   .    .   .   .   .   .   .   .   .   155
                                                                                            .
      11.10 Maximum UDP Datagram Size .        .  .   .    .   .   .   .   .   .   .   .   156
                                                                                            .
        Datagram Truncation .       .  .    .  .  .   .    .   .   .   .   .   .   .   .   157
                                                                                            .
      11.11 ICMP Source Quench Error .      .  .  .   .    .   .   .   .   .   .   .   .   158
                                                                                            .
      11.12 UDP Server Design       .  .    .  .  .   .    .   .   .   .   .   .   .   .   159
                                                                                            .
        Client IP Address and Port Number .    .  .   .    .   .   .   .   .   .   .   .   160
                                                                                            .
        Destination IP Address      .  .    .  .  .   .    .   .   .   .   .   .   .   .   160
                                                                                            .
        UDP Input Queue .      .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   160
                                                                                            .
        Restricting Local IP Address .      .  .  .   .    .   .   .   .   .   .   .   .   162
                                                                                            .
        Restricting Foreign IP Address .    .  .  .   .    .   .   .   .   .   .   .   .   163
                                                                                            .
        Multiple Recipients per Port   .    .  .  .   .    .   .   .   .   .   .   .   .   164
                                                                                            .
      11.13 Summary .      .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   165
                                                                                            .
        Exercises .    .   .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   165
                                                                                            .
Chapter 12. Broadcasting and Multicasting .    .  .   .    .   .   .   .   .   .   .   .   167
                                                                                            .
 Broadcasting and Multicasting      .  .    .  .  .   .    .   .   .   .   .   .   .   .   167
                                                                                            .
      12.1 Introduction    .   .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   167
                                                                                            .
      12.2 Broadcasting .      .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   168
                                                                                            .
        Limited Broadcast .    .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   168
                                                                                            .
        Net-directed Broadcast .    .  .    .  .  .   .    .   .   .   .   .   .   .   .   169
                                                                                            .



                                              iv
Subnet-directed Broadcast .    .   .   .   .    .  .    .    .   .   .   .   .   .   169
                                                                                              .
        All-subnets-directed Broadcast .   .   .   .    .  .    .    .   .   .   .   .   .   169
                                                                                              .
      12.3 Broadcasting Examples .     .   .   .   .    .  .    .    .   .   .   .   .   .   169
                                                                                              .
      12.4 Multicasting     .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   172
                                                                                              .
        Multicast Group Addresses .    .   .   .   .    .  .    .    .   .   .   .   .   .   172
                                                                                              .
        Converting Multicast Group Addresses to Ethernet Addresses   .   .   .   .   .   .   173
                                                                                              .
        Multicasting on FDDI and Token Ring Networks .     .    .    .   .   .   .   .   .   174
                                                                                              .
      12.5 Summary .        .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   175
                                                                                              .
        Exercises .    .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   175
                                                                                              .
Chapter 13. IGMP: Internet Group Management Protocol .          .    .   .   .   .   .   .   176
                                                                                              .
  IGMP: Internet Group Management Protocol .       .    .  .    .    .   .   .   .   .   .   176
                                                                                              .
      13.1 Introduction     .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   176
                                                                                              .
      13.2 IGMP Message .       .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   176
                                                                                              .
      13.3 IGMP Protocol .      .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   177
                                                                                              .
        Joining a Multicast Group .    .   .   .   .    .  .    .    .   .   .   .   .   .   177
                                                                                              .
        IGMP Reports and Queries .     .   .   .   .    .  .    .    .   .   .   .   .   .   177
                                                                                              .
        Implementation Details      .  .   .   .   .    .  .    .    .   .   .   .   .   .   178
                                                                                              .
        Time-to-Live Field      .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   178
                                                                                              .
        All-Hosts Group .       .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   179
                                                                                              .
      13.4 An Example       .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   179
                                                                                              .
        Multicast Router Example .     .   .   .   .    .  .    .    .   .   .   .   .   .   181
                                                                                              .
      13.5 Summary .        .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   183
                                                                                              .
        Exercises .    .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   183
                                                                                              .
Chapter 14. DNS: The Domain Name System .          .    .  .    .    .   .   .   .   .   .   184
                                                                                              .
  DNS: The Domain Name System .        .   .   .   .    .  .    .    .   .   .   .   .   .   184
                                                                                              .
      14.1 Introduction     .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   184
                                                                                              .
      14.2 DNS Basics       .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   184
                                                                                              .
      14.3 DNS Message Format .        .   .   .   .    .  .    .    .   .   .   .   .   .   187
                                                                                              .
        Question Portion of DNS Query Message      .    .  .    .    .   .   .   .   .   .   189
                                                                                              .
        Resource Record Portion of DNS Response Message .       .    .   .   .   .   .   .   190
                                                                                              .
      14.4 A Simple Example .       .  .   .   .   .    .  .    .    .   .   .   .   .   .   191
                                                                                              .
      14.5 Pointer Queries .    .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   195
                                                                                              .
        Example .      .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   196
                                                                                              .
        Hostname Spoofing Check .      .   .   .   .    .  .    .    .   .   .   .   .   .   196
                                                                                              .
      14.6 Resource Records .       .  .   .   .   .    .  .    .    .   .   .   .   .   .   197
                                                                                              .
      14.7 Caching     .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   200
                                                                                              .
      14.8 UDP or TCP .         .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   204
                                                                                              .
      14.9 Another Example .        .  .   .   .   .    .  .    .    .   .   .   .   .   .   204
                                                                                              .
      14.10 Summary .       .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   206
                                                                                              .
        Exercises .    .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   206
                                                                                              .
Chapter 15. TFTP: Trivial File Transfer Protocol .      .  .    .    .   .   .   .   .   .   207
                                                                                              .
  TFTP: Trivial File Transfer Protocol .   .   .   .    .  .    .    .   .   .   .   .   .   207
                                                                                              .
      15.1 Introduction     .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   207
                                                                                              .
      15.2 Protocol .       .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   207
                                                                                              .
      15.3 An Example       .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   208
                                                                                              .
      15.4 Security    .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   210
                                                                                              .
      15.5 Summary .        .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   210
                                                                                              .
        Exercises .    .    .   .   .  .   .   .   .    .  .    .    .   .   .   .   .   .   211
                                                                                              .
Chapter 16. BOOTP: Bootstrap Protocol .        .   .    .  .    .    .   .   .   .   .   .   212
                                                                                              .
 BOOTP: Bootstrap Protocol .        .  .   .   .   .    .  .    .    .   .   .   .   .   .   212
                                                                                              .



                                               v
16.1 Introduction    .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   212
                                                                                         .
      16.2 BOOTP Packet Format .       .   .   .    . . .   .   .   .   .   .   .   .   212
                                                                                         .
        Port Numbers .     .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   214
                                                                                         .
      16.3 An Example      .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   214
                                                                                         .
      16.4 BOOTP Server Design .       .   .   .    . . .   .   .   .   .   .   .   .   217
                                                                                         .
      16.5 BOOTP Through a Router .        .   .    . . .   .   .   .   .   .   .   .   217
                                                                                         .
      16.6 Vendor-Specific Information .   .   .    . . .   .   .   .   .   .   .   .   218
                                                                                         .
      16.7 Summary .       .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   219
                                                                                         .
        Exercises .    .   .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   219
                                                                                         .
Chapter 17. TCP: Transmission Control Protocol .      . .   .   .   .   .   .   .   .   220
                                                                                         .
  TCP: Transmission Control Protocol .     .   .    . . .   .   .   .   .   .   .   .   220
                                                                                         .
      17.1 Introduction    .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   220
                                                                                         .
      17.2 TCP Services .      .   .   .   .   .    . . .   .   .   .   .   .   .   .   220
                                                                                         .
      17.3 TCP Header      .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   221
                                                                                         .
      17.4 Summary .       .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   224
                                                                                         .
        Exercises .    .   .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   224
                                                                                         .
Chapter 18. TCP Connection Establishment and Termination    .   .   .   .   .   .   .   225
                                                                                         .
 TCP Connection Establishment and Termination       . . .   .   .   .   .   .   .   .   225
                                                                                         .
      18.1 Introduction    .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   225
                                                                                         .
      18.2 Connection Establishment and Termination   . .   .   .   .   .   .   .   .   225
                                                                                         .
        tcpdump Output .       .   .   .   .   .    . . .   .   .   .   .   .   .   .   225
                                                                                         .
        Time Line      .   .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   227
                                                                                         .
        Connection Establishment Protocol .    .    . . .   .   .   .   .   .   .   .   227
                                                                                         .
        Connection Termination Protocol .      .    . . .   .   .   .   .   .   .   .   228
                                                                                         .
        Normal tcpdump Output .        .   .   .    . . .   .   .   .   .   .   .   .   229
                                                                                         .
      18.3 Timeout of Connection Establishment .    . . .   .   .   .   .   .   .   .   229
                                                                                         .
        First Timeout Period .     .   .   .   .    . . .   .   .   .   .   .   .   .   230
                                                                                         .
        Type-of-Service Field .    .   .   .   .    . . .   .   .   .   .   .   .   .   231
                                                                                         .
      18.4 Maximum Segment Size .      .   .   .    . . .   .   .   .   .   .   .   .   231
                                                                                         .
      18.5 TCP Half-Close .    .   .   .   .   .    . . .   .   .   .   .   .   .   .   232
                                                                                         .
      18.6 TCP State Transition Diagram    .   .    . . .   .   .   .   .   .   .   .   233
                                                                                         .
        2MSL Wait State .      .   .   .   .   .    . . .   .   .   .   .   .   .   .   234
                                                                                         .
        Quiet Time Concept .       .   .   .   .    . . .   .   .   .   .   .   .   .   238
                                                                                         .
        FIN WAIT 2 State .     .   .   .   .   .    . . .   .   .   .   .   .   .   .   238
                                                                                         .
      18.7 Reset Segments .    .   .   .   .   .    . . .   .   .   .   .   .   .   .   238
                                                                                         .
        Connection Request to Nonexistent Port .    . . .   .   .   .   .   .   .   .   239
                                                                                         .
        Aborting a Connection .    .   .   .   .    . . .   .   .   .   .   .   .   .   239
                                                                                         .
        Detecting Half-Open Connections .      .    . . .   .   .   .   .   .   .   .   241
                                                                                         .
      18.8 Simultaneous Open .     .   .   .   .    . . .   .   .   .   .   .   .   .   242
                                                                                         .
        An Example .       .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   243
                                                                                         .
      18.9 Simultaneous Close .    .   .   .   .    . . .   .   .   .   .   .   .   .   245
                                                                                         .
      18.10 TCP Options .      .   .   .   .   .    . . .   .   .   .   .   .   .   .   246
                                                                                         .
      18.11 TCP Server Design      .   .   .   .    . . .   .   .   .   .   .   .   .   246
                                                                                         .
        TCP Server Port Numbers .      .   .   .    . . .   .   .   .   .   .   .   .   247
                                                                                         .
        Restricting Local IP Address .     .   .    . . .   .   .   .   .   .   .   .   248
                                                                                         .
        Restricting Foreign IP Address .   .   .    . . .   .   .   .   .   .   .   .   249
                                                                                         .
        Incoming Connection Request Queue      .    . . .   .   .   .   .   .   .   .   250
                                                                                         .
      18.12 Summary .      .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   254
                                                                                         .
        Exercises .    .   .   .   .   .   .   .    . . .   .   .   .   .   .   .   .   254
                                                                                         .




                                            vi
Chapter 19. TCP Interactive Data Flow       .   .    .    .   .   .   .   .   .   .   .   .   257
                                                                                               .
  TCP Interactive Data Flow .       .   .   .   .    .    .   .   .   .   .   .   .   .   .   257
                                                                                               .
      19.1 Introduction      . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   257
                                                                                               .
      19.2 Interactive Input   .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   257
                                                                                               .
      19.3 Delayed Acknowledgments .        .   .    .    .   .   .   .   .   .   .   .   .   259
                                                                                               .
      19.4 Nagle Algorithm     .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   260
                                                                                               .
        Disabling the Nagle Algorithm .     .   .    .    .   .   .   .   .   .   .   .   .   262
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   262
                                                                                               .
      19.5 Window Size Advertisements       .   .    .    .   .   .   .   .   .   .   .   .   267
                                                                                               .
      19.6 Summary .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   267
                                                                                               .
        Exercises .     .    . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   267
                                                                                               .
Chapter 20. TCP Bulk Data Flow .        .   .   .    .    .   .   .   .   .   .   .   .   .   268
                                                                                               .
  TCP Bulk Data Flow .       . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   268
                                                                                               .
      20.1 Introduction      . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   268
                                                                                               .
      20.2 Normal Data Flow .       .   .   .   .    .    .   .   .   .   .   .   .   .   .   268
                                                                                               .
        Fast Sender, Slow Receiver .    .   .   .    .    .   .   .   .   .   .   .   .   .   271
                                                                                               .
      20.3 Sliding Windows .        .   .   .   .    .    .   .   .   .   .   .   .   .   .   272
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   273
                                                                                               .
      20.4 Window Size .       .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   274
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   275
                                                                                               .
      20.5 PUSH Flag .       . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   276
                                                                                               .
        Examples        .    . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   277
                                                                                               .
      20.6 Slow Start .      . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   278
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   278
                                                                                               .
      20.7 Bulk Data Throughput .       .   .   .    .    .   .   .   .   .   .   .   .   .   279
                                                                                               .
        Bandwidth-Delay Product .       .   .   .    .    .   .   .   .   .   .   .   .   .   282
                                                                                               .
        Congestion .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   283
                                                                                               .
      20.8 Urgent Mode .       .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   283
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   285
                                                                                               .
      20.9 Summary .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   287
                                                                                               .
        Exercises .     .    . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   288
                                                                                               .
Chapter 21. TCP Timeout and Retransmission .         .    .   .   .   .   .   .   .   .   .   289
                                                                                               .
 TCP Timeout and Retransmission .       .   .   .    .    .   .   .   .   .   .   .   .   .   289
                                                                                               .
      21.1 Introduction      . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   289
                                                                                               .
      21.2 Simple Timeout and Retransmission Example      .   .   .   .   .   .   .   .   .   289
                                                                                               .
      21.3 Round-Trip Time Measurement .        .    .    .   .   .   .   .   .   .   .   .   291
                                                                                               .
        Karn’s Algorithm .     .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   293
                                                                                               .
      21.4 An RTT Example .         .   .   .   .    .    .   .   .   .   .   .   .   .   .   293
                                                                                               .
        Round-Trip Time Measurements        .   .    .    .   .   .   .   .   .   .   .   .   294
                                                                                               .
        RTT Estimator Calculations      .   .   .    .    .   .   .   .   .   .   .   .   .   295
                                                                                               .
        Slow Start      .    . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   297
                                                                                               .
      21.5 Congestion Example       .   .   .   .    .    .   .   .   .   .   .   .   .   .   297
                                                                                               .
      21.6 Congestion Avoidance Algorithm .     .    .    .   .   .   .   .   .   .   .   .   298
                                                                                               .
      21.7 Fast Retransmit and Fast Recovery Algorithms   .   .   .   .   .   .   .   .   .   300
                                                                                               .
      21.8 Congestion Example (Continued) .     .    .    .   .   .   .   .   .   .   .   .   301
                                                                                               .
      21.9 Per-Route Metrics .      .   .   .   .    .    .   .   .   .   .   .   .   .   .   304
                                                                                               .
      21.10 ICMP Errors .      .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   304
                                                                                               .
        An Example .         . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   304
                                                                                               .
      21.11 Repacketization    .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   308
                                                                                               .
      21.12 Summary .        . .    .   .   .   .    .    .   .   .   .   .   .   .   .   .   309
                                                                                               .



                                              vii
Exercises .    .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   310
                                                                                          .
Chapter 22. TCP Persist Timer       .  .    .   .   .   .  . .   .   .   .   .   .   .   311
                                                                                          .
  TCP Persist Timer .       .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   311
                                                                                          .
      22.1 Introduction     .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   311
                                                                                          .
      22.2 An Example       .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   311
                                                                                          .
      22.3 Silly Window Syndrome .     .    .   .   .   .  . .   .   .   .   .   .   .   314
                                                                                          .
        An Example .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   314
                                                                                          .
      22.4 Summary .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   318
                                                                                          .
        Exercises .    .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   318
                                                                                          .
Chapter 23. TCP Keepalive Timer .      .    .   .   .   .  . .   .   .   .   .   .   .   319
                                                                                          .
  TCP Keepalive Timer       .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   319
                                                                                          .
      23.1 Introduction     .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   319
                                                                                          .
      23.2 Description .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   320
                                                                                          .
      23.3 Keepalive Examples .     .  .    .   .   .   .  . .   .   .   .   .   .   .   321
                                                                                          .
        Other End Crashes        .  .  .    .   .   .   .  . .   .   .   .   .   .   .   321
                                                                                          .
        Other End Crashes and Reboots .     .   .   .   .  . .   .   .   .   .   .   .   323
                                                                                          .
        Other End Is Unreachable .     .    .   .   .   .  . .   .   .   .   .   .   .   324
                                                                                          .
      23.4 Summary .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   325
                                                                                          .
        Exercises .    .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   326
                                                                                          .
Chapter 24. TCP Futures and Performance .       .   .   .  . .   .   .   .   .   .   .   327
                                                                                          .
  TCP Futures and Performance       .  .    .   .   .   .  . .   .   .   .   .   .   .   327
                                                                                          .
      24.1 Introduction     .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   327
                                                                                          .
      24.2 Path MTU Discovery       .  .    .   .   .   .  . .   .   .   .   .   .   .   327
                                                                                          .
        An Example .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   328
                                                                                          .
        Big Packets or Small Packets? .     .   .   .   .  . .   .   .   .   .   .   .   330
                                                                                          .
      24.3 Long Fat Pipes .      .  .  .    .   .   .   .  . .   .   .   .   .   .   .   331
                                                                                          .
        Gigabit Networks .       .  .  .    .   .   .   .  . .   .   .   .   .   .   .   332
                                                                                          .
      24.4 Window Scale Option .       .    .   .   .   .  . .   .   .   .   .   .   .   333
                                                                                          .
        An Example .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   334
                                                                                          .
      24.5 Timestamp Option .       .  .    .   .   .   .  . .   .   .   .   .   .   .   336
                                                                                          .
      24.6 PAWS: Protection Against Wrapped Sequence Numbers     .   .   .   .   .   .   337
                                                                                          .
      24.7 T/TCP: A TCP Extension for Transactions .    .  . .   .   .   .   .   .   .   338
                                                                                          .
      24.8 TCP Performance .        .  .    .   .   .   .  . .   .   .   .   .   .   .   341
                                                                                          .
      24.9 Summary .        .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   342
                                                                                          .
        Exercises .    .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   343
                                                                                          .
Chapter 25. SNMP: Simple Network Management Protocol .       .   .   .   .   .   .   .   345
                                                                                          .
 SNMP: Simple Network Management Protocol .         .   .  . .   .   .   .   .   .   .   345
                                                                                          .
      25.1 Introduction     .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   345
                                                                                          .
      25.2 Protocol .       .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   345
                                                                                          .
      25.3 Structure of Management Information .    .   .  . .   .   .   .   .   .   .   347
                                                                                          .
      25.4 Object Identifiers .     .  .    .   .   .   .  . .   .   .   .   .   .   .   348
                                                                                          .
      25.5 Introduction to the Management Information Base . .   .   .   .   .   .   .   349
                                                                                          .
        Case Diagrams       .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   350
                                                                                          .
      25.6 Instance Identification .   .    .   .   .   .  . .   .   .   .   .   .   .   351
                                                                                          .
        Simple Variables .       .  .  .    .   .   .   .  . .   .   .   .   .   .   .   351
                                                                                          .
        Tables .       .    .    .  .  .    .   .   .   .  . .   .   .   .   .   .   .   351
                                                                                          .
        Lexicographic Ordering      .  .    .   .   .   .  . .   .   .   .   .   .   .   352
                                                                                          .
      25.7 Simple Examples .        .  .    .   .   .   .  . .   .   .   .   .   .   .   353
                                                                                          .
        Simple Variables .       .  .  .    .   .   .   .  . .   .   .   .   .   .   .   353
                                                                                          .
        get-next Operator .         .  .    .   .   .   .  . .   .   .   .   .   .   .   353
                                                                                          .



                                            viii
Table Access .     .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   354
                                                                                               .
       25.8 Management Information Base (Continued)        .   .   .  .   .   .   .   .   .   355
                                                                                               .
          system Group .          .   . .    .    .   .    .   .   .  .   .   .   .   .   .   355
                                                                                               .
          interface Group .           . .    .    .   .    .   .   .  .   .   .   .   .   .   356
                                                                                               .
          at Group       .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   358
                                                                                               .
          ip Group       .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   359
                                                                                               .
          icrop Group        .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   364
                                                                                               .
          tcp Group .        .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   365
                                                                                               .
       25.9 Additional Examples       . .    .    .   .    .   .   .  .   .   .   .   .   .   368
                                                                                               .
          Interface MTU      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   368
                                                                                               .
          Routing Tables     .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   369
                                                                                               .
       25.10 Traps .     .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   370
                                                                                               .
       25.11 ASN.1 and BER .          . .    .    .   .    .   .   .  .   .   .   .   .   .   372
                                                                                               .
       25.12 SNMP Version 2 .         . .    .    .   .    .   .   .  .   .   .   .   .   .   373
                                                                                               .
       25.13 Summary .       .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   374
                                                                                               .
          Exercises .    .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   374
                                                                                               .
Chapter 26. Telnet and Rlogin: Remote Login .         .    .   .   .  .   .   .   .   .   .   375
                                                                                               .
  Telnet and Rlogin: Remote Login .     .    .    .   .    .   .   .  .   .   .   .   .   .   375
                                                                                               .
      26.1 Introduction      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   375
                                                                                               .
      26.2 Rlogin Protocol .      .   . .    .    .   .    .   .   .  .   .   .   .   .   .   376
                                                                                               .
         Application Startup      .   . .    .    .   .    .   .   .  .   .   .   .   .   .   377
                                                                                               .
         Flow Control .      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   377
                                                                                               .
         Client Interrupt .       .   . .    .    .   .    .   .   .  .   .   .   .   .   .   378
                                                                                               .
         Window Size Changes .        . .    .    .   .    .   .   .  .   .   .   .   .   .   378
                                                                                               .
         Server to Client Commands      .    .    .   .    .   .   .  .   .   .   .   .   .   378
                                                                                               .
         Client to Server Commands      .    .    .   .    .   .   .  .   .   .   .   .   .   379
                                                                                               .
         Client Escapes      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   380
                                                                                               .
      26.3 Rlogin Examples        .   . .    .    .   .    .   .   .  .   .   .   .   .   .   380
                                                                                               .
         Initial Client-Server Protocol .    .    .   .    .   .   .  .   .   .   .   .   .   380
                                                                                               .
         Client Interrupt Key .       . .    .    .   .    .   .   .  .   .   .   .   .   .   382
                                                                                               .
      26.4 Telnet Protocol .      .   . .    .    .   .    .   .   .  .   .   .   .   .   .   385
                                                                                               .
         NVT ASCII .         .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   385
                                                                                               .
         Telnet Commands .        .   . .    .    .   .    .   .   .  .   .   .   .   .   .   386
                                                                                               .
         Option Negotiation       .   . .    .    .   .    .   .   .  .   .   .   .   .   .   387
                                                                                               .
         Suboption Negotiation .      . .    .    .   .    .   .   .  .   .   .   .   .   .   388
                                                                                               .
         Half-Duplex, Character at a Time, Line at a Time, or Linemode?   .   .   .   .   .   389
                                                                                               .
         Synch Signal .      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   390
                                                                                               .
         Client Escapes      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   390
                                                                                               .
      26.5 Telnet Examples        .   . .    .    .   .    .   .   .  .   .   .   .   .   .   391
                                                                                               .
         Character-at-a-Time Mode .     .    .    .   .    .   .   .  .   .   .   .   .   .   391
                                                                                               .
         Linemode        .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   395
                                                                                               .
         Line-at-a-Time Mode (Kludge Line Mode) .          .   .   .  .   .   .   .   .   .   397
                                                                                               .
         Linemode: Client Interrupt Key .    .    .   .    .   .   .  .   .   .   .   .   .   400
                                                                                               .
      26.6 Summary .         .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   401
                                                                                               .
         Exercises .     .   .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   402
                                                                                               .
Chapter 27. FTP: File Transfer Protocol      .    .   .    .   .   .  .   .   .   .   .   .   403
                                                                                               .
 FTP: File Transfer Protocol .        . .    .    .   .    .   .   .  .   .   .   .   .   .   403
                                                                                               .
      27.1 Introduction      .    .   . .    .    .   .    .   .   .  .   .   .   .   .   .   403
                                                                                               .
      27.2 FTP Protocol .         .   . .    .    .   .    .   .   .  .   .   .   .   .   .   403
                                                                                               .
         Data Representation .        . .    .    .   .    .   .   .  .   .   .   .   .   .   404
                                                                                               .



                                                ix
FTP Commands .        .    .    .   .   .   .   .   .    . .   .   .   .   .   .   405
                                                                                            .
        FTP Replies .      .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   406
                                                                                            .
        Connection Management .         .   .   .   .   .   .    . .   .   .   .   .   .   408
                                                                                            .
      27.3 FTP Examples .     .    .    .   .   .   .   .   .    . .   .   .   .   .   .   409
                                                                                            .
        Connection Management: Ephemeral Data Port .        .    . .   .   .   .   .   .   409
                                                                                            .
        Connection Management: Default Data Port .      .   .    . .   .   .   .   .   .   411
                                                                                            .
        Text File Transfer: NVT ASCII Representation or Image? .   .   .   .   .   .   .   413
                                                                                            .
        Aborting A File Transfer: Telnet Synch Signal   .   .    . .   .   .   .   .   .   415
                                                                                            .
        Anonymous FTP .       .    .    .   .   .   .   .   .    . .   .   .   .   .   .   417
                                                                                            .
        Anonymous FTP from an Unknown IP Address .          .    . .   .   .   .   .   .   419
                                                                                            .
      27.4 Summary .       .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   420
                                                                                            .
        Exercises .    .   .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   421
                                                                                            .
Chapter 28. SMTP: Simple Mail Transfer Protocol .       .   .    . .   .   .   .   .   .   422
                                                                                            .
  SMTP: Simple Mail Transfer Protocol .     .   .   .   .   .    . .   .   .   .   .   .   422
                                                                                            .
      28.1 Introduction    .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   422
                                                                                            .
      28.2 SMTP Protocol .    .    .    .   .   .   .   .   .    . .   .   .   .   .   .   422
                                                                                            .
        Simple Example .      .    .    .   .   .   .   .   .    . .   .   .   .   .   .   423
                                                                                            .
        SMTP Commands .       .    .    .   .   .   .   .   .    . .   .   .   .   .   .   426
                                                                                            .
        Envelopes, Headers, and Body .      .   .   .   .   .    . .   .   .   .   .   .   427
                                                                                            .
        Relay Agents .     .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   428
                                                                                            .
        NVT ASCII .        .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   429
                                                                                            .
        Retry Intervals    .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   430
                                                                                            .
      28.3 SMTP Examples      .    .    .   .   .   .   .   .    . .   .   .   .   .   .   430
                                                                                            .
        MX Records: Hosts Not Directly Connected to the Internet . .   .   .   .   .   .   430
                                                                                            .
        MX Records: Hosts That Are Down .       .   .   .   .    . .   .   .   .   .   .   432
                                                                                            .
        VRFY and EXPN Commands .            .   .   .   .   .    . .   .   .   .   .   .   434
                                                                                            .
      28.4 SMTP Futures .     .    .    .   .   .   .   .   .    . .   .   .   .   .   .   435
                                                                                            .
        Envelope Changes: Extended SMTP .       .   .   .   .    . .   .   .   .   .   .   435
                                                                                            .
        Header Changes: Non-ASCII Characters .      .   .   .    . .   .   .   .   .   .   437
                                                                                            .
        Body Changes: Multipurpose Internet Mail Extensions (MIME)     .   .   .   .   .   439
                                                                                            .
      28.5 Summary .       .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   443
                                                                                            .
        Exercises .    .   .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   443
                                                                                            .
Chapter 29. NFS: Network File System .      .   .   .   .   .    . .   .   .   .   .   .   444
                                                                                            .
 NFS: Network File System     .    .    .   .   .   .   .   .    . .   .   .   .   .   .   444
                                                                                            .
      29.1 Introduction    .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   444
                                                                                            .
      29.2 Sun Remote Procedure Call .      .   .   .   .   .    . .   .   .   .   .   .   444
                                                                                            .
        Sun RPC .      .   .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   445
                                                                                            .
      29.3 XDR: External Data Representation .      .   .   .    . .   .   .   .   .   .   446
                                                                                            .
      29.4 Port Mapper     .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   446
                                                                                            .
      29.5 NFS Protocol .     .    .    .   .   .   .   .   .    . .   .   .   .   .   .   448
                                                                                            .
        File Handles .     .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   450
                                                                                            .
        Mount Protocol .      .    .    .   .   .   .   .   .    . .   .   .   .   .   .   450
                                                                                            .
        NFS Procedures .      .    .    .   .   .   .   .   .    . .   .   .   .   .   .   451
                                                                                            .
        UDP or TCP? .      .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   452
                                                                                            .
        NFS Over TCP .        .    .    .   .   .   .   .   .    . .   .   .   .   .   .   452
                                                                                            .
      29.6 NFS Examples .     .    .    .   .   .   .   .   .    . .   .   .   .   .   .   453
                                                                                            .
        Simple Example: Reading a File      .   .   .   .   .    . .   .   .   .   .   .   453
                                                                                            .
        Simple Example: Creating a Directory .      .   .   .    . .   .   .   .   .   .   455
                                                                                            .
        Statelessness .    .  .    .    .   .   .   .   .   .    . .   .   .   .   .   .   456
                                                                                            .
        Example: Server Crash      .    .   .   .   .   .   .    . .   .   .   .   .   .   456
                                                                                            .



                                              x
Idempotent Procedures .   .   .    .  .   .   .    .   .  .    .   .   .     .   .   459
                                                                                               .
      29.7 NFS Version 3 .       . .   .    .  .   .   .    .   .  .    .   .   .     .   .   460
                                                                                               .
      29.8 Summary .       .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   460
                                                                                               .
         Exercises .   .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   461
                                                                                               .
Chapter 30. Other TCP/IP Applications       .  .   .   .    .   .  .    .   .   .     .   .   462
                                                                                               .
  Other TCP/IP Applications      . .   .    .  .   .   .    .   .  .    .   .   .     .   .   462
                                                                                               .
      30.1 Introduction    .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   462
                                                                                               .
      30.2 Finger Protocol .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   462
                                                                                               .
      30.3 Whois Protocol .      . .   .    .  .   .   .    .   .  .    .   .   .     .   .   464
                                                                                               .
         White Pages .     .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   465
                                                                                               .
      30.4 Archie, WAIS, Gopher, Veronica, and WWW .        .   .  .    .   .   .     .   .   466
                                                                                               .
         Archie .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   466
                                                                                               .
         WAIS: Wide Area Information Servers .     .   .    .   .  .    .   .   .     .   .   466
                                                                                               .
         Gopher .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   466
                                                                                               .
         Veronica: Very Easy Rodent-Oriented Netwide Index to Computerized Archives   .   .   466
                                                                                               .
         WWW: World Wide Web .         .    .  .   .   .    .   .  .    .   .   .     .   .   467
                                                                                               .
      30.5 X Window System .       .   .    .  .   .   .    .   .  .    .   .   .     .   .   467
                                                                                               .
         Xscope Program .        . .   .    .  .   .   .    .   .  .    .   .   .     .   .   468
                                                                                               .
         LBX: Low Bandwidth X .        .    .  .   .   .    .   .  .    .   .   .     .   .   470
                                                                                               .
      30.6 Summary .       .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   470
                                                                                               .
         Exercises .   .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   470
                                                                                               .
Appendix A: The tcpdump Program .           .  .   .   .    .   .  .    .   .   .     .   .   471
                                                                                               .
  The tcpdump Program .          . .   .    .  .   .   .    .   .  .    .   .   .     .   .   471
                                                                                               .
      A.1 BSD Packet Filter .      .   .    .  .   .   .    .   .  .    .   .   .     .   .   471
                                                                                               .
      A.2 SunOS Network Interface Tap       .  .   .   .    .   .  .    .   .   .     .   .   472
                                                                                               .
      A.3 SVR4 Data Link Provider Interface    .   .   .    .   .  .    .   .   .     .   .   473
                                                                                               .
      A.4 tcpdump Output         . .   .    .  .   .   .    .   .  .    .   .   .     .   .   473
                                                                                               .
      A.5 Security Considerations .    .    .  .   .   .    .   .  .    .   .   .     .   .   474
                                                                                               .
      A.6 Socket Debug Option      .   .    .  .   .   .    .   .  .    .   .   .     .   .   475
                                                                                               .
Appendix B: Computer Clocks .      .   .    .  .   .   .    .   .  .    .   .   .     .   .   476
                                                                                               .
  Computer Clocks      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   476
                                                                                               .
Appendix C: The sock Program       .   .    .  .   .   .    .   .  .    .   .   .     .   .   478
                                                                                               .
  The sock Program .       .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   478
                                                                                               .
Appendix D: Solutions to Selected Exercises    .   .   .    .   .  .    .   .   .     .   .   482
                                                                                               .
 Solutions to Selected Exercises   .   .    .  .   .   .    .   .  .    .   .   .     .   .   482
                                                                                               .
      Chapter 1 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   482
                                                                                               .
      Chapter 3 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   482
                                                                                               .
      Chapter 4 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   483
                                                                                               .
      Chapter 5 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   483
                                                                                               .
      Chapter 6 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   483
                                                                                               .
      Chapter 7 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   484
                                                                                               .
      Chapter 8 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   485
                                                                                               .
      Chapter 9 .      .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   486
                                                                                               .
      Chapter 10 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   487
                                                                                               .
      Chapter 11 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   487
                                                                                               .
      Chapter 12 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   488
                                                                                               .
      Chapter 13 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   488
                                                                                               .
      Chapter 14 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   488
                                                                                               .
      Chapter 15 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   489
                                                                                               .
      Chapter 16 .     .   .     . .   .    .  .   .   .    .   .  .    .   .   .     .   .   489
                                                                                               .



                                              xi
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip
Libro ilustrate dstevens tcpip

Más contenido relacionado

La actualidad más candente

Circuitikzmanual
CircuitikzmanualCircuitikzmanual
CircuitikzmanualFrank Rojas
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...ssuserd6b1fd
 
Perl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First EditionPerl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First Editiontutorialsruby
 
0802 python-tutorial
0802 python-tutorial0802 python-tutorial
0802 python-tutorialZahid Hasan
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...ssuserd6b1fd
 
programación en prolog
programación en prologprogramación en prolog
programación en prologAlex Pin
 
Circuitikzmanual (1)
Circuitikzmanual (1)Circuitikzmanual (1)
Circuitikzmanual (1)Geraldo Silva
 

La actualidad más candente (13)

Circuitikzmanual
CircuitikzmanualCircuitikzmanual
Circuitikzmanual
 
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
Notes of 8051 Micro Controller for BCA, MCA, MSC (CS), MSC (IT) & AMIE IEI- b...
 
Swi prolog-6.2.6
Swi prolog-6.2.6Swi prolog-6.2.6
Swi prolog-6.2.6
 
Perl 5 guide
Perl 5 guidePerl 5 guide
Perl 5 guide
 
Perl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First EditionPerl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First Edition
 
R admin
R adminR admin
R admin
 
Tutorial edit
Tutorial editTutorial edit
Tutorial edit
 
0802 python-tutorial
0802 python-tutorial0802 python-tutorial
0802 python-tutorial
 
Pylons
PylonsPylons
Pylons
 
c programming
c programmingc programming
c programming
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
 
programación en prolog
programación en prologprogramación en prolog
programación en prolog
 
Circuitikzmanual (1)
Circuitikzmanual (1)Circuitikzmanual (1)
Circuitikzmanual (1)
 

Destacado (16)

Rob Christianson presentation
Rob Christianson presentationRob Christianson presentation
Rob Christianson presentation
 
Powerpoint presentation aegis conference brussels 29 30 -11- 2011
Powerpoint presentation aegis conference brussels 29 30 -11-  2011Powerpoint presentation aegis conference brussels 29 30 -11-  2011
Powerpoint presentation aegis conference brussels 29 30 -11- 2011
 
Aquanika posm pres
Aquanika posm presAquanika posm pres
Aquanika posm pres
 
aritmetica
aritmeticaaritmetica
aritmetica
 
Geografía humana
Geografía humanaGeografía humana
Geografía humana
 
Zoo icons
Zoo iconsZoo icons
Zoo icons
 
Tipo iii
Tipo iiiTipo iii
Tipo iii
 
Mizyurkin jerky presentation_q
Mizyurkin jerky presentation_qMizyurkin jerky presentation_q
Mizyurkin jerky presentation_q
 
Brief
Brief Brief
Brief
 
Mizyurkin brief
Mizyurkin briefMizyurkin brief
Mizyurkin brief
 
Стрела
СтрелаСтрела
Стрела
 
나만의 블로그 기본세팅 기초과정(1006)
나만의 블로그 기본세팅 기초과정(1006)나만의 블로그 기본세팅 기초과정(1006)
나만의 블로그 기본세팅 기초과정(1006)
 
16_0908_SNS매니아가 되는 로드맵 키포인트_제1강
16_0908_SNS매니아가 되는 로드맵 키포인트_제1강16_0908_SNS매니아가 되는 로드맵 키포인트_제1강
16_0908_SNS매니아가 되는 로드맵 키포인트_제1강
 
구글캘린더 100% 적극 활용하기(0929)
구글캘린더 100% 적극 활용하기(0929)구글캘린더 100% 적극 활용하기(0929)
구글캘린더 100% 적극 활용하기(0929)
 
Deixis
DeixisDeixis
Deixis
 
SNS채널 특강 제8강 유튜브 동영상 업로드하기(0825)
SNS채널 특강 제8강 유튜브 동영상 업로드하기(0825)SNS채널 특강 제8강 유튜브 동영상 업로드하기(0825)
SNS채널 특강 제8강 유튜브 동영상 업로드하기(0825)
 

Similar a Libro ilustrate dstevens tcpip

Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Ali Ordoubadian
 
Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Ali Ordoubadian
 
Discovering st32
Discovering st32Discovering st32
Discovering st32pesccia
 
Micazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportMicazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportAnkit Singh
 
ComputerNetworks.pdf
ComputerNetworks.pdfComputerNetworks.pdf
ComputerNetworks.pdfMeetMiyatra
 
Pragmatic Agile Web Development With Rails.3rd Edition.2009
Pragmatic   Agile Web Development With Rails.3rd Edition.2009Pragmatic   Agile Web Development With Rails.3rd Edition.2009
Pragmatic Agile Web Development With Rails.3rd Edition.2009SHC
 
An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224Banking at Ho Chi Minh city
 
Arm assembly language by Bournemouth Unversity
Arm assembly language by Bournemouth UnversityArm assembly language by Bournemouth Unversity
Arm assembly language by Bournemouth UnversityStephan Cadene
 
Spi research paper
Spi research paperSpi research paper
Spi research paperQuyenVu47
 
Information extraction systems aspects and characteristics
Information extraction systems  aspects and characteristicsInformation extraction systems  aspects and characteristics
Information extraction systems aspects and characteristicsGeorge Ang
 

Similar a Libro ilustrate dstevens tcpip (20)

Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)
 
Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)Emulex - Management Mind Meld (A. Ordoubadian)
Emulex - Management Mind Meld (A. Ordoubadian)
 
Discovering st32
Discovering st32Discovering st32
Discovering st32
 
2 4routing
2 4routing2 4routing
2 4routing
 
Sdr
SdrSdr
Sdr
 
Micazxpl wsn
Micazxpl wsnMicazxpl wsn
Micazxpl wsn
 
Micazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportMicazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project report
 
ComputerNetworks.pdf
ComputerNetworks.pdfComputerNetworks.pdf
ComputerNetworks.pdf
 
Tutorial
TutorialTutorial
Tutorial
 
Manual doctrine jog
Manual doctrine jogManual doctrine jog
Manual doctrine jog
 
OPCDE Crackme Solution
OPCDE Crackme SolutionOPCDE Crackme Solution
OPCDE Crackme Solution
 
Pragmatic Agile Web Development With Rails.3rd Edition.2009
Pragmatic   Agile Web Development With Rails.3rd Edition.2009Pragmatic   Agile Web Development With Rails.3rd Edition.2009
Pragmatic Agile Web Development With Rails.3rd Edition.2009
 
An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224An introduction to tivoli net view for os 390 v1r2 sg245224
An introduction to tivoli net view for os 390 v1r2 sg245224
 
Arm assembly language by Bournemouth Unversity
Arm assembly language by Bournemouth UnversityArm assembly language by Bournemouth Unversity
Arm assembly language by Bournemouth Unversity
 
Spi research paper
Spi research paperSpi research paper
Spi research paper
 
Information extraction systems aspects and characteristics
Information extraction systems  aspects and characteristicsInformation extraction systems  aspects and characteristics
Information extraction systems aspects and characteristics
 
Openocd
OpenocdOpenocd
Openocd
 
Assembly
AssemblyAssembly
Assembly
 
trex_astf.pdf
trex_astf.pdftrex_astf.pdf
trex_astf.pdf
 
USB OTG
USB OTGUSB OTG
USB OTG
 

Libro ilustrate dstevens tcpip

  • 1. TCP/IP Illustrated Oleg V. Titov, CTD IFMO RU
  • 2.
  • 3. Table of Contents TCP/IP Illustrated . . . . . . . . . . . . . . . . . 1 TCP/IP Illustrated, Volume 1 . . . . . . . . . . . . . . 1 The Protocols . . . . . . . . . . . . . . . . . 1 W. Richard Stevens . . . . . . . . . . . . . . . . 1 Contents . . . . . . . . . . . . . . . . . . 1 Preface . . . . . . . . . . . . . . . . . . . . 8 Preface . . . . . . . . . . . . . . . . . . . 8 Introduction . . . . . . . . . . . . . . . . . 8 Organization of the Book . . . . . . . . . . . . . . 8 Readers . . . . . . . . . . . . . . . . . . 9 Systems Used for Testing . . . . . . . . . . . . . . 10 Typographical Conventions . . . . . . . . . . . . . . 11 Acknowledgments . . . . . . . . . . . . . . . . 11 Chapter 1. Introduction . . . . . . . . . . . . . . . . 13 Introduction . . . . . . . . . . . . . . . . . . 13 1.1 Introduction . . . . . . . . . . . . . . . . 13 1.2 Layering . . . . . . . . . . . . . . . . . 13 1.3 TCP/IP Layering . . . . . . . . . . . . . . . 17 1.4 Internet Addresses . . . . . . . . . . . . . . . 18 1.5 The Domain Name System . . . . . . . . . . . . . 19 1.6 Encapsulation . . . . . . . . . . . . . . . . 20 1.7 Demultiplexing . . . . . . . . . . . . . . . 21 1.8 Client-Server Model . . . . . . . . . . . . . . 22 1.9 Port Numbers . . . . . . . . . . . . . . . . 23 Reserved Ports . . . . . . . . . . . . . . . . 23 1.10 Standardization Process . . . . . . . . . . . . . 24 1.11 RFCs . . . . . . . . . . . . . . . . . 24 1.12 Standard, Simple Services . . . . . . . . . . . . . 25 1.13 The Internet . . . . . . . . . . . . . . . . 26 1.14 Implementations . . . . . . . . . . . . . . . 26 1.15 Application Programming Interfaces . . . . . . . . . . . 27 1.16 Test Network . . . . . . . . . . . . . . . . 28 1.17 Summary . . . . . . . . . . . . . . . . . 28 Exercises . . . . . . . . . . . . . . . . . 29 Chapter 2. Link Layer . . . . . . . . . . . . . . . . 30 Link Layer . . . . . . . . . . . . . . . . . . . 30 2.1 Introduction . . . . . . . . . . . . . . . . 30 2.2 Ethernet and IEEE 802 Encapsulation . . . . . . . . . . . 30 2.3 Trailer Encapsulation . . . . . . . . . . . . . . 32 2.4 SLIP: Serial Line IP . . . . . . . . . . . . . . 33 2.5 Compressed SLIP . . . . . . . . . . . . . . . 34 2.6 PPP: Point-to-Point Protocol . . . . . . . . . . . . . 34 2.7 Loopback Interface . . . . . . . . . . . . . . . 36 2.8 MTU . . . . . . . . . . . . . . . . . . 38 2.9 Path MTU . . . . . . . . . . . . . . . . . 38 2.10 Serial Line Throughput Calculations . . . . . . . . . . . 39 2.11 Summary . . . . . . . . . . . . . . . . . 40 Exercises . . . . . . . . . . . . . . . . . 40 i
  • 4. Chapter 3. IP: Internet Protocol . . . . . . . . . . . . . . 41 . IP: Internet Protocol . . . . . . . . . . . . . . . . . 41 . 3.1 Introduction . . . . . . . . . . . . . . . . . 41 . 3.2 IP Header . . . . . . . . . . . . . . . . . 41 . 3.3 IP Routing . . . . . . . . . . . . . . . . . 45 . Examples . . . . . . . . . . . . . . . . . 47 . 3.4 Subnet Addressing . . . . . . . . . . . . . . . 49 . 3.5 Subnet Mask . . . . . . . . . . . . . . . . 51 . Example . . . . . . . . . . . . . . . . . . 51 . 3.6 Special Case IP Addresses . . . . . . . . . . . . . 52 . 3.7 A Subnet Example . . . . . . . . . . . . . . . 53 . 3.8 ifconfig Command . . . . . . . . . . . . . . 55 . 3.9 netstat Command . . . . . . . . . . . . . . 56 . 3.10 IP Futures . . . . . . . . . . . . . . . . . 56 . 3.11 Summary . . . . . . . . . . . . . . . . . 57 . Exercises . . . . . . . . . . . . . . . . . . 58 . Chapter 4. ARP: Address Resolution Protocol . . . . . . . . . . . 59 . ARP: Address Resolution Protocol . . . . . . . . . . . . . . 59 . 4.1 Introduction . . . . . . . . . . . . . . . . . 59 . 4.2 An Example . . . . . . . . . . . . . . . . . 59 . 4.3 ARP Cache . . . . . . . . . . . . . . . . . 60 . 4.4 ARP Packet Format . . . . . . . . . . . . . . . 61 . 4.5 ARP Examples . . . . . . . . . . . . . . . . 62 . Normal Example . . . . . . . . . . . . . . . . 62 . ARP Request to a Nonexistent Host . . . . . . . . . . . . 64 . ARP Cache Timeout . . . . . . . . . . . . . . . 65 . 4.6 Proxy ARP . . . . . . . . . . . . . . . . . 65 . 4.7 Gratuitous ARP . . . . . . . . . . . . . . . . 67 . 4.8 arp Command . . . . . . . . . . . . . . . . 68 . 4.9 Summary . . . . . . . . . . . . . . . . . 68 . Exercises . . . . . . . . . . . . . . . . . . 68 . Chapter 5. RARP: Reverse Address Resolution Protocol . . . . . . . . . 69 . RARP: Reverse Address Resolution Protocol . . . . . . . . . . . 69 . 5.1 Introduction . . . . . . . . . . . . . . . . . 69 . 5.2 RARP Packet Format . . . . . . . . . . . . . . . 69 . 5.3 RARP Examples . . . . . . . . . . . . . . . . 69 . 5.4 RARP Server Design . . . . . . . . . . . . . . . 72 . RARP Servers as User Processes . . . . . . . . . . . . 72 . Multiple RARP Servers per Network . . . . . . . . . . . 72 . 5.5 Summary . . . . . . . . . . . . . . . . . 72 . Exercises . . . . . . . . . . . . . . . . . . 73 . Chapter 6. ICMP: Internet Control Message Protocol . . . . . . . . . 74 . ICMP: Internet Control Message Protocol . . . . . . . . . . . . 74 . 6.1 Introduction . . . . . . . . . . . . . . . . . 74 . 6.2 ICMP Message Types . . . . . . . . . . . . . . 74 . 6.3 ICMP Address Mask Request and Reply . . . . . . . . . . 77 . 6.4 ICMP Timestamp Request and Reply . . . . . . . . . . . 78 . Alternatives . . . . . . . . . . . . . . . . . 81 . 6.5 ICMP Port Unreachable Error . . . . . . . . . . . . . 82 . tcpdump Time Line . . . . . . . . . . . . . . . 84 . ii
  • 5. 6.6 4.4BSD Processing of ICMP Messages . . . . . . . . . . . 85 . 6.7 Summary . . . . . . . . . . . . . . . . . 87 . Exercises . . . . . . . . . . . . . . . . . . 87 . Chapter 7. Ping Program . . . . . . . . . . . . . . . . 88 . Ping Program . . . . . . . . . . . . . . . . . . 88 . 7.1 Introduction . . . . . . . . . . . . . . . . . 88 . 7.2 Ping Program . . . . . . . . . . . . . . . . 88 . LAN Output . . . . . . . . . . . . . . . . . 89 . WAN Output . . . . . . . . . . . . . . . . . 91 . Hardwired SLIP Links . . . . . . . . . . . . . . . 91 . Dialup SLIP Links . . . . . . . . . . . . . . . 92 . 7.3 IP Record Route Option . . . . . . . . . . . . . . 93 . Normal Example . . . . . . . . . . . . . . . . 94 . Abnormal Output . . . . . . . . . . . . . . . . 96 . 7.4 IP Timestamp Option . . . . . . . . . . . . . . . 97 . 7.5 Summary . . . . . . . . . . . . . . . . . 98 . Exercises . . . . . . . . . . . . . . . . . . 98 . Traceroute Program . . . . . . . . . . . . . . . . . 99 . Traceroute Program . . . . . . . . . . . . . . . . . 99 . 8.1 Introduction . . . . . . . . . . . . . . . . . 99 . 8.2 Traceroute Program Operation . . . . . . . . . . . . . 99 . 8.3 LAN Output . . . . . . . . . . . . . . . . . 100 . 8.4 WAN Output . . . . . . . . . . . . . . . . 104 . 8.5 IP Source Routing Option . . . . . . . . . . . . . . 106 . traceroute Examples with Loose Source Routing . . . . . . . . 107 . traceroute Examples with Strict Source Routing . . . . . . . . . 109 . traceroute Round Trips with Loose Source Routing . . . . . . . 111 . 8.6 Summary . . . . . . . . . . . . . . . . . 112 . Exercises . . . . . . . . . . . . . . . . . . 112 . Chapter 9. IP Routing . . . . . . . . . . . . . . . . . 114 . IP Routing . . . . . . . . . . . . . . . . . . . 114 . 9.1 Introduction . . . . . . . . . . . . . . . . . 114 . 9.2 Routing Principles . . . . . . . . . . . . . . . 114 . Simple Routing Table . . . . . . . . . . . . . . . 115 . Initializing a Routing Table . . . . . . . . . . . . . 117 . A More Complex Routing Table . . . . . . . . . . . . 118 . No Route to Destination . . . . . . . . . . . . . . 119 . 9.3 ICMP Host and Network Unreachable Errors . . . . . . . . . 119 . 9.4 To Forward or Not to Forward . . . . . . . . . . . . . 120 . 9.5 ICMP Redirect Errors . . . . . . . . . . . . . . 121 . An Example . . . . . . . . . . . . . . . . . 121 . More Details . . . . . . . . . . . . . . . . . 123 . 9.6 ICMP Router Discovery Messages . . . . . . . . . . . . 124 . Router Operation . . . . . . . . . . . . . . . . 125 . Host Operation . . . . . . . . . . . . . . . . 125 . Implementation . . . . . . . . . . . . . . . . 126 . 9.7 Summary . . . . . . . . . . . . . . . . . 126 . Exercises . . . . . . . . . . . . . . . . . . 126 . Chapter 10. Dynamic Routing Protocols . . . . . . . . . . . . 128 . Dynamic Routing Protocols . . . . . . . . . . . . . . . 128 . iii
  • 6. 10.1 Introduction . . . . . . . . . . . . . . . . 128 . 10.2 Dynamic Routing . . . . . . . . . . . . . . . 128 . 10.3 Unix Routing Daemons . . . . . . . . . . . . . . 129 . 10.4 RIP: Routing Information Protocol . . . . . . . . . . . 129 . Message Format . . . . . . . . . . . . . . . . 129 . Normal Operation . . . . . . . . . . . . . . . . 130 . Metrics . . . . . . . . . . . . . . . . . . 131 . Problems . . . . . . . . . . . . . . . . . . 131 . Example . . . . . . . . . . . . . . . . . . 132 . Another Example . . . . . . . . . . . . . . . . 133 . 10.5 RIP Version 2 . . . . . . . . . . . . . . . . 136 . 10.6 OSPF: Open Shortest Path First . . . . . . . . . . . . 136 . 10.7 BGP: Border Gateway Protocol . . . . . . . . . . . . 137 . 10.8 CIDR: Classless Interdomain Routing . . . . . . . . . . . 138 . 10.9 Summary . . . . . . . . . . . . . . . . . 139 . Exercises . . . . . . . . . . . . . . . . . . 140 . Chapter 11. UDP: User Datagram Protocol . . . . . . . . . . . . 141 . UDP: User Datagram Protocol . . . . . . . . . . . . . . 141 . 11.1 Introduction . . . . . . . . . . . . . . . . 141 . 11.2 UDP Header . . . . . . . . . . . . . . . . 141 . 11.3 UDP Checksum . . . . . . . . . . . . . . . . 142 . tcpdump Output . . . . . . . . . . . . . . . . 143 . Some Statistics . . . . . . . . . . . . . . . . 144 . 11.4 A Simple Example . . . . . . . . . . . . . . . 144 . 11.5 IP Fragmentation . . . . . . . . . . . . . . . 145 . 11.6 ICMP Unreachable Error (Fragmentation Required) . . . . . . . . 148 . Example . . . . . . . . . . . . . . . . . . 148 . 11.7 Determining the Path MTU Using Traceroute . . . . . . . . . 150 . The Worldwide Internet . . . . . . . . . . . . . . 151 . 11.8 Path MTU Discovery with UDP . . . . . . . . . . . . 151 . Example . . . . . . . . . . . . . . . . . . 151 . 11.9 Interaction Between UDP and ARP . . . . . . . . . . . 155 . 11.10 Maximum UDP Datagram Size . . . . . . . . . . . . 156 . Datagram Truncation . . . . . . . . . . . . . . . 157 . 11.11 ICMP Source Quench Error . . . . . . . . . . . . . 158 . 11.12 UDP Server Design . . . . . . . . . . . . . . 159 . Client IP Address and Port Number . . . . . . . . . . . . 160 . Destination IP Address . . . . . . . . . . . . . . 160 . UDP Input Queue . . . . . . . . . . . . . . . . 160 . Restricting Local IP Address . . . . . . . . . . . . . 162 . Restricting Foreign IP Address . . . . . . . . . . . . . 163 . Multiple Recipients per Port . . . . . . . . . . . . . 164 . 11.13 Summary . . . . . . . . . . . . . . . . . 165 . Exercises . . . . . . . . . . . . . . . . . . 165 . Chapter 12. Broadcasting and Multicasting . . . . . . . . . . . . 167 . Broadcasting and Multicasting . . . . . . . . . . . . . . 167 . 12.1 Introduction . . . . . . . . . . . . . . . . 167 . 12.2 Broadcasting . . . . . . . . . . . . . . . . 168 . Limited Broadcast . . . . . . . . . . . . . . . . 168 . Net-directed Broadcast . . . . . . . . . . . . . . . 169 . iv
  • 7. Subnet-directed Broadcast . . . . . . . . . . . . . . 169 . All-subnets-directed Broadcast . . . . . . . . . . . . . 169 . 12.3 Broadcasting Examples . . . . . . . . . . . . . . 169 . 12.4 Multicasting . . . . . . . . . . . . . . . . 172 . Multicast Group Addresses . . . . . . . . . . . . . . 172 . Converting Multicast Group Addresses to Ethernet Addresses . . . . . . 173 . Multicasting on FDDI and Token Ring Networks . . . . . . . . . 174 . 12.5 Summary . . . . . . . . . . . . . . . . . 175 . Exercises . . . . . . . . . . . . . . . . . . 175 . Chapter 13. IGMP: Internet Group Management Protocol . . . . . . . . 176 . IGMP: Internet Group Management Protocol . . . . . . . . . . . 176 . 13.1 Introduction . . . . . . . . . . . . . . . . 176 . 13.2 IGMP Message . . . . . . . . . . . . . . . . 176 . 13.3 IGMP Protocol . . . . . . . . . . . . . . . . 177 . Joining a Multicast Group . . . . . . . . . . . . . . 177 . IGMP Reports and Queries . . . . . . . . . . . . . . 177 . Implementation Details . . . . . . . . . . . . . . 178 . Time-to-Live Field . . . . . . . . . . . . . . . 178 . All-Hosts Group . . . . . . . . . . . . . . . . 179 . 13.4 An Example . . . . . . . . . . . . . . . . 179 . Multicast Router Example . . . . . . . . . . . . . . 181 . 13.5 Summary . . . . . . . . . . . . . . . . . 183 . Exercises . . . . . . . . . . . . . . . . . . 183 . Chapter 14. DNS: The Domain Name System . . . . . . . . . . . 184 . DNS: The Domain Name System . . . . . . . . . . . . . . 184 . 14.1 Introduction . . . . . . . . . . . . . . . . 184 . 14.2 DNS Basics . . . . . . . . . . . . . . . . 184 . 14.3 DNS Message Format . . . . . . . . . . . . . . 187 . Question Portion of DNS Query Message . . . . . . . . . . 189 . Resource Record Portion of DNS Response Message . . . . . . . . 190 . 14.4 A Simple Example . . . . . . . . . . . . . . . 191 . 14.5 Pointer Queries . . . . . . . . . . . . . . . . 195 . Example . . . . . . . . . . . . . . . . . . 196 . Hostname Spoofing Check . . . . . . . . . . . . . . 196 . 14.6 Resource Records . . . . . . . . . . . . . . . 197 . 14.7 Caching . . . . . . . . . . . . . . . . . 200 . 14.8 UDP or TCP . . . . . . . . . . . . . . . . 204 . 14.9 Another Example . . . . . . . . . . . . . . . 204 . 14.10 Summary . . . . . . . . . . . . . . . . . 206 . Exercises . . . . . . . . . . . . . . . . . . 206 . Chapter 15. TFTP: Trivial File Transfer Protocol . . . . . . . . . . 207 . TFTP: Trivial File Transfer Protocol . . . . . . . . . . . . . 207 . 15.1 Introduction . . . . . . . . . . . . . . . . 207 . 15.2 Protocol . . . . . . . . . . . . . . . . . 207 . 15.3 An Example . . . . . . . . . . . . . . . . 208 . 15.4 Security . . . . . . . . . . . . . . . . . 210 . 15.5 Summary . . . . . . . . . . . . . . . . . 210 . Exercises . . . . . . . . . . . . . . . . . . 211 . Chapter 16. BOOTP: Bootstrap Protocol . . . . . . . . . . . . 212 . BOOTP: Bootstrap Protocol . . . . . . . . . . . . . . . 212 . v
  • 8. 16.1 Introduction . . . . . . . . . . . . . . . . 212 . 16.2 BOOTP Packet Format . . . . . . . . . . . . . . 212 . Port Numbers . . . . . . . . . . . . . . . . . 214 . 16.3 An Example . . . . . . . . . . . . . . . . 214 . 16.4 BOOTP Server Design . . . . . . . . . . . . . . 217 . 16.5 BOOTP Through a Router . . . . . . . . . . . . . 217 . 16.6 Vendor-Specific Information . . . . . . . . . . . . . 218 . 16.7 Summary . . . . . . . . . . . . . . . . . 219 . Exercises . . . . . . . . . . . . . . . . . . 219 . Chapter 17. TCP: Transmission Control Protocol . . . . . . . . . . 220 . TCP: Transmission Control Protocol . . . . . . . . . . . . . 220 . 17.1 Introduction . . . . . . . . . . . . . . . . 220 . 17.2 TCP Services . . . . . . . . . . . . . . . . 220 . 17.3 TCP Header . . . . . . . . . . . . . . . . 221 . 17.4 Summary . . . . . . . . . . . . . . . . . 224 . Exercises . . . . . . . . . . . . . . . . . . 224 . Chapter 18. TCP Connection Establishment and Termination . . . . . . . 225 . TCP Connection Establishment and Termination . . . . . . . . . . 225 . 18.1 Introduction . . . . . . . . . . . . . . . . 225 . 18.2 Connection Establishment and Termination . . . . . . . . . 225 . tcpdump Output . . . . . . . . . . . . . . . . 225 . Time Line . . . . . . . . . . . . . . . . . 227 . Connection Establishment Protocol . . . . . . . . . . . . 227 . Connection Termination Protocol . . . . . . . . . . . . 228 . Normal tcpdump Output . . . . . . . . . . . . . . 229 . 18.3 Timeout of Connection Establishment . . . . . . . . . . . 229 . First Timeout Period . . . . . . . . . . . . . . . 230 . Type-of-Service Field . . . . . . . . . . . . . . . 231 . 18.4 Maximum Segment Size . . . . . . . . . . . . . . 231 . 18.5 TCP Half-Close . . . . . . . . . . . . . . . . 232 . 18.6 TCP State Transition Diagram . . . . . . . . . . . . 233 . 2MSL Wait State . . . . . . . . . . . . . . . . 234 . Quiet Time Concept . . . . . . . . . . . . . . . 238 . FIN WAIT 2 State . . . . . . . . . . . . . . . . 238 . 18.7 Reset Segments . . . . . . . . . . . . . . . . 238 . Connection Request to Nonexistent Port . . . . . . . . . . . 239 . Aborting a Connection . . . . . . . . . . . . . . . 239 . Detecting Half-Open Connections . . . . . . . . . . . . 241 . 18.8 Simultaneous Open . . . . . . . . . . . . . . . 242 . An Example . . . . . . . . . . . . . . . . . 243 . 18.9 Simultaneous Close . . . . . . . . . . . . . . . 245 . 18.10 TCP Options . . . . . . . . . . . . . . . . 246 . 18.11 TCP Server Design . . . . . . . . . . . . . . 246 . TCP Server Port Numbers . . . . . . . . . . . . . . 247 . Restricting Local IP Address . . . . . . . . . . . . . 248 . Restricting Foreign IP Address . . . . . . . . . . . . . 249 . Incoming Connection Request Queue . . . . . . . . . . . 250 . 18.12 Summary . . . . . . . . . . . . . . . . . 254 . Exercises . . . . . . . . . . . . . . . . . . 254 . vi
  • 9. Chapter 19. TCP Interactive Data Flow . . . . . . . . . . . . 257 . TCP Interactive Data Flow . . . . . . . . . . . . . . . 257 . 19.1 Introduction . . . . . . . . . . . . . . . . 257 . 19.2 Interactive Input . . . . . . . . . . . . . . . 257 . 19.3 Delayed Acknowledgments . . . . . . . . . . . . . 259 . 19.4 Nagle Algorithm . . . . . . . . . . . . . . . 260 . Disabling the Nagle Algorithm . . . . . . . . . . . . . 262 . An Example . . . . . . . . . . . . . . . . . 262 . 19.5 Window Size Advertisements . . . . . . . . . . . . 267 . 19.6 Summary . . . . . . . . . . . . . . . . . 267 . Exercises . . . . . . . . . . . . . . . . . . 267 . Chapter 20. TCP Bulk Data Flow . . . . . . . . . . . . . . 268 . TCP Bulk Data Flow . . . . . . . . . . . . . . . . . 268 . 20.1 Introduction . . . . . . . . . . . . . . . . 268 . 20.2 Normal Data Flow . . . . . . . . . . . . . . . 268 . Fast Sender, Slow Receiver . . . . . . . . . . . . . . 271 . 20.3 Sliding Windows . . . . . . . . . . . . . . . 272 . An Example . . . . . . . . . . . . . . . . . 273 . 20.4 Window Size . . . . . . . . . . . . . . . . 274 . An Example . . . . . . . . . . . . . . . . . 275 . 20.5 PUSH Flag . . . . . . . . . . . . . . . . . 276 . Examples . . . . . . . . . . . . . . . . . 277 . 20.6 Slow Start . . . . . . . . . . . . . . . . . 278 . An Example . . . . . . . . . . . . . . . . . 278 . 20.7 Bulk Data Throughput . . . . . . . . . . . . . . 279 . Bandwidth-Delay Product . . . . . . . . . . . . . . 282 . Congestion . . . . . . . . . . . . . . . . . 283 . 20.8 Urgent Mode . . . . . . . . . . . . . . . . 283 . An Example . . . . . . . . . . . . . . . . . 285 . 20.9 Summary . . . . . . . . . . . . . . . . . 287 . Exercises . . . . . . . . . . . . . . . . . . 288 . Chapter 21. TCP Timeout and Retransmission . . . . . . . . . . . 289 . TCP Timeout and Retransmission . . . . . . . . . . . . . . 289 . 21.1 Introduction . . . . . . . . . . . . . . . . 289 . 21.2 Simple Timeout and Retransmission Example . . . . . . . . . 289 . 21.3 Round-Trip Time Measurement . . . . . . . . . . . . 291 . Karn’s Algorithm . . . . . . . . . . . . . . . . 293 . 21.4 An RTT Example . . . . . . . . . . . . . . . 293 . Round-Trip Time Measurements . . . . . . . . . . . . 294 . RTT Estimator Calculations . . . . . . . . . . . . . 295 . Slow Start . . . . . . . . . . . . . . . . . 297 . 21.5 Congestion Example . . . . . . . . . . . . . . 297 . 21.6 Congestion Avoidance Algorithm . . . . . . . . . . . . 298 . 21.7 Fast Retransmit and Fast Recovery Algorithms . . . . . . . . . 300 . 21.8 Congestion Example (Continued) . . . . . . . . . . . . 301 . 21.9 Per-Route Metrics . . . . . . . . . . . . . . . 304 . 21.10 ICMP Errors . . . . . . . . . . . . . . . . 304 . An Example . . . . . . . . . . . . . . . . . 304 . 21.11 Repacketization . . . . . . . . . . . . . . . 308 . 21.12 Summary . . . . . . . . . . . . . . . . . 309 . vii
  • 10. Exercises . . . . . . . . . . . . . . . . . . 310 . Chapter 22. TCP Persist Timer . . . . . . . . . . . . . . 311 . TCP Persist Timer . . . . . . . . . . . . . . . . . 311 . 22.1 Introduction . . . . . . . . . . . . . . . . 311 . 22.2 An Example . . . . . . . . . . . . . . . . 311 . 22.3 Silly Window Syndrome . . . . . . . . . . . . . . 314 . An Example . . . . . . . . . . . . . . . . . 314 . 22.4 Summary . . . . . . . . . . . . . . . . . 318 . Exercises . . . . . . . . . . . . . . . . . . 318 . Chapter 23. TCP Keepalive Timer . . . . . . . . . . . . . . 319 . TCP Keepalive Timer . . . . . . . . . . . . . . . . 319 . 23.1 Introduction . . . . . . . . . . . . . . . . 319 . 23.2 Description . . . . . . . . . . . . . . . . . 320 . 23.3 Keepalive Examples . . . . . . . . . . . . . . . 321 . Other End Crashes . . . . . . . . . . . . . . . 321 . Other End Crashes and Reboots . . . . . . . . . . . . . 323 . Other End Is Unreachable . . . . . . . . . . . . . . 324 . 23.4 Summary . . . . . . . . . . . . . . . . . 325 . Exercises . . . . . . . . . . . . . . . . . . 326 . Chapter 24. TCP Futures and Performance . . . . . . . . . . . . 327 . TCP Futures and Performance . . . . . . . . . . . . . . 327 . 24.1 Introduction . . . . . . . . . . . . . . . . 327 . 24.2 Path MTU Discovery . . . . . . . . . . . . . . 327 . An Example . . . . . . . . . . . . . . . . . 328 . Big Packets or Small Packets? . . . . . . . . . . . . . 330 . 24.3 Long Fat Pipes . . . . . . . . . . . . . . . . 331 . Gigabit Networks . . . . . . . . . . . . . . . . 332 . 24.4 Window Scale Option . . . . . . . . . . . . . . 333 . An Example . . . . . . . . . . . . . . . . . 334 . 24.5 Timestamp Option . . . . . . . . . . . . . . . 336 . 24.6 PAWS: Protection Against Wrapped Sequence Numbers . . . . . . 337 . 24.7 T/TCP: A TCP Extension for Transactions . . . . . . . . . . 338 . 24.8 TCP Performance . . . . . . . . . . . . . . . 341 . 24.9 Summary . . . . . . . . . . . . . . . . . 342 . Exercises . . . . . . . . . . . . . . . . . . 343 . Chapter 25. SNMP: Simple Network Management Protocol . . . . . . . . 345 . SNMP: Simple Network Management Protocol . . . . . . . . . . . 345 . 25.1 Introduction . . . . . . . . . . . . . . . . 345 . 25.2 Protocol . . . . . . . . . . . . . . . . . 345 . 25.3 Structure of Management Information . . . . . . . . . . . 347 . 25.4 Object Identifiers . . . . . . . . . . . . . . . 348 . 25.5 Introduction to the Management Information Base . . . . . . . . 349 . Case Diagrams . . . . . . . . . . . . . . . . 350 . 25.6 Instance Identification . . . . . . . . . . . . . . 351 . Simple Variables . . . . . . . . . . . . . . . . 351 . Tables . . . . . . . . . . . . . . . . . . 351 . Lexicographic Ordering . . . . . . . . . . . . . . 352 . 25.7 Simple Examples . . . . . . . . . . . . . . . 353 . Simple Variables . . . . . . . . . . . . . . . . 353 . get-next Operator . . . . . . . . . . . . . . . 353 . viii
  • 11. Table Access . . . . . . . . . . . . . . . . . 354 . 25.8 Management Information Base (Continued) . . . . . . . . . 355 . system Group . . . . . . . . . . . . . . . . 355 . interface Group . . . . . . . . . . . . . . . 356 . at Group . . . . . . . . . . . . . . . . . 358 . ip Group . . . . . . . . . . . . . . . . . 359 . icrop Group . . . . . . . . . . . . . . . . 364 . tcp Group . . . . . . . . . . . . . . . . . 365 . 25.9 Additional Examples . . . . . . . . . . . . . . 368 . Interface MTU . . . . . . . . . . . . . . . . 368 . Routing Tables . . . . . . . . . . . . . . . . 369 . 25.10 Traps . . . . . . . . . . . . . . . . . . 370 . 25.11 ASN.1 and BER . . . . . . . . . . . . . . . 372 . 25.12 SNMP Version 2 . . . . . . . . . . . . . . . 373 . 25.13 Summary . . . . . . . . . . . . . . . . . 374 . Exercises . . . . . . . . . . . . . . . . . . 374 . Chapter 26. Telnet and Rlogin: Remote Login . . . . . . . . . . . 375 . Telnet and Rlogin: Remote Login . . . . . . . . . . . . . . 375 . 26.1 Introduction . . . . . . . . . . . . . . . . 375 . 26.2 Rlogin Protocol . . . . . . . . . . . . . . . . 376 . Application Startup . . . . . . . . . . . . . . . 377 . Flow Control . . . . . . . . . . . . . . . . . 377 . Client Interrupt . . . . . . . . . . . . . . . . 378 . Window Size Changes . . . . . . . . . . . . . . . 378 . Server to Client Commands . . . . . . . . . . . . . 378 . Client to Server Commands . . . . . . . . . . . . . 379 . Client Escapes . . . . . . . . . . . . . . . . 380 . 26.3 Rlogin Examples . . . . . . . . . . . . . . . 380 . Initial Client-Server Protocol . . . . . . . . . . . . . 380 . Client Interrupt Key . . . . . . . . . . . . . . . 382 . 26.4 Telnet Protocol . . . . . . . . . . . . . . . . 385 . NVT ASCII . . . . . . . . . . . . . . . . . 385 . Telnet Commands . . . . . . . . . . . . . . . . 386 . Option Negotiation . . . . . . . . . . . . . . . 387 . Suboption Negotiation . . . . . . . . . . . . . . . 388 . Half-Duplex, Character at a Time, Line at a Time, or Linemode? . . . . . 389 . Synch Signal . . . . . . . . . . . . . . . . . 390 . Client Escapes . . . . . . . . . . . . . . . . 390 . 26.5 Telnet Examples . . . . . . . . . . . . . . . 391 . Character-at-a-Time Mode . . . . . . . . . . . . . . 391 . Linemode . . . . . . . . . . . . . . . . . 395 . Line-at-a-Time Mode (Kludge Line Mode) . . . . . . . . . . 397 . Linemode: Client Interrupt Key . . . . . . . . . . . . . 400 . 26.6 Summary . . . . . . . . . . . . . . . . . 401 . Exercises . . . . . . . . . . . . . . . . . . 402 . Chapter 27. FTP: File Transfer Protocol . . . . . . . . . . . . 403 . FTP: File Transfer Protocol . . . . . . . . . . . . . . . 403 . 27.1 Introduction . . . . . . . . . . . . . . . . 403 . 27.2 FTP Protocol . . . . . . . . . . . . . . . . 403 . Data Representation . . . . . . . . . . . . . . . 404 . ix
  • 12. FTP Commands . . . . . . . . . . . . . . . . 405 . FTP Replies . . . . . . . . . . . . . . . . . 406 . Connection Management . . . . . . . . . . . . . . 408 . 27.3 FTP Examples . . . . . . . . . . . . . . . . 409 . Connection Management: Ephemeral Data Port . . . . . . . . . 409 . Connection Management: Default Data Port . . . . . . . . . . 411 . Text File Transfer: NVT ASCII Representation or Image? . . . . . . . 413 . Aborting A File Transfer: Telnet Synch Signal . . . . . . . . . 415 . Anonymous FTP . . . . . . . . . . . . . . . . 417 . Anonymous FTP from an Unknown IP Address . . . . . . . . . 419 . 27.4 Summary . . . . . . . . . . . . . . . . . 420 . Exercises . . . . . . . . . . . . . . . . . . 421 . Chapter 28. SMTP: Simple Mail Transfer Protocol . . . . . . . . . . 422 . SMTP: Simple Mail Transfer Protocol . . . . . . . . . . . . . 422 . 28.1 Introduction . . . . . . . . . . . . . . . . 422 . 28.2 SMTP Protocol . . . . . . . . . . . . . . . . 422 . Simple Example . . . . . . . . . . . . . . . . 423 . SMTP Commands . . . . . . . . . . . . . . . . 426 . Envelopes, Headers, and Body . . . . . . . . . . . . . 427 . Relay Agents . . . . . . . . . . . . . . . . . 428 . NVT ASCII . . . . . . . . . . . . . . . . . 429 . Retry Intervals . . . . . . . . . . . . . . . . 430 . 28.3 SMTP Examples . . . . . . . . . . . . . . . 430 . MX Records: Hosts Not Directly Connected to the Internet . . . . . . . 430 . MX Records: Hosts That Are Down . . . . . . . . . . . . 432 . VRFY and EXPN Commands . . . . . . . . . . . . . 434 . 28.4 SMTP Futures . . . . . . . . . . . . . . . . 435 . Envelope Changes: Extended SMTP . . . . . . . . . . . . 435 . Header Changes: Non-ASCII Characters . . . . . . . . . . . 437 . Body Changes: Multipurpose Internet Mail Extensions (MIME) . . . . . 439 . 28.5 Summary . . . . . . . . . . . . . . . . . 443 . Exercises . . . . . . . . . . . . . . . . . . 443 . Chapter 29. NFS: Network File System . . . . . . . . . . . . . 444 . NFS: Network File System . . . . . . . . . . . . . . . 444 . 29.1 Introduction . . . . . . . . . . . . . . . . 444 . 29.2 Sun Remote Procedure Call . . . . . . . . . . . . . 444 . Sun RPC . . . . . . . . . . . . . . . . . . 445 . 29.3 XDR: External Data Representation . . . . . . . . . . . 446 . 29.4 Port Mapper . . . . . . . . . . . . . . . . 446 . 29.5 NFS Protocol . . . . . . . . . . . . . . . . 448 . File Handles . . . . . . . . . . . . . . . . . 450 . Mount Protocol . . . . . . . . . . . . . . . . 450 . NFS Procedures . . . . . . . . . . . . . . . . 451 . UDP or TCP? . . . . . . . . . . . . . . . . . 452 . NFS Over TCP . . . . . . . . . . . . . . . . 452 . 29.6 NFS Examples . . . . . . . . . . . . . . . . 453 . Simple Example: Reading a File . . . . . . . . . . . . 453 . Simple Example: Creating a Directory . . . . . . . . . . . 455 . Statelessness . . . . . . . . . . . . . . . . . 456 . Example: Server Crash . . . . . . . . . . . . . . 456 . x
  • 13. Idempotent Procedures . . . . . . . . . . . . . . . 459 . 29.7 NFS Version 3 . . . . . . . . . . . . . . . . 460 . 29.8 Summary . . . . . . . . . . . . . . . . . 460 . Exercises . . . . . . . . . . . . . . . . . . 461 . Chapter 30. Other TCP/IP Applications . . . . . . . . . . . . 462 . Other TCP/IP Applications . . . . . . . . . . . . . . . 462 . 30.1 Introduction . . . . . . . . . . . . . . . . 462 . 30.2 Finger Protocol . . . . . . . . . . . . . . . . 462 . 30.3 Whois Protocol . . . . . . . . . . . . . . . . 464 . White Pages . . . . . . . . . . . . . . . . . 465 . 30.4 Archie, WAIS, Gopher, Veronica, and WWW . . . . . . . . . 466 . Archie . . . . . . . . . . . . . . . . . . 466 . WAIS: Wide Area Information Servers . . . . . . . . . . . 466 . Gopher . . . . . . . . . . . . . . . . . . 466 . Veronica: Very Easy Rodent-Oriented Netwide Index to Computerized Archives . . 466 . WWW: World Wide Web . . . . . . . . . . . . . . 467 . 30.5 X Window System . . . . . . . . . . . . . . . 467 . Xscope Program . . . . . . . . . . . . . . . . 468 . LBX: Low Bandwidth X . . . . . . . . . . . . . . 470 . 30.6 Summary . . . . . . . . . . . . . . . . . 470 . Exercises . . . . . . . . . . . . . . . . . . 470 . Appendix A: The tcpdump Program . . . . . . . . . . . . . 471 . The tcpdump Program . . . . . . . . . . . . . . . . 471 . A.1 BSD Packet Filter . . . . . . . . . . . . . . . 471 . A.2 SunOS Network Interface Tap . . . . . . . . . . . . 472 . A.3 SVR4 Data Link Provider Interface . . . . . . . . . . . 473 . A.4 tcpdump Output . . . . . . . . . . . . . . . 473 . A.5 Security Considerations . . . . . . . . . . . . . . 474 . A.6 Socket Debug Option . . . . . . . . . . . . . . 475 . Appendix B: Computer Clocks . . . . . . . . . . . . . . . 476 . Computer Clocks . . . . . . . . . . . . . . . . . 476 . Appendix C: The sock Program . . . . . . . . . . . . . . 478 . The sock Program . . . . . . . . . . . . . . . . . 478 . Appendix D: Solutions to Selected Exercises . . . . . . . . . . . 482 . Solutions to Selected Exercises . . . . . . . . . . . . . . 482 . Chapter 1 . . . . . . . . . . . . . . . . . . 482 . Chapter 3 . . . . . . . . . . . . . . . . . . 482 . Chapter 4 . . . . . . . . . . . . . . . . . . 483 . Chapter 5 . . . . . . . . . . . . . . . . . . 483 . Chapter 6 . . . . . . . . . . . . . . . . . . 483 . Chapter 7 . . . . . . . . . . . . . . . . . . 484 . Chapter 8 . . . . . . . . . . . . . . . . . . 485 . Chapter 9 . . . . . . . . . . . . . . . . . . 486 . Chapter 10 . . . . . . . . . . . . . . . . . . 487 . Chapter 11 . . . . . . . . . . . . . . . . . . 487 . Chapter 12 . . . . . . . . . . . . . . . . . . 488 . Chapter 13 . . . . . . . . . . . . . . . . . . 488 . Chapter 14 . . . . . . . . . . . . . . . . . . 488 . Chapter 15 . . . . . . . . . . . . . . . . . . 489 . Chapter 16 . . . . . . . . . . . . . . . . . . 489 . xi