Basic information of "Linux high-performance Server programming" by: youshuang Publishing House: Machinery Industry Publishing House ISBN: 9787111425199 mounting Date: June 2013 published on: 16: 1-1 category: computer> operating system> Linux more about "Linux high-performance Server programming" content Introduction computer books "Linux high-performance Server programming" is a classic book in the field of Linux Server programming, written by senior Linux software development engineers, this article comprehensively explains the methods, skills, and ideas for compiling high-performance Linux server applications from the perspectives of network protocols, Server programming core elements, principles and mechanisms, and tool frameworks. Not only is the theory comprehensive and in-depth, But it captures the key points and difficulties. It also contains two comprehensive cases, which are of great practical significance. The book consists of 17 chapters, divided into three parts: the first part of the core of Linux Server programming-TCP/IP protocol for an in-depth explanation and elaboration, this includes TCP/IP protocol family, TCP/IP protocol, and a classic TCP/IP communication case. The second part comprehensively and deeply analyzes the core elements of high-performance Server programming, including Linux Network Programming API, advanced I/O functions, Linux server program specification, high-performance server program framework, I/O multiplexing, signal, timer, high-performance I/O Framework library libevent, multiple process programming, multi-thread programming, process pool, thread pool, etc, focuses on the principles, technologies, and methods. The third part focuses on the practical aspects of high-performance server optimization and monitoring, including server modulation, debugging, and testing, and the use of various practical system monitoring tools. In addition, "Linux high-performance Server programming" provides the source code of a complete project of the Server Load balancer server program for free! Contents: Linux high-performance Server programming Preface 1 TCP/IP protocol details Chapter 1 TCP/IP protocol family/1st TCP/IP protocol family architecture and main Protocol/21.1.1 data link layer/21.1.2 network Layer/31.1.3 Transmission Layer/41.1.4 Application Layer/51.2 encapsulation/61.3 sub-use/71.4 Testing Network/81.5 ARP Protocol Working Principle/91.5.1 Ethernet ARP request/response packet explanation/91.5.2 view ARP high-speed cache and modify/101.5.3 use tcpdump to observe ARP communication process/101.6 DNS working principle/121.6.1 DNS query and response packet explanation/121.6.2 access DNS service in Linux/141.6.3 use tcpdump to observe DNS communication process/15.1.7 relationship between socket and TCP/IP protocol families/16 chapter 4 IP protocol details/2nd IP service features/172.1 IPv4 header structure/182.2.1 IPv4 header structure/182.2.2 use tcpdump to observe IPv4 header structure/ 202.3 IP sharding/212.4 IP routing/222.4.1 IP Module workflow/232.4.2 routing mechanism/242.4.3 route table update/252.5 IP Forwarding/252.6 redirection/262.6.1 ICMP redirection packet/262.6.2 host redirection instance/272.7 IPv6 Header structure/272.7.1 IPv6 Fixed Header structure/282.7.2 IPv6 extended Header/29 chapter 3rd TCP protocol details/303.1 TCP service features/303.2 TCP Header structure/323.2.1 TCP Fixed Header structure/323.2.2 TCP Header option/333.2.3 use tcpdump to observe TCP Header Information/353.3 TCP connection establishment and closure/373.3.1 use tcpdump to observe TCP connection establishment and closure/373.3.2 semi-closed status/393.3.3 connection timeout/ 393.4 TCP status transfer/403.4.1 TCP status transfer Overview/413.4.2 time_wait status/433.5 reset message segment/443.5.1 access to a port that does not exist/443.5.2 terminate the connection abnormally/453.5.3 process semi-open connection/453.6 TCP Interaction data Stream/463.7 TCP block data stream/483.8 out-of-band data/503.9 TCP timeout retransmission/513.10 congestion control/533.10.1 congestion control Overview/533.10.2 slow start and congestion avoidance/543.10.3 fast retransmission and fast recovery/ chapter 55 TCP/IP communication case: access the Web server on the internet/574.1 instance Overview/574.2 deploy Proxy Server/584.2.1 how the HTTP Proxy Server works/584.2.2 deploy Squid Proxy Server/594.3 use tcpdump to capture transmission packets/604.4 access DNS server/624.5 local name query/634.6 HTTP Communication/644.6.1 HTTP Request/654.6.2 HTTP Response/664.7 instance Summary/68 second in-depth analysis of high performance Server programming Chapter 1 Basic Linux Network Programming API/5th socket address API/705.1.1 host byte and network byte/705.1.2 common socket address/715.1.3 dedicated socket address/725.1.4 IP address conversion function/735.2 create socket/745.3 name socket/755.4 listen socket/ 765.5 accept connection/785.6 initiate connection/805.7 close connection/805.8 data read/write/815.8.1 TCP data read/815.8.2 UDP data read/855.8.3 general data read/write function/865.9 out-of-band mark/875.10 address information function/875.11 socket options/875.11.1 additional options/895.11.2 additional and additional options/895.11.3 additional and additional options/935.11.4 so_linger options/935.12 Network Information API/945.12.1 gethostbyname and secret/945.12.2 getservbyname and getservbyport /955.12.3 getaddrinfo/965.12.4 getnameinfo/98 chapter 6th advanced I/O functions/1006.1 pipe functions/1006.2 DUP functions and dup2 functions/1016.3 readv functions and writev functions/1036.4 sendfile functions/1066.5 MMAP functions and munmap functions/1076.6 splice functions/1086.7 tee functions/1106.8 fcntl functions/112 chapter 7th Linux server program specifications/1147.1 logs/1147.1.1 Linux system logs/1147.1.2 syslog functions/1157.2 user information /ipv7.2.1 uid, EUID, GID, and EGID/ipv7.2.2 switch user/1177.3 inter-process relationship/1187.3.1 Process Group/1187.3.2 session/1187.3.3 use ps command to view process relationship/1197.4 system resource limit/1197.5 change the working directory and root directory/1207.6 server program background/Chapter 4 high-performance server program framework/121 server model/1238.1.1 C/S model/1238.1.2 P2P model/8th Server programming framework/ 1258.3 I/O model/1268.4 two efficient event processing modes/Listen 8.4.1 reactor mode/1288.4.2 proactor mode/1288.4.3 simulate proactor mode/1298.5 two efficient concurrency modes/1308.5.1 semi-sync/ semi-asynchronous mode/1318.5.2 leader/followers mode/1348.6 finite state machine/1368.7 other recommendations for improving server performance/1448.7.1 pool/1448.7.2 data replication/1458.7.3 context switching and lock/Chapter 145 I/ O reuse/1469.1 select System Call/1469.1.1 select API/1469.1.2 file descriptor readiness condition/1489.1.3 process out-of-band data/1489.2 poll system call/1509.3 epoll series system call/1519.3.1 kernel event table/ 1519.3.2 epoll_wait function/1529.3.3 LT and ET mode/1539.3.4 epolloneshot event/1579.4 comparison of three sets of I/O reuse functions/1619.5 advanced application I/O reuse 1: advanced applications for non-blocking connect/1629.6 I/O multiplexing II: Chat Room Program/1659.6.1 client/1659.6.2 server/1679.7 I/O multiplexing 3: simultaneous processing of TCP and UDP services/1719.8 Super Service xinetd/1759.8.1 xinetd configuration file/1759.8.2 xinetd workflow/Chapter 4 signal/176 Linux signal Overview/17810.1.1 sending signal/17810.1.2 Signal Processing Method /17910.1.3 Linux signal/17910.1.4 Interrupt System Call/18110.2 signal function/18110.2.1 Signal System Call/18110.2.2 sigaction System Call/18110.3 Signal Set/18210.3.1 Signal Set function/18210.3.2 process signal mask/18310.3.3 suspended signal/18310.4 unified event source/18410.5