TCP/IP协议及网络编程技术

TCP/IP协议及网络编程技术
作 者: 罗军舟
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: TCP/IP
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《TCP/IP协议及网络编程技术》作者简介

内容简介

本书是一本关于TCP/IP协议原理编程技术的教材,由两部分组成:第1部分系统地介绍了TCP/IP协议族的体系结构,并分别介绍了IP层、传输层和应用层中各种协议的具体原理和工作机制;第2部分介绍了基于socket编程接口的网络编程技术,重点讲述了客户端和服务器端编程应注意的问题、可用的模式和技术。作为一本TCP/IP协议理论基础和编程技术的教材,本书既注重清晰地描述概念和理论,又做到了理论联系实际,能有效提高读者对TCP/IP的理解和网络开发能力。它可作为高等院校计算机、通信等专业的教学参考书,也可供从事相关开发工作和网络管理人员参考。本书前言Internet是20世纪最伟大的发明之一,它将全世界数以千万计的计算设备(不管它们是庞大的巨型机,还是桌面上的个人电脑,甚至是人们口袋中的移动电话)连接成一个巨大的网络,并使它们能够在彼此之间迅速方便地传输信息。整个世界好像突然变小了,不同地区的人与人之间的距离不再遥不可及。然而,改变整个世界的不只是Internet本身,还有无法计数的构筑在其上的应用软件。通过电子邮件,信件的往来不再需要几天甚至几周了;通过网上商城,在家就可以购物;视频点播让人们可以在家中欣赏喜爱的电影。如果没有这些应用,Internet至今还仅仅是科研人员实验室里使用的科研工具。正如Internet的核心TCP/IP协议的目标所指出的,任何人都可以方便地使用Internet,并在其上开发出新的应用。当然,要开发基于Internet上的应用必须先知道它是如何工作的,即它是如何将各种不同的设备连接起来的,如何将数据从一个计算设备传输到另一个的,是如何支撑各种各样的应用软件的。当然,如果你的工作不需要知道这些,如果你对此不感兴趣,那就可以合上这本书了。但如果你是一个程序员,或者你想成为他们中的一员;如果你正在开发一个网络软件,你开发的软件的客户端或服务器端在局域网工作正常但在广域网中却总出问题,或者它们的效率总达不到要求;如果你是所在单位的网络管理员,那么本书将会对你有所帮助。司机虽然不用生产自己开的汽车,但一个好的司机应该知道汽车的工作原理。同样,网络软件开发人员不用自己设计通信网络的协议,但应该知道网络协议的工作原理和机制,这样才能开发出正确、稳定、高效的网络软件。本书的目的是帮助读者提高对Internet的理解和网络编程能力。为达到这个目的,本书从Internet的工作原理TCP/IP协议族和实...

图书目录

录第1章

Internet概述

Internet发展历史

Internet管理机构

21.2.1

Internet管理机构

31.2.2

Internet域名与地址管理机构

31.2.3

IP地址管理机构

Internet协议与标准

Internet应用现状与发展趋势

5第2章

TCP/IP协议族体系结构

TCP/IP层次结构及其与OSI七层体系结构的比较

62.1.1

分层体系结构的对应

62.1.2

总体发展

62.1.3

标准及规范

72.1.4

网络层

72.1.5

传输层

72.1.6

应用层

路由器

102.2.1

路由器的工作原理

102.2.2

路由器的功能

TCP/IP各层协议组成

12第3章

IP协议

IP协议的目的与工作原理

143.1.1

IP协议数据的传输过程

143.1.2

IP协议中的概念

IP地址

153.2.1

IP地址的分类

163.2.2

IP地址的表示

163.2.3

特殊IP地址总结

173.2.4

IP地址的缺陷

173.2.5

子网技术

183.2.6

超网技术

193.2.7

私有网络地址

IP数据包格式

203.3.1

网络字节序和主机字节序

203.3.2

IP数据包

213.3.3

服务类型

223.3.4

IP数据包的分片与重组

223.3.5

IP选项

26第4章

ARP和RARP

IP地址和物理地址映射问题

294.1.1

以太网的传输机制

294.1.2

地址映射的可选解决办法

ARP协议原理

314.2.1

ARP协议的工作原理

314.2.2

减少地址解析需要的通信

ARP数据包格式

RARP协议

33第5章

ICMP协议

ICMP协议的作用与原理

ICMP数据包的格式

各种ICMP数据包

375.3.1

回显请求与应答

375.3.2

目标不可达错误

375.3.3

源端关闭

385.3.4

超时错误

395.3.5

数据包参数问题

395.3.6

获取子网掩码

40第6章

路由协议

路由器的工作原理及路由协议

416.1.1

路由器的工作原理

416.1.2

路由协议的作用及分类

RIP路由信息协议

456.2.1

RIP协议数据包的格式

456.2.2

RIP协议的工作过程

466.2.3

RIP协议的缺陷

466.2.4

RIP2

OSPF开放最短路径优先

BGP边界网关协议

Internet的路由体系结构

第7章

广播与多播

广播

507.1.1

物理层的广播

507.1.2

IP协议的广播

517.1.3

IP广播的过程和问题

多播

517.2.1

物理层的多播

527.2.2

IP协议的多播

IGMP

537.3.1

IGMP数据包格式

537.3.2

IGMP协议的工作机制

547.3.3

IGMP协议的实现

54第8章

UDP协议

最终目标的标识——UDP端口

UDP数据包格式

UDP校验和的计算

578.3.1

UDP伪头部格式

588.3.2

为什么使用伪头部

UDP数据包的封装

标准UDP端口

59第9章

TCP协议

TCP协议中的基本概念

619.1.1

面向连接的服务

619.1.2

可靠的服务

619.1.3

面向字节流的传送服务

TCP协议数据段的格式

639.2.1

TCP数据段的格式

639.2.2

TCP校验和的计算

TCP协议连接的建立与关闭

659.3.1

被动打开与主动打开

659.3.2

三次握手建立TCP连接

659.3.3

TCP连接的关闭

669.3.4

TCP连接状态迁移

TCP协议数据的传送与流量控制

689.4.1

字节流的分段

689.4.2

滑动窗口机制

699.4.3

超时的判断

749.4.4

TCP的拥塞控制机制

769.4.5

紧急数据的传输

TCP的傻窗口症状

789.5.1

傻窗口症状

789.5.2

傻窗口症状避免机制

TCP协议与UDP协议的比较

809.6.1

TCP协议与UDP协议特点的比较

809.6.2

TCP协议与UDP协议应用的比较

819.6.3

常见的标准TCP协议端口

81第10章

远程登录

远程登录的服务模式

Telnet原理

8410.2.1

网络虚终端(NVT)

8410.2.2

Telnet命令

8610.2.3

选项协商

rlogin

90第11章

电子邮件

电子邮件系统结构

TCP/IP电子邮件地址

电子邮件格式

9411.3.1

电子邮件信息格式

9411.3.2

多用途互联网邮件扩充

SMTP协议

9611.4.1

SMTP命令

9611.4.2

SMTP工作过程

邮箱访问

9911.5.1

POP3协议

9911.5.2

其他邮箱访问方式

100第12章

HTTP协议

超文本和URL

10112.1.1

超文本

10112.1.2

统一资源定位URL

HTML简介

10212.2.1

超文本文档结构

10212.2.2

HTML中常用标签

HTTP协议概述

10512.3.1

HTTP协议的工作模式

10612.3.2

HTTP协议特点

HTTP请求和应答

10612.4.1

请求消息

10612.4.2

应答消息

10712.4.3

首部字段

浏览器

109第13章

网络文件

FTP

文件传输协议

11113.1.1

简介

11113.1.2

文件访问和传输

11113.1.3

在线共享访问

11213.1.4

文件传输共享

11213.1.5

FTP协议的特点

11313.1.6

FTP模型

11313.1.7

TCP端口号的分配

11413.1.8

基本的客户端-服务器交互

11513.1.9

FTP命令

11613.1.10

FTP用户会话样例

TFTP

NFS

121第14章

SNMP网络管理体系结构

SNMP体系结构

12314.1.1

TCP/IP网络管理的发展

12314.1.2

SNMP基本框架

SNMP管理信息

12714.2.1

管理信息结构

12814.2.2

MIB-II

简单网络管理协议

13914.3.1

SNMP支持的操作

13914.3.2

共同体和安全控制

13914.3.3

实例标识

14114.3.4

辞典编纂式排序

14214.3.5

SNMP消息格式

14214.3.6

GetRequest

PDU

14414.3.7

GetNextRequest

PDU

14414.3.8

SetRequest

PDU

14514.3.9

Trap

PDU

14614.3.10

传输层的支持

SNMPv2

14714.4.1

SNMPv2对SNMPv1的改进

14714.4.2

SNMPv2网络管理框架

14714.4.3

协议操作

149第15章

IPv6

IPv4的不足与缺点

15315.1.1

IP地址空间危机

15315.1.2

IP性能问题

15415.1.3

IP安全性问题

15415.1.4

配置问题

15415.1.5

IP协议的升级策略

改进IPv4的各种努力

15515.2.1

Internet发展的问题

15515.2.2

各种努力

IPv6对IPv4的改进

15615.3.1

扩展地址

15715.3.2

简化的包头

15715.3.3

对扩展和选项支持的改进

15715.3.4

流标记

15715.3.5

身份验证和保密

IPv6数据包结构

15815.4.1

IPv6数据包的结构

15815.4.2

IPv6的服务类型和流标签

15915.4.3

IP数据包的分片

15915.4.4

扩展头

IPv6的寻址方式

16015.5.1

地址结构与寻址模式

16115.5.2

地址类型

Ipv6的安全性

16415.6.1

IP协议的安全目标

16415.6.2

IPsec

16415.6.3

IPv6安全头

IP协议的升级对其他协议的影响

167第16章

常见操作系统TCP/IP协议实现

Windows的TCP/IP实现

16816.1.1

物理链路层

16916.1.2

IP层

17116.1.3

传输层

17316.1.4

TCP/IP开发接口

UNIX/Linux的TCP/IP实现

17716.2.1

Linux网络协议栈

17716.2.2

Linux网络数据处理流程

17816.2.3

Linux的IP路由

180第17章

标准TCP/IP编程接口——Socket

套接口概述

地址与地址操作函数

18317.2.1

INET协议族地址结构——sockaddr_in

18317.2.2

IPv4地址结构——in_addr

18317.2.3

通用地址结构——sockaddr

18517.2.4

地址操作函数

端口

字节序问题

三种套接口类型和两种I/O模式

18817.5.1

套接口的类型

18817.5.2

I/O模式

基本套接口函数

18917.6.1

WSAStartup

19017.6.2

socket

19117.6.3

bind

19217.6.4

listen

19317.6.5

accept

19517.6.6

connect

19617.6.7

recv和send

19717.6.8

recvfrom和sendto

19917.6.9

closesocket

20217.6.10

WSACleanup

简单的客户端程序

20317.7.1

UDP客户端

20317.7.2

TCP客户端

203第18章

客户-服务器模型

基本模型

21018.1.1

面向连接与无连接

21018.1.2

并发和迭代

Winsock

I/O模型

21118.2.1

I/O复用—select

21118.2.2

消息机制——WSAAsyncSelect

21618.2.3

事件机制—WSAEventSelect

22018.2.4

重叠I/O模型

22618.2.5

I/O完成端口——IOCP

234第19章

套接口选项

套接口选项

24119.1.1

SOL_SOCKET

24119.1.2

IPPROTO_IP

广播

24719.2.1

报文的发送

24719.2.2

广播报文的接收

多播

25019.3.1

一个简单的多播库

25119.3.2

接收多播数据

25319.3.3

发送多播数据

原始套接口编程

25619.4.1

Ping程序

25819.4.2

WinSniffer程序

264第20章

UDP服务器编程

多线程编程

26920.1.1

线程的创建

26920.1.2

线程的同步

迭代服务器

并发服务器

273第21章

TCP服务器编程

迭代服务器

并发服务器

28121.2.1

每客户单线程

28121.2.2

线程池

28421.2.3

IOCP

几种服务器架构的分析与比较

303第22章

Internet编程示例

MyWeb服务器的使用

30522.1.1

用户界面

30522.1.2

操作流程

源码及其分析

30722.2.1

COptions类

30722.2.2

COptSetupDlg类

31122.2.3

CMyNotifyIcon类

31422.2.4

CHttpServer类

31722.2.5

CMyWebServerDlg类

34922.2.6

其他

总结

362附录

RFC

363参考文献