preface v
chapter 1 introduction
1.1 overview of the internet
1.1.1 networks
1.1.2 switching
1.1.3 the intemet
1.1.4 accessing the intemet
1.1.5 hardware and software
1.2 protocol layering
1.2.1 scenarios
1.2.2 tcp/ip protocol suite
1.2.3 the esi model
1.3 internet history
1.3.1 early history
1.3.2 birth of the intemet
1.3.3 intemet today
1.4 standards and administration
1.4.1 intemet standards
1.4.2 intemet administration
1.5 end-chapter materials
1.5.1 further reading
1.5.2 key terms
1.5.3 summary
1.6 practice set
1.6.1 quizzes
1.6.2 questions
1.6.3 problems
1.7 simulation experiments
1.7.1 applets
1.7.2 lab assignments
chapter 2 application layer
2.1 introduction
2.1.1 providing services
2.1.2 application-layer paradigms
2.2 client-server paradigm
2.2.1 application programming interface
2.2.2 using services of the transport layer
2.3 standard client-server applications
2.3.1 world wide web and http
2.3.2 ftp
2.3.3 electronic mail
2.3.4 telnet
2.3.5 secure shell (ssh)
2.3.6 domain name system (dns)
2.4 peer-to-peer paradigm
2.4.1 p2p networks
2.4.2 distributed hash table (dht)
2.4.3 chord
2.4.4 pastry
2.4.5 kademlia
2.4.6 a popular p2p network: bittorrent
2.5 socket interface programming
2.5.1 socket interface in c
2.6 end-chapter materials
2.6.1 further reading
2.6.2 key terms
2.6.3 summary
2.7 practice set
2.7.1 quizzes
2.7.2 questions
2.7.3 problems
2.8 simulation experiments
2.8.1 applets
2.8.2 lab assignments
2.9 programming assignment
chapter 3 transport layer
3.1 introduction
3.1.1 transport-layer services
3.2 transport-layer protocols
3.2.1 simple protocol
3.2.2 stop-and-wait protocol
3.2.3 go-back-n protocol (gb'n)
3.2.4 selective-repeat protocol
3.2.5 bidirectional protocols: piggybacking
3.2.6 intemet transport-layer protocols
3.3 user datagram protocol (udp)
3.3.1 user datagram
3.3.2 udpservices
3.3.3 udp applications
3.4 transmission control protocol (tcp)
3.4.1 tcp services
3.4.2 tcp features
3.4.3 segment
3.4.4 a tcp connection
3.4.5 state transition diagram
3.4.6 windows in tcp
3.4.7 flow control
3.4.8 error control
3.4.9 tcp congestion control
3.4.10 tcp timers
3.4.11 options
3.5 end-chapter materials
3.5.1 further reading
3.5.2 key terms
3.5.3 summary
3.6 practice set
3.6.1 quizzes
3.6.2 questions
3.6.3 problems
3.7 simulation experiments
3.7.1 applets
3.7.2 lab assignments
3.8 programming assignment
chapter 4 network layer
4.1 introduction
4.1.1 network-layer services
4.1.2 packet switching
4.1.3 network-layer performance
4.1.4 network-layer congestion
4.1.5 structure of a router
4.2 network-layer protocols 26!
4.2.1 ipv4 datagram format
4.2.2 ipv4 addresses
4.2.3 forwarding of ip packets
4.2.4 icmpv4
4.3 unicast routing
4.3.1 general idea
4.3.2 routing algorithms
4.3.3 unicast routing protocols
4.4 multicast routing
4.4.1 introduction
4.4.2 multicasting basics
4.4.3 intradomain routing protocols
4.4.4 interdomain routing protocols
4.5 next generation ip
4.5.1 packet format
4.5.2 ipv6 addressing
4.5.3 transition from ipv4 to ipv6
4.5.4 icmpv6
4.6 end-chapter materials
4.6.1 further reading
4.6.2 key terms
4.6.3 summary
4.7 practice set
4.7.1 quizzes
4.7.2 questions
4.7.3 problems
4.8 simulation experiments
4.8.1 applets
4.8.2 lab assignments
4.9 programming assignment
chapter 5 data-link layer: wired networks
5.1 introduction
5.1.1 nodes and links
5.1.2 two types of links
5.1.3 two sublayers
5.2 data link control (dlc)
5.2.1 framing
5.2.2 flow and error control
5.2.3 error detection and correction
5.2.4 two dlc protocols
5.3 multiple access protocols
5.3.1 random access
5.3.2 controlled access
5.3.3 channelization
5.4 link-layer addressing
5.5 wired lans: ethernet protocol
5.5.1 ieee project 802
5.5.2 standard ethernet
5.5.3 fast ethernet (100 mbps)
5.5.4 gigabit ethernet
5.5.5 10-gigabit ethernet
5.5.6 vh'tual lans
5.6 other wired networks
5.6.1 point-to-point networks
5.6.2 sonet
5.6.3 switched network: atm
5.7 connecting devices
5.7.1 repeaters or hubs
5.7.2 link-layer switches
5.7.3 routers
5.8 end-chapter materials
5.8.1 recommended reading
5.8.2 key terms
5.8.3 summary
5.9 practice set
5.9.1 quizzes
5.9.2 questions
5.9.3 problems
5.10 simulation experiments
5.10.1 applets
5.10.2 lab assignments
5.11 programming assignments
chapter 6 wireless networks and mobile ip
6.1 wireless lans
6.1.1 introduction
6.1.2 ieee 802.11project
6.1.3 bluetooth
6.1.4 wimax
6.2 other wireless networks
6.2.1 channelization
6.2.2 cellular telephony
6.2.3 satellite networks
6.3 mobile ip
6.3.1 addressing
6.3.2 agents
6.3.3 three phases
6.3.4 inefficiency in mobile ip
6.4 end-chapter materials
6.4.1 further reading
6.4.2 key terms
6.4.3 summary
6.5 practice set
6.5.1 quizzes
6.5.2 questions
6.5.3 problems
6.6 simulation experiments
6.6.1 applets
6.6.2 lab assignments
6.7 programming assignment
chapter 7 physical layer and transmission media
7.1 data and signals
7.1.1 analog and digital
7.1.2 transmission impairment
7.1.3 data rate limits
7.1.4 performance
7.2 digital transmission
7.2.1 digital-to-digital conversion
7.2.2 analog-to-digitalconversion
7,3 analog transmission
7.3.1 digital-to-analog conversion
7.3.2 analog-to-analog conversion
7.4 bandwidth utilization
7.4.1 multiplexing
7.4.2 spread spectrum
7.5 transmission media
7.5.1 guided media
7.5.2 unguided media: wireless
7.6 end-chapter materials
7.6.1 recommended reading
7.6.2 key terms
7.6.3 summary
7.7 practice set
7.7.1 quizzes
7.7.2 questions
7.7.3 problems
chapter 8 multimedia and quality of service
8.1 compression
8.1.1 lossless compression
8.1.2 lossy compression
8.2 multimedia data
8.2.1 text
8.2.2 image
8.2.3 video
8.2.4 audio
8.3 multimedia in the internet
8.3.1 streaming stored audio/video
8.3.2 streaming live audio/video
8.3.3 real-time interactive audio/video
8.4 real-time interactive protocols
8.4.1 rationale for new protocols
8.4.2 rtp
8.4.3 rtcp
8.4.4 session initialization protocol (sip)
8.4.5 h.323
8.4.6 sctp
8.5 quality of service
8.5.1 data-flow characteristics
8.5.2 flow classes
8.5.3 flow control to improve qos
8.5.4 integrated services (intserv)
8.5.5 differentiated services (diffserv)
8.6 end-chapter materials
8.6.1 recommended reading
8.6.2 key terms
8.6.3 summary
8.7 practice set
8.7.1 quizzes
8.7.2 questions
8.7.3 problems
8.8 simulation experiments
8.8.1 applets
8.8.2 lab assignments
8.9 programming assignments
chapter 9 network management
9.1 introduction
9.1.1 configuration management
9.1.2 fault management
9.1.3 performance management
9.1.4 security management
9.1.5 accounting management
9.2 snmp
9.2.1 managers and agents
9.2.2 management components
9.2.3 an overview
9.2.4 smi
9.2.5 mib 7t
9.2.6 snmp
9.3 asn. 1
9.3.1 language basics
9.3.2 data types
9.3.3 encoding
9.4 end-chapter materials
9.4.1 further reading
9.4.2 key terms
9.4.3 summary
9.5 practice set
9.5.1 quizzes
9.5.2 questions
9.5.3 problems
chapter 10 network security
10.1 introduction
10.1.1 security goals
10.1.2 attacks
10.1.3 services and techniques
t 0.2 confidentiality
10.2.1 symmetric-key ciphers
10.2.2 asymmetric-key ciphers
10.3 other aspects of security
10.3.1 message integrity
10.3.2 message authentication
10.3.3 digital signature
10.3.4 entity authentication
10.3.5 key management
10.4 internet security
10.4.1 application-layer security
10.4.2 transport-layer security
10.4.3 network-layer security
10.5 firewalls
10.5.1 packet-filter firewall
10.5.2 proxy firewall
10.6 end-chapter materials
10.6.1 further reading
10.6.2 key terms
10.6.3 summary
10.7 practice set
10.7.1 quizzes
10.7.2 questions
10.7.3 problems
10.8 simulation experiments
10.8.1 applets
10.8.2 lab assignments
10.9 programming assignments
chapter 11 socket programming in java
11.1 introduction
11.1.1 addresses and ports
11.1.2 client-server paradigm
11.2 programming with udp
11.2.1 iterative approach
11.2.2 concurrent approach
11.3 programming with tcp
11.3.1 iterative approach
11.3.2 concurrent approach
11.4 end-chapter materials
11.4.1 further reading
11.4.2 key terms
11.4.3 summary
11.5 practice set
11.5.1 quizzes
11.5.2 questions
11.5.3 problems
11.6 programming assignments
appendix a unicode
appendix b positional numbering system
appendix c html, css, xml, and xsl
appendix d miscellaneous information
appendix e 8b/6t code
glossary
references
index