图书介绍

TCP/IP 协议与网络编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

TCP/IP 协议与网络编程
  • 任泰明编著 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:7560613608
  • 出版时间:2004
  • 标注页数:314页
  • 文件大小:21MB
  • 文件页数:324页
  • 主题词:计算机网络-通信协议;计算机网络-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

TCP/IP 协议与网络编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Internet与TCP/IP协议1

1.1 Internet 中的“世界语”——TCP/IP协议1

1.1.1 Internet——“冷战”的产物1

1.1.2 网络互联促成了TCP/IP协议的产生2

1.2 TCP/IP协议的体系结构4

1.2.1 网络体系结构的概念4

1.2.2 TCP/IP协议的四个层次4

和地址边界5

1.2.3 TCP/IP协议模型中的操作系统边界5

1.3 TCP/IP协议的工作过程6

1.3.1 TCP/IP协议通信模型6

1.3.2 数据的封装与传递过程7

本章小结9

习题9

第2章 IP协议10

2.1 IP协议如何进行网络互联10

2.1.1网络互联方式10

2.1.3 IP协议的地位与IP互联网的特点12

2.1.2 IP互联网原理12

2.2 IP地址13

2.2.1 IP地址的结构13

2.2.2 IP地址的表示格式13

2.2.3 IP地址的分类14

2.2.4 一些有特殊用途的IP地址15

2.2.5 子网与子网掩码16

2.3 IP数据报格式18

2.3.1 IP数据报各字段的功能18

2.3.2 IP数据报分片与重组21

2.3.3 IP数据报选项23

2.4 Internet控制报文协议(ICMP)26

2.4.1 ICMP报文的封装与格式26

2.4.2 ICMP差错报文28

2.4.3 ICMP控制报文29

2.4.4 ICMP请求与应答报文31

2.5 地址解析32

2.5.1 ARP协议33

2.6.1 路由表35

2.5.2 RARP协议35

2.6 IP数据报的路由选择35

2.6.2 路由选择算法37

2.6.3 路由表的建立与刷新37

2.6.4 路由选择协议38

本章小结40

习题40

3.1 端到端通信和端口号41

3.1.1 端到端通信41

第3章 传输层协议UDP和TCP41

3.1.2 传输层端口的概念42

3.2 用户数据报协议UDP44

3.2.1 UDP数据报的封装及其格式44

3.2.2 UDP校验和的计算方法45

3.2.3 UDP协议的特点45

3.3 传输控制协议TCP46

3.3.1 TCP报文段格式46

3.3.2 TCP连接的建立与关闭50

3.3.3 TCP的流量控制和拥塞控制机制51

3.3.4 TCP的超时重发机制54

3.4 TCP与UDP的比较55

本章小结55

习题56

第4章 TCP/IP应用层常用协议57

4.1 Telnet协议57

4.1.1 远程登录57

4.1.2 Telnet的工作原理58

4.1.3 网络虚拟终端(NVT)的概念59

4.1.4 Telnet协议选项协商61

4.1.5 Telnet协议选项协商实例64

4.2 文件传输协议FTP66

4.2.1 FTP简介66

4.2.2 FTP支持的文件类型和文件结构66

4.2.3 FTP的工作原理67

4.2.4 FTP命令和应答69

4.2.5 FTP工作实例72

4.3.1 TCP/IP协议下E-mail的工作原理73

4.3 电子邮件的工作原理及其协议73

4.3.2 SMTP协议原理与工作实例75

4.3.3 POP3协议原理与工作实例78

4.3.4 电子邮件报文的格式与实例80

4.3.5 多用途因特网邮件扩展MIME81

4.4 文本传输协议HTTP82

4.4.1 万维网的工作过程83

4.4.2 超文本传输协议HTTP与应用实例83

本章小结86

习题87

第5章 TCP/IP协议代码实例分析88

5.1 TCP/IP报文时序模型88

5.2 报文代码及其分析90

习题93

第6章 网络程序设计基本知识94

6.1 网络应用程序的概念94

6.1.1 什么是网络应用程序94

6.1.2 网络应用程序的标识问题94

6.1.3 客户/服务器模型95

6.2 TCP/IP应用程序工作模型与97

网络编程接口97

6.2.1 TCP/IP应用程序工作模型97

6.2.2 Windows Sockets简介98

6.2.3 Windows Sockets规范的目标及99

几个相关的概念99

6.3 套接口的概念及其编程原理99

6.3.1 套接口(Socket)99

6.3.2 套接口的分类100

6.3.3 套接口编程原理101

6.3.4 Winsock套接口编程时对错误的102

处理机制102

6.3.5 网络字节顺序102

6.4 Winsock API基本函数——套接口与103

连接的建立103

6.4.1 打开Winsock WSAStartup()103

6.4.2 创建套接口——socket()或105

WSASocket()105

6.4.3 指定本地地址——bind()108

6.4.4 监听连接——listen()110

6.4.5 请求连接—connect()或111

WSAConnect()111

6.4.6 接受连接—accept()或114

WSAAccept()114

6.5.1 带外数据的概念116

6.5.2 在已建立连接的套接口上发送数据——send()或WSASend()116

6.5.2 在已建立连接的套接口上发送数据——send()或WSASend()116

6.5.1 带外数据的概念116

6.5 Winsock API基本函数——数据传输116

6.5.3 在已建立连接的套接口上接收数据——reev()或WSARecv()118

6.5.3 在已建立连接的套接口上接收数据——reev()或WSARecv()118

6.5.4 在无连接的套接口上接收数据——recvfrom()或WSARecvFrom()121

6.5.4 在无连接的套接口上接收数据——recvfrom()或WSARecvFrom()121

6.5.5在无连接的套接口上发送数据——sendto()或WSASendTo()123

6.6 Winsock API基本函数——连接与125

套接口的关闭125

6.6.1 关闭读写通道——shutdown()125

6.6.2 关闭套接口——closesocket()126

6.6.2 关闭套接口——closesocket()126

6.6.3 终止使用Winsock——WSACleanup()127

本章小结128

习题128

第7章 TcP/IP网络程序框架与实例129

7.1 网络应用程序的基本工作流程129

7.1.1 面向连接的客户/服务器程序129

工作流程129

工作流程132

7.1.2 无连接的客户/服务器程序132

7.2 基于TCP的客户/服务器通信程序134

实例134

7.2.1 实例程序说明134

7.2.2 服务器端程序134

7.2.3 客户端程序137

7.2.4 程序执行结果138

7.3 基于UDP的客户与服务器通信程序139

实例139

7.3.2 服务器端程序140

7.3.1 实例程序说明140

7.3.3 客户端程序143

7.3.4 程序执行结果145

本章小结146

习题147

第8章 Winsock API148

8.1 字节排序函数148

8.1.1 4字节主机字节顺序的数转化为148

网络字节顺序——htonl()和148

WSAHtonl()148

8.1.2 2字节主机字节顺序的数转化为149

网络字节顺序—htons()和149

WSAHtons()149

8.1.3 4字节网络字节顺序的数转化为150

主机字节顺序——ntohl()和150

WSANtohI()150

主机字节顺序——ntohs()和151

WSANtohs()151

8.1.4 2字节网络字节顺序的数转化为151

8.2 IP地址转换函数152

8.2 IP地址转换函数152

为网络字节顺序的IP地址152

8.2.1 点分十进制数表示的IP地址转换——inet_addr()152

8.2.1 点分十进制数表示的IP地址转换——inet_addr()152

8.3.1 获得主机名——gethostname()153

8.3.1 获得主机名——gethostname()153

8.3 网络信息获取函数(数据库函数)153

8.2.2 网络字节顺序的IP地址转换为——inet_ntoa()153

点分十进制数表示的IP地址153

8.3.2 获得与套接口相连的远程协议地址——getpeemame()154

8.3.2 获得与套接口相连的远程协议地址——getpeemame()154

8.3.3 获得套接口本地协议地址——getsockname()155

8.3.4 根据主机名取得主机信息156

gethostbyname()或156

WSAAsyncGetHostByName()156

——getprotobyname()或159

8.3.6 根据协议名取得主机协议信息159

WSAAsyncGetProtoByName()159

8.3.5 根据主机地址取得主机信息159

WSAAsyncGetHostByAddr()159

——gethostbyaddr()或159

8.3.7 根据协议号取得主机协议信息160

——getprotobynumber()或160

WSAAsyncGetProtoByNumber()160

8.3.8 根据服务名取得相关服务信息161

——getservbyname()或161

WSAAsyncGetServByName()161

8.3.9 根据端口号取得相关服务信息162

——getservbyport()或162

WSAAsyncGetServByPort ()162

8.3.10 网络信息获取函数应用实例163

8.4 套接口选项函数165

8.4.1 套接口选项函数说明165

8.4.2 SOL_SOCKET选项级别167

8.4.3 IPPROTO_IP选项级别172

8.4.4 IPPROTO_TCP选项级别174

8.4.5 套接口属性设置和获取实例175

8.5 套接口I/O处理函数177

8.5.1 阻塞与非阻塞通信方式177

8.5.1 阻塞与非阻塞通信方式177

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

8.5.3 套接口I/O状态查询——select()181

8.5.3 套接口I/O状态查询——select()181

8.5.4 异步事件通知——WSAAsyncSelect()184

8.5.4 异步事件通知——WSAAsyncSelect()184

8.5.5 取消正在执行的阻塞调用—WSACancelBlockingCall()187

8.5.5 取消正在执行的阻塞调用—WSACancelBlockingCall()187

8.5.6 判断是否有阻塞调用——WSAIsBlocking()188

8.5.6 判断是否有阻塞调用——WSAIsBlocking()188

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

8.6.2 网络事件注册——WSAEventSelect()189

8.6.1 创建事件对象——WSACreatEvent()189

8.6.2 网络事件注册——WSAEventSelect()189

8.6 事件对象I/O管理189

8.6 事件对象I/O管理189

8.6.1 创建事件对象——WSACreatEvent()189

8.6.3 事件对象状态复位——WSAResetEvent()190

8.6.3 事件对象状态复位——WSAResetEvent()190

8.6.5 关闭事件对象——WSACloseEvent()191

8.6.6 等待事件对象——WSAWaitForMultipleEvents()191

8.6.6 等待事件对象——WSAWaitForMultipleEvents()191

8.6.5 关闭事件对象——WSACloseEvent()191

8.6.4 事件对象状态置位——WSASetEvent()191

8.6.4 事件对象状态置位——WSASetEvent()191

8.6.7 网络事件查询——WSAEnumNetworkEvents()193

8.6.8 事件对象I/O管理程序实例194

8.7 错误处理函数196

8.7 错误处理函数196

8.7.1 获得错误操作代码——WSAGetLastError()196

8.7.1 获得错误操作代码——WSAGetLastError()196

8.7.2 设置错误操作代码——WSASetLastError()196

8.8.1 共享套接口——WSADuplicateSocket()197

8.8.1 共享套接口——WSADuplicateSocket()197

8.8 Winsock 2支持的其他函数197

8.8 Winsock 2支持的其他函数197

8.8.2 获取传送协议信息——WSAEnumProtocols()198

8.8.2 获取传送协议信息——WSAEnumProtocols()198

8.8.3 初始化服务质量——WSAGetQOSByName()199

8.8.3 初始化服务质量——WSAGetQOSByName()199

8.8.4 返回重叠操作结果——WSAGetOverlappedResult()200

8.8.4 返回重叠操作结果——WSAGetOverlappedResult()200

8.8.5 叶结点加入多点会话——WSAJoinLeaf()201

8.8.5 叶结点加入多点会话——WSAJoinLeaf()201

8.8.6 终止套接口上的数据接收——WSARecvDisconnect()202

8.8.6 终止套接口上的数据接收——WSARecvDisconnect()202

8.8.7 终止套接口上的数据发送——WSASendDisconnect()203

本章小结204

习题205

第9章 高级网络编程API206

9.1 MFC提供的Winsock类206

9.1.1 CAsyncSocket类206

9.1.2 CSocket类213

9.2 信报API(MAPI)215

9.2.1 MAPI的结构215

9.2.2 MFC对MAPI的支持216

9.2.3 MAPI的高级应用218

9.2.4 通用信报调用CMC219

9.3 WinInet APl234

9.3.1 Winlnet概述234

9.3.2 基本Winlnet函数236

9.3.3 FTP客户机Winlnet函数245

9.3.4 HTTP客户机Winlnet函数249

9.3.5 MFC Winlnet类及其应用方法254

9.4 其他网络程序设计API258

9.4.1 ISAPI简介258

9.4.2 TAPI简介260

本章小结261

习题261

10.1.1 程序源代码263

实例263

10.1 使用Winsock API设计网络程序的263

第10章 网络程序设计实例263

10.1.2 程序运行结果269

10.2 使用MFC类库进行网络程序设计的270

实例270

10.2.1 创建客户端程序271

10.2.2 创建服务器端程序276

10.3.2 建立应用程序的用户操作界面278

10.3.1 应用程序说明278

实例278

10.3 基于Winlnet API的客户程序编写278

10.3.3 应用程序代码及其说明280

10.4 原始套接口(SOCK_RAW)程序设计292

实例292

10.4.1 原始套接口简介292

10.4.2 原始套接口程序设计实例293

10.5 广播通信与组播通信程序设计实例300

10.5.1 广播通信程序设计301

10.5.2 组播通信程序设计305

习题314

热门推荐