4.1cBSD,
88
4.2BSD,
19-20, 60, 68-69, 88, 90, 95-96, 154, 241, 358, 374, 475, 477, 533, 763
4.3BSD,
20, 43, 231, 339, 475
Reno,
20, 58, 62, 194, 356, 358, 445, 532, 637, 657, 673
Tahoe,
20
4.4BSD,
20, 25, 32, 62, 65, 87-90, 93, 117, 123, 155, 188, 192, 196, 198-199, 202, 225, 250, 357, 376, 382, 398, 426, 437, 446, 453, 458, 504, 537, 657, 704, 739-742, 799, 896-897
4.4BSD-Lite,
19-20, 970
4.4BSD-Lite2,
19-21, 938
64-bit alignment,
62, 887
64-bit architectures,
27, 68, 141, 765, 817, 930, 960
6bone (IPv6 backbone),
xx, 21, 662, 685, 901-902
test address,
893-894


A

Abell, V. A.,
914
abortive release, XTI,
774-775
absolute name, DNS,
237
absolute time,
630
accept function,
xvii, 14-15, 34-35, 53, 58, 64, 94-96, 98-102, 104-108, 110, 112, 116-117, 123-124, 127, 129-130, 137, 153, 163, 167, 183, 192, 213, 223, 235, 241, 263-264, 266, 268, 277, 288, 290, 292, 299, 340, 342, 344-346, 369, 382, 391, 394-395, 398, 422-424, 569, 576-577, 601, 608-609, 636, 643, 693, 728-729, 736, 739-748, 751-752, 754-757, 760, 797-798, 800, 803, 878, 927, 935, 945-946, 949
connection abort,
129-130
definition of,
99
nonblocking,
422-424
accept, lazy,
798-799
ACK (acknowledgment flag, TCP header),
34, 37, 41, 49
delayed,
203-204, 209, 935
acknowledgment flag, TCP header,
see ACK
active
close,
36-38, 40-41, 51, 926, 928, 933
open,
34-35, 38, 44, 909
socket,
93, 309
Addis, J.,
xx
addr member,
765, 769-772, 777, 788-792, 799, 809, 820-821, 825, 860, 873, 880
ADDR_length member,
858, 860
ADDR_offset member,
858, 860
addr_fd member,
516
addr_flags member,
516
addr_ifname member,
516, 522
addr_sa member,
516, 521
addr_salen member,
516
address
6bone test,
893-894
administratively scoped IPv4 multicast,
490
aggregatable global unicast,
892-893
alias,
93, 891
broadcast,
470-472
classless,
888-889
determining, local host IP,
250
IPv4,
887-891
IPv4 destination,
885
IPv4 multicast,
487-489
IPv4 source,
885
IPv4-compatible IPv6,
249, 894-895
IPv4-mapped IPv6,
83, 246-249, 262-269, 280, 292, 312, 665, 894
IPv6,
892-895
IPv6 destination,
886
IPv6 multicast,
489
IPv6 source,
886
link-local,
895
loopback,
100, 309, 333, 395, 538, 891, 895
multicast,
487-490
multicast group,
487
provider-based unicast,
892
site-local,
895
subnet,
889-890, 968
unspecified,
891, 895
well-known,
44
wildcard,
44, 77, 92, 112, 116, 137, 195, 262-263, 265, 271, 280, 308, 340, 496, 500, 513, 519, 553, 555-556, 689, 695, 800, 891, 895
XTI flex,
880
XTI transport,
791
XTI universal,
791
address request, ICMP,
659, 897
Address Resolution Protocol,
see ARP
addrinfo structure,
89, 274-275, 277, 279, 281-282, 288, 308, 311-312, 314-315, 317, 319-321, 324-325, 417, 665, 677, 788
definition of,
274
Addrs structure,
516, 521, 526
administratively scoped IPv4 multicast address,
490
AF_ versus PF_,
88-89
AF_INET constant,
7-9, 62-63, 72, 75, 83, 87, 216, 243, 246-249, 269-270, 280, 307, 310, 312, 456, 665, 691, 791
AF_INET6 constant,
30, 62-63, 72, 83, 87, 241, 243, 246-249, 269, 280, 307, 310-312, 438, 458, 665, 691, 791, 953
AF_ISO constant,
87
AF_KEY constant,
87-88
AF_LINK constant,
63, 456, 461, 535
AF_LOCAL constant,
25, 63, 87, 374, 377-378, 380-381
AF_NS constant,
87
AF_ROUTE constant,
87-88, 197, 425, 445-446, 451, 455-456
AF_UNIX constant,
25, 87, 374
AF_UNSPEC constant,
226, 274, 280, 285, 288, 290, 297, 306-308, 441, 456
aggregatable global unicast address,
892-893
AH (authentication header),
645, 963, 967
AI_CANONNAME constant,
274-275, 282, 312, 314, 320
AI_CLONE constant,
305, 315, 317, 319, 322
AI_PASSIVE constant,
274, 277, 280, 282-283, 288, 308-309, 324, 563, 953
ai_addr member,
274-275, 279, 324
ai_addrlen member,
274-275, 277-278, 788
ai_canonname member,
274-275, 279, 314, 319
ai_family member,
274-275, 277, 306
ai_flags member,
274, 319
ai_next member,
274-275, 319, 321-322, 325
ai_protocol member,
274-275, 277, 325
ai_socktype member,
274-275, 277-278, 317, 319, 322
aio_read function,
148
AIX,
xx, 21-22, 67, 98, 182, 228, 233, 240, 446, 477, 503, 765, 781, 790, 815-816, 843, 925, 928, 950
alarm function,
349, 351-352, 372, 395, 478, 480, 486, 548-549, 551, 563, 584, 717
Albitz, P.,
238, 256, 963
alias address,
93, 891
alignment,
140, 287, 640, 647-648, 695
64-bit,
62, 887
all-hosts multicast group,
488
Allman, E.,
274
all-nodes multicast group,
489
all-routers multicast group,
488-489
Almquist, P.,
199, 963
American National Standards Institute,
see ANSI
American Standard Code for Information Interchange,
see ASCII
ancillary data,
362-365
object, definition of,
363
picture of, IP_RECVDSTADDR,
361
picture of, IP_RECVIF,
535
picture of, IPV6_DSTOPTS,
648
picture of, IPV6_HOPLIMIT,
560
picture of, IPV6_HOPOPTS,
648
picture of, IPV6_NEXTHOP,
560
picture of, IPV6_PKTINFO,
560
picture of, IPV6_RTHDR,
652
picture of, SCM_CREDS,
364
picture of, SCM_RIGHTS,
364
ANSI (American National Standards Institute),
7
C,
xvi, 7-9, 15, 27, 60-61, 69-70, 366, 426, 608-610, 690, 922, 957
anycasting,
469, 968
API (application program interface),
xv
application
ACK,
190
protocol,
4, 383, 780
APUE,
xvi, 969
argument passing, thread,
608-609
ARP (Address Resolution Protocol),
31, 90, 205, 220, 427, 440, 456-457, 470, 472, 660, 708
cache operations, ioctl function,
440-441
arp program,
441
arp_flags member,
440
arp_ha member,
440
arp_pa member,
440-441
<arpa/nameser.h> header,
719
arpreq structure,
427, 440
AS (autonomous system),
893
ASCII (American Standard Code for Information Interchange),
8-9, 70, 72, 100, 238, 928
asctime function,
611
asctime_r function,
611
asynchronous
error,
212, 221, 224, 685-702, 824-826, 829
events, XTI,
774
I/O,
149, 428, 589
I/O model,
148
Asynchronous Transfer Mode,
see ATM
at program,
332
ATF_COM constant,
440-441
ATF_INUSE constant,
440-441
ATF_PERM constant,
440-441
ATF_PUBL constant,
440-441
Atkinson, R. J.,
xx, 88, 645, 647, 963, 966-967
ATM (Asynchronous Transfer Mode),
192, 968
atoi function,
315, 388
attack, denial-of-service,
99, 167, 423, 945
audio/video profile,
see AVP
authentication header,
see AH
autoconf program,
67, 919
automatic tunnel,
894
autonomous system,
see AS
AVP (audio/video profile),
507
awk program,
xx, 24


B

backoff, exponential,
543, 717
Baker, F.,
688, 964
bandwidth-delay product,
193
basename program,
24
batch input,
157-159
Bellovin, S. M.,
99, 637, 964
Bentley, J. L.,
xx
Berkeley Internet Name Domain,
see BIND
Berkeley Software Distribution,
see BSD
Berkeley-derived implementation, definition of,
19
BGP (Border Gateway Protocol, routing protocol),
52
bibliography,
963-970
big picture, TCP/IP,
30-32
big-endian byte order,
66
BIND (Berkeley Internet Name Domain),
239-240, 242-243, 245-246, 249, 275, 300-301, 305, 458, 941
bind function,
xvi, 14, 27, 34-35, 43-44, 58, 60-61, 63, 65, 89, 91-94, 100-102, 108, 110, 116, 129, 135, 137, 166, 187, 194-197, 207-208, 214, 217, 220, 222, 224, 231, 233, 236, 263, 270-271, 275, 277-278, 282, 288, 309, 324, 339-340, 346, 369, 374-375, 377-378, 380-382, 394-395, 498-499, 505, 508-509, 513, 515, 519-520, 529, 553-555, 557-558, 561, 656, 659, 677, 685, 689, 693, 695, 767, 771, 872, 895, 927, 933, 945, 947, 951, 953
definition of,
91
bind_ack structure,
860
bind_connect_listen function,
197
bind_mcast function,
518, 521
bind_req structure,
858
bind_ubcast function,
517, 519, 953
binding interface address, UDP,
553-557
black magic,
382
Blindheim, R.,
xix
blocking I/O model,
144-145
BOOTP (Bootstrap Protocol),
47, 52, 470-471
Bootstrap Protocol,
see BOOTP
Border Gateway Protocol, routing protocol,
see BGP
Borman, D. A.,
35-36, 43, 48, 95, 99, 544, 671, 838, 964, 966
Bostic, K.,
19, 968
Bound, J.,
xix-xx, 26, 62, 199, 300, 463, 497, 965
Bourne shell,
24
Bowe, G.,
xix
BPF (BSD Packet Filter),
30, 32, 87, 703-706, 708, 723
Braden, R. T.,
35-36, 40-41, 187, 209, 219, 369, 472, 509, 533, 544, 671, 838, 891, 964, 966
Bradner, S.,
26, 964
Briggs, A.,
xix
broadcast,
183, 469-486
address,
470-472
flooding,
495
IP fragmentation and,
477-478
multicast versus,
490-493
storm,
473
versus unicast,
472-475
BSD (Berkeley Software Distribution),
19
networking history,
19
Packet Filter,
see BPF
BSD/OS,
19-21, 23, 67, 88, 98-99, 133, 155, 185, 198, 231, 345, 359, 375, 390, 429, 433-434, 456, 471, 477, 503, 538-539, 572, 577, 721, 728-729, 740, 742, 744, 751, 907, 914, 919, 926, 934, 938, 945, 950-951
buf member,
769-770, 790-791, 854
buffer sizes,
46-50
buffering, double,
705
BUFFSIZE constant, definition of,
918
BUFLEN constant,
451
bufmod streams module,
706
Butenhof, D. R.,
xix, 602, 964
byte manipulation functions,
69-70
byte order
big-endian,
66
functions,
66-69
host,
66, 92, 100, 110, 138, 657, 660, 927
little-endian,
66
network,
59, 68, 70, 100, 141, 251-252, 277, 657-658, 660, 930
byte-stream protocol,
9, 29, 32, 83, 87, 360, 378, 397, 580, 766


C

C standard, C9X,
15
calloc function,
437, 618
canonical name record, DNS,
see CNAME
caplen member,
722
carriage return,
see CR
CDE (Common Desktop Environment),
26
CERT (Computer Emergency Response Team),
99, 945
chargen program,
51, 176, 257, 347, 940, 945
check_dup function,
526-527
check_loop function,
526
checksum,
964
ICMPv4,
657, 670-671, 719, 896
ICMPv6,
658, 671-672, 896
IGMP,
671
IPv4,
198, 657, 671
IPv4 header,
885
IPv6,
200, 658, 887
TCP,
671
UDP,
230, 456, 458, 671, 708-725, 840
Cheswick, W. R.,
99, 637, 964
Child structure,
747-748, 752
child_main function,
737, 740-741, 743, 745, 751
child_make function,
737, 743, 745, 747
child.h header,
747
CIDR (classless interdomain routing),
888-889
Cisco,
21
Clark, E.,
xx
Clark, J. J.,
xx
classless address,
888-889
classless interdomain routing,
see CIDR
cleanup function,
714, 725
cli structure,
806, 809-812, 817
client structure,
691, 693-696, 699
CLIENT_MODE constant,
523
client-server
design alternatives,
727-760
examples road map,
16-17
heartbeat functions,
581-585
clock resolution,
151
clock time,
81
clock_gettime function,
631
close
active,
36-38, 40-41, 51, 926, 928, 933
passive,
36-38
simultaneous,
37-38
close function,
12, 15, 34, 36-37, 53, 91, 104, 107, 110, 126, 160-161, 176, 187-190, 207, 302-303, 408, 422, 424, 608, 633, 696, 798, 805-806, 814, 866, 927, 931, 945, 949
definition of,
107
CLOSE_WAIT state,
38
CLOSED state,
37-38, 52, 91, 93, 191
closelog function,
333-335
definition of,
334
CLOSING state,
38
Clouter, M.,
xx
CMSG_DATA macro,
386, 837
definition of,
364
CMSG_FIRSTHDR macro,
365, 534, 837
definition of,
364
CMSG_LEN constant,
917
CMSG_LEN macro,
365
definition of,
364
CMSG_NXTHDR macro,
365, 534, 837
definition of,
364
CMSG_SPACE constant,
917
CMSG_SPACE macro,
365
definition of,
364
cmsg_control member,
365
cmsg_data member,
363-364, 386, 648, 651
cmsg_len member,
361, 363-365, 652
cmsg_level member,
361, 363, 561-562, 649, 652-653
cmsg_type member,
361, 363, 561-562, 649, 652-653
cmsghdr structure,
361, 363-365, 371, 386, 560-562, 648-649, 651-652
definition of,
363
CNAME (canonical name record, DNS),
238, 241, 244
code field, ICMP,
896
coding
style,
7, 12
TLV,
646
Comer, D. E.,
192, 964
commit protocol, two-phase,
370
Common Desktop Environment,
see CDE
communications
endpoint, XTI,
763
provider, XTI,
763
completed connection queue,
94
completely duplicate binding,
195-197, 530, 934
Computer Emergency Response Team,
see CERT
Computer Systems Research Group,
see CSRG
concurrent programming,
624
concurrent server,
15, 104-106
one child per client, TCP,
732-736
one thread per client, TCP,
752-753
port numbers and,
44-46
UDP,
557-559
condition variable,
627-631
config.h header,
386, 919-920
configure program,
919
configured tunnel,
894
congestion avoidance,
370, 422, 541, 966
CONIND_number member,
858, 860
conn_req structure,
861
connect function,
xvi-xvii, 7-8, 11, 13, 25, 27, 34-35, 43, 53, 58, 63, 65, 89-91, 93, 95, 98, 108, 110, 114, 116-117, 124, 129, 135, 141, 192, 196-197, 208, 211, 213, 217, 221, 224-228, 231-232, 241, 254, 263, 265-266, 270-271, 275, 277, 282, 286, 295, 309, 329, 334, 350-351, 354, 369-372, 377-378, 382, 394-395, 398, 409-410, 412-413, 415, 417-419, 421, 424, 620, 622, 633, 643, 656, 659, 685, 689, 693, 736, 767, 771-772, 782, 794, 798, 819, 824, 878, 904, 907-908, 927, 932-933, 937, 945-946, 960
definition of,
89
interrupted,
413
nonblocking,
409-422
timeout,
350-351
UDP,
224-227
connect indication,
797
connect member,
765-766
connect_nonb function,
410, 415
source code,
411
connect_timeo function,
350
source code,
350
connected TCP socket,
100
connected UDP socket,
224
connection
abort, accept function,
129-130
establishment, TCP,
34-40
persistent,
735
queue, completed,
94
queue, incomplete,
94
termination, TCP,
34-40
connectionless,
32
connection-oriented,
32
connld streams module,
391
const qualifier,
69, 93, 151
Conta, A.,
896, 964
continent-local multicast scope,
490
control information,
see ancillary data
conventions
source code,
6
typographical,
7
Coordinated Universal Time,
see UTC
copy
deep,
279
shallow,
279
copy-on-write,
601
copyto function,
605, 957
core file,
133, 337
CORRECT_prim member,
863
cpio program,
24
CPU_VENDOR_OS constant,
67
CR (carriage return),
9, 910, 928
crashing and rebooting of server host,
134-135
crashing of server host,
133-134
Crawford, M.,
489, 965
credentials, receiving sender,
390-394
creeping featurism,
661
cron program,
332, 334
CSRG (Computer Systems Research Group),
19
ctermid function,
611
ctime function,
14-15, 611, 805
ctime_r function,
611
CTL_NET constant,
455-457


D

daemon,
15
definition of,
331
process,
331-347
daemon_inetd function,
344-346
source code,
344
daemon_init function,
335-339, 344, 346, 945
source code,
336
daemon_proc variable,
336, 344, 922
data formats,
137-140
binary structures,
138-140
text strings,
137-138
Data Link Provider Interface,
see DLPI
datagram
service, reliable,
542-553
socket,
31
truncation, UDP,
539
datalink socket address structure, routing socket,
446
Davis, J.,
xx
daytime program,
51, 329, 945
DCE (Distributed Computing Environment),
542
RPC,
52
deadlock,
928
debugging techniques,
903-914
deep copy,
279
Deering, S. E.,
47, 200, 488-489, 498, 646, 651, 653, 885-886, 892-893, 896, 964-965, 967-968
delayed ACK,
203-204, 209, 935
delta time,
630
denial-of-service attack,
99, 167, 423, 945
descriptor
passing,
381-389, 685, 746-752
reference count,
107, 383
set,
151
design alternatives, client-server,
727-760
DEST_length member,
861
DEST_offset member,
861
destination
address, IPv4,
885
address, IPv6,
886
IP address, recvmsg function, receiving,
532-538
options, IPv6,
645-649
unreachable, fragmentation required, ICMP,
47, 688, 897
unreachable, ICMP,
89-90, 134, 185, 221, 679, 681-682, 688, 691, 772, 780, 782, 824-825, 864, 897-898, 959
destructor function,
616
detached thread,
604
Detailed Network Interface,
see DNI
/dev/bpf device,
713
/dev/console device,
332
/dev/icmp device,
764, 784
/dev/ipx device,
784
/dev/klog device,
332
/dev/kmem device,
441, 443
/dev/log device,
332
/dev/nspx2 device,
784
/dev/null device,
337, 627
/dev/rawip device,
784
/dev/tcp device,
764, 784, 800, 843, 857, 904
/dev/ticlts device,
764, 784
/dev/ticots device,
764, 784
/dev/ticotsord device,
764, 784
/dev/udp device,
764, 784, 843
/dev/xti/tcp device,
843
/dev/xti/udp device,
843
/dev/zero device,
740, 746
Dewar, R. B. K.,
68, 965
DF (don't fragment flag, IP header),
47, 406, 688, 884, 897
DG structure,
592
dg_cli function,
216-218, 227-228, 351, 353-354, 381, 475, 480, 483-484, 486, 502, 544, 688, 937
dg_echo function,
214, 216-217, 228, 231, 380-381, 536, 592, 594
dg_send_recv function,
544, 546, 549-550, 563
source code,
547
DHCP (Dynamic Host Configuration Protocol),
52
Digital Equipment Corp.,
xx
Digital Unix,
xx, 21-23, 59, 67, 99, 133, 228, 233, 240, 302, 304-305, 446, 477, 503, 626, 728-729, 744-745, 751, 753, 756, 765, 815-816, 950-951
disaster, recipe for,
399, 609
discard program,
51, 945
discon member,
765, 767, 777, 874
DISCON_reason member,
863
diskless node,
31, 470
DISPLAY environment variable,
373
Distributed Computing Environment,
see DCE
DL_ATTACH_REQ constant,
706
DLPI (Data Link Provider Interface),
30, 32, 87, 703, 706-708, 723, 852, 969
DLT_EN10MB constant,
721
DNI (Detailed Network Interface),
25
DNS (Domain Name System),
9, 47, 52, 211, 237-240, 252, 370, 705
absolute name,
237
alternatives,
240
canonical name record,
see CNAME
mail exchange record,
see MX
pointer record,
see PTR
resource record,
see RR
round robin,
733
simple name,
237
do_child function,
961
do_get_read function,
621-623, 631
do_parent function,
961
dom_family member,
88
Domain Name System,
see DNS
domain structure,
88
don't fragment flag, IP header,
see DF
dotted-decimal notation,
888
double buffering,
705
Doupnik, J.,
xix
driver, streams,
850
dual-stack host,
239, 261-265, 267, 280, 283, 288, 291-292, 308
definition of,
32
dup function,
739
dup2 function,
341
duplicate
lost,
41
wandering,
41
Durst, W.,
274
Dynamic Host Configuration Protocol,
see DHCP
dynamic port,
42


E

EACCES error,
184, 475, 860
EADDRBUSY error,
860
EADDRINUSE error,
93, 413, 554, 933
EAFNOSUPPORT error,
72, 226
EAGAIN error,
398, 572, 577, 603, 691
EAI_ADDRFAMILY constant,
279
EAI_AGAIN constant,
279
EAI_BADFLAGS constant,
279
EAI_FAIL constant,
279
EAI_FAMILY constant,
279
EAI_MEMORY constant,
279
EAI_NODATA constant,
279
EAI_NONAME constant,
279
EAI_SERVICE constant,
279
EAI_SOCKTYPE constant,
279
EAI_SYSTEM constant,
279
EBUSY error,
705
echo program,
51, 133, 329, 347, 945
echo reply, ICMP,
655, 661, 897-898
echo request, ICMP,
655, 659, 661, 897-898, 952
ECONNABORTED error,
130, 423-424
ECONNREFUSED error,
13, 89, 228, 378, 412, 688, 825, 863, 897-898
ECONNRESET error,
132, 135, 185, 774, 778, 782, 933
EDESTADDRREQ error,
225
EEXIST error,
454
EHOSTDOWN error,
898
EHOSTUNREACH error,
90, 134, 185-186, 688, 864, 897-898
EINPROGRESS error,
398, 409-410
EINTR error,
79, 123-124, 127, 151, 168, 234, 351, 413, 424, 476, 484, 486, 582, 595, 682, 717, 950
EINVAL error,
435, 537, 568, 572, 691, 927
EISCONN error,
225, 412
EMSGSIZE error,
49, 477, 688, 897, 937
encapsulating security payload,
see ESP
end of option list,
see EOL
endnetconfig function,
784, 802, 959
definition of,
785
endnetpath function,
794, 822
definition of,
786
endpoint state, XTI,
869
ENETUNREACH error,
90, 134, 184
ENOBUFS error,
50
ENOMEM error,
455
ENOPROTOOPT error,
182, 371, 537, 897-898
ENOSPC error,
72
ENOTCONN error,
225, 371, 412
environ variable,
104
environment variable
DISPLAY,
373
LISTENQ,
96, 802
NETPATH,
784-786, 792, 800
PATH,
22, 104
RES_OPTIONS,
245, 247
EOL (end of option list),
635, 638, 957
EOPNOTSUPP error,
537
ephemeral port,
42-45, 77, 89, 91-93, 101, 110, 112, 217-218, 222, 232, 300, 378, 558, 685, 689, 695, 927, 951, 959
definition of,
42
EPIPE error,
132-133, 928, 959
Epoch,
14, 551
EPROTO error,
130, 423-424, 742
EPROTONOSUPPORT error,
325
Eriksson, H.,
899, 965
err_doit function, source code,
922
err_dump function,
922
source code,
922
err_msg function,
338, 922
source code,
922
err_quit function,
11, 131, 346, 922
source code,
922
err_ret function,
922
source code,
922
err_sys function,
8, 11-12, 90, 228, 577, 779, 922
source code,
922
err_xti function,
768, 922
err_xti_ret function,
922
errata availability,
xix
errno variable,
11-13, 28, 72, 130, 132, 153-154, 156, 168, 171, 184-185, 221, 243, 279, 302-303, 333, 351, 386, 388, 412, 549, 602-603, 685, 687, 691, 699, 767-768, 774, 778-779, 782, 794, 825, 896-898, 922, 925
error
asynchronous,
212, 221, 224, 685-702, 824-826, 829
functions,
922-924
hard,
89
soft,
89
error member,
769, 825
ERROR_prim member,
860
ESP (encapsulating security payload),
645, 963, 967
ESRCH error,
454
ESTABLISHED state,
37-38, 52, 91, 94-95, 117, 129, 928
/etc/hosts file,
240
/etc/inetd.conf file,
339-340, 345
/etc/irs.conf file,
240
/etc/netconfig file,
784-785, 796, 800, 904
/etc/netsvc.conf file,
240
/etc/networks file,
256
/etc/nsswitch.conf file,
240
/etc/rc file,
331, 339
/etc/resolv.conf file,
226, 240, 245, 275
/etc/services file,
51, 251-252, 277, 345, 945
/etc/svc.conf file,
240
/etc/syslog.conf file,
332, 334, 346
ETH_P_ALL constant,
707
ETH_P_ARP constant,
707
ETH_P_IP constant,
707
ETH_P_IPV6 constant,
707
Ethernet,
31, 39, 46, 48, 53, 183, 192, 263, 431, 433-434, 441, 446, 461, 472-474, 477-478, 488-489, 491-492, 707, 721-722, 884, 894, 926, 950-951
ETIME error,
630
ETIMEDOUT error,
12, 89-90, 134, 185-186, 351, 412, 549, 863, 931, 936
ETSDU (expedited transport service data unit),
765-766
etsdu member,
765-766
EUI (extended unique identifier),
431, 468, 893, 966
event structure,
173
events member,
170-171, 876
EWOULDBLOCK error,
145, 188, 191, 354, 397-398, 401, 403, 424, 568, 576-577, 584, 597, 958
examples road map, client-server,
16-17
exec function,
24, 81, 102-104, 108-109, 137, 268-269, 339-340, 342-344, 382-384, 386, 602, 736, 760, 870-871, 946
execl function,
386
definition of,
103
execle function, definition of,
103
execlp function,
104
definition of,
103
execv function, definition of,
103
execve function,
103
definition of,
103
execvp function,
104
definition of,
103
exercises, solutions to,
925-962
exit function,
9, 37, 104, 118, 126, 208, 368-369, 372, 388, 559, 605-606, 922, 946
expedited data,
see out-of-band data
expedited transport service data unit,
see ETSDU
exponential backoff,
543, 717
extended unique identifier,
see EUI
extension headers, IPv6,
645
external data representation,
see XDR


F

F_CONNECTING constant,
418-419, 421
F_DONE constant,
421, 622
F_GETFL constant,
206
F_GETOWN constant,
205-207, 427
F_JOINED constant,
632
F_READING constant,
419, 421
F_SETFL constant,
205-206, 428, 590
F_SETOWN constant,
205-207, 427, 590
F_UNLCK constant,
744
F_WRLCK constant,
744
f_flags member,
419
f_tid member,
621
FAQ (frequently asked question),
132, 194
FASYNC constant,
206
fattach function,
849
fc_gid member,
390
fc_groups member,
390
fc_login member,
390
fc_ngroups member,
390-391
fc_rgid member,
390
fc_ruid member,
390
fc_uid member,
390
fcntl function,
104, 177, 205-207, 401, 410, 426-428, 567, 569, 590, 595, 743-744, 867, 881
definition of,
206
fcred structure,
364, 390-391
definition of,
390
fd member,
170-173
FD_CLOEXEC constant,
104
FD_CLR macro,
343
definition of,
152
FD_ISSET macro,
152
definition of,
152
FD_SET macro,
156, 622
definition of,
152
FD_SETSIZE constant,
152, 155, 165, 171
FD_ZERO macro,
156
definition of,
152
fd_set datatype,
151-153, 171
FDDI (Fiber Distributed Data Interface),
31, 488-489
fdopen function,
366-367
Feng, W.,
xix
Fenner, W. C.,
xix, 198, 965
fflush function,
367-369
fgets function,
15, 111, 115-116, 118, 130, 132, 155, 157, 217, 367-368, 399, 475, 849, 927-928, 936
Fiber Distributed Data Interface,
see FDDI
FIFO (first in, first out),
215, 376, 809
FILE structure,
369, 605
file structure,
416, 421, 621, 632, 739
file table,
383
File Transfer Protocol,
see FTP
fileno function,
156, 367
filtering
ICMPv6 type,
660-661
imperfect,
492
perfect,
492
FIN (finish flag, TCP header),
36-37, 167, 369-370, 704
FIN_WAIT_1 state,
37-38, 118
FIN_WAIT_2 state,
38, 131, 957
finish flag, TCP header,
see FIN
Fink, R.,
893, 965
FIOASYNC constant,
205, 427-428, 590
FIOGETOWN constant,
427-428
FIONBIO constant,
205, 427-428
FIONREAD constant,
205, 366, 372, 427-428
FIOSETOWN constant,
427-428
firewall,
908, 964
first in, first out,
see FIFO
flags member,
765, 767, 769, 841
flex address, XTI,
880
flock structure,
744
flooding
broadcast,
495
SYN,
99, 964
flow control,
33
UDP lack of,
228-231
flow information,
886
flow label field, IPv6,
886
FNDELAY constant,
206
fopen function,
849
fork function,
xvii, 15, 24, 44, 85, 102-105, 108, 110, 112, 116, 122, 129, 162, 215, 235, 268, 335-336, 339-340, 342-344, 346-347, 382-383, 386, 391, 395, 407-409, 424, 509, 554, 557-559, 601-603, 605, 607-608, 624, 633, 643, 727-728, 730-733, 735-737, 739-740, 747, 752, 760, 806, 808, 945, 957-958
definition of,
102
format prefix,
892-893
formats
binary structures, data,
138-140
data,
137-140
text strings, data,
137-138
fpathconf function,
193
fprintf function,
302-303, 333, 336, 338, 401, 404
fputs function,
9, 11, 111, 115, 156-157, 217, 367-369, 399, 582, 606, 931
FQDN (fully qualified domain name),
237, 243, 250, 275, 299, 327
fragmentation,
47-49, 486, 645, 657, 659, 688, 884, 887, 897-898, 926, 938, 958
and broadcast, IP,
477-478
and multicast, IP,
504
offset field, IPv4,
884
frame type,
473, 475, 492, 707
Franz, M.,
xx
free function,
325, 467, 609, 800
free_ifi_info function,
431, 438, 522
source code,
439
freeaddrinfo function,
278-279, 286, 304, 315, 325
definition of,
279
FreeBSD,
19-20, 198, 369, 592, 636
freenetconfigent function,
792
frequently asked question,
see FAQ
Friesenhahn, R.,
xix
fseek function,
367
fsetpos function,
367
fstat function,
81
fstat program,
914
FTP (File Transfer Protocol),
9, 19, 52, 186, 197, 199, 252, 268, 271, 334, 342, 586, 799, 926, 963, 968
fudge factor,
95, 99, 459
full-duplex,
33, 377
Fuller, V.,
889, 965
fully buffered standard I/O stream,
368
fully qualified domain name,
see FQDN
function
destructor,
616
system call versus,
903
wrapper,
11-13


G

ga_aistruct function,
311-312, 314-315, 320-322, 329
ga_clone function,
315, 319
ga_echeck function,
306, 324
ga_nsearch function,
307, 309-310
ga_port function,
315, 317, 319, 324
ga_serv function,
314-315, 317, 324
ga_unix function,
306, 320
gai_hdr.h header,
305
gai_strerror function,
278-279
definition of,
278
Garfinkel, S. L.,
15, 965
Gari Software,
xix
gated program,
184, 445, 655
gather write,
357, 873
generic socket address structure,
60-61
get_ifi_info function,
429-439, 443, 459-462, 513, 515-517, 520, 553
source code,
434, 460
get_rtaddrs function,
452, 461, 464
getaddrinfo function,
10, 15, 82, 256, 270, 273-286, 291-294, 296, 298, 302, 304-307, 309, 314, 317, 325, 328, 394, 563, 665, 689, 783, 788, 792, 794, 796, 944-945, 953
definition of,
274
examples,
282-284
implementation,
305-327
IPv6 and Unix domain,
279-282
getc_unblocked function,
611
getchar_unlocked function,
611
getconninfo function,
274
getgrid function,
611
getgrid_r function,
611
getgrnam function,
611
getgrnam_r function,
611
gethostbyaddr function,
35, 237, 239-240, 245, 247-249, 255-257, 270, 273, 299-302, 304, 327, 329, 610, 783, 938, 940
definition of,
248
IPv6 support,
249
gethostbyaddr_r function,
303-305
definition of,
304
gethostbyname function,
35, 237, 239-250, 252-253, 255-257, 263, 265, 270, 273, 278, 280-281, 287, 299-305, 312, 317, 329, 441, 610, 783, 796, 940-941, 943, 945
definition of,
241
gethostbyname2 function,
246-249, 256, 280, 301, 312
definition of,
246
gethostbyname_r function,
303-305
definition of,
304
gethostent function,
256
gethostname function,
250-251, 257, 711, 940
definition of,
251
getifaddrs function,
429
getlogin function,
611
getlogin_r function,
611
getmsg function,
144, 722-723, 849, 853-855, 858, 860, 862-866, 903-907
definition of,
854
getnameinfo function,
82, 256, 270, 273, 278, 290, 298-300, 302-303, 305, 325, 327, 329, 679, 796, 945
definition of,
298
implementation,
305-327
getnameinfo_timeo function,
329
getnetbyaddr function,
255
getnetbyname function,
255
getnetconfig function,
784-785, 787, 796, 800, 827, 959
definition of,
785
getnetconfigent function,
792
getnetpath function,
787, 792, 794, 800, 820
definition of,
786
getopt function,
642-643, 712
getpeername function,
43, 58, 64, 107-110, 137, 269, 286, 299, 344-345, 412, 791
definition of,
108
getpid function,
604
getpmsg function,
849, 853, 855, 866
definition of,
855
getppid function,
102, 949
getprotobyname function,
255
getprotobynumber function,
255
getpwnam function,
342, 611
getpwnam_r function,
611
getpwuid function,
611
getpwuid_r function,
611
getrlimit function,
931
getrusage function,
735, 737
gets function,
15
getservbyaddr function,
255
getservbyname function,
237, 251-256, 278, 287, 301-302, 315, 317, 340, 783
definition of,
251
getservbyport function,
237, 251-255, 301-302, 327
definition of,
252
getsockname function,
58, 64, 93, 107-110, 135, 137, 195, 223, 232, 299, 374-376, 685, 695, 791, 927, 944
definition of,
108
getsockopt function,
66, 153-154, 177-182, 184, 198-199, 201, 208, 269-270, 412, 421, 495, 537, 562, 636-637, 640, 643-644, 654, 660, 835, 841, 844, 848
definition of,
178
gettimeofday function,
513-514, 525, 550-551, 630-631, 666
getuid function,
714
gf_time function,
404
source code,
404
Gierth, A.,
xix, 422, 965
GIF (graphics interchange format),
415, 735
Gilliam, W.,
xx
Gilligan, R. E.,
26, 62, 199, 300, 463, 497, 965
global multicast scope,
490
Glover, B.,
xx
gmtime function,
611
gmtime_r function,
611
gn_ipv46 function,
326-327
goto, nonlocal,
482, 717
gpic program,
xx
Grandi, S.,
xx
graphics interchange format,
see GIF
grep program,
118, 925
group ID,
390-391, 393, 602
gtbl program,
xx


H

h_addr member,
241
h_addr_list member,
241-242, 250, 314, 940
h_addrtype member,
241-242, 249, 943
h_aliases member,
241-242
h_cnt member,
788
h_errno member,
243, 303-304, 312
h_host member,
787
h_hostservs member,
788
h_length member,
241-242, 246-247, 249, 257, 940
h_name member,
241-242, 248-249, 256
h_serv member,
787
hacker,
15, 99, 644, 702, 964
half-close,
37, 161, 776, 910
half-open connection,
186, 207
Handley, M.,
504, 965
Hanson, D. R.,
xix-xx
hard error,
89
Hathaway, W.,
xix
Haug, J.,
xx
HAVE_MSGHDR_MSG_CONTROL constant,
386, 920
HAVE_SOCKADDR_SA_LEN constant,
59, 920
hdr structure,
546, 548-549, 953
head, streams,
850
header
checksum, IPv4,
885
extension length,
645, 650
length field, IPv4,
883
heartbeat functions, client-server,
581-585
heartbeat_cli function,
582, 584
source code,
583
heartbeat_serv function,
584
source code,
585
Hewlett-Packard,
xx
High-Performance Parallel Interface,
see HIPPI
high-priority, streams message,
170, 852
Hinden, R.,
200, 489, 646, 651, 653, 885-886, 892-893, 965-966, 968
HIPPI (High-Performance Parallel Interface),
46
history, BSD networking,
19
Hofer, K.,
xix
Hogue, J.,
xix
home_page function,
416-417, 621-622
hop count, routing,
440
hop limit,
40, 200-201, 489, 496, 498, 500, 561-562, 670, 673, 676, 678, 688, 886-887, 898
hop-by-hop options, IPv6,
645-649
host byte order,
66, 92, 100, 110, 138, 657, 660, 927
Host Requirements RFC,
964
HOST_NOT_FOUND constant,
243
HOST_SELF constant,
800
host_serv function,
284-285, 417, 639, 643, 665, 677, 713
definition of,
284
source code,
284
hostent structure,
241-242, 245-250, 255-256, 303-304, 940
definition of,
241
hostent_data structure,
304
HP-UX,
xx, 21, 67, 98-99, 228, 233, 240, 302, 304-305, 765, 781, 815-816
hstrerror function,
243-244
HTML (Hypertext Markup Language),
415, 735
htonl function,
68, 92, 141, 930
definition of,
68
htons function,
8, 251
definition of,
68
HTTP (Hypertext Transfer Protocol),
9, 37, 52, 93, 96-97, 194, 370, 413, 417, 421, 540, 622, 732, 735, 913
Huitema, C.,
238, 969
Hypertext Markup Language,
see HTML
Hypertext Transfer Protocol,
see HTTP


I

I_PUSH constant,
856, 904
I_RECVFD constant,
382, 391
I_SENDFD constant,
382
I_SETSIG constant,
856, 874, 876
I_STR constant,
904
IANA (Internet Assigned Numbers Authority),
42-43, 282, 329
IBM,
xx
ICMP (Internet Control Message Protocol),
31, 52, 185, 221, 228, 655, 659, 661, 673, 825-826, 913, 934, 937
address request,
659, 897
code field,
896
destination unreachable,
89-90, 134, 185, 221, 679, 681-682, 688, 691, 772, 780, 782, 824-825, 864, 897-898, 959
destination unreachable, fragmentation required,
47, 688, 897
echo reply,
655, 661, 897-898
echo request,
655, 659, 661, 897-898, 952
header, picture of,
896
message daemon, implementation,
685-702
packet too big,
47, 688, 898
parameter problem,
646, 897-898
port unreachable,
221, 225, 228, 236, 473, 673, 679, 681, 688, 708, 726, 824-825, 829, 897-898, 937, 951
redirect,
445, 456, 897-898
router advertisement,
655, 660, 897-898
router solicitation,
655, 897-898
source quench,
688, 897
time exceeded,
673, 679, 681, 688, 897-898
timestamp request,
659, 897
type field,
896
ICMP6_FILTER socket option,
199, 660, 670
ICMP6_FILTER_SETBLOCK macro, definition of,
660
ICMP6_FILTER_SETBLOCKALL macro, definition of,
660
ICMP6_FILTER_SETPASS macro, definition of,
660
ICMP6_FILTER_SETPASSALL macro, definition of,
660
ICMP6_FILTER_WILLBLOCK macro, definition of,
660
ICMP6_FILTER_WILLPASS macro, definition of,
660
icmp6_filter structure,
179, 199, 660
icmpcode_v4 function,
682
icmpcode_v6 function,
682
icmpd program,
685, 688, 690-702, 825, 831, 958
icmpd_dest member,
688
icmpd_err member,
687-688, 690, 699
icmpd_errno member,
687
icmpd_fill member,
688
icmpd.h header,
691
ICMPv4 (Internet Control Message Protocol version 4),
31, 655, 660, 685, 885, 896-898
checksum,
657, 670-671, 719, 896
header,
663, 673
message types,
897
ICMPv6 (Internet Control Message Protocol version 6),
31, 200, 655, 658, 685, 896-898
checksum,
658, 671-672, 896
header,
663, 675
message types,
898
socket option,
199
type filtering,
660-661
identification field, IPv4,
884
IEC (International Electrotechnical Commission),
24, 966
IEEE (Institute of Electrical and Electronics Engineers),
24-25, 431, 468, 488, 893, 966
IEEEIX,
24
IETF (Internet Engineering Task Force),
26, 892, 963
if_freenameindex function,
463-467
definition of,
463
source code,
467
if_index member,
463, 918
if_indextoname function,
463-467, 500, 537
definition of,
463
source code,
465
if_msghdr structure,
447, 461
if_name member,
463, 467, 918
if_nameindex function,
446, 463-467
definition of,
463
source code,
466
if_nameindex structure,
918
definition of,
463
if_nametoindex function,
446, 463-467, 500-501
definition of,
463
source code,
464
ifa_msghdr structure,
447
ifam_addrs member,
448, 452
ifc_buf member,
429-430
ifc_len member,
66, 428, 430
ifc_req member,
429
ifconf structure,
66, 427-430
ifconfig program,
22-23, 93, 205, 432, 439
IFF_BROADCAST constant,
439
IFF_POINTOPOINT constant,
439
IFF_PROMISC constant,
707
IFF_UP constant,
439
IFI_ALIAS constant,
518
ifi_hlen member,
433, 437, 461
ifi_info structure,
429, 431, 433, 435, 437-438, 443, 459, 461, 516, 522, 553
ifi_next member,
431
ifm_addrs member,
448, 452
ifm_type member,
461
IFNAMSIZ constant,
463
ifr_addr member,
429, 439-440
ifr_broadaddr member,
429, 440, 443
ifr_data member,
429
ifr_dstaddr member,
429, 440, 443
ifr_flags member,
429, 439
ifr_metric member,
429, 440
ifr_name member,
430, 439
ifreq structure,
427-430, 435, 437, 439, 443, 500
IFT_NONE constant,
535
IGMP (Internet Group Management Protocol),
31, 493, 655, 659-660, 885
checksum,
671
ILP32, programming model,
27
imperfect filtering,
492
implementation
ICMP message daemon,
685-702
ping program,
661-672
traceroute program,
672-685
imr_interface member,
496, 500
imr_multiaddr member,
496
IN6_IS_ADDR_LINKLOCAL macro, definition of,
267
IN6_IS_ADDR_LOOPBACK macro, definition of,
267
IN6_IS_ADDR_MC_GLOBAL macro, definition of,
267
IN6_IS_ADDR_MC_LINKLOCAL macro, definition of,
267
IN6_IS_ADDR_MC_NODELOCAL macro, definition of,
267
IN6_IS_ADDR_MC_ORGLOCAL macro, definition of,
267
IN6_IS_ADDR_MC_SITELOCAL macro, definition of,
267
IN6_IS_ADDR_MULTICAST macro, definition of,
267
IN6_IS_ADDR_SITELOCAL macro, definition of,
267
IN6_IS_ADDR_UNSPECIFIED macro, definition of,
267
IN6_IS_ADDR_V4COMPAT macro, definition of,
267
IN6_IS_ADDR_V4MAPPED macro,
263, 268, 271, 665
definition of,
267
in6_addr structure,
61, 179, 242, 248
in6_pktinfo structure,
532, 560-562, 653
definition of,
561
IN6ADDR_ANY_INIT constant,
92, 277, 280, 308, 374, 561, 895
IN6ADDR_LOOPBACK_INIT constant,
895
in6addr_any constant,
92, 895
in6addr_loopback constant,
895
in_addr structure,
60, 179, 242, 248, 266, 496-497
definition of,
58
in_addr_t datatype,
59-60
in_cksum function,
670-671
source code,
672
in_pcbdetach function,
130
in_pktinfo structure,
532, 534, 917
definition of,
532
in_port_t datatype,
59
INADDR_ANY constant,
14, 44, 92, 112, 116, 198, 214, 277, 280, 308, 374, 496-497, 771, 857, 891, 927
INADDR_LOOPBACK constant,
891
INADDR_MAX_LOCAL_GROUP constant,
927
INADDR_NONE constant,
71, 916, 927
in-addr.arpa domain,
238, 248-249
in-band data,
565
incarnation, definition of,
41
incomplete connection queue,
94
index, interface,
201, 449, 457, 461, 463-467, 496-497, 499-501, 509, 561, 653
INET6_ADDRSTRLEN constant,
72, 75, 243, 917
inet6_option_alloc function,
649
definition of,
648
inet6_option_append function,
649
definition of,
648
inet6_option_find function,
649
definition of,
649
inet6_option_init function,
648-649
definition of,
648
inet6_option_next function,
649
definition of,
649
inet6_option_space function,
648, 652
definition of,
648
inet6_rthdr_add function,
652
definition of,
651
inet6_rthdr_getaddr function,
653
definition of,
652
inet6_rthdr_getflags function,
653
definition of,
652
inet6_rthdr_init function,
652
definition of,
651
inet6_rthdr_lasthop function,
652
definition of,
651
inet6_rthdr_reverse function,
653
definition of,
652
inet6_rthdr_segments function,
653
definition of,
652
inet6_rthdr_space function,
651-652
definition of,
651
INET_ADDRSTRLEN constant,
72, 75, 916
INET_IP constant,
836
inet_addr function,
8, 57, 70-72, 83
definition of,
71
inet_aton function,
70-72, 83
definition of,
71
inet_ntoa function,
57, 70-72, 83, 302, 611
definition of,
71
inet_ntop function,
57, 71-75, 82, 100, 243, 300, 302-303, 327, 329, 441, 537
definition of,
72
IPv4-only version, source code,
74
inet_pton function,
8, 11, 57, 71-74, 82-83, 291, 302, 310-311, 941
definition of,
72
IPv4-only version, source code,
74
inet_pton_loose function,
83
inet_srcrt_add function,
639, 641
inet_srcrt_init function,
638, 641
inet_srcrt_print function,
640
inetd program,
xviii, 51, 104, 108-109, 144, 268, 331-332, 339-347, 503, 531, 558-559, 735, 760, 914, 945-946, 951, 957
Information Retrieval Service,
see IRS
INFTIM constant,
171, 918
init program,
122, 135, 949
initial thread,
602
in.rdisc program,
655
Institute of Electrical and Electronics Engineers,
see IEEE
int16_t datatype,
59
int32_t datatype,
59, 765
int8_t datatype,
59
interface
address, UDP, binding,
553-557
configuration, ioctl function,
428
ID,
893
index,
201, 449, 457, 461, 463-467, 496-497, 499-501, 509, 561, 653
index, recvmsg function, receiving,
532-538
logical,
891
loopback,
22, 434, 707, 714, 722, 764, 784, 891
message-based,
856
operations, ioctl function,
439-440
UDP determining outgoing,
231-233
International Electrotechnical Commission,
see IEC
International Organization for Standardization,
see ISO
International Telecommunication Union,
see ITU
Internet,
5
Internet Assigned Numbers Authority,
see IANA
Internet Control Message Protocol,
see ICMP
Internet Control Message Protocol version 4,
see ICMPv4
Internet Control Message Protocol version 6,
see ICMPv6
Internet Draft,
963
Internet Engineering Task Force,
see IETF
Internet Group Management Protocol,
see IGMP
Internet Protocol,
see IP
Internet Protocol next generation,
see IPng
Internet Protocol version 4,
see IPv4
Internet Protocol version 6,
see IPv6
Internet service provider,
see ISP
Internetwork Packet Exchange,
see IPX
interoperability
IPv4 and IPv6,
261-271
IPv4 client IPv6 server,
262-265
IPv6 client IPv4 server,
265-267
sockets and XTI,
780
source code portability,
270
interprocess communication,
see IPC
interrupts, software,
119
I/O
asynchronous,
149, 428, 589
definition of, Unix,
366
model, asynchronous,
148
model, blocking,
144-145
model, comparison of,
149
model, I/O, multiplexing,
146-147
model, nonblocking,
145
model, signal-driven,
147
models,
144-149
multiplexing,
143-176
multiplexing I/O, model,
146-147
nonblocking,
77, 154, 206, 355-356, 365, 397-424, 428, 591, 595, 597, 773, 867-868, 931, 958
signal-driven,
184, 206, 589-599
standard,
156, 303, 366-369, 372, 399, 582, 946, 967-968
synchronous,
149
ioctl function,
25, 177, 205, 250, 366, 372, 382, 391, 425-426, 428-429, 434-435, 437-443, 445, 459, 500, 530, 567, 572, 590, 592, 595, 705, 707, 714, 781, 849-850, 855, 866, 874-876, 878, 881, 904, 906
ARP cache operations,
440-441
definition of,
426, 855
file operations,
427-428
interface configuration,
428
interface operations,
439-440
routing table operations,
442-443
socket operations,
426-427
streams,
855-856
IOV_MAX constant,
357
iov_base member,
357, 873
iov_len member,
357, 360, 873
iovec structure,
357-358, 360, 546
definition of,
357
IP (Internet Protocol),
31
address, determining, local host,
250
fragmentation and broadcast,
477-478
fragmentation and multicast,
504
routing,
883
spoofing,
99, 964
version number field,
883, 885
ip6.int domain,
238, 248
IP_ADD_MEMBERSHIP socket option,
179, 496
IP_DROP_MEMBERSHIP socket option,
179, 496-497
IP_HDRINCL socket option,
179, 197-198, 636, 656-658, 671, 673, 705, 708, 713, 719
IP_MULTICAST_IF socket option,
179, 496-497, 958
IP_MULTICAST_LOOP socket option,
179, 496, 498
IP_MULTICAST_TTL socket option,
179, 496, 498, 884, 958
IP_ONESBCAST socket option,
471, 911
IP_OPTIONS socket option,
179, 198, 635-636, 644, 654, 838, 957
IP_RECVDSTADDR socket option,
179, 195, 198, 223, 359, 361-363, 531-532, 534, 537-538, 553, 561-562, 592, 910
ancillary data, picture of,
361
IP_RECVIF socket option,
179, 197-198, 362, 446, 532, 534, 537, 553, 562, 592
ancillary data, picture of,
535
IP_TOS socket option,
179, 198-199, 836, 839, 884, 905, 910
IP_TTL socket option,
179, 199, 201, 673, 678, 836, 839, 884, 910
ip_id member,
660, 720
ip_len member,
657, 660
ip_mreq structure,
179, 496, 500
definition of,
496
ip_off member,
657, 660
IPC (interprocess communication),
xviii, 373-374, 484-486, 601
ipi6_addr member,
561
ipi6_ifindex member,
561
ipi_addr member,
532, 917
ipi_ifindex member,
532, 917
IPng (Internet Protocol next generation),
886
ipopt_dst member,
640
ipopt_list member,
640
ipoption structure, definition of,
640
IPPROTO_EGP constant,
656
IPPROTO_ICMP constant,
656
IPPROTO_ICMPV6 constant,
179, 199, 658, 660
IPPROTO_IP constant,
197, 270, 361-362, 535, 636
IPPROTO_IPV6 constant,
199, 270, 362, 560-562, 648-649, 652
IPPROTO_RAW constant,
657
IPPROTO_TCP constant,
201, 277, 325, 370
IPPROTO_UDP constant,
277
IPTOS_LOWCOST constant,
199
IPTOS_LOWDELAY constant,
199
IPTOS_RELIABILITY constant,
199
IPTOS_THROUGHPUT constant,
199
IPv4 (Internet Protocol version 4),
31
address,
887-891
and IPv6 interoperability,
261-271
checksum,
198, 657, 671
client IPv6 server, interoperability,
262-265
destination address,
885
fragment offset field,
884
header,
663, 673, 883-885
header checksum,
885
header length field,
883
header, picture of,
884
identification field,
884
multicast address,
487-489
options,
198, 635-637, 682, 838, 885
protocol field,
885
server, interoperability, IPv6 client,
265-267
socket address structure,
58-60
socket option,
197-199
source address,
885
source routing,
637-645
total length field,
884
IPv4-compatible IPv6 address,
249, 894-895
IPv4/IPv6 host, definition of,
32
IPv4-mapped IPv6 address,
83, 246-249, 262-269, 280, 292, 312, 665, 894
IPV4 constant,
305
IPv6 (Internet Protocol version 6),
31
address,
892-895
and Unix domain, getaddrinfo function,
279-282
backbone,
see 6bone
checksum,
200, 658, 887
client IPv4 server, interoperability,
265-267
destination address,
886
destination options,
645-649
extension headers,
645
flow label field,
886
header,
663, 675, 885-887
header, picture of,
885
hop-by-hop options,
645-649
interoperability, IPv4 and,
261-271
multicast address,
489
next header field,
886
payload length field,
886
receiving packet information,
560-562
routing header,
649-653
server, interoperability, IPv4 client,
262-265
socket address structure,
61-62
socket option,
199-201
source address,
886
source routing,
649-653
sticky options,
653-654
support, gethostbyaddr function,
249
IPV6 constant,
305
IPV6_ADD_MEMBERSHIP socket option,
179, 496
IPV6_ADDRFORM socket option,
179, 200, 268-271
IPV6_CHECKSUM socket option,
179, 200, 658
IPV6_DROP_MEMBERSHIP socket option,
179, 496-497
IPV6_DSTOPTS socket option,
179, 200, 362, 647, 649
ancillary data, picture of,
648
IPV6_HOPLIMIT socket option,
179, 200-201, 362, 562, 886
ancillary data, picture of,
560
IPV6_HOPOPTS socket option,
179, 200, 362, 647-649
ancillary data, picture of,
648
IPV6_MULTICAST_HOPS socket option,
179, 496, 498, 561, 886
IPV6_MULTICAST_IF socket option,
179, 496-497, 561
IPV6_MULTICAST_LOOP socket option,
179, 496, 498
IPV6_NEXTHOP socket option,
179, 200, 362, 562
ancillary data, picture of,
560
IPV6_PKTINFO socket option,
179, 201, 223, 362, 497, 553, 561-563, 592
ancillary data, picture of,
560
IPV6_PKTOPTIONS socket option,
179, 201, 653-654
IPV6_RTHDR socket option,
179, 201, 362, 651
ancillary data, picture of,
652
IPV6_RTHDR_LOOSE constant,
652-653
IPV6_RTHDR_STRICT constant,
652-653
IPV6_RTHDR_TYPE_0 constant,
651
IPV6_UNICAST_HOPS socket option,
179, 201, 561-562, 673, 678, 886
ipv6_mreq structure,
179, 496, 501
definition of,
496
ipv6mr_interface member,
496, 501
ipv6mr_multiaddr member,
496
IPX (Internetwork Packet Exchange),
784, 968
IRS (Information Retrieval Service),
240
isfdtype function,
81-82
definition of,
81
source code,
82
ISO (International Organization for Standardization),
18, 24, 966
ISO 8859,
506
ISP (Internet service provider),
889, 893
iterative, server,
15, 104, 215, 732
ITU (International Telecommunication Union),
507


J

Jackson, A.,
647, 966
Jacobson, V.,
35-36, 41, 504, 541, 543-544, 657, 704, 707, 799, 838, 913, 964-967
Jamin, S.,
xix
Johnson, D.,
xix
Johnson, M.,
xx
Johnson, S.,
xix
joinable thread,
604
Jones, R. A.,
xix-xx
Josey, A.,
26, 966
Joy, W. N.,
95, 966
jumbo payload length,
646
jumbogram,
886


K

Kacker, M.,
xix
Karels, M. J.,
19, 274, 968
Karn, P.,
543, 966
Karn's algorithm,
543
Kaslo, P.,
xx
Katz, D.,
488, 636, 647, 966
kdump program,
907
keepalive option,
185-186, 201, 209, 581, 839, 935-936
Kent, S. T.,
636, 645, 967
Kernighan, B. W.,
xix-xx, 12, 922, 967
Key structure,
613-614, 616
kill program,
130, 132, 958
Korn, D. G.,
369, 582, 967
KornShell,
133, 245, 786
kp_onoff member,
840
kp_timeout member,
840
ksh program,
117
ktrace program,
907
Kureshi, Y.,
xix


L

l_fixedpt member,
511
l_len member,
744
l_linger member,
187-188, 208, 422, 777, 837-838
l_onoff member,
187, 208, 422, 777, 837-838
l_start member,
744
l_type member,
744
l_whence member,
744
Lampo, M.,
xix
LAN (local area network),
5, 33, 202, 409, 470, 478, 487, 490-493, 511, 541-542, 586, 893, 899, 901
Lanciani, D.,
88, 209, 967
last in, first out,
see LIFO
LAST_ACK state,
38
latency, scheduling,
151
lazy accept,
798-799
leader
process group,
335
session,
335-336
leak, memory,
304
Leisner, M.,
xix
len member,
722, 769-770, 772, 779, 790-791, 804, 835, 837, 844, 854, 880
Leres, C.,
913
level member,
835
LF (linefeed),
9, 910, 928
Li, T.,
889, 965
libpcap library,
703, 707-708
LIFO (last in, first out),
809, 814
lightweight process,
601
Lin, J. C.,
192, 964
line buffered standard I/O stream,
369
linefeed,
see LF
linger structure,
178-179, 933
definition of,
187
link-local
address,
895
multicast group,
489
multicast scope,
490
Linux,
xx, 19, 21-23, 30, 67, 87, 98-99, 151, 221, 228, 233, 477, 503, 592, 657, 660, 703, 707-708, 712, 722-723, 725, 950
listen function,
12, 14, 34-35, 91, 93-100, 110, 112, 116, 122, 129, 166, 192, 194, 197, 271, 277, 288, 297, 340, 346, 369, 693, 736, 751, 771, 802, 815-816, 927, 936
backlog versus XTI queue length,
815-816
definition of,
94
LISTEN state,
38, 93, 116-118, 346, 797, 802, 933
Listen wrapper function, source code,
96
listening socket,
44, 99
LISTENQ constant,
14, 811
definition of,
918
LISTENQ environment variable,
96, 802
little-endian byte order,
66
Liu, C.,
238, 256, 963
LLADDR macro, definition of,
446
local area network,
see LAN
local host IP address, determining,
250
/local service,
282-283, 293, 306, 326, 947
LOCAL_CREDS socket option,
390-391
localtime function,
611
localtime_r function,
611
LOG_ALERT constant,
333
LOG_AUTH constant,
334
LOG_AUTHPRIV constant,
334
LOG_CONS constant,
335
LOG_CRIT constant,
333
LOG_CRON constant,
334
LOG_DAEMON constant,
334, 347
LOG_DEBUG constant,
333
LOG_EMERG constant,
333
LOG_ERR constant,
333, 922
LOG_FTP constant,
334
LOG_INFO constant,
333, 922
LOG_KERN constant,
334
LOG_LOCAL0 constant,
334
LOG_LOCAL1 constant,
334
LOG_LOCAL2 constant,
334
LOG_LOCAL3 constant,
334
LOG_LOCAL4 constant,
334
LOG_LOCAL5 constant,
334
LOG_LOCAL6 constant,
334
LOG_LOCAL7 constant,
334
LOG_LPR constant,
334
LOG_MAIL constant,
334
LOG_NDELAY constant,
335
LOG_NEWS constant,
334
LOG_NOTICE constant,
333, 347
LOG_PERROR constant,
335
LOG_PID constant,
335
LOG_SYSLOG constant,
334
LOG_USER constant,
334, 337-338, 346
LOG_UUCP constant,
334
LOG_WARNING constant,
333
logger program,
335
logical interface,
891
login name,
340, 342, 393
long-fat pipe,
36, 193, 208, 544, 838, 966
definition of,
36
loom program,
xx
loopback
address,
100, 309, 333, 395, 538, 891, 895
broadcast,
474, 515, 526
interface,
22, 434, 707, 714, 722, 764, 784, 891
logical,
474, 498
multicast,
496, 498, 500, 503, 509, 515, 523, 526
physical,
474, 498
routing,
161, 197, 468
transport provider, XTI,
880
loose source and record route,
see LSRR
lost datagrams, UDP,
217-218
lost duplicate,
41
Lothberg, P.,
892, 965, 968
LP64, programming model,
27
ls program,
376
lseek function,
148, 367, 904
lsof program,
914
LSRR (loose source and record route),
636-638, 651
Lucchina, P.,
xx


M

M_DATA constant,
853-854, 864-865, 906
M_PCPROTO constant,
853-854, 858, 863, 906
M_PROTO constant,
853-854, 858, 861, 863, 865
MAC (medium access control),
431, 446, 893
machine member,
250
mail exchange record, DNS,
see MX
main thread,
602
malloc function,
27, 218, 275, 277-279, 287, 290, 304, 386, 467, 475, 592, 609, 613-614, 633, 695, 788, 822
management information base,
see MIB
Marques, P.,
xx
Maslen, T. M.,
305, 967
Maufer, T.,
493, 967
MAX_IPOPTLEN constant,
640
MAXFILES constant,
416
MAXHOSTNAMELEN constant,
251
maximum segment lifetime,
see MSL
maximum segment size,
see MSS
maximum transmission unit,
see MTU
maxlen member,
769-770, 790-791, 821, 841, 854
MAXLINE constant,
7, 79, 81, 537, 829, 915
definition of,
918
MAXLOGNAME constant,
390
MAXSOCKADDR constant,
110, 286-287, 345
definition of,
918
MBone (multicast backbone),
xx, 21, 487, 529, 899-901, 952
session announcements,
504-507
mcast_get_if function,
499-502
definition of,
499
mcast_get_loop function,
499-502
definition of,
499
mcast_get_ttl function,
499-502
definition of,
499
mcast_join function,
499-502, 505, 509, 513
definition of,
499
source code,
501
mcast_leave function,
499-502
definition of,
499
mcast_set_if function,
499-502, 523, 530
definition of,
499
mcast_set_loop function,
499-502, 509, 523
definition of,
499
source code,
503
mcast_set_ttl function,
499-502
definition of,
499
McCann, J.,
xix, 47, 967
McCanne, S.,
704, 707, 913, 967
McDonald, D. L.,
88, 645, 967
McKusick, M. K.,
19, 968
medium access control,
see MAC
memcmp function,
69-70, 218
definition of,
70
memcpy function,
69-70, 257, 812, 817, 821-822, 858, 940-941, 961
definition of,
70
memmove function,
70, 812, 817, 941, 961
memory leak,
304
memset function,
8, 69-70, 917
definition of,
70
Mendez, T.,
469, 968
message
high-priority, streams,
170, 852
normal, streams,
170, 852
priority band, streams,
170, 852
types, ICMPv4,
897
types, ICMPv6,
898
types, streams,
852-854
message-based interface,
856
meter function,
740
Metz, C. W.,
xix-xx, 88, 967
Meyer, D.,
490, 968
MF (more fragments flag, IP header),
884
MIB (management information base),
455
Michigan, University of,
xix
Milliken, W.,
469, 968
Mills, D. L.,
511, 968
min function,
821
minimum link MTU,
46
minimum reassembly buffer size,
47
mkfifo function,
382
mktemp function,
744
mmap function,
24, 740, 746, 904-905
MODE_CLIENT constant,
513
MODE_SERVER constant,
527
modules, streams,
850
Mogul, J. C.,
47, 889-890, 967-968
more fragments flag, IP header,
see MF
MORE_flag member,
865
MORECTL constant,
855
MOREDATA constant,
855
mrouted program,
655, 900-901, 952
MSG_ANY constant,
855
MSG_BAND constant,
855
MSG_BCAST constant,
359, 538
MSG_CTRUNC constant,
359-360
MSG_DONTROUTE constant,
184, 355-356, 359
MSG_DONTWAIT constant,
355-356, 359, 365
MSG_EOF constant,
356, 370-371
MSG_EOR constant,
356, 359-360, 370, 395, 947
MSG_HIPRI constant,
855, 906
MSG_MCAST constant,
359, 538
MSG_OOB constant,
191, 205, 355-356, 359-360, 566-569, 572, 574, 576-577, 586, 774, 876
MSG_PEEK constant,
355-356, 359, 365-366, 372, 383, 910, 946
MSG_TRUNC constant,
359-360, 538-539
MSG_WAITALL constant,
79, 355-356, 359, 397
msg_accrights member,
358, 383, 386, 388
msg_accrightslen member,
358
msg_control member,
358, 361-363, 365, 383, 386, 534
msg_controllen member,
66, 358, 360, 362-363, 365
msg_flags member,
357-360, 362, 532, 534, 539, 947
msg_iov member,
358
msg_iovlen member,
358
msg_name member,
358, 361
msg_namelen member,
66, 358, 361, 534
msghdr structure,
66, 357-358, 360-362, 365, 383, 389, 532, 534, 539, 546
definition of,
358
MSL (maximum segment lifetime),
38, 40-41, 141, 187, 927
definition of,
40
MSS (maximum segment size),
36, 39, 48-50, 53, 192, 202, 208, 369, 371, 834, 840, 910, 926, 932-933
definition of,
35, 202
option, TCP,
35
MTU (maximum transmission unit),
18, 22-23, 46-49, 192, 477-478, 540, 657, 688, 887, 898, 926, 950
definition of,
46
discovery, path, definition of,
47
minimum link,
46
path,
49, 53, 202, 406, 688, 887, 933, 968
path, definition of,
46
multicast,
487-530
address,
487-490
address, administratively scoped IPv4,
490
address, IPv4,
487-489
address, IPv6,
489
backbone,
see MBone
group address,
487
group, all-hosts,
488
group, all-nodes,
489
group, all-routers,
488-489
group ID,
487
group, link-local,
489
group, transient,
489
group, well-known,
489, 504, 517
IP fragmentation and,
504
on WAN,
493-495
routing protocol,
493
scope,
268, 489-490
scope, continent-local,
490
scope, global,
490
scope, link-local,
490
scope, node-local,
490
scope, organization-local,
490
scope, region-local,
490
scope, site-local,
490
sending and receiving,
507-510
socket option,
495-499
versus broadcast,
490-493
MULTICAST constant,
23
multihomed,
44-45, 93, 112, 137, 218, 220, 222, 232, 253-254, 282, 472-473, 496, 513, 515, 538, 702, 712, 787, 891, 937
multiplexor, streams,
851
mutex,
622-627
MX (mail exchange record, DNS),
238, 243-244, 256
my_addrs function,
250, 257, 441, 940
source code,
250, 940
my_lock_init function,
743-744, 746
my_lock_release function,
746
my_lock_wait function,
746
my_open function,
383, 385, 388
my_read function,
81, 618
mycat program,
383-384
mydg_echo function,
554-555


N

n_addrs member,
787
n_cnt member,
787
Nagle algorithm,
209, 357, 935
definition of,
202
name member,
835
name server,
239-240, 248, 270, 275, 703, 708, 717, 725
National Optical Astronomy Observatories,
see NOAO
nc_device member,
785
nc_flag member,
785
nc_lookups member,
785
nc_netid member,
785
nc_nlookups member,
785
nc_proto member,
785
nc_protofmly member,
785
nc_semantics member,
785
nc_unused member,
785
ND_ADDRLIST constant,
788
ND_HOSTSERVLIST constant,
788
nd_addrlist structure,
787-788, 794, 822
definition of,
787
nd_hostserv structure,
787-788, 792, 796
definition of,
787
nd_hostservlist structure,
788
definition of,
788
neighbor discovery,
895
Nelson, R.,
xix
Nemeth, E.,
xix, 35, 968
Net/1,
20, 644
Net/2,
20, 657
Net/3,
20, 356
NET_RT_DUMP constant,
456
NET_RT_FLAGS constant,
456
NET_RT_IFLIST constant,
456-457, 459
net_rt_iflist function,
459, 461, 464-465, 467
NetBIOS,
xvii, 968
NetBSD,
19-20, 198
netbuf structure,
769-771, 782-783, 787-792, 794, 796, 803-804, 820, 835-836, 854, 880, 960
definition of,
769
netconfig structure,
783-788, 791-792, 794, 800, 822, 880, 904, 959
definition of,
785
<netdb.h> header,
243, 255, 274, 299
netdir function,
783
netdir_free function,
788, 794, 802, 822, 827
netdir_getbyaddr function,
788, 791, 796
definition of,
788
netdir_getbyname function,
783, 786-788, 792, 794, 796, 800, 802, 820-822, 827
definition of,
786
netent structure,
255
<net/if_arp.h> header,
440
<net/if_dl.h> header,
446, 534
<net/if.h> header,
439, 463
<netinet/icmp6.h> header,
660
<netinet/in.h> header,
58, 61, 72, 92, 110, 561, 656
<netinet/ip.h> header,
198
<netinet/ip_var.h> header,
640
<netinet/udp_var.h> header,
458
NETPATH environment variable,
784-786, 792, 800
netpath function,
786
<net/route.h> header,
442, 447-448
Netscape,
413, 422
netstat program,
22, 29, 34, 37, 44, 52, 75, 116, 118, 131, 141, 208, 219, 229-231, 256, 346, 439, 443, 445, 508, 557, 914, 929, 938
Netware,
784, 968
network
byte order,
59, 68, 70, 100, 141, 251-252, 277, 657-658, 660, 930
interface tap,
see NIT
services library,
784
topology, discovering,
22-23
virtual,
899-902
virtual terminal,
see NVT
Network File System,
see NFS
Network Information System,
see NIS
Network News Transfer Protocol,
see NNTP
Network Provider Interface,
see NPI
Network Time Protocol,
see NTP
next header field, IPv6,
886
next_pcap function,
721
next-level aggregation identifier,
see NLA
nfds_t datatype,
171
NFS (Network File System),
52, 192, 196, 211, 541-542, 705
NGROUPS constant,
390
NI_DGRAM constant,
299-300, 327
NI_MAXHOST constant,
299
NI_MAXSERV constant,
299
NI_NAMEREQD constant,
299-300, 327, 329
NI_NOFQDN constant,
299, 327
NI_NUMERICHOST constant,
299-300, 327, 945
NI_NUMERICSERV constant,
299-300, 327, 945
nibble,
238
NIS (Network Information System),
240
NIT (network interface tap),
704, 708
NLA (next-level aggregation identifier),
893
NNTP (Network News Transfer Protocol),
52
no operation,
see NOP
NO_ADDRESS constant,
243
NO_DATA constant,
243
NO_RECOVERY constant,
243
NOAO (National Optical Astronomy Observatories),
xx, 21, 890
Noble, J. C.,
xix
node-local multicast scope,
490
nodename member,
250
nonblocking
accept function,
422-424
connect function,
409-422
I/O,
77, 154, 206, 355-356, 365, 397-424, 428, 591, 595, 597, 773, 867-868, 931, 958
I/O model,
145
I/O, XTI,
867-868
nonlocal goto,
482, 717
NOP (no operation),
635, 637-640, 644, 654
normal, streams message,
170, 852
NPI (Network Provider Interface),
852, 970
nselcoll variable,
742
ntohl function,
68, 141, 930
definition of,
68
ntohs function,
100
definition of,
68
NTP (Network Time Protocol),
52, 470, 477, 497, 507, 529-530, 591-592, 598, 952, 968
ntp program,
517
ntpdata structure,
511
ntp.h header,
511, 516
NVT (network virtual terminal),
928


O

O_ASYNC constant,
205-206, 428, 590, 595
O_NONBLOCK constant,
205-206, 428, 595, 764, 867, 881
O_RDONLY constant,
385
O_RDWR constant,
764
O_SIGIO constant,
590
octet, definition of,
69
O'Dell, M.,
893, 965
open
active,
34-35, 38, 44, 909
passive,
34, 38, 44, 274, 909
shortest path first, routing protocol,
see OSPF
simultaneous,
37-38
systems interconnection,
see OSI
open function,
124, 337, 377, 382-383, 385, 388, 705-706, 746, 904-905
Open Group, The,
25-26, 763, 968
Open Software Foundation,
see OSF
OPEN_MAX constant,
173
open_pcap function,
713-714, 716
OpenBSD,
19-20
openfile program,
383-384, 386, 388
openlog function,
333-335, 337, 344
definition of,
334
opt member,
769, 772, 777, 779, 789-790, 799, 820-821, 825, 834-835, 841, 843, 873
OPT_length member,
861, 863
OPT_offset member,
861, 863
opt_val_str member,
181-182
optarg variable,
643
opterr variable,
643
opthdr structure,
835
optind variable,
643
options
absolute requirement, XTI,
834
end-to-end, XTI,
833
local, XTI,
833
obtaining default, XTI,
841-844
socket,
177-209
TCP,
35-36
XTI,
833-848
options member,
765-766
optopt variable,
643
orderly release, XTI,
774-775
organization-local multicast scope,
490
OSF (Open Software Foundation),
25
OSI (open systems interconnection),
xvii, 18-19, 58, 87, 356, 358, 360, 363, 763, 766-767, 797-799, 968
model,
18-19
OSPF (open shortest path first, routing protocol),
52-53, 581, 655, 927
out-of-band
data,
119, 151, 153-155, 170, 175, 191, 205-206, 355-356, 360, 426, 565-587, 766, 773, 782, 853, 875
data, TCP,
565-572, 580-581
data, XTI,
875-880, 911-913
output
TCP,
48-49
UDP,
49-50
overlap of fields,
817, 960
owner, socket,
206-207, 569, 590, 595
oxymoron,
542


P

packet
information, IPv6 receiving,
560-562
too big, ICMP,
47, 688, 898
Papanikolaou, S.,
xx
parallel programming,
624
parameter problem, ICMP,
646, 897-898
Partridge, C.,
227, 469, 543, 647, 671, 964, 966, 968
passive
close,
36-38
open,
34, 38, 44, 274, 909
socket,
93, 308-309
PATH environment variable,
22, 104
path MTU,
49, 53, 202, 406, 688, 887, 933, 968
definition of,
46
path MTU discovery, definition of,
47
PATH_MAX constant,
817, 960
pause function,
176, 271, 408, 577
PAWS (protection against wrapped sequence numbers),
966
Paxson, V.,
xix, 47, 968
payload length field, IPv6,
886
pcap_compile function,
705, 714
pcap_datalink function,
716, 721
pcap_lookupdev function,
714
pcap_lookupnet function,
714
pcap_next function,
722
pcap_open_live function,
714, 722
pcap_pkthdr function,
722
pcap_pkthdr structure, definition of,
722
pcap_setfilter function,
715, 723
pcap_stats function,
725
PCM (pulse code modulation),
507
_PC_SOCK_MAXBUF constant,
193
pending error,
153-154, 184
perfect filtering,
492
persistent connection,
735
pfmod streams module,
706-707
Phan, B. G.,
88, 967
piggybacking,
40
Pike, R.,
12, 967
ping program,
23, 31, 52, 71, 236, 529, 654, 937, 957
implementation,
661-672
ping.h header,
662
Pink, S.,
227, 968
pipe function,
377, 382
pipe, long-fat,
36, 193, 208, 544, 838, 966
Piscitello, D. M.,
268, 968
pkey structure,
613-614, 616
Plauger, P. J.,
366, 968
pointer record, DNS,
see PTR
Point-to-Point Protocol,
see PPP
poll function,
132, 135, 140, 143-144, 146, 152, 156, 169-173, 175, 586, 687, 838, 869, 876, 878, 880, 913, 956
definition of,
169
POLLERR constant,
170-171, 173
pollfd structure,
169, 171-173, 876, 880
definition of,
170
<poll.h> header,
171
POLLHUP constant,
170
POLLIN constant,
170, 880, 912-913
polling,
145, 150, 628, 869
POLLNVAL constant,
170
POLLOUT constant,
170
POLLPRI constant,
170, 912
POLLRDBAND constant,
170, 912
POLLRDNORM constant,
170, 173, 876, 912-913
POLLWRBAND constant,
170
POLLWRNORM constant,
170
port
dynamic,
42
ephemeral,
42-45, 77, 89, 91-93, 101, 110, 112, 217-218, 222, 232, 300, 378, 558, 685, 689, 695, 927, 951, 959
mapper, RPC,
91, 959
numbers,
41-43
numbers and concurrent server,
44-46
private,
42
registered,
42, 112
reserved,
43, 91, 102, 112, 196
stealing,
196, 329
unreachable, ICMP,
221, 225, 228, 236, 473, 673, 679, 681, 688, 708, 726, 824-825, 829, 897-898, 937, 951
well-known,
42
Portable Operating System Interface,
see POSIX
POSIX (Portable Operating System Interface),
24-25
Posix.1,
144, 148-149, 173, 250-251, 335, 398, 425, 551, 589, 596, 605, 609-610, 613, 631, 690, 743, 763, 931, 960, 966
definition of,
24
Posix.1b,
24, 168, 966
Posix.1c,
24, 602, 966
Posix.1g,
26-27, 58-59, 62, 64, 68, 81-82, 87, 89, 95, 98, 110, 120, 123, 130, 143, 151, 161, 168, 170-172, 185, 187-188, 193-194, 197, 199, 201-202, 205-206, 224-226, 273, 279-280, 282, 300, 304, 306, 357-358, 365,
'sp 7
'nr xS 5p/25
373-374, 376-377, 383, 398, 410, 413, 424-427, 475, 478, 480, 482, 539, 572, 590, 595, 610, 763, 769, 799, 808, 815, 833, 837, 872, 875, 933, 966
definition of,
25
Posix.1i,
24, 966
Posix.2,
24, 26, 133, 376, 642-643
Postel, J. B.,
32, 42, 197, 199, 655, 883, 885, 889-890, 892-893, 896, 965-966, 968-969
PPP (Point-to-Point Protocol),
46, 456, 721
pr_cpu_time function,
734, 737
prefix length,
889
preforked server
distribution of connections to children, TCP,
740-741, 745
select function collisions, TCP,
741-742
TCP,
736-752
too many children, TCP,
740, 744-745
prethreaded server, TCP,
754-759
prifinfo program,
443, 459
PRIM_type member,
858, 860-861, 863, 865
printf function, calling from signal handler,
122
priority band, streams message,
170, 852
private port,
42
proc structure,
739
proc_v4 function,
666-667
proc_v6 function,
666-667
process
daemon,
331-347
group ID,
206-207, 335, 427
group leader,
335
ID,
125, 206-207, 335, 427
lightweight,
601
.profile file,
245
programming model
ILP32,
27
LP64,
27
promiscuous, mode,
492, 703, 706-707, 714
protection against wrapped sequence numbers,
see PAWS
proto structure,
663, 665, 675-677
protocol
application,
4, 383, 780
byte-stream,
9, 29, 32, 83, 87, 360, 378, 397, 580, 766
dependence,
9, 216
field, IPv4,
885
independence,
9-10, 216
usage by common applications,
52
protoent structure,
255
provider-based unicast address,
892
ps program,
117-118, 127
pselect function,
143, 168-169, 172, 175, 480, 482, 630
definition of,
168
source code,
482
pseudoheader,
200, 658, 711, 719
PSH (push flag, TCP header),
773
Pthread structure,
613-614
PTHREAD_MUTEX_INITIALIZER constant,
626, 744, 746
Pthread_mutex_lock wrapper function, source code,
12
PTHREAD_PROCESS_PRIVATE constant,
746
PTHREAD_PROCESS_SHARED constant,
745-746
pthread_attr_t datatype,
603
pthread_cond_broadcast function,
630
definition of,
630
pthread_cond_signal function,
630, 757
definition of,
628
pthread_cond_t datatype,
628
pthread_cond_timedwait function,
630
definition of,
630
pthread_cond_wait function,
629-630, 632, 757
definition of,
628
pthread_create function,
602-605, 608-609, 752
definition of,
602
pthread_detach function,
602-605
definition of,
604
pthread_exit function,
602-605
definition of,
604
pthread_getspecific function,
614, 617-618
definition of,
617
pthread_join function,
602-605, 622, 627, 631-632
definition of,
603
pthread_key_create function,
613-614, 616-617
definition of,
616
pthread_key_t datatype,
617
pthread_mutexattr_t datatype,
746
pthread_mutex_init function,
626, 746
pthread_mutex_lock function,
755
definition of,
626
pthread_mutex_t datatype,
626, 744, 746
pthread_mutex_unlock function,
630, 755
definition of,
626
pthread_once function,
614, 616-618
definition of,
616
pthread_once_t datatype,
617
pthread_self function,
602-605
definition of,
604
pthread_setspecific function,
614, 617-618
definition of,
617
pthread_t datatype,
603
<pthread.h> header,
605, 621
PTR (pointer record, DNS),
238, 248, 290
pulse code modulation,
see PCM
Pusateri, T.,
488, 968
push flag, TCP header,
see PSH
putc_unlocked function,
611
putchar_unlocked function,
611
putmsg function,
849-850, 853-855, 858, 861, 865-866, 875, 903-906
definition of,
854
putpmsg function,
849, 853, 855, 866, 875, 911
definition of,
855


Q

qlen member,
769-771, 782, 797, 802, 815-816, 959
QSIZE constant,
592
Quarterman, J. S.,
19, 968
queue
completed connection,
94
incomplete connection,
94
length, listen function backlog versus XTI,
815-816
streams,
852
queued data,
365-366
queueing, signal,
121, 127, 596-597


R

race condition,
208, 352, 478-486, 933
definition of,
478
Rafsky, L. C.,
xix
Rago, S. A.,
xix, 849, 852-853, 968
rand function,
611
rand_r function,
611
RARP (Reverse Address Resolution Protocol),
31, 703, 705
raw socket,
18, 29, 52, 87, 197, 199-200, 373, 445, 451, 455, 655-703, 707-708, 713, 719-720, 723, 898, 957-958
creating,
656
input,
659-661
output,
657-658
read function,
7, 9, 11, 27-28, 77, 79, 81, 83, 107, 116, 124, 143, 148, 156, 167, 171, 184-186, 189-190, 194, 212-213, 224-225, 228, 236, 349-350, 354-355, 357-358, 362, 366, 371-372, 386, 391, 394, 397, 399, 401-403, 412, 418, 421, 450-451, 484, 569, 574, 576, 591, 705-706, 722-723, 751, 773-774, 776, 778, 781-782, 803, 806, 812, 850-851, 854, 865, 876, 904, 907, 926, 935-936, 947
read_cred function,
391
read_fd function,
386, 389, 694, 751
source code,
387
read_loop function,
516, 519, 523-524
readable_conn function,
694-695
readable_listen function,
693-694
readable_timeo function,
352-353
source code,
353
readable_v4 function,
697
readable_v6 function,
699
readdir function,
611
readdir_r function,
611
readline function,
77-81, 83, 111, 113, 115-116, 118, 123-124, 131-132, 134-135, 140, 143, 156-157, 164, 167, 173, 367, 606, 611-612, 614, 616-618, 633, 753, 915, 928, 931, 933, 935
definition of,
77
source code,
79-80, 619
readline_destructor function,
617, 633
readline_once function,
617-618, 633
readloop function,
665, 670
readn function,
77-81, 83, 139, 356, 397, 930
definition of,
77
source code,
78
readv function,
194, 349, 357-358, 362, 371, 397, 872
definition of,
357
Real-time Transport Protocol,
see RTP
reason member,
769, 778
reassembly,
47, 884, 897-898, 926, 938
buffer size, minimum,
47
rebooting of server host, crashing and,
134-135
rec structure,
673
receive timeout, BPF,
705
receiving sender credentials,
390-394
record boundaries,
9, 32, 83, 190, 370, 378, 766, 947
record route,
637
recv function,
79, 194, 213, 224, 349, 354-359, 362, 366, 371-372, 397, 539, 567, 569, 572, 576-577, 584, 586, 774, 876
definition of,
354
recv_all function,
509
recv_v4 function,
679, 681-682
recv_v6 function,
679, 681-682
recvfrom function,
58, 64, 124, 144-145, 147, 149, 194, 211-213, 215-221, 223-224, 228, 235-236, 241, 257, 264, 266, 268, 270, 278, 293, 299, 350-354, 356-359, 362, 366, 371, 381, 397, 475-476, 478, 480, 482-484, 506, 509, 513, 526-527, 532, 534, 536, 539, 544, 546, 556, 559, 567, 590, 597-598, 679, 681-682, 685, 707, 722-723, 820, 831, 936-938, 946, 957
definition of,
212
with a timeout,
351-354
recvfrom_flags function,
532-533, 536-537
recvmsg function,
58, 65-66, 194, 198-201, 213, 223, 349, 357-362, 364, 371, 383, 386, 397, 497, 532, 534, 537, 539, 546, 548-549, 560-562, 567, 647, 651, 653-654, 835, 872, 947, 953
definition of,
358
receiving destination IP address,
532-538
receiving flags,
532-538
receiving interface index,
532-538
Red Hat Software,
xx
redirect, ICMP,
445, 456, 897-898
reentrant,
71, 75, 81, 122, 300-305, 329, 609-611
reference count, descriptor,
107, 383
Regina, N.,
xx
region-local multicast scope,
490
registered port,
42, 112
Reid, J.,
xix
Rekhter, Y.,
892, 965, 968
release
XTI abortive,
774-775
XTI orderly,
774-775
release member,
250
reliable datagram service,
542-553
remote procedure call,
see RPC
remote terminal protocol,
see Telnet
rename function,
334
Request for Comments,
see RFC
RES_INIT constant,
247
RES_length member,
863
RES_offset member,
863
RES_OPTIONS environment variable,
245, 247
RES_USE_INET6 constant,
245-249, 256, 265, 279-281, 312
res_init function,
245, 247, 256, 312
res_options variable,
245
reserved port,
43, 91, 102, 112, 196
reset flag, TCP header,
see RST
resolver,
239-240, 245-249, 266, 268, 271, 275, 279-281, 305, 312, 314, 542, 894, 940, 945
resource discovery,
470, 515
resource record, DNS,
see RR
retransmission
ambiguity problem, definition of,
543
time out,
see RTO
revents member,
170-171, 880
Reverse Address Resolution Protocol,
see RARP
rewind function,
367
Reynolds, J. K.,
42, 199, 655, 885, 969
RFC (Request for Comments),
32, 926, 963
768,
32, 968
791,
883, 968
792,
896, 968
793,
32, 197, 968
862,
51
863,
51
864,
51
867,
51
868,
51
950,
889-890, 968
1071,
671, 964
1108,
636, 967
1112,
488, 498, 965
1122,
40, 209, 219, 472, 509, 533, 891, 964
1185,
41, 966
1191,
47, 968
1305,
511, 968
1323,
35-36, 208, 456, 544, 838, 899, 964, 966
1337,
187, 964
1349,
199, 963
1379,
369, 964
1390,
488, 966
1469,
488, 968
1519,
889, 965
1546,
469, 968
1639,
268, 968
1644,
369, 964
1700,
42, 199, 655, 885, 969
1812,
688, 964
1826,
645, 963
1827,
645, 963
1832,
140, 969
1883,
200, 646, 651, 653, 885-886, 965
1884,
892, 965
1885,
896, 964
1886,
238, 969
1897,
893, 965-966
1972,
489, 965
1981,
47, 967
2006,
964
2019,
489, 965
2026,
26
2030,
511, 968
2073,
892, 965, 968
2113,
636, 966
2133,
26, 62, 199, 300, 463, 497, 965
2147,
48, 964
Host Requirements,
964
obtaining,
926
RIP (Routing Information Protocol, routing protocol),
47, 52, 475
Ritchie, D. M.,
xix, 849, 922, 967, 969
rl_cnt member,
618
rl_key function,
617
rl_once function,
617
rlim_cur member,
931
rlim_max member,
931
RLIMIT_NOFILE constant,
931
Rline structure,
617-618
Rlogin,
186, 199, 202-203, 242, 580, 586
rlogin program,
43
rlogind program,
644-645, 654, 957
rmt_addrs member,
449
road map, client-server examples,
16-17
Roberts, M.,
xix
Rose, M. T.,
274
round robin, DNS,
733
round-trip time,
see RTT
route program,
205, 442
routed program,
184, 440, 470, 475
router,
5
advertisement, ICMP,
655, 660, 897-898
solicitation, ICMP,
655, 897-898
routing
header, IPv6,
649-653
hop count,
440
IP,
883
protocol, multicast,
493
socket,
445-468
socket, datalink socket address structure,
446
socket, reading and writing,
447-454
socket, sysctl operations,
454-458
table operations, ioctl function,
442-443
type,
650
Routing Information Protocol, routing protocol,
see RIP
RPC (remote procedure call),
91, 140, 340, 542, 959
DCE,
52
port mapper,
91, 959
Sun,
9, 52
RR (resource record, DNS),
238-239
rresvport function,
43
RS_HIPRI constant,
854-855, 858
rsh program,
41, 43, 252, 299
rshd program,
644-645
RST (reset flag, TCP header),
41, 89-90, 98, 129-133, 135, 156, 167, 171, 173, 176, 185-187, 191, 207, 228, 422-423, 704, 708, 772, 774-775, 777-778, 780, 782, 798, 808, 810, 814-815, 838, 865, 928, 933, 949, 959
rt_msghdr structure,
447, 449-452
RTA_AUTHOR constant,
448
RTA_BRD constant,
448
RTA_DST constant,
448-449
RTA_GATEWAY constant,
448
RTA_GENMASK constant,
448
RTA_IFA constant,
448
RTA_IFP constant,
448
RTA_NETMASK constant,
448
RTAX_AUTHOR constant,
448
RTAX_BRD constant,
448
RTAX_DST constant,
448
RTAX_GATEWAY constant,
448
RTAX_GENMASK constant,
448
RTAX_IFA constant,
448
RTAX_IFP constant,
448, 464
RTAX_MAX constant,
448, 452
RTAX_NETMASK constant,
448
rtentry structure,
427, 442
RTF_LLINFO constant,
456-457
RTM_ADD constant,
447
RTM_CHANGE constant,
447
RTM_DELADDR constant,
447
RTM_DELETE constant,
447
RTM_GET constant,
447-449, 456
RTM_IFINFO constant,
447, 457, 461, 464, 467
RTM_LOCK constant,
447
RTM_LOSING constant,
447
RTM_MISS constant,
447
RTM_NEWADDR constant,
447, 457, 461
RTM_REDIRECT constant,
447
RTM_RESOLVE constant,
447
rtm_addrs member,
448, 450, 452
rtm_type member,
449
RTO (retransmission time out),
543-544, 549-552
RTP (Real-time Transport Protocol),
507
RTT (round-trip time),
33, 95-96, 157-159, 193, 203, 209, 369, 398, 407, 409, 421, 540, 542-553, 563, 661, 665, 667, 670, 679, 798, 878, 935
RTT_RTOCALC macro,
550
rtt_init function,
546, 550-551
source code,
550
rtt_into structure,
546
rtt_minmax function,
550
source code,
550
rtt_newpack function,
548, 551
source code,
551
rtt_start function,
548, 551
source code,
551
rtt_stop function,
549, 552
source code,
552
rtt_timeout function,
549, 552
source code,
552
rtt_ts function,
548-549, 551, 953
source code,
551
RUSAGE_CHILDREN constant,
735
RUSAGE_SELF constant,
735


S

s6_addr member,
61
SA constant,
9, 61
S_BANDURG constant,
875
S_ERROR constant,
875
S_HANGUP constant,
875
S_HIPRI constant,
875
S_IFSOCK constant,
81-82
S_INPUT constant,
875
S_ISSOCK constant,
81
S_MSG constant,
875
S_OUTPUT constant,
875
S_RDBAND constant,
875
S_RDNORM constant,
875-876
S_WRBAND constant,
875
S_WRNORM constant,
875
s_addr member,
58-59
s_aliases member,
251
s_fixedpt member,
511
s_name member,
251
s_port member,
251
s_proto member,
251
SA_INTERRUPT constant,
121
SA_RESTART constant,
121, 123-124, 151, 351
sa_data member,
60, 441, 707
sa_family member,
60-61, 441, 450, 453
sa_family_t datatype,
59
sa_handler member,
121
sa_len member,
60, 453
sa_mask member,
121
Salus, P. H.,
28, 969
sanity check,
475
SAP (Session Announcement Protocol),
504, 506-507
scatter read,
357, 872
scheduling latency,
151
Schimmel, C.,
740, 969
SCM_CREDS socket option,
362, 390
ancillary data, picture of,
364
SCM_RIGHTS socket option,
362
ancillary data, picture of,
364
SCO,
xix
scope
continent-local multicast,
490
global multicast,
490
link-local multicast,
490
multicast,
268, 489-490
node-local multicast,
490
organization-local multicast,
490
region-local multicast,
490
site-local multicast,
490
_SC_OPEN_MAX constant,
173
script program,
625
sdl_alen member,
446, 461, 950
sdl_data member,
446
sdl_family member,
446
sdl_index member,
446
sdl_len member,
446, 468
sdl_nlen member,
446, 461, 950
sdl_slen member,
446
sdl_type member,
446
SDP (Session Description Protocol),
504, 506-507
sdr program,
504
SEEK_SET constant,
744
segment, TCP,
33
select function,
xvii, 66, 124, 130, 132, 135, 140, 143-144, 146-147, 150-157, 161-163, 165-172, 175, 184, 186, 193, 220, 233-234, 278, 332, 340, 342-344, 349-350, 352-353, 367, 371, 399, 401-402, 407, 409-410, 412-413, 417-419, 421-424, 484, 486, 524-525, 531, 550, 557, 559, 563, 567-568, 571-572, 574, 576, 580, 582, 586, 605, 621, 630, 687, 689-690, 693, 696, 727, 730, 741-742, 748, 750, 760, 838, 869, 876, 931, 936, 949-950, 953
collisions, TCP preforked server,
741-742
definition of,
150
maximum number of descriptors,
154-155
TCP and UDP server,
233-235
when is a descriptor ready,
153-155
Semeria, C.,
493, 967
send function,
184, 194, 213, 224, 349, 354-357, 359, 362, 366, 369-371, 395, 397, 566, 569, 579, 586, 656-657, 774, 947
definition of,
354
send_all function,
509
send_dns_query function,
717-718
send_v4 function,
670, 672
send_v6 function,
670-672
sendmail program,
256, 331, 344
sendmsg function,
58, 65, 184, 194, 200-201, 213, 349, 357-362, 371, 382-383, 388-390, 397, 523, 532, 546, 548, 560-562, 647, 651, 653-654, 657, 835, 872
definition of,
358
sendto function,
58, 63, 184, 194, 211-213, 215-217, 221-222, 224-228, 235-236, 241, 264-266, 275, 277, 293, 295, 350, 358-359, 362, 369-372, 377, 381, 397, 471-472, 475, 509, 522-523, 544, 546, 556, 595, 656-657, 679, 720, 820, 831, 937
definition of,
212
SEQ_number member,
863
sequence member,
769, 772, 777-778, 789, 799, 803, 809-810, 812, 817
sequence number, UDP,
542
Sequenced Packet Exchange,
see SPX
Sequent Computer Systems,
798
Serial Line Internet Protocol,
see SLIP
SERV_PORT constant,
112, 114, 176, 214, 544, 553
definition of,
918
servent structure,
251, 255
definition of,
251
server
concurrent,
15, 104-106
iterative,
15, 104, 215, 732
name,
239
not running, UDP,
220-221
preforked,
736
prethreaded,
754
processing time,
see SPT
services, standard Internet,
50-51, 344, 908
servtype member,
765, 767
Session Announcement Protocol,
see SAP
session announcements, MBone,
504-507
Session Description Protocol,
see SDP
session leader,
335-336
SET_TOS constant,
839
set_addresses function,
197
SETBLOCK constant,
660
SETBLOCKALL constant,
660
setgid function,
342
setnetconfig function,
784-785, 800, 959
definition of,
785
setnetpath function,
792
definition of,
786
SETPASS constant,
660
SETPASSALL constant,
660
setrlimit function,
176, 931
setsid function,
335, 346
setsockopt function,
177-180, 187, 201, 269-270, 354, 371, 491, 495-496, 500-502, 537, 636-640, 643-645, 654, 660, 678, 835, 841, 844, 848, 933, 957
definition of,
178
setuid function,
342, 665, 714
set-user-ID,
384, 714
setvbuf function,
369
sfio library,
369
shallow copy,
279
Shao, C.,
xix
SHUT_RD constant,
160-161, 176, 197, 454, 916
SHUT_RDWR constant,
161, 176, 916
SHUT_WR constant,
161, 189, 776, 916
shutdown function,
37, 107, 110, 159-161, 175-176, 189-190, 197, 368-372, 401, 408, 424, 454, 606, 730, 776, 806, 931, 949
definition of,
160
shutdown of server host,
135
Siegel, D.,
xx
SIG_DFL constant,
119-120, 946
SIG_IGN constant,
119-120, 123, 133
sig_alrm function,
546, 586, 670, 677, 682, 717
sig_chld function,
122-123, 127, 234, 734
sigaction function,
119-121, 147
sigaddset function,
480, 595
SIGALRM signal,
121, 301, 349, 351, 372, 476, 478, 480, 482, 484, 486, 546, 548, 563, 582, 584, 662, 665-666, 670, 677, 681-682, 716-717
SIGCHLD signal,
xvii, 118-119, 122-124, 126-127, 129-130, 140, 234, 343-344, 408, 475, 559, 733, 958
sigemptyset function,
480
Sigfunc datatype,
120
SIGHUP signal,
332, 335-337, 346, 595, 597-598
SIGINT signal,
168-169, 228, 337, 734, 737, 740, 747, 752, 756, 812
SIGIO signal,
119, 147, 184, 206-207, 427-428, 589-592, 595-598, 874-875, 910
TCP and,
590-591
UDP and,
590
SIGKILL signal,
119, 135
siglongjmp function,
351, 482-484, 546, 548-549, 563, 716-717
signal,
119-122
action,
119
blocking,
121, 478, 480, 482, 484, 595-597
catching,
119
definition of,
119
delivery,
121, 123, 126, 478, 480, 483-484, 595-597, 874, 958
disposition,
119, 123, 133, 602
generation,
480
handler,
119, 602, 874
mask,
121, 168-169, 482, 595, 602, 717
queueing,
121, 127, 596-597
signal function,
119-121, 123, 127, 351, 590, 878, 946
definition of,
120
source code,
120
signal-driven I/O,
184, 206, 589-599
model,
147
XTI,
874-875
SIGPIPE signal,
132-133, 141, 154, 186, 778, 928-929, 949, 959
SIGPOLL signal,
119, 589-590, 874-876, 878
sigprocmask function,
122, 480, 595-596
sigsetjmp function,
351, 482-484, 546, 548-549, 563, 716-717, 958
SIGSTOP signal,
119
sigsuspend function,
595
SIGTERM signal,
135, 408, 737, 949
SIGURG signal,
119, 206-207, 427, 567-569, 571, 574, 576-577, 580-582, 584, 586, 874-876
SIGWINCH signal,
337
Simple Mail Transfer Protocol,
see SMTP
simple name, DNS,
237
Simple Network Management Protocol,
see SNMP
Simple Network Time Protocol,
see SNTP
simultaneous
close,
37-38
connections,
413-422
open,
37-38
SIN6_LEN constant,
59, 61-62
sin6_addr member,
61-62, 92, 273
sin6_family member,
61, 226
sin6_flowinfo member,
61-62, 886
sin6_len member,
61
sin6_port member,
61, 92
sin_addr member,
58-60, 92, 273, 439
sin_family member,
58-59, 226
sin_len member,
58
sin_port member,
28, 58-59, 92
sin_zero member,
58-60
SIOCADDRT constant,
427, 442, 445
SIOCATMARK constant,
205, 425-427, 572
SIOCDARP constant,
427, 441
SIOCDELRT constant,
427, 442, 445
SIOCGARP constant,
427, 441
SIOCGIFADDR constant,
427, 439, 500
SIOCGIFBRDADDR constant,
427, 438, 440, 443
SIOCGIFCONF constant,
205, 250, 427-429, 434-435, 437-439, 443, 459, 714
SIOCGIFDSTADDR constant,
427, 438, 440
SIOCGIFFLAGS constant,
427, 437, 439, 707
SIOCGIFMETRIC constant,
427, 440
SIOCGIFNETMASK constant,
427, 440
SIOCGIFNUM constant,
435, 443
SIOCGPGRP constant,
205, 427-428
SIOCGSTAMP constant,
592
SIOCSARP constant,
427, 440
SIOCSIFADDR constant,
427, 439
SIOCSIFBRDADDR constant,
427, 440
SIOCSIFDSTADDR constant,
427, 440
SIOCSIFFLAGS constant,
427, 439, 707
SIOCSIFMETRIC constant,
427, 440
SIOCSIFNETMASK constant,
427, 440
SIOCSPGRP constant,
205, 427-428
site-level aggregation identifier,
see SLA
site-local
address,
895
multicast scope,
490
size_t datatype,
8, 27, 773
sizeof operator,
8, 860
Sklower, K.,
197, 274
SLA (site-level aggregation identifier),
893
sleep function,
141, 152, 394, 478, 509, 569, 576, 579, 928, 947
sleep_us function,
152
SLIP (Serial Line Internet Protocol),
46, 721
slow start,
370, 422, 541, 966
Smosna, M.,
68, 965
SMTP (Simple Mail Transfer Protocol),
9, 52, 950
SNA (Systems Network Architecture),
xvii, 773, 968
SNMP (Simple Network Management Protocol),
47, 52, 211, 231, 455, 542
snoop program,
913
snprintf function,
14-15, 138, 327, 386
SNTP (Simple Network Time Protocol),
510-528, 968
sntp_proc function,
513, 516, 526
sntp_send function,
515-516, 519, 522-523, 527
sntp.h header,
516
SO_ACCEPTCON socket option,
209, 936
SO_BROADCAST socket option,
179, 183-184, 207, 471, 475, 522, 702, 838, 910, 958
SO_BSDCOMPAT socket option,
221
SO_DEBUG socket option,
179, 183-184, 208, 837, 910, 934
SO_DONTROUTE socket option,
179, 183-184, 355, 562, 838, 910
SO_ERROR socket option,
153-154, 179, 184-185, 207, 412
SO_KEEPALIVE socket option,
134-135, 140, 179, 183, 185-187, 201, 207, 209, 581, 839, 910
SO_LINGER socket option,
49, 107, 110, 129, 161, 179, 183, 187-191, 207-208, 422, 777, 798, 806, 814, 837-838, 910
SO_OOBINLINE socket option,
179, 183, 191, 567-568, 574, 576, 586, 876
SO_RCVBUF socket option,
35, 179, 183, 191-193, 207-208, 215, 231, 838, 910, 937
SO_RCVLOWAT socket option,
153, 179, 193, 838
SO_RCVTIMEO socket option,
179, 193-194, 350, 353-354, 910
SO_REUSEADDR socket option,
93, 179, 187, 194-197, 207-208, 233, 271, 288, 297, 328-329, 505, 509, 520, 524, 530, 553, 555, 838, 910, 934, 945, 953
SO_REUSEPORT socket option,
93, 179, 181-182, 194-197, 208, 530, 910, 934, 953
SO_SNDBUF socket option,
49, 179, 183, 191-193, 207-208, 838, 910, 937
SO_SNDLOWAT socket option,
154, 179, 193, 838
SO_SNDTIMEO socket option,
179, 193-194, 350, 353, 910
SO_TIMESTAMP socket option,
592
SO_TYPE socket option,
179, 183, 197
SO_USELOOPBACK socket option,
161, 179, 197, 468
so_error variable,
184-185
so_pgid member,
206
so_socket function,
908
so_timeo structure,
740
sock program,
208, 236, 538, 908-912, 937
options,
910
SOCK_DGRAM constant,
87, 197, 214, 274, 277-278, 315, 317, 319-320, 325, 377, 880
SOCK_PACKET constant,
30, 87, 703, 707-708, 712, 725
SOCK_RAW constant,
87, 656
SOCK_SEQPACKET constant,
87
SOCK_STREAM constant,
7, 87, 183, 197, 277-278, 285, 288, 315, 317, 320, 377, 880
sock_bind_wild function,
75-77, 689, 695
definition of,
76
sock_cmp_addr function,
75-77
definition of,
76
sock_cmp_port function,
75-77
definition of,
76
sock_get_port function,
75-77
definition of,
76
sock_masktop function,
452-453
sock_ntop function,
75-77, 100, 110, 290, 299, 329, 537, 791, 945-946, 953
definition of,
75
source code,
76
sock_ntop_host function,
75-77, 452, 476
definition of,
76
sock_opts structure,
181
sock_set_addr function,
75-77, 943
definition of,
76
sock_set_port function,
75-77, 679, 943
definition of,
76
sock_set_wild function,
77, 513, 519
definition of,
76
sock_str_flag function,
182
sockaddr structure,
9, 61, 179, 293, 437
definition of,
60
sockaddr_dl structure,
449, 467, 534-535
definition of,
446
picture of,
63
sockaddr_in structure,
8-9, 58, 65, 266, 270, 280, 324, 437, 451, 453, 688, 766, 779, 787, 820, 822, 858, 904-905, 927, 940
definition of,
58
picture of,
63
sockaddr_in6 structure,
30, 62, 65, 280, 324, 437, 562, 688, 766, 791, 886
definition of,
61
picture of,
63
sockaddr_un structure,
62, 65, 324, 374, 376, 378, 380-381
definition of,
374
picture of,
63
sockargs function,
58
sockatmark function,
25, 205, 425-426, 572-579, 586
definition of,
572
source code,
574
socket
active,
93, 309
address structures,
57-63
address structure, comparison of,
62-63
address structure, generic,
60-61
address structure, IPv4,
58-60
address structure, IPv6,
61-62
address structure, routing socket, datalink,
446
address structure, Unix domain,
374-376
datagram,
31
definition of,
7, 43
introduction,
57-83
owner,
206-207, 569, 590, 595
pair, definition of,
43
passive,
93, 308-309
raw,
18, 29, 52, 87, 197, 199-200, 373, 445, 451, 455, 655-703, 707-708, 713, 719-720, 723, 898, 957-958
receive buffer, UDP,
231
routing,
445-468
stream,
31
TCP,
85-110
timeout,
193, 349-354
UDP,
211-236, 531-563
Unix domain,
373-395
Socket wrapper function, source code,
11
socket function,
xvi-xvii, 7-9, 11, 14, 28, 34-35, 85-89, 91, 93-94, 99, 105, 110, 116, 129, 166, 194, 206-207, 214, 254, 270, 275, 277-278, 282, 286, 288, 325, 328, 346, 369, 371, 378, 380-382, 643, 656-659, 707, 739-741, 764, 767, 782, 903-904, 907-908, 925, 936, 953
definition of,
86
socket option,
177-209
generic,
183-197
ICMPv6,
199
IPv4,
197-199
IPv6,
199-201
multicast,
495-499
obtaining default,
178-183
socket states,
183
TCP,
201-205
socketpair function,
376-377, 382-383, 385, 484
definition of,
376
sockets and standard I/O,
366-369
sockets and XTI interoperability,
780
sockfd_to_family function,
109, 502
source code,
109
sockfs filesystem,
907
socklen_t datatype,
25, 27, 59, 64, 927
sockmod streams module,
851-852, 856, 904
sockproto structure,
88
sofree function,
130
soft error,
89
software interrupts,
119
SOL_SOCKET constant,
362, 364, 390
Solaris,
xix, 19, 21, 43, 67, 90, 98-99, 101, 123, 130-131, 133, 158, 187, 220, 225, 228, 231, 233, 240, 250, 301, 304-305, 347, 357-358, 376, 406, 409, 412, 433, 435, 437, 446, 475, 477, 499, 503, 530, 537, 539, 554, 572, 621-622, 626-627, 631, 644, 655, 689-690, 708, 719, 728-729, 742, 744-746, 751, 753, 756, 765, 781, 812, 815-816, 905-907, 911, 913-914, 926, 931-932, 934, 950-951, 953
solutions to exercises,
925-962
soo_select function,
154
soreadable function,
154
sorwakeup function,
590
source address
IPv4,
885
IPv6,
886
source code
availability,
xix
conventions,
6
portability, interoperability,
270
source quench, ICMP,
688, 897
source routing
IPv4,
637-645
IPv6,
649-653
sowriteable function,
154
sp_family member,
88
sp_protocol member,
88
Spafford, E. H.,
15, 965
spoofing, IP,
99, 964
sprintf function,
14-15
SPT (server processing time),
540
SPX (Sequenced Packet Exchange),
784, 968
Srinivasan, R.,
140, 969
sscanf function,
138-139
ssize_t datatype,
773
SSRR (strict source and record route),
636-638, 651
st_mode member,
81
Stallman, R. M.,
24
standard Internet services,
50-51, 344, 908
standard I/O,
156, 303, 366-369, 372, 399, 582, 946, 967-968
sockets and,
366-369
stream,
366
stream, fully buffered,
368
stream, line buffered,
369
stream, unbuffered,
369
standards, Unix,
24-26
start_connect function,
417, 419
state transition diagram, TCP,
37-38
static qualifier,
81, 301
status member,
835, 837
stderr constant,
333
STDERR_FILENO constant,
586
<stdio.h> header,
369
stealing, port,
196, 329
Stevens, D. A.,
iii, xix
Stevens, E. M.,
iii, xix
Stevens, S. H.,
iii, xix
Stevens, W. R.,
xvi, 26, 62, 199, 300, 365, 463, 497, 658, 663, 965, 969-970
Stevens, W. R.,
iii, xix
sticky options, IPv6,
653-654
str_cli function,
114-116, 118, 125, 131-132, 137-138, 155, 157, 159-162, 176, 368, 378, 399, 403-404, 407-409, 424, 581, 605-607, 643
str_echo function,
112-113, 115-116, 118, 137, 139, 235, 367-369, 378, 391, 584, 608, 633
strbuf structure,
854, 864
definition of,
854
strcat function,
15
strcpy function,
15
strdup function,
800
stream
fully buffered standard I/O,
368
line buffered standard I/O,
369
pipe, definition of,
377
socket,
31
standard I/O,
366
unbuffered standard I/O,
369
streams,
849-866
driver,
850
head,
850
ioctl function,
855-856
message, high-priority,
170, 852
message, normal,
170, 852
message, priority band,
170, 852
message types,
852-854
modules,
850
multiplexor,
851
queue,
852
strerror function,
690-691, 922
strict source and record route,
see SSRR
<string.h> header,
69
strlen function,
928
strncat function,
15
strncpy function,
15, 327, 375
problem with,
327
strong end system model,
93, 473
definition of,
219
strrecvfd structure,
391
strtok function,
611
strtok_r function,
611
subnet
address,
889-890, 968
ID,
893
mask,
889
sum.h header,
138
Summit, S.,
xix
Sun RPC,
9, 52
SUN_LEN macro,
374-375, 917
sun_family member,
374, 376
sun_len member,
374, 376
sun_path member,
374-376, 378
SunOS 4,
21, 67, 98, 121, 704, 708
SunOS 5,
21
SunSoft,
xix
superuser,
43, 101, 110, 196, 289, 331, 439, 441-442, 446, 451, 455, 458, 511, 562, 637, 656, 662, 665, 677, 707, 713-714, 860, 949
SVR3 (System V Release 3),
150, 169-170, 763, 849, 870
SVR4 (System V Release 4),
19, 32, 123, 130, 150-151, 153, 169-170, 207, 233, 294, 336, 376-377, 382, 391, 394, 398, 424, 484, 539, 589-590, 689, 695, 703, 706, 725, 728, 740, 742, 744, 746, 763, 783, 849, 851, 853, 855, 866, 871, 875, 903, 905, 907
SYN (synchronize sequence numbers flag, TCP header),
34-35, 41, 48, 89, 92, 94, 98, 192, 196, 202, 262-263, 265, 271, 369-370, 378, 395, 398, 636, 643-644, 704, 766, 780, 797-798, 808, 815-816, 913, 929, 933, 959
flooding,
99, 964
SYN_RCVD state,
38, 94-95
SYN_SENT state,
37-38, 91
synchronize sequence numbers flag, TCP header,
see SYN
synchronous, I/O,
149
sysconf function,
173, 176
sysctl function,
66, 441, 443, 445-446, 454-459, 461, 468
definition of,
455
sysctl operations, routing socket,
454-458
<sys/errno.h> header,
13, 398, 603, 825, 925
<sys/ioctl.h> header,
426
syslog function,
252, 299, 332-337, 346-347, 644, 922, 945
definition of,
333
syslogd program,
331-335, 339, 346
sysname member,
250
<sys/param.h> header,
251, 534
<sys/poll.h> header,
913
<sys/select.h> header,
152, 175
<sys/signal.h> header,
590
<sys/socket.h> header,
60, 88, 187, 209, 363-364, 456
<sys/stat.h> header,
82
<sys/stropts.h> header,
171
<sys/sysctl.h> header,
455
system call
interrupted,
121, 123-124, 129, 582
slow,
123-124, 582
tracing,
903-908
versus function,
903
system time,
81
System V Release 3,
see SVR3
System V Release 4,
see SVR4
Systems Network Architecture,
see SNA
<sys/tihdr.h> header,
856, 858
<sys/types.h> header,
155, 175
<sys/ucred.h> header,
390
<sys/uio.h> header,
357
<sys/un.h> header,
374


T

T_ADDR constant,
789, 796, 821, 828
T_ALL constant,
789-790, 796, 959-960
T_BIND constant,
789
T_BIND_ACK constant,
858, 860
T_bind_ack structure,
861
definition of,
860
T_BIND_REQ constant,
858, 904
T_bind_req structure,
858, 904
definition of,
858
T_CALL constant,
789-790
T_CHECK constant,
841, 843
T_CLTS constant,
765, 767
T_CONN_CON constant,
863, 905-906
T_conn_con structure, definition of,
863
T_CONNECT constant,
775
T_CONN_REQ constant,
905-906
T_conn_req structure,
861
definition of,
861
T_COTS constant,
767
T_COTS_ORD constant,
765, 767
T_CRITIC_ECP constant,
839
T_CURRENT constant,
838-839, 841, 844
T_DATA constant,
775, 876
T_DATA_IND constant,
864-865, 905
T_data_ind structure,
864
T_DATAXFER constant,
870
T_DEFAULT constant,
836-837, 841, 843
T_DIS constant,
789
T_DISCON_IND constant,
863, 865
T_discon_ind structure, definition of,
863
T_DISCONNECT constant,
774-775, 777, 779-780, 808, 810, 812
T_ERROR_ACK constant,
858, 860, 863
T_error_ack structure, definition of,
860
T_EXDATA constant,
774-775, 876, 878
T_EXDATA_REQ constant,
911
T_EXPEDITED constant,
773-774, 876, 878, 881, 911, 913
T_FLASH constant,
839
T_GARBAGE constant,
840
T_GODATA constant,
775
T_GOEXDATA constant,
775
T_HIREL constant,
839
T_HITHRPT constant,
839
T_IDLE constant,
802, 870
T_IMMEDIATE constant,
839
T_INCON constant,
870
T_INETCONTROL constant,
839
T_INET_IP constant,
834, 841
T_INET_TCP constant,
834, 920-921
T_INET_UDP constant,
834
T_INFINITE constant,
765, 880
T_INFO constant,
789
T_INREL constant,
870
T_INVALID constant,
765
T_IOV_MAX constant,
873
T_IP_BROADCAST constant,
920-921
T_IP_BROADCAST XTI option,
834, 838
T_IP_DONTROUTE XTI option,
834, 838
T_IP_OPTIONS XTI option,
834, 838, 844
T_IP_REUSEADDR XTI option,
833-834, 838
T_IP_TOS XTI option,
834, 839
T_IP_TTL XTI option,
834, 839, 844
T_LDELAY constant,
839
T_LISTEN constant,
775, 808-810, 812, 814, 817
T_LOCOST constant,
839
T_MORE constant,
773, 820, 829, 831
T_NEGOTIATE constant,
841, 846
T_NETCONTROL constant,
839
T_NO constant,
838, 840
T_NOTOS constant,
839
T_NOTSUPPORT constant,
844
T_OK_ACK constant,
862-863, 905-906
T_ok_ack structure, definition of,
863
T_OPT constant,
789, 796
T_OPT_DATA macro,
837
T_OPT_FIRSTHDR macro,
837
T_OPTMGMT constant,
789
T_OPT_NEXTHDR macro,
837
T_ORDREL constant,
774-775, 780, 878
T_ORDRELDATA constant,
767, 874
T_ORDREL_IND constant,
865, 905, 907
T_ordrel_req structure,
865
definition of,
865
T_OUTCON constant,
870
T_OUTREL constant,
870
T_OVERRIDEFLASH constant,
839
T_PARTSUCCESS constant,
846
T_primitives structure,
863
T_PRIORITY constant,
839
T_PUSH constant,
773
T_READONLY constant,
843, 846
T_ROUTINE constant,
839
T_SENDZERO constant,
767
T_SUCCESS constant,
836, 843, 846
T_TCP_KEEPALIVE XTI option,
834, 839-840
T_TCP_MAXSEG XTI option,
834, 840
T_TCP_NODELAY XTI option,
834, 840
T_UDATA constant,
789, 796
T_UDERR constant,
774-775
T_UDERROR constant,
789
T_UDP_CHECKSUM XTI option,
834, 840, 844, 870
T_UNBND constant,
870
T_UNINIT constant,
870
T_UNITDATA constant,
789
T_YES constant,
838, 840
t_accept function,
772, 797, 799-800, 802-803, 808-812, 814-815, 817, 835, 868, 870-871, 878
definition of,
802
t_alloc function,
788-790, 796, 812, 820-822, 828, 845-846, 869, 880, 960
definition of,
789
t_bind function,
770-771, 779, 782, 794, 797, 802-803, 809, 812, 816, 820, 827, 861, 870, 872, 906
definition of,
770
t_bind structure,
769-771, 789, 791-792, 795, 802, 816
definition of,
770
t_call structure,
769, 772, 777, 779, 788-791, 794, 796, 799, 803-804, 808-810, 812, 817, 834-835, 869, 874
definition of,
772
t_close function,
794, 805-806, 870
t_connect function,
413, 771-772, 775, 779, 781-783, 794, 798-799, 816, 834-835, 867-869, 878, 881, 906
definition of,
772
t_discon structure,
769, 777, 789, 810, 874
definition of,
778
t_errno variable,
768, 770, 772, 774, 780, 808, 824, 829, 867-868
t_error function,
767-769
definition of,
768
t_free function,
788-790, 796, 960
definition of,
789
t_getinfo function,
869
definition of,
869
t_getname function,
791
t_getprotaddr function,
790-792, 795
definition of,
790
t_getstate function,
869-870
definition of,
869
t_info structure,
27, 764-765, 767, 769, 777, 788, 869, 874, 880
definition of,
765
t_iovec structure,
872-873
definition of,
873
t_kpalive structure,
834
definition of,
840
t_linger structure,
834, 837
definition of,
837
t_listen function,
775, 797, 799-800, 802-803, 808-809, 811-812, 815, 817, 834-835, 868, 871
definition of,
799
t_look function,
774-775, 779-780, 782, 808-810, 812, 876, 878
definition of,
774
t_open function,
764-767, 779, 782, 784, 788, 794, 797, 800, 802-803, 808-809, 812, 820, 827, 867-870, 880-881
definition of,
764
t_opthdr structure,
27, 835-838, 843, 846, 905
definition of,
835
t_optmgmt function,
834-835, 837-841, 843-844, 846, 870
definition of,
840
t_optmgmt structure,
769, 789, 835-837, 841, 843
definition of,
841
t_rcv function,
773-775, 780-782, 803, 806, 820, 868, 872-873, 876, 878, 880-881, 906, 912-913
definition of,
773
t_rcvconnect function,
775, 835, 867-869, 881
definition of,
868
t_rcvdis function,
767, 775, 777-780, 794, 810, 812, 874
definition of,
777
t_rcvrel function,
775-776, 780, 806, 874
definition of,
776
t_rcvreldata function,
767, 874
definition of,
874
t_rcvudata function,
773, 775, 819-820, 824-825, 829, 831, 834-835, 840, 868, 872-873
definition of,
819
t_rcvuderr function,
221, 685, 775, 819, 824-826, 829, 831, 835
definition of,
824
t_rcvv function,
775, 868, 872-873, 881
definition of,
872
t_rcvvudata function,
775, 835, 868, 872-873, 881
definition of,
872
t_rvcudata function,
829
t_scalar_t datatype,
27, 765
t_snd function,
773-775, 781-782, 803, 805, 868, 873-874, 876, 881, 911
definition of,
773
t_snddis function,
767, 777-778, 797-799, 838, 874
definition of,
777
t_sndrel function,
775-776, 806, 865, 874
definition of,
776
t_sndreldata function,
767, 874
definition of,
874
t_sndudata function,
775, 819-820, 823, 829, 831, 834-835, 868, 873-874
definition of,
819
t_sndv function,
775, 868, 873-874, 881
definition of,
873
t_sndvudata function,
775, 835, 868, 873-874, 881
definition of,
873
t_strerror function,
767-769
definition of,
768
t_sync function,
870-872
definition of,
872
t_tcv function,
773
t_uderr structure,
769, 789, 825, 835
definition of,
825
t_unbind function,
872
definition of,
872
t_unitdata structure,
769, 789, 819-820, 822-824, 828, 834-836, 873-874
definition of,
820
t_uscalar_t datatype,
27, 765, 837
taddr2uaddr function,
791
TADDRBUSY constant,
771
Tanenbaum, A. S.,
7, 969
tar program,
24
Taylor, I. L.,
xix
Taylor, R.,
xix
TBADADDR constant,
768
TBADF constant,
768
TBADOPT constant,
844
TBUFOVFLW constant,
770
tcflush function,
425
tcgetattr function,
425
TCP (Transmission Control Protocol),
31-33
and SIGIO signal,
590-591
and UDP, introduction,
29-53
checksum,
671
client alternatives,
730
concurrent server, one child per client,
732-736
concurrent server, one thread per client,
752-753
connection establishment,
34-40
connection termination,
34-40
for Transactions,
see T/TCP,
MSS option,
35
options,
35-36
out-of-band data,
565-572, 580-581
output,
48-49
preforked server,
736-752
preforked server, distribution of connections to children,
740-741, 745
preforked server, select function collisions,
741-742
preforked server, too many children,
740, 744-745
prethreaded server,
754-759
segment,
33
socket,
85-110
socket, connected,
100
socket option,
201-205
state transition diagram,
37-38
three-way handshake,
34-35
timestamp option,
35, 202, 966
urgent mode,
565
urgent offset,
566
urgent pointer,
566
versus UDP,
539-542
watching the packets,
39-40
window scale option,
35, 192, 838, 966
XTI,
763-782, 797-817
TCP_KEEPALIVE socket option,
179, 185, 201
TCP_MAXRT socket option,
179, 202
TCP_MAXSEG socket option,
35, 179, 202, 840, 910
TCP_NODELAY socket option,
179, 202-204, 209, 357, 840, 910, 935
TCP_NOPUSH socket option,
370-371
TCP_STDURG socket option,
179, 205, 566
tcp_close function,
130
tcp_connect function,
277, 285-288, 295, 328, 417, 622, 643, 689, 792-796
definition of,
285
source code,
285, 793
tcp_listen function,
288-293, 296-297, 328, 345, 607, 693, 734, 800-804, 806, 811, 827, 877, 945
definition of,
288
source code,
289, 801
tcpdump program,
30, 90, 131, 134, 176, 220, 228, 236, 404-406, 486, 500, 529, 580, 637, 644, 703, 705, 708, 714, 725, 908, 913-914, 933, 937-938
TCP/IP big picture,
30-32
TCPv1,
xvi, 969
TCPv2,
xvi, 970
TCPv3,
xvi, 969
Telnet (remote terminal protocol),
51-52, 141, 186, 199, 202-203, 581, 586, 928
telnet program,
83, 329
termcap file,
158
termination of server process,
130-132
Terzis, A.,
xix
test networks and hosts,
20-23
test programs,
911-913
test_udp function,
714, 716
TFLOW constant,
868
TFTP (Trivial File Transfer Protocol),
47, 52, 225, 471, 531, 541-542, 558-559
Thaler, D.,
xix
Thomas, M.,
xx, 26, 199, 365, 658, 663, 947, 969
Thomas, S.,
489, 969
Thomson, S.,
26, 62, 199, 238, 300, 463, 497, 965, 969
thr_join function,
621-622, 627, 631
Thread structure,
754, 756
thread_main function,
755, 757
thread_make function,
755, 757
<thread.h> header,
621
threads,
601-633
argument passing,
608-609
attributes,
603
detached,
604
ID,
603
joinable,
604
thread-safe,
75, 81, 304, 609-612, 617, 753, 796, 800, 945, 959
thread-specific data,
81, 302, 305, 611-619
three-way handshake,
34, 89, 94-98, 100, 183, 192, 224, 228, 351, 369-370, 398, 409, 412-413, 569, 576, 643-645, 736, 779, 797-799, 808-809, 835, 838, 867, 950
TCP,
34-35
thundering herd,
740, 744, 756
TI_BIND constant,
904
ticlts constant,
880
ticots constant,
880
ticotsord constant,
880
time
absolute,
630
clock,
81
delta,
630
exceeded, ICMP,
673, 679, 681, 688, 897-898
system,
81
TIME_WAIT state,
38, 40-41, 51, 118, 141, 187, 191, 208, 297, 732, 814, 914, 927-928, 933
time function,
14-15, 805
time program,
51, 408, 945
time_t datatype,
169
timeout
BPF, receive,
705
connect function,
350-351
recvfrom function with a,
351-354
socket,
193, 349-354
UDP,
542
times function,
551
timespec structure,
168-169, 630-631, 918
definition of,
168
timestamp option, TCP,
35, 202, 966
timestamp request, ICMP,
659, 897
time-to-live,
see TTL
timeval structure,
150-151, 168-169, 179, 193, 353-354, 412, 550-551, 592, 630, 667, 953
definition of,
150
timod streams module,
851-852, 856, 871, 905-906
tirdwr streams module,
773, 781, 803, 851, 856, 865
TLA (top-level aggregation identifier),
893
TLI (Transport Layer Interface),
763, 771, 791, 798, 835, 845, 852, 861, 870-871, 880
transport endpoint,
764
transport provider,
764
TLI_error member,
860
TLOOK constant,
772, 774, 779-780, 782, 794, 808-810, 812, 814, 824, 829, 831
TLV (type/length/value),
646, 649
tmpnam function,
381, 611
TNODATA constant,
867-868
token ring,
31, 53, 183, 431, 488-489, 926
top-level aggregation identifier,
see TLA
Torek, C.,
196, 969
TOS (type of service),
198-199, 837, 839, 884, 897, 963
total length field, IPv4,
884
Townsend, M.,
xix
TPI (Transport Provider Interface),
852, 856-866, 970
tpi_bind function,
857-858, 861, 904
tpi_close function,
858, 865
tpi_connect function,
858, 861
tpi_daytime.h header,
856
tpi_read function,
858, 864
trace.h header,
673
traceloop function,
675, 677, 682
traceroute program,
31, 52, 562
implementation,
672-685
transaction time,
540
transient multicast group,
489
Transmission Control Protocol,
see TCP
transport
address, XTI,
791
endpoint, TLI,
764
provider, TLI,
764
service data unit,
see TSDU
Transport Layer Interface,
see TLI
Transport Provider Interface,
see TPI
Trivial File Transfer Protocol,
see TFTP
Troff,
xx
trpt program,
184
truncation, UDP, datagram,
539
truss program,
903-904, 907-908, 911
TRY_AGAIN constant,
243
ts member,
722
TSDU (transport service data unit),
765-766
tsdu member,
765-766
TSYSERR constant,
768
T/TCP (TCP for Transactions),
40, 213, 356, 369-371, 540, 964, 969
TTL (time-to-live),
40, 199-201, 490, 496, 498, 500, 507, 667, 673, 676-679, 688, 837, 839, 884, 886, 897, 900
ttyname function,
611
ttyname_r function,
611
tunnel,
899-902
automatic,
894
configured,
894
tv_nsec member,
168, 918
tv_sec member,
150, 168, 918
tv_sub function,
667
source code,
667
tv_usec member,
150, 168
two-phase commit protocol,
370
type field, ICMP,
896
type of service,
see TOS
type/length/value,
see TLV
typo,
43
typographical conventions,
7


U

u_char datatype,
59, 496, 837
u_int datatype,
59, 496
u_long datatype,
59
u_short datatype,
59
uaddr2taddr function,
791
ucred structure,
390
udata member,
769, 772, 777-779, 789-790, 799, 820-821, 823-824, 873-874
UDP (User Datagram Protocol),
31-32
adding reliability to application,
542-553
and SIGIO signal,
590
binding interface address,
553-557
checksum,
230, 456, 458, 671, 708-725, 840
concurrent server,
557-559
connect function,
224-227
datagram truncation,
539
determining outgoing interface,
231-233
introduction, TCP and,
29-53
lack of flow control,
228-231
lost datagrams,
217-218
output,
49-50
reading datagram in pieces,
829-831
sequence number,
542
server not running,
220-221
socket,
211-236, 531-563
socket, connected,
224
socket receive buffer,
231
socket, unconnected,
224
TCP versus,
539-542
timeout,
542
verifying received response,
218-220
XTI,
819-831
UDP_CHECKSUM constant,
833
udp_check function,
721, 723
udp_client function,
293-295, 329, 504, 509, 512-513, 517, 519, 521, 563, 820-824, 947, 953
definition of,
293
source code,
294, 821
udp_connect function,
295, 329, 947
definition of,
295
source code,
296
udp_read function,
717, 721, 726
udp_server function,
296-298, 329, 826-829, 945
definition of,
296
source code,
297, 827
udp_server_reuseaddr function,
945
udp_write function,
719
udpcksum.h header,
710-711
udpInDatagrams variable,
231
udpInOverflows variable,
231
udpiphdr structure,
719
ui_len member,
719
ui_sum member,
719
uint16_t datatype,
59
uint32_t datatype,
59, 64, 765
uint8_t datatype,
58-59
umask function,
376-377
uname function,
249-251, 257, 320, 509
definition of,
249
unbuffered standard I/O stream,
369
unconnected UDP socket,
224
unicast
address, provider-based,
892
broadcast versus,
472-475
uniform resource identifier,
see URI
uniform resource locator,
see URL
<unistd.h> header,
426, 642
universal address, XTI,
791
Unix 95,
25, 808
Unix 98,
28, 123, 171, 251, 304, 333, 551, 610, 691, 763, 765, 775, 783, 808, 817, 833, 837, 840, 849, 931, 968
definition of,
26
Unix domain
differences in socket functions,
377-378
getaddrinfo function, IPv6 and,
279-282
socket,
373-395
socket address structure,
374-376
Unix International,
706, 852, 969-970
Unix I/O, definition of,
366
/unix service,
282, 306, 947
Unix standard services,
43
Unix standards,
24-26
Unix versions and portability,
26
UNIX_error member,
860
UNIXDG_PATH constant,
380
definition of,
918
UNIXDOMAIN constant,
305
UNIXSTR_PATH constant,
378
definition of,
918
Unix-to-Unix Copy,
see UUCP
UnixWare,
xix, 19, 21, 67, 98-99, 133, 228, 233, 477, 691, 765, 812, 815-816, 825, 906, 933, 952
unlink function,
324, 375-376, 378, 380, 394, 744, 946
unp.h header,
7-9, 14, 61, 75, 110, 112, 114, 120, 214, 243, 286, 305, 378, 380, 451, 532, 537, 605, 710, 802, 829, 915-920, 961
source code,
915
unpicmpd.h header, source code,
687
unpifi.h header,
429
source code,
431
unproute.h header,
451
unprtt.h header,
546, 549-550
source code,
549
unpthread.h header,
605
unpxti.h header,
779, 920-921, 961
source code,
921
unspecified address,
891, 895
URG (urgent pointer flag, TCP header),
566-567, 580
urgent
mode, TCP,
565
offset, TCP,
566
pointer flag, TCP header,
see URG
pointer, TCP,
566
URI (uniform resource identifier),
507
URL (uniform resource locator),
963, 969
User Datagram Protocol,
see UDP
user ID,
329, 342, 390-391, 393, 602, 665, 677, 714
/usr/lib/libnsl.so file,
784
/usr/lib/resolv.so file,
784
/usr/lib/tcpip.so file,
784
UTC (Coordinated Universal Time),
14, 51, 507, 514, 551, 630
utsname structure,
249
definition of,
250
_UTS_NAMESIZE constant,
250
_UTS_NODESIZE constant,
250
UUCP (Unix-to-Unix Copy),
xvii, 334


V

value-result argument,
63-66, 99-102, 152, 170, 178, 182, 218, 356, 358, 361-362, 376, 429, 455, 458, 534, 636, 643, 773, 820, 846, 854-855, 927, 944
Varadhan, K.,
889, 965
/var/adm/messages file,
338
/var/log/messages file,
346
/var/run/log file,
332, 334
verifying received response, UDP,
218-220
version member,
250
version number field, IP,
883, 885
vi program,
xx, 24
virtual network,
899-902
Vixie, P. A.,
xix, 242, 970
Vo, K. P.,
369, 582, 967
void datatype,
9, 60-61, 77, 120, 293, 603, 605, 608, 927
volatile qualifier,
716


W

waffle,
226
wait function,
122-129, 140, 343, 558, 622, 731, 737
definition of,
125
Wait, J. W.,
xix
waitpid function,
122-129, 140, 343, 386, 603, 622
definition of,
125
wakeup_one function,
740
WAN (wide area network),
5, 33, 203, 409, 487, 493-495, 541-542, 586
wandering duplicate,
41
weak end system model,
93, 473, 538, 553, 592, 928, 957
definition of,
219
web_child function,
612, 735, 739, 753, 757
web_client function,
752
web.h header,
415
well-known
address,
44
multicast group,
489, 504, 517
port,
42
WEXITSTATUS constant,
125, 386
wide area network,
see WAN
WIFEXITED constant,
125
wildcard address,
44, 77, 92, 112, 116, 137, 195, 262-263, 265, 271, 280, 308, 340, 496, 500, 513, 519, 553, 555-556, 689, 695, 800, 891, 895
window scale option, TCP,
35, 192, 838, 966
Wise, S.,
xix-xx, 274
WNOHANG constant,
125, 127
Wolff, R.,
xx
Wolff, S.,
xx
Wollongong Group, The,
798
World Wide Web,
see WWW
wrapper function,
11-13
source code, Listen,
96
source code, Pthread_mutex_lock,
12
source code, Socket,
11
Wright, G. R.,
xvi, xix-xx, 970
writable_timeo function,
353
write function,
14, 27-28, 49, 77, 107, 124, 133, 141, 185, 194, 204, 209, 212, 224-225, 227-228, 295, 302-303, 349-350, 354-355, 357, 362, 366, 369-372, 394-395, 397, 399, 402-404, 407, 418, 451, 454, 468, 569, 579, 586, 591, 656-657, 706, 751, 773, 781-782, 803, 812, 851, 853-854, 876, 905, 907, 912, 926, 928, 931, 935, 947, 949, 958-959
write_fd function,
388-389, 689, 751
source code,
389
write_get_cmd function,
418-419, 421, 622
writen function,
77-81, 83, 111, 113, 115, 131, 133-134, 139-140, 157, 367, 399, 418, 582
definition of,
77
source code,
78
writev function,
194, 204, 209, 349, 357-358, 362, 371, 397, 546, 657, 872, 936
definition of,
357
WWW (World Wide Web),
96, 733


X

XDR (external data representation),
140
Xerox Network Systems,
see XNS
XNS (Xerox Network Systems),
xvii, 26, 87
XNS (X/Open Networking Services),
26, 968
X/Open,
25
Networking Services,
see XNS
Portablity Guide,
see XPG
Transport Interface,
see XTI
XPG (X/Open Portablity Guide),
25
XTI (X/Open Transport Interface),
26-27, 221, 413, 685, 763-881
abortive release,
774-775
asynchronous events,
774
communications endpoint,
763
communications provider,
763
endpoint state,
869
flex address,
880
interoperability, sockets and,
780
loopback transport provider,
880
multiple pending connections,
806-808
nonblocking I/O,
867-868
options,
833-848
options, absolute requirement,
834
options, end-to-end,
833
options, local,
833
options, obtaining default,
841-844
orderly release,
774-775
out-of-band data,
875-880, 911-913
queue length, listen function backlog versus,
815-816
signal-driven I/O,
874-875
structures,
769-770
TCP,
763-782, 797-817
transport address,
791
UDP,
819-831
universal address,
791
XTI_DEBUG XTI option,
834, 837
XTI_GENERIC XTI option,
834
XTI_LINGER XTI option,
806, 834, 837-838, 840
XTI_RCVBUF XTI option,
834, 838
XTI_RCVLOWAT XTI option,
834, 838
XTI_SNDBUF XTI option,
834, 838
XTI_SNDLOWAT XTI option,
834, 838
xti_accept function,
803-806, 808-816, 877
definition of,
803
source code,
804, 811
xti_accept_dump function,
806
xti_flags_str function,
878
xti_getopt function,
844-848
definition of,
844
source code,
845
xti_ntop function,
791-792, 795, 805
definition of,
792
xti_ntop_host function,
792, 823
xti_rdwr function,
781-782, 803, 812, 876
definition of,
781
source code,
781
xti_read function,
782
xti_serv_dev device,
921
xti_serv_dev variable,
800, 803, 817
xti_setopt function,
844-848
definition of,
844
source code,
847
xti_tlook_str function,
878
<xti.h> header,
764, 767-768, 839, 873
<xti_inet.h> header,
764, 837


Y

yacc program,
24
Yu, J. Y.,
889, 965


Z

Zhang, L.,
41, 966
Ziel, B.,
xix
zombie,
118, 122-123, 127, 129