TCP/IP illustrated
Autor Principal: | |
---|---|
Otros autores o Colaboradores: | |
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