21世纪高等学校计算机规划教材——高校系列

TCP/IP网络编程

分享 推荐 0 收藏 11 阅读 4.5K
任泰明 (编著) 978-7-115-21054-8

关于本书的内容有任何问题,请联系 刘博

该教材主要特点是在内容上进行精心选择,与其他类同教材相比用通俗、明了的语言介绍难为理解的抽象知识(尽量避免使用学术化语言介绍问题)、将协议与编程知识融为一体。由于作者近年来有多本教材相继出版,具有较高的知名度。在编写IT类读物方面有些自己的见解,相信该书能成为读者定位准确、内容丰富、通俗易懂、学有所用的IT教材。
¥35.00 ¥29.75 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

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

目录

目 录

上篇 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

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • VB语言程序设计教程(第2版)

    杨忠宝 刘向东 康顺哲 官宇哲

    本书作者在多年教学经验基础上,并根据学生的认知规律精心组织了本教材内容,并通过大量有现实意义的例题,深入浅出地...

    ¥39.80
  • 微机原理、汇编语言与接口技术

    周杰英 张萍 郭雪梅 黄方军

      本书全面系统地论述了Intel 80x86系列机中16位微型计算机的基本原理、汇编语言程序设计和接口技术,...

    ¥39.50
  • Windows系统编程

    李晓黎

      Windows是个人计算机上最流行的操作系统,在国内外拥有众多家庭和商务用户,因此Windows系统编程可...

    ¥45.00
  • C语言程序设计

    宋万干 肖建于

    本书主要介绍C语言程序设计的相关知识。针对没有程序设计基础的读者,本书详细介绍了C语言的基本概念、语法及编程技...

    ¥39.80
  • 数据库系统原理与应用

    孟彩霞

      本书主要介绍数据库系统的基本概念和基本理论、应用技术和设计方法。内容包括数据模型和数据库系统结构、关系代数...

    ¥26.00

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部