Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
Seth S., Venkatesulu M.A. — TCP/IP architecture, design and implementation in Linux
Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå
Íàøëè îïå÷àòêó? Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter
Íàçâàíèå: TCP/IP architecture, design and implementation in Linux
Àâòîðû: Seth S., Venkatesulu M.A.
Àííîòàöèÿ: This book provides thorough knowledge of Linux TCP/IP stack and kernel framework for its network stack, including complete knowledge of design and implementation. Starting with simple client-server socket programs and progressing to complex design and implementation of TCP/IP protocol in linux, this book provides different aspects of socket programming and major TCP/IP related algorithms. In addition, the text features netfilter hook framework, a complete explanation of routing sub-system, IP QOS implementation, and Network Soft IRQ. This book further contains elements on TCP state machine implementation,TCP timer implementation on Linux, TCP memory management on Linux, and debugging TCP/IP stack using lcrash.
ßçûê:
Ðóáðèêà: Ðóêîâîäñòâà ïî ïðîãðàììíîìó îáåñïå÷åíèþ /
Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö
ed2k: ed2k stats
Èçäàíèå: illustrated
Ãîä èçäàíèÿ: 2008
Êîëè÷åñòâî ñòðàíèö: 772
Äîáàâëåíà â êàòàëîã: 31.10.2010
Îïåðàöèè: Ïîëîæèòü íà ïîëêó |
Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
Ïðåäìåòíûé óêàçàòåëü
Queuing mechanism, processing in tcp_rcv_established() 256 — 258
Queuing mechanism, queue processing 259 — 263 260f 261f
Queuing mechanism, release_sock() 266
Queuing mechanism, tcp data processing 269f 270f
Queuing mechanism, tcp data processing, cleanup_rbuff() 268 — 270
Queuing mechanism, tcp data processing, data from receive buffer 273
Queuing mechanism, tcp data processing, lmss=n Bytes requested 275
Queuing mechanism, tcp data processing, n Bytes requested 276
Queuing mechanism, tcp data processing, n-X bytes requested 275
Queuing mechanism, tcp data processing, one page requested 276
Queuing mechanism, tcp data processing, paged buffer 275 — 276 275f
Queuing mechanism, tcp data processing, skb_copy_datagram_iovec() 271 — 273 272f
Queuing mechanism, tcp data processing, X bytes requested 273 — 275 274f
Queuing mechanism, tcp_data_wait() 263 — 264 264f
Queuing mechanism, tcp_prequeue() 258 — 259
Queuing mechanism, tcp_prequeue_process() 264 — 265
Queuing mechanism, _lock_sock() 265 — 266
Queuing mechanism, _release_sock() 266 — 267
Receive side TCP memory management general discussion 305 — 308
Receive side TCP memory management, cp-collapse_ofo_queue() 311 — 312
Receive side TCP memory management, tcp_clamp_window() 309 — 311
Receive side TCP memory management, tcp_collapse() 312 — 316 314f 316f
Receive side TCP memory management, tcp_prune_queue() 308 — 309
Receive side TCP memory management, _skb_queue_purge() 317 — 319 318f
reception ring buffer 698 — 700 700f
registration for Net SoftlRQ 678 — 679
registration of IP tables 657
registration of netfilter hooks on IP stack 640 — 642
resetting of keepalive timer 354
Retransmission and route 732
RIP (see “Routing Information Protocol”)
Route filters 743 — 745 744f
Routed packet 214 215f
Routines operating on sk_buff alloc_skb() 190 — 191 191f
Routines operating on sk_buff skb_pull() 195 — 196
Routines operating on sk_buff skb_push() 194 — 195 195f
Routines operating on sk_buff skb_put() 192 — 194 193f
Routines operating on sk_buff skb_reserve() 191 — 192
Routing and IP Qos Icrash STEPS steps for default queuing discipline 735 — 738 736f 737f
Routing cache (cont’d), rt_periodic_timer 530 — 533
Routing cache (cont’d), zrt_may_expire() 533 — 534
Routing cache data structures, struct dst_entry 522 — 523
Routing cache data structures, struct rtable 519 — 522
Routing cache data structures, struct rt_hash_bucket 519
Routing cache for local connections 525 — 526
Routing cache implementation 517 — 519 518f
Routing cache LPM algorithm and table lookup 555 — 557
Routing cache, cache timer 530
Routing cache, dst_destroy() 535 — 536
Routing cache, dst_free() 534 — 535
Routing cache, dst_run() 536 — 537
Routing cache, FIB initialization 562f
Routing cache, FIB overview 540 541f
Routing cache, FIB traversal, flow diagram fib_lookup 581 — 582
Routing cache, FIB traversal, fn_hash_ookup() 584 — 585
Routing cache, FIB traversal, inet_select_addr() 578 — 579
Routing cache, FIB traversal, ip_dev_find() 576 — 577
Routing cache, FIB traversal, ip_route_output() 563 — 564
Routing cache, FIB traversal, ip_route_output_key() 564 — 566 565f
Routing cache, FIB traversal, ip_route_output_slow() 566 — 576
Routing cache, FIB traversal, _in_dev_get() 577 — 578
Routing cache, fib_create_info() 557 — 558
Routing cache, fib_hash_init() 562 — 563
Routing cache, fib_rules_init() 563
Routing cache, fn_hash_insert() 553 — 554 553f 558f
Routing cache, fn_new_zone() 554 — 555
Routing cache, for incoming packets 529 — 530
Routing cache, inet_rtm_newroute() 550 — 551
Routing cache, inet_rtm_newrule() 559 — 560
Routing cache, interface down and rt_flush_timer 537 — 538
Routing cache, link failure, dst_link_failure() 527
Routing cache, link failure, dst_set_expires() 528 — 529
Routing cache, link failure, ipv4_link_failure() 527 — 528
Routing cache, new entry addition 549 — 550
Routing cache, route scopes, control flags 581
Routing cache, route scopes, types 581
Routing cache, rt_cache_flush() 538 — 540
Routing cache, struct fib_info 546 — 547
Routing cache, struct fib_nh 547 — 548
Routing cache, struct fib_node 544 — 545
Routing cache, struct fib_rule 548 — 549
Routing cache, struct fib_table 540 — 543
Routing cache, struct fn_hash 543
Routing cache, struct fn_zone 543 — 544
Routing cache, struct kern_rta 552 — 553
Routing cache, struct rtmsg 551 — 552
Routing cache, _dst_free() 535
Routing cache, _sk_dst_check() 526 — 527
Routing Information Protocol (RIP) 90 501
Routing protocols 90
Routing table, Linux kernel implementation 517
Routing, multipathing 505 — 509 506f 507f
Routing, multipathing, change_nexthops() 507 — 508 508f
Routing, multipathing, endfor_nexthops() 508
Routing, multipathing, FIB_RES_NH 508 — 509
Routing, netstat 90 — 91 91f
Routing, policy-based routing 504 — 505 504f
Routing, record route options 509 — 510
Routing, record routing 510
rules for routing cache 583
Sack blocks, processing of tcp_sacktag_write_queue() 410 — 417 411f 413f
Segmentation with scatter-gather support 239 239f
Segmentation with scatter-gather technique 235 — 239 236f
Segmentation, functional level flow 252f 253f
Segmentation, Y bites, can_coalesce() 239 — 240
Segmentation, Y bites, forced_push() 241 — 242
Segmentation, Y bites, skb_entail() 248
Segmentation, Y bites, tcp_copy_to_page() 240 — 241
Segmentation, Y bites, tcp_mark__push() 241
Segmentation, Y bites, tcp_minshall_check() 245
Segmentation, Y bites, tcp_nagle_check() 244 — 245
Segmentation, Y bites, tcp_push() 242 — 243
Segmentation, Y bites, tcp_push_one() 247 — 248
Segmentation, Y bites, tcp_send_test() 243 — 244
Segmentation, Y bites, tcp_write_xmit() 245 — 247
Segmentation, Y bites, update_send_head() 247
Segmentation, Y bites, _tcp _push _pending frames() 243
Send congestion window and ssthresh 730 — 732 731f
Send socket buffer 727 — 729 728f
Shutdown kernel shutdown implementation receive shutdown 36 — 37 37f
Shutdown kernel shutdown implementation send shutdown 36
Shutdown values, needed for 36
Sk_buff and DMA-SKB_FRAG_STRUCT, DMA and sk_buff 188f
sk_buff and fragmentation 190
sk_buff and IP fragmentation 189f
Sk_buff Builds protocol headers, IP header 197 — 198 198f
Sk_buff Builds protocol headers, link layer header 198 — 199 199f
Sk_buff Builds protocol headers, tcp header 196 — 197 197f
Sk_buff Extracts protocol headers, datalink layer point 199 — 200
Sk_buff Extracts protocol headers, IP layer header 200
Sk_buff Extracts protocol headers, tcp layer header 200 — 201 201f
Sock 112 — 118 113f 114f 116f 118f
Socket buffer 726 — 727 121f
Socket, touching of 724 — 726 725f
Sockets, kernel implementation of 101 — 102 102f 107 108f
Sockets, SOCK_ASYNC_NOSPACE 109
Sockets, SOCK_ASYNNC_WAITDATA 109
Sockets, SOCK_NOSPACE 110
Sockets, states of BSD socket 108
Source code organization 5 — 7 6f 7f
source routing, loose record routing 511
source routing, SRR processing implementation 511 — 517
source routing, strict source routing 510 — 511
source routing, traceroute 92 — 93 92f
SRR processing implementation, ip_forward_options() 514 — 516
SRR processing implementation, ip_options_compiled() 512
SRR processing implementation, ip_options_rcv_srr() 512 — 514
SRR processing implementation, ip_rt_get_source() 516 — 517
State processing overview of 446 — 448
Struct skb_shared_info 186 — 187
Struct sk_buff 182 — 186 183f
structure of struct sk_buff 182 — 186
Syn queues 733 — 735
syn-ack timer, tcp_synack_timer() 357 — 361 360f
System-wide control parameters 329 — 321
TC command in kernel space, netlink_data_ready() 494
TC command in kernel space, netlink_sendmsg() 492 — 493
TC command in kernel space, netlink_unicast() 493 — 494
TC command in kernel space, rtnetlink_rcv() 494
TC command in kernel space, rtnetlink_rcv_msg() 494
TC command in kernel space, rtnetlink_rcv_skb() 494
TC command in kernel space, sock_sendmsg() 492
TC command in kernel space, sys_sendmsg() 491 — 492
TC user program, cbq_init() 604
TC user program, commands for hierarchy creation, cbq_change_class() 607 — 610
TC user program, commands for hierarchy creation, tc_ctl_tclass() 606 — 607
TC user program, dev_graft_qdisc() 605
TC user program, qdisc_create() 602 — 604
TC user program, qdisc_graft() 604 — 605
TC user program, tc_modify_qdisc() 601 — 602
TCP incoming segment processing 378 — 379 383
TCP incoming segment processing, fast path enablement, processing of 384 — 386
TCP incoming segment processing, fast path enablement, timing of 382
TCP incoming segment processing, prediction flags, building of 378 — 380
TCP incoming segment processing, prediction flags, important points 383
TCP incoming segment processing, processing of incoming ACK 400 — 402
TCP incoming segment processing, slow path enablement 383
TCP incoming segment processing, slow path enablement, processing of 386 — 387
TCP incoming segment processing, tcp _grow-window() 392 — 393
TCP incoming segment processing, tcp_ack_is_dubious() 404
TCP incoming segment processing, tcp_ack_update_window() 406 — 407
TCP incoming segment processing, tcp_clean_rtx_queue 408 — 410
TCP incoming segment processing, tcp_cong_avoid() 405 — 406
TCP incoming segment processing, tcp_data_snd_check() 397 — 398
TCP incoming segment processing, tcp_event_data_recv() 390 — 391
TCP incoming segment processing, tcp_incr_quickack() 391 — 392
TCP incoming segment processing, tcp_may_update_window() 407 — 408
TCP incoming segment processing, tcp_packets_in_flight() 403 — 404
TCP incoming segment processing, _tcp_data_snd_check() 398
TCP incoming segment processing, _tcp_grow_window() 393 — 394
TCP retransmit timer, resetting and cancellation 327 — 329
TCP retransmit timer, setting of 327
TCP retransmit timer, skb_cloned() 336
TCP retransmit timer, tcp_enter_loss() 329 — 332
TCP retransmit timer, tcp_retransit_skb() 333 — 334
TCP retransmit timer, tcp_retrans_try_collapse() 334 — 336
TCP segmentation unit 729 — 730 730f
TCP segmentation unit, functioning of 232 — 233 233f 238f
TCP segmentation unit, segmentation without scatter-gather support 234
TCP states (cont’d), tcp_time_to_recover() 459 — 460
TCP states (cont’d), tcp_try_to_open() 461 — 462
TCP states (cont’d), tcp_update_scoreboard() 462 — 464
TCP states (cont’d), tcp_xmit_retransit_queue() 464 — 466
TCP states (cont’d), three-way handshake 40f 41f
TCP states (cont’d), TIME_WAIT 44 — 45
TCP states (cont’d), undoing from TCP_CA_CWR 449
TCP states, categories of 40
TCP states, complete life cycle 42f
TCP states, connection closure 40
TCP states, connection initiation 40
TCP states, default processing 456 — 459
TCP states, established connection 40
TCP states, four-way connection closure 43f
TCP states, non-open states when acked beyond, tcp_add_reno_sack() 472 — 473
TCP states, non-open states when acked beyond, TCP_CA_CWR 468 — 470
TCP states, non-open states when acked beyond, TCP_CA_Disoder 470 — 471
TCP states, non-open states when acked beyond, TCP_CA_Loss 467 — 468
TCP states, non-open states when acked beyond, TCP_CA_Recovery() 471 — 472
TCP states, non-open states when acked beyond, tcp_check_reno_reordering() 473
TCP states, non-open states when acked beyond, tcp_mark_head_lost() 475 — 477
TCP states, non-open states when acked beyond, tcp_may_undo() 473 — 474
TCP states, non-open states when acked beyond, tcp_packet_delayed() 474 — 475
TCP states, non-open states when acked beyond, tcp_sync_left_out() 477
TCP states, non-open states when acked beyond, tcp_try_undo_dsack() 471
TCP states, non-open states when acked beyond, tcp_undo_cwr() 475
TCP states, partial close 45 — 47 46f
TCP states, TCP_CA_CWR 449
TCP states, tcp_head_timeout() 460 — 461
TCP states, tcp_packet_delayed 466 — 467
TCP throughput, maximizing of bandwidth 79
TCP throughput, maximizing of congestion window 80f 81f
TCP throughput, maximizing of rtt (round trip time) 79
TCP, congestion control 85 — 86
TCP, data flow, ACKing of data segments 59 — 67 60f 61f 63f 64f 65f 66f
TCP, delayed acknowledgment 67 — 69 67f 68f
TCP, header 51f
TCP, header, acknowledgment number 52
TCP, header, checksum 53
TCP, header, header length 52
TCP, header, port numbers 52
TCP, header, sequence number 52
TCP, header, TCP flags 53
TCP, header, unused field 53
TCP, header, urgent pointer 53
TCP, header, window size 53
TCP, options 54 54f
TCP, options, mss option 55 55f
TCP, options, selective acknowledgment option 57 — 58 57f
TCP, options, timestamp option 56
TCP, options, window-scaling option 55 — 56 56f
TCP, performance and reliability, RTTD 86
TCP, performance and reliability, SACK/DSACK 86 — 87
TCP, performance and reliability, window scaling 87
TCP, sliding window protocol 72 — 79 74f 75f 76f 77f 78f
TCP, timers, keepalive timer 84
TCP, timers, persistent timer 83 — 85 84f
TCP, timers, retransmission timer 88 — 83
TCP, timers, TIME_WAIT timer 85
TCP/IP stack overview, INET socket in 3
TCP/IP stack overview, kernel control paths and 7 — 11
TCP/IP stack overview, kernel networking source tree 9f
TCP/IP stack overview, kernel source tree 8f
TCP/IP stack overview, packet moving down protocol stack 3 4f
TCP/IP stack overview, packet moving up protocol stack 5
TCP/IP stack overview, packet reception 1lf
TCP/IP stack overview, sk_buff 2f 3
tcp_paws-discard() 398 — 399
tcp_receive_window() 395
tcp_replace_ts_recent() 387 — 389
tcp_select_window() 395 — 397
tcp_sequence() 387
tcp_space() 397
Timers in Linus, detach_timer() 325
Timers in Linus, mod_timer() 324 — 325
Timers in Linus, time routines execution 326
Timers in Linux, del_timer() 325 — 326
Time_wait timer, non-recycle mode 363 — 364 365f
Time_wait timer, recycle mode 365 — 367 366f
Time_wait timer, tcp_time_wait() 362
Time_wait timer, tcp_twcal_tick() 370 — 374 371f 373f
Time_wait timer, tcp_twkill() 367 — 370 368f
Time_wait timer, tcp_tw_schedule() 362 — 363
Time_wait timer, _tcp_tw-hashdance() 374 — 375
Transit side TCP memory management 291 — 294 293f
Transit side TCP memory management, alloc_skb() 296 — 297
Transit side TCP memory management, select_size() 294 — 295
Transit side TCP memory management, skb_charge() 298
Transit side TCP memory management, sock_wfree() 300 — 301
Transit side TCP memory management, tcp_alloc_page() 297 — 298
Transit side TCP memory management, tcp_alloc_pskb() 295 — 296
Transit side TCP memory management, tcp_free_skb() 300
Transit side TCP memory management, tcp_mem_reclaim() 302
Transit side TCP memory management, tcp_mem_schedule() 298 — 300
Transit side TCP memory management, tcp_write_space() 301 — 302
Transit side TCP memory management, wait_or_tcp_memory() 303 — 305 304f
Transit side TCP memory management, _tcp_mem_reclaim() 302 — 303
types of filters 610
u32 filter implementation 614f
U32 filters 739 — 743 740f 742f
UDP 760
Ðåêëàìà