TCP/IP illustrated

Detalles Bibliográficos
Autor Principal: Stevens, W. Richard
Otros autores o Colaboradores: Wright, Gary R.
Formato: Libro
Lengua:inglés
Datos de publicación: Reading : Addison-Wesley, 1995
Edición:v.2 - 1st ed.
Temas:
Acceso en línea:Consultar en el Cátalogo
Notas:v. 2: The implementation / Gary W. Right y W. Richard Stevens -- Incluye índice y bibliografía.
Descripción Física:xxii, 1174 p. : il.
ISBN:020163354X
Tabla de Contenidos:
  • 1. Introduction
  • Introduction
  • Source Code Presentation
  • History
  • Application Programming Interfaces
  • Example Program
  • System Calls and Library Functions
  • Network Implementation Overview
  • Descriptors
  • Mbufs (Memory Buffers) and Output Processing
  • Input Processing
  • Network Implementation Overview Revisited
  • Interrupt Levels and Concurrency
  • Source Code Organization
  • Test Network
  • Summary
  • 2. Mbufs: Memory Buffers
  • Introduction
  • Code Introduction
  • Mbuf Definitions
  • mbuf Structure
  • Simple Mbuf Macros and Functions
  • m_devget and m_pullup Functions
  • Summary of Mbuf Macros and Functions
  • Summary of Net/3 Networking Data Structures
  • m_copy and Cluster Reference Counts
  • Alternatives
  • Summary
  • 3. Interface Layer
  • Introduction
  • Code Introduction
  • ifnet Structure
  • ifaddr Structure
  • sockaddr Structure
  • ifnet and ifaddr Specialization
  • Network Initialization Overview
  • Ethernet Initialization
  • SLIP Initialization
  • Loopback Initialization
  • if_attach Function
  • ifinit Function
  • Summary
  • 4. Interfaces: Ethernet
  • Introduction
  • Code Introduction
  • Ethernet Interface
  • ioctl System Call
  • Summary
  • 5. Interfaces: SLIP and Loopback
  • Introduction
  • Code Introduction
  • SLIP Interface
  • Loopback Interface
  • Summary
  • 6. IP Addressing
  • Introduction
  • Code Introduction
  • Interface and Address Summary
  • sockaddr_in Structure
  • in_ifaddr Structure
  • Address Assignment
  • Interface ioctl Processing
  • Internet Utility Functions
  • ifnet Utility Functions
  • Summary
  • 7. Domains and Protocols
  • Introduction
  • Code Introduction
  • domain Structure
  • protosw Structure
  • IP domain and protosw Structures
  • pffindproto and pffindtype Functions
  • pfctlinput Function
  • IP Initialization
  • sysctl System Call
  • Summary
  • 8. IP: Internet Protocol
  • Introduction
  • Code Introduction
  • IP Packets
  • Input Processing: ipintr Function
  • Forwarding: ip_forward Function
  • Output Processing: ip_output Function
  • Internet Checksum: in_cksum Function
  • setsockopt and getsockopt System Calls
  • ip_sysctl Function
  • Summary
  • 9. IP Option Processing
  • Introduction
  • Code Introduction
  • Option Format
  • ip_dooptions Function
  • Record Route Option
  • Source and Record Route Options
  • Timestamp Option
  • ip_insertoptions Function
  • ip_pcbopts Function
  • Limitations
  • Summary
  • 10. IP Fragmentation and Reassembly
  • Introduction
  • Code Introduction
  • Fragmentation
  • ip_optcopy Function
  • Reassembly
  • ip_reass Function
  • ip_slowtimo Function
  • Summary
  • 11. ICMP: Internet Control Message Protocol
  • Introduction
  • Code Introduction
  • icmp Structure
  • ICMP protosw Structure
  • Input Processing: icmp_input Function
  • Error Processing
  • Request Processing
  • Redirect Processing
  • Reply Processing
  • Output Processing
  • icmp_error Function
  • icmp_reflect Function
  • icmp_send Function
  • icmp_sysctl Function
  • Summary
  • 12. IP Multicasting
  • Introduction
  • Code Introduction
  • Ethernet Multicast Addresses
  • ether_multi Structure
  • Ethernet Multicast Reception
  • in_multi Structure
  • ip_moptions Structure
  • Multicast Socket Options
  • Multicast TTL Values
  • ip_setmoptions Function
  • Joining an IP Multicast Group
  • Leaving an IP Multicast Group
  • ip_getmoptions Function
  • Multicast Input Processing: ipintr Function
  • Multicast Output Processing: ip_output Function
  • Performance Considerations
  • Summary
  • 13. IGMP: Internet Group Management Protocol
  • Introduction
  • Code Introduction
  • igmp Structure
  • IGMP protosw Structure
  • Joining a Group: igmp_joingroup Function
  • igmp_fasttimo Function
  • Input Processing: igmp_input Function
  • Leaving a Group: igmp_leavegroup Function
  • Summary
  • 14. IP Multicast Routing
  • Introduction
  • Code Introduction
  • Multicast Output Processing Revisited
  • mrouted Daemon
  • Virtual Interfaces
  • IGMP Revisited
  • Multicast Routing
  • Multicast Forwarding: ip_mforward Function
  • Cleanup: ip_mrouter_done Function
  • Summary
  • 15. Socket Layer
  • Introduction
  • Code Introduction
  • socket Structure
  • System Calls
  • Processes, Descriptors, and Sockets
  • socket System Call
  • getsock and sockargs Functions
  • bind System Call
  • listen System Call
  • tsleep and wakeup Functions
  • accept System Call
  • sonewconn and soisconnected Functions
  • connect System call
  • shutdown System Call
  • close System Call
  • Summary
  • 16. Socket I/O
  • Introduction
  • Code Introduction
  • Socket Buffers
  • write, writev, sendto, and sendmsg System Calls
  • sendmsg System Call
  • sendit Function
  • sosend Function
  • read, readv, recvfrom, and recvmsg System Calls
  • recvmsg System Call
  • recvit Function
  • soreceive Function
  • soreceive Code
  • select System Call
  • Summary
  • 17. Socket Options
  • Introduction
  • Code Introduction
  • setsockopt System Call
  • getsockopt System Call
  • fcntl and ioctl System Calls
  • getsockname System Call
  • getpeername System Call
  • Summary
  • 18. Radix Tree Routing Tables
  • Introduction
  • Routing Table Structure
  • Routing Sockets
  • Code Introduction
  • Radix Node Data Structures
  • Routing Structures
  • Initialization: route_init and rtable_init Functions
  • Initialization: rn_init and rn_inithead Functions
  • Duplicate Keys and Mask Lists
  • rn_match Function
  • rn_search Function
  • Summary
  • 19. Routing Requests and Routing Messages
  • Introduction
  • rtalloc and rtalloc1 Functions
  • RTFREE Macro and rtfree Function
  • rtrequest Function
  • rt_setgate Function
  • rtinit Function
  • rtredirect Function
  • Routing Message Structures
  • rt_missmsg Function
  • rt_ifmsg Function
  • rt_newaddrmsg Function
  • rt_msg1 Function
  • rt_msg2 Function
  • sysctl_rtable Function
  • sysctl_dumpentry Function
  • sysctl_iflist Function
  • Summary
  • 20. Routing Sockets
  • Introduction
  • routedomain and protosw Structures
  • Routing Control Blocks
  • raw_init Function
  • route_output Function
  • rt_xaddrs Function
  • rt_setmetrics Function.
  • raw_input Function
  • route_usrreq Function
  • raw_usrreq Function
  • raw_attach, raw_detach, and raw_disconnect Functions
  • Summary
  • 21. ARP: Address Resolution Protocol
  • Introduction
  • ARP and the Routing Table
  • Code Introduction
  • ARP Structures
  • arpwhohas Function
  • arprequest Function
  • arpintr Function
  • in_arpinput Function
  • ARP Timer Functions
  • arpresolve Function
  • arplookup Function
  • Proxy ARP
  • arp_rtrequest Function
  • ARP and Multicasting
  • Summary
  • 22. Protocol Control Blocks
  • Introduction
  • Code Introduction
  • inpcb Structure
  • in_pcballoc and in_pcbdetach Functions
  • Binding, Connecting, and Demultiplexing
  • in_pcblookup Function
  • in_pcbbind Function
  • in_pcbconnect Function
  • in_pcbdisconnect Function
  • in_setsockaddr and in_setpeeraddr Functions
  • in_pcbnotify, in_rtchange, and in_losing Functions
  • Implementation Refinements
  • Summary
  • 23. UDP: User Datagram Protocol
  • Introduction
  • Code Introduction
  • UDP protosw Structure
  • UDP Header
  • udp_init Function
  • udp_output Function
  • udp_input Function
  • udp_saveopt Function
  • udp_ctlinput Function
  • udp_usrreq Function
  • udp_sysctl Function
  • Implementation Refinements
  • Summary
  • 24. TCP: Transmission Control Protocol
  • Introduction
  • Code Introduction
  • TCP protosw Structure
  • TCP Header
  • TCP Control Block
  • TCP State Transition Diagram
  • TCP Sequence Numbers
  • tcp_init Function
  • Summary
  • 25. TCP Timers
  • Introduction
  • Code Introduction
  • tcp_canceltimers Function
  • tcp_fasttimo Function
  • tcp_slowtimo Function
  • tcp_timers Function
  • Retransmission Timer Calculations
  • tcp_newtcpcb Function
  • tcp_setpersist Function
  • tcp_xmit_timer Function
  • Retransmission Timeout: tcp_timers Function
  • An RTT Example
  • Summary
  • 26. TCP Output
  • Introduction
  • tcp_output Overview
  • Determine if a Segment Should be Sent
  • TCP Options
  • Window Scale Option
  • Timestamp Option
  • Send a Segment
  • tcp_template Function
  • tcp_respond Function
  • Summary
  • 27. TCP Functions
  • Introduction
  • tcp_drain Function
  • tcp_drop Function
  • tcp_close Function
  • tcp_mss Function
  • tcp_ctlinput Function
  • tcp_notify Function
  • tcp_quench Function
  • TCP_REASS Macro and tcp_reass Function
  • tcp_trace Function
  • Summary
  • 28. TCP Input
  • Introduction
  • Preliminary Processing
  • tcp_dooptions Function
  • Header Prediction
  • TCP Input: Slow Path Processing
  • Initation of Passive Open or Active Open
  • PAWS: Protection Against Wrapped Sequence Numbers
  • Trim Segment so Data is Within Window
  • Self-Connects and Simultaneous Opens
  • Record Timestamp
  • RST Processing
  • Summary
  • 29. TCP Input (Continued)
  • Introduction
  • ACK Processing Overview
  • Completion of Passive Opens and Simultaneous Opens
  • Fast Retransmit and Fast Recovery Algorithms
  • ACK Processing
  • Update Window Information
  • Urgent Mode Processing
  • tcp_pulloutofband Function
  • Processin