TCP/IP网络编程

TCP/IP网络编程

任泰明, 编著

出版社:人民邮电出版社

年代:2009

定价:35.0

书籍简介:

本书主要内容有网络接口层、TCP、IP、UDP、ICMP、Telnet、FTP、HTTP、SMTP、POP等协议,编程技术有基于Winsock的TCP、UDP等协议的编程,Winsock编程实例等内容。

书籍目录:

上篇 TCP/IP

第1章 TCP/IP概述 2

1.1 TCP/IP的产生与发展 2

1.1.1 TCP/IP的产生 2

1.1.2 TCP/IP的发展与应用 4

1.2 TCP/IP的体系结构 4

1.2.1 TCP/IP的分层体系结构与协议栈的概念 4

1.2.2 网络接口层 5

1.2.3 网际层 6

1.2.4 传输层 6

1.2.5 应用层 7

1.3 TCP/IP的工作原理 7

1.3.1 使用TCP/IP的Internet网络结构 7

1.3.2 TCP/IP通信模型 8

1.3.3 TCP/IP中数据的封装与解封过程 10

1.3.4 TCP/IP的操作系统边界与地址边界 12

1.4 ISO/OSI与TCP/IP的关系 13

1.4.1 ISO/OSI网络体系结构概述 13

1.4.2 ISO/OSI与TCP/IP的对应关系分析 15

1.5 与TCP/IP有关的组织与管理机构 16

1.5.1 网络协议的国际标准化组织 17

1.5.2 Internet的管理机构 17

1.5.3 RFC文档 19

小结 20

习题 20

第2章 网络接口层 22

2.1 物理层 22

2.1.1 数据传输介质 22

2.1.2 数据传输方式 24

2.1.3 数据编码技术 28

2.1.4 信道复用技术 30

2.2 数据链路层 32

2.2.1 数据链路层的概念 32

2.2.2 数据链路的流量控制机制 33

2.2.3 差错控制 33

2.2.4 点到点协议 35

2.3 局域网技术 36

2.3.1 局域网的组成 36

2.3.2 IEEE 802局域网技术 37

2.3.3 以太网技术 38

2.3.4 VLAN 39

小结 40

习题 40

第3章 互联网络层 41

3.1 网络层的互联技术 41

3.1.1 网络互联概述 41

3.1.2 路由器 42

3.1.3 面向连接的互联技术 43

3.1.4 无连接的互联技术 43

3.1.5 IP互联原理 43

3.2 IP 44

3.2.1 IP概述 44

3.2.2 IP数据报格式 45

3.2.3 IP数据报的分片与重组 48

3.2.4 IP数据报选项 50

3.3 IP地址 52

3.3.1 IP地址的表示格式 53

3.3.2 IP地址的分类 53

3.3.3 子网的划分 54

3.3.4 特殊IP地址 56

3.4 Internet控制报文协议 57

3.4.1 ICMP报文的封装与格式 57

3.4.2 ICMP差错报文 59

3.4.3 ICMP控制报文 60

3.4.4 ICMP请求与应答报文 61

3.5 IP数据报路由选择与路由协议 63

3.5.1 路由表 63

3.5.2 路由选择算法 64

3.5.3 路由表的建立与刷新 65

3.5.4 路由选择协议 66

3.6 地址转换协议 67

3.6.1 ARP 68

3.6.2 RARP 69

3.7 IPv6 70

3.7.1 IPv6产生的背景 70

3.7.2 IPv6的新特征 71

3.7.3 IPv6数据报格式 72

3.7.4 IPv6地址 72

小结 74

习题 74

第4章 传输层 76

4.1 传输层的通信与端口 76

4.1.1 点到点通信与端到端通信 76

4.1.2 端口的概念与功能 77

4.1.3 常用的端口 78

4.2 用户数据报协议 79

4.2.1 UDP概述 79

4.2.2 伪首部与校验和 80

4.3 传输控制协议 81

4.3.1 TCP报文段格式 81

4.3.2 TCP连接的建立与关闭 85

4.3.3 TCP的流量控制和拥塞控制机制 86

4.3.4 TCP的超时重发机制 89

4.4 TCP与UDP的比较 89

小结 90

习题 90

第5章 应用层 92

5.1 网络工作模式 92

5.1.1 C/S模式 92

5.1.2 B/S模式 93

5.1.3 B/S模式与C/S模式的比较 95

5.2 域名系统 96

5.2.1 域名和域名系统 97

5.2.2 域名服务器 99

5.2.3 域名解析实例 99

5.3 远程登录协议 100

5.3.1 远程登录概述 100

5.3.2 Telnet的工作原理 101

5.3.3 网络虚拟终端的概念 102

5.3.4 Telnet选项协商 104

5.3.5 Telnet协议选项协商实例 105

5.4 电子邮件原理及其协议 108

5.4.1 TCP/IP下E-mail的工作原理 108

5.4.2 SMTP原理与工作实例 110

5.4.3 POP3协议原理与工作实例 112

5.4.4 电子邮件报文的格式与实例 115

5.4.5 多用途因特网邮件扩展 115

5.5 超文本传输协议 117

5.5.1 万维网的工作过程 117

5.5.2 超文本传输协议与应用实例 118

5.6 文件传输协议 121

5.6.1 FTP简介 121

5.6.2 FTP支持的文件类型和文件结构 122

5.6.3 FTP的工作原理 123

5.6.4 FTP命令和应答 124

5.6.5 FTP工作实例 127

小结 128

习题 128

第6章 TCP/IP的实现 130

6.1 Windows的TCP/IP实现 130

6.1.1 Windows TCP/IP提供的功能与服务 130

6.1.2 Windows TCP/IP体系结构 131

6.1.3 网络接口层 132

6.1.4 网际层 133

6.1.5 传输控制协议 136

6.1.6 用户数据报协议 137

6.2 UNIX/Linux的TCP/IP实现 137

6.2.1 Linux TCP/IP网络协议栈 137

6.2.2 Linux网络数据处理流程 138

6.2.3 Linux的IP路由 139

6.3 TCP/IP协议代码 140

6.3.1 TCP/IP报文时序模型 140

6.3.2 报文代码及其分析 142

小结 146

习题 146

下篇 网络编程技术

第7章 网络程序设计入门 148

7.1 有关网络程序设计的一些概念 148

7.1.1 网络应用软件 148

7.1.2 网络中两个通信程序如何相互识别对方 148

7.1.3 Windows Sockets介绍 149

7.1.4 套接口的概念 150

7.1.5 套接口编程原理 151

7.1.6 网络字节顺序 153

7.2 网络程序工作模型 153

7.2.1 网络程序要考虑的几个问题 153

7.2.2 网络程序工作模型 155

7.3 一个简单的客户机/服务器程序 156

7.3.1 程序要求 156

7.3.2 服务器程序 156

7.3.3 客户端程序 159

7.3.4 实例运行结果 160

7.4 Winsock中建立连接的函数及其应用 161

7.4.1 加载协议栈(WSAStartup) 161

7.4.2 创建套接口(socket或WSASocket) 163

7.4.3 地址绑定(bind) 165

7.4.4 服务器端监听连接(listen) 167

7.4.5 客户端请求连接(connect或WSAConnect) 168

7.4.6 服务器端接受连接(accept或WSAAccept) 171

7.5 Winsock中的数据传输函数及其应用 172

7.5.1 有连接的数据发送(send或WSASend) 173

7.5.2 有连接的数据接收(recv或WSARecv) 175

7.5.3 无连接的数据接收(recvfrom或WSARecvfrom) 177

7.5.4 无连接数据发送(sendto或WSASendTo) 179

7.6 Winsock中网络连接与套接口的关闭函数及其应用 181

7.6.1 关闭读写通道 181

7.6.2 关闭套接口 182

7.6.3 终止使用Winsock 182

小结 183

习题 183

第8章 TCP程序设计 184

8.1 TCP网络程序设计模型 184

8.1.1 服务器端工作流程 184

8.1.2 客户端工作流程 185

8.1.3 服务器与客户机通信过程 186

8.1.4 基于TCP的网络程序框架 186

8.2 TCP实例程序1 187

8.2.1 实例程序说明 187

8.2.2 服务器程序 188

8.2.3 客户端程序 190

8.3 TCP实例程序2 191

8.3.1 程序要求 191

8.3.2 服务器程序 192

8.3.3 客户端程序 195

小结 198

习题 198

第9章 UDP程序设计 200

9.1 UDP网络程序设计模型 200

9.1.1 UDP程序工作流程 200

9.1.2 程序框架 201

9.2 UDP实例程序1 202

9.2.1 实例程序说明 202

9.2.2 服务器程序 203

9.2.3 客户端程序 205

9.3 UDP实例程序2 207

9.3.1 程序要求 208

9.3.2 服务器程序 208

9.3.3 客户端程序 212

小结 215

习题 215

第10章 Winsock程序综合实例 216

10.1 使用MFC类库设计网络程序 216

10.1.1 MFC类库简介 216

10.1.2 MFC中与网络程序设计有关的类 217

10.1.3 MFC中的Windows套接口类 218

10.1.4 客户端程序实例 224

10.1.5 服务器端程序实例 228

10.2 使用WinInet设计客户端程序 230

10.2.1 WinInet程序设计知识 230

10.2.2 实例程序说明 249

10.2.3 创建应用程序操作界面 249

10.2.4 应用程序代码及其说明 251

10.3 使用原始套接口设计网络程序 258

10.3.1 原始套接口程序设计简介 259

10.3.2 实例说明 259

小结 266

习题 266

第11章 Winsock主要函数及其用法 268

11.1 数据格式转换函数 268

11.1.1 htonl()和WSAHtonl() 268

11.1.2 htons()和WSAHtons() 269

11.1.3 ntohl()和WSANtohl() 270

11.1.4 ntohs()和WSANtohs() 270

11.2 IP地址转换函数及其应用 271

11.2.1 inet_addr() 271

11.2.2 inet_ntoa() 272

11.3 网络信息获取函数及其应用 272

11.3.1 获得主机名——gethostname() 272

11.3.2 获得与套接口相连的远程协议地址——getpeername() 273

11.3.3 获得套接口本地协议地址——getsockname() 274

11.3.4 根据主机名取得主机信息——gethostbyname()和WSAAsync GetHostByName() 274

11.3.5 根据主机地址取得主机信息——gethostbyaddr()和WSA AsyncGetHostByAddr() 277

11.3.6 根据协议名取得主机协议信息——getprotobyname()和WSAAsyncGetProtoByName() 277

11.3.7 根据协议号取得主机协议信息——getprotobynumber()和WSA AsyncGetProtoByNumber() 278

11.3.8 根据服务名取得相关服务信息——getservbyname()和WSA AsyncGetServByName() 279

11.3.9 根据端口号取得相关服务信息——getservbyport()和WSA AsyncGetServByPort() 280

11.3.10 网络信息获取函数应用实例 280

11.4 套接口选项函数及其应用 282

11.4.1 套接口选项函数说明 282

11.4.2 SOL_SOCKET选项级别 284

11.4.3 IPPROTO_IP选项级别 288

11.4.4 IPPROTO_TCP选项级别 290

11.4.5 套接口属性设置和获取实例 291

11.5 套接口I/O处理函数及其应用 293

11.5.1 阻塞与非阻塞通信方式 293

11.5.2 设置套接口的工作方式——ioctlsocket()和WSAIoctl() 294

11.5.3 套接口I/O状态查询——select() 296

11.5.4 异步事件通知——WSAAsyncSelect() 298

11.5.5 取消正在执行的阻塞调用——WSACancelBlockingCall() 301

11.5.6 判断是否有阻塞调用——WSAIsBlocking() 302

11.5.7 取消未完成的一个异步操作——WSACancelAsyncRequest() 302

11.6 事件对象I/O管理及其应用 302

11.6.1 创建事件对象——WSACreateEvent() 303

11.6.2 网络事件注册——WSAEventSelect() 303

11.6.3 事件对象状态复位——WSAResetEvent() 304

11.6.4 事件对象状态置位——WSASetEvent() 304

11.6.5 关闭事件对象——WSACloseEvent() 304

11.6.6 等待事件对象——WSAWaitForMultipleEvents() 305

11.6.7 网络事件查询——WSAEnumNetworkEvents() 306

11.6.8 事件对象I/O管理程序实例 307

11.7 错误处理函数 308

11.7.1 获得错误操作代码——WSAGetLastError() 308

11.7.2 设置错误操作代码——WSASetLastError() 309

11.8 Winsock 2支持的其他函数 309

11.8.1 共享套接口——WSADuplicateSocket() 309

11.8.2 获取传送协议信息——WSAEnumProtocols() 310

11.8.3 初始化服务质量——WSAGetQOSByName() 311

11.8.4 返回重叠操作结果——WSAGetOverlappedResult() 312

11.8.5 叶节点加入多点会话——WSAJoinLeaf() 313

11.8.6 终止套接口上的数据接收——WSARecvDisconnect() 314

11.8.7 终止套接口上的数据发送——WSASendDisconnect() 314

小结 315

习题 315

参考文献 316

内容摘要:

《TCP/IP网络编程》以通俗易懂的语言详细介绍了TCP/IP及其工作原理,以简单明了的编程实例全面介绍了基于Winsock的网络程序设计技术。具体内容主要包含TCP/IP的结构与工作原理、网络接口层基本知识、网络层技术及其协议、传输层技术及其协议、应用层常用协议、TCP/IP的实现技术、网络程序设计基本知识、TCP编程、UDP编程、网络综合程序设计、Winsock常用函数介绍及其应用等内容。TCP/IP是Internet和Intranet中计算机或相关设备之间进行“交流”的协议,Winsock是应用最为广泛的,基于TCP/IP的网络程序的编程接口。
  《TCP/IP网络编程》可作为大专院校“网络协议及其网络编程”课程的教材使用,也可作为网络相关工作技术人员的参考书或作为IT培训机构网络技术方面的培训教程使用。

编辑推荐:

《TCP/IP网络编程》有以下几个方面的特点:(1)内容的组织上按照协议原理与协议编程分为上、下篇。上篇主要介绍TCHIP协议簇中的常用协议,下篇专门介绍网络编程知识与技能。(2)具体在编写每一节的内容时将原理知识与实用技能融为一体,方便读者学习。
  (3)考虑到TCHIP协议比较抽象,学习起来有一定的难度,所以全书尽量避免使用晦涩难懂专业术语,而用浅显易懂的语言说明问题,努力将书打造成一本人人都能读懂的书籍。
  (4)初学网络程序设计的人员,往往感到网络程序设计内容多,学习起来比较复杂。针对这一问题,《TCP/IP网络编程》在讲解网络程序设计时,根据网络程序固有的特点,先总结了网络程序设计的通用模式,然后再举例说明,使读者易于入手。
  (5)Wirlsock函数内容多,使用起来比较复杂,针对这一问题,笔者在写作时将常用的Witlsock函数分散到各种实例中去介绍,然后在最后一章将所有常用的Wirlsock函数一一作了较为详细的说明,并在每个函数后面加入了其应用实例或使用说明。
  原理知识与实用技能融为一体,全面介绍Winsock网络程序设计技术,避免使用晦涩难懂专业术语,语言浅显易懂。

书籍规格:

书籍详细信息
书名TCP/IP网络编程站内查询相似图书
9787115210548
如需购买下载《TCP/IP网络编程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)35.0语种简体中文
尺寸26装帧平装
页数 176 印数 3000

书籍信息归属:

TCP/IP网络编程是人民邮电出版社于2009.08出版的中图分类号为 TN915.04 ,TP393.09 的主题关于 计算机网络-程序设计-高等学校-教材 ,计算机网络-通信协议-高等学校-教材 的书籍。