TCP/IP协议与网络编程

TCP/IP协议与网络编程
作 者: 任泰明
出版社: 西安电子科技大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: TCP/IP
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

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

内容简介

Interllet的核心技术是TCP/IP协议,由于当前Intemet的普及,TCP/IP程序设计已经成为当前最热门和应用最广泛的程序设计技术。本书用浅显易懂的语言,试图通过大量的实例引导读者快速掌握’TCP/IP程序设计的基本知识。本书在内容的安排上注意系统性和循序渐进性,首先介绍了进行TCP/IP程序设计所必须掌握的’TCP/IP协议的有关知识,然后就网络程序设计的API进行了全面和系统的讲解,并且每一章都有一些简单易懂的实例,最后通过几种典型的1'CP/IP程序设计实例的介绍和分析,使没有TCP/IP知识或对TCP/IP知识了解较少的读者通过本书的学习,也能在短期内掌握TCP/IP知识,并能进行一些简单实用的’rcPftP程序的开发工作。因此,本书是一本非常适合网络程序设计初学者和中级读者使用的书籍。

图书目录

第1章 Internet与TCP/IP协议

1. 1 Internet中的世界语--TCP/IP协议

1. 1. 1 Internet--冷战的产物

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

1. 2 TCP/IP协议的体系结构

1. 2. 1 网络体系结构的概念

1. 2. 2 TCP/IP协议的四个层次

1. 2. 3 TCP/IP协议模型中的操作系统边界和地址边界

1. 3 TCP/IP协议的工作过程

1. 3. 1 TCP/IP协议通信模型

1. 3. 2 数据的封装与传递过程

本章小结

习题

第2章 IP协议

2. 1 IP协议如何进行网络互联

2. 1. 1 网络互联方式

2. 1. 2 IP互联网原理

2. 1. 3 IP协议的地位与IP互联网的特点

2. 2 IP地址

2. 2. 1 IP地址的结构

2. 2. 2 IP地址的表示格式

2. 2. 3 IP地址的分类

2. 2. 4 一些有特殊用途的IP地址

2. 2. 5 子网与子网掩码

2. 3 IP数据报格式

2. 3. 1 IP数据报各字段的功能

2. 3. 2 IP数据报分片与重组

2. 3. 3 IP数据报选项

2. 4 Internet控制报文协议 ICMP

2. 4. 1 ICMP报文的封装与格式

2. 4. 2 ICMP差错报文

2. 4. 3 ICMP控制报文

2. 4. 4 ICMP请求与应答报文

2. 5 地址解析

2. 5. 1 ARP协议

2. 5. 2 RARP协议

2. 6 IP数据报的路由选择

2. 6. 1 路由表

2. 6. 2 路由选择算法

2. 6. 3 路由表的建立与刷新

2. 6. 4 路由选择协议

本章小结

习题

第3章 传输层协议UDP和TCP

3. 1 端到端通信和端口号

3. 1. 1 端到端通信

3. 1. 2 传输层端口的概念

3. 2 用户数据报协议UDP

3. 2. 1 UDP数据报的封装及其格式

3. 2. 2 UDP校验和的计算方法

3. 2. 3 UDP协议的特点

3. 3 传输控制协议TCP

3. 3. 1 TCP报文段格式

3. 3. 2 TCP连接的建立与关闭

3. 3. 3 TCP的流量控制和拥塞控制机制

3. 3. 4 TCP的超时重发机制

3. 4 TCP与UDP的比较

本章小结

习题

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

4. 1 Telnet协议

4. 1. 1 远程登录

4. 1. 2 Telnet的工作原理

4. 1. 3 网络虚拟终端 NVT 的概念

4. 1. 4 Telnet协议选项协商

4. 1. 5 Telnet协议选项协商实例

4. 2 文件传输协议FTP

4. 2. 1 FTP简介

4. 2. 2 FTP支持的文件类型和文件结构

4. 2. 3 FTP的工作原理

4. 2. 4 FTP命令和应答

4. 2. 5 FTP工作实例

4. 3 电子邮件的工作原理及其协议

4. 3. 1 TCP/IP协议下E-mail的工作原理

4. 3. 2 SMTP协议原理与工作实例

4. 3. 3 POP3协议原理与工作实例

4. 3. 4 电子邮件报文的格式与实例

4. 3. 5 多用途因特网邮件扩展MIME

4. 4 文本传输协议HTTP

4. 4. 1 万维网的工作过程

4. 4. 2 超文本传输协议HTTP与应用实例

本章小结

习题

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

5. 1 TCP/IP报文时序模型

5. 2 报文代码及其分析

习题

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

6. 1 网络应用程序的概念

6. 1. 1 什么是网络应用程序

6. 1. 2 网络应用程序的标识问题

6. 1. 3 客户朋艮务器模型

6. 2 TCP/IP应用程序工作模型与网络编程接口

6. 2. 1 TCP/IP应用程序工作模型

6. 2. 2 Windows Sockets简介

6. 2. 3 Windows Sockets规范的目标及几个相关的概念

6. 3 套接口的概念及其编程原理

6. 3. 1 套接口 Socket

6. 3. 2 套接口的分类

6. 3. 3 套接口编程原理

6. 3. 4 Winsock套接口编程时对错误的处理机制

6. 3. 5 网络字节顺序

6. 4 Winsock API基本函数--套接口与连接的建立

6. 4. 1 打开Winsock--WSAStartup

6. 4. 2 创建套接口--socket 或WSASocket

6. 4. 3 指定本地地址--bind

6. 4. 4 监听连接--listen

6. 4. 5 请求连接--connect 或WSAConnect

6. 4. 6 接受连接--accept 或WSAAccept

6. 5 Winsock API基本函数--数据传输

6. 5. 1 带外数据的概念

6. 5. 2 在已建立连接的套接口上发送数据

--send 或WSASend

6. 5. 3 在已建立连接的套接口上接收数据

--recv 或WSARecv

6. 5. 4 在无连接的套接口上接收数据

--recvfrom 或WSARecvFrom

6. 5. 5 在无连接的套接口上发送数据

--sendto 或WSASendTo

6. 6 Winsock API基本函数--连接与

套接口的关闭

6. 6. 1 关闭读写通道--shutdown

6. 6. 2 关闭套接口--closesocket

6. 6. 3 终止使用Winsock

--WSACleanup

本章小结

习题

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

7. 1 网络应用程序的基本工作流程

7. 1. 1 面向连接的客户/服务器程序工作流程

7. 1. 2 无连接的客户/服务器程序工作流程

7. 2 基于TCP的客户/服务器通信程序实例

7. 2. 1 实例程序说明

7. 2. 2 服务器端程序

7. 2. 3 客户端程序

7. 2. 4 程序执行结果

7. 3 基于UDP的客户与服务器通信程序实例

7. 3. 1 实例程序说明

7. 3. 2 服务器端程序

7. 3. 3 客户端程序

7. 3. 4 程序执行结果

本章小结

习题

第8章 Winsock API

8. 1 字节排序函数

8. 1. 1 4字节主机字节顺序的数转化为

网络字节顺序--htonl 和WSAHtonl

8. 1. 2 2字节主机字节顺序的数转化为

网络字节顺序--htons 和WSAHtons

8. 1. 3 4字节网络字节顺序的数转化为

主机字节顺序--ntohl 和WSANtohl

8. 1. 4 2字节网络字节顺序的数转化为

主机字节顺序--ntohs 和WSANtohs

8. 2 IP地址转换函数

8. 2. 1 点分十进制数表示的IP地址转换

为网络字节顺序的IP地址

--inet_addr

8. 2. 2 网络字节顺序的IP地址转换为

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

--inet_ntoa

8. 3 网络信息获取函数 数据库函数

8. 3. 1 获得主机名--gethostname

8. 3. 2 获得与套接口相连的远程协议地址

--getpeername

8. 3. 3 获得套接口本地协议地址

--getsockname

8. 3. 4 根据主机名取得主机信息

--gethostbyname 或

WSAAsyncGetHostByName

8. 3. 5 根据主机地址取得主机信息

--gethostbyaddr 或

WSAAsyncGetHostByAddr

8. 3. 6 根据协议名取得主机协议信息

--getprotobyname 或

WSAAsyncGetProtoByName

8. 3. 7 根据协议号取得主机协议信息

---getprotobynumber 或

WSAAsyncGetProtoByNumber

8. 3. 8 根据服务名取得相关服务信息

---getservbyname 或

WSAAsyncGetServByName

8. 3. 9 根据端口号取得相关服务信息

--getservbyport 或

WSAAsyncGetServByPort

8. 3. 10 网络信息获取函数应用实例

8. 4 套接口选项函数

8. 4. 1 套接口选项函数说明

8. 4. 2 SOL_SOCKET选项级别

8. 4. 3 IPPROTO_IP选项级别

8. 4. 4 IPPROTO_TCP选项级别

8. 4. 5 套接口属性设置和获取实例

8. 5 套接口I/O处理函数

8. 5. 1 阻塞与非阻塞通信方式

8. 5. 2 设置套接口的工作方式

--ioctlsocket 和WSAIoctl

8. 5. 3 套接口I/O状态查询--select

8. 5. 4 异步事件通知

--WSAAsyncSelect

8. 5. 5 取消正在执行的阻塞调用

--WSACancelBlockingCall

8. 5. 6 判断是否有阻塞调用

--WSAIsBlocking

8. 5. 7 取消未完成的一个异步操作

--WSACancelAsyncRequest

8. 6 事件对象I/O管理

8. 6. 1 创建事件对象

--WSACreateEvent

8. 6. 2 网络事件注册

--WSAEventSelect

8. 6. 3 事件对象状态复位

--WSAResetEvent

8. 6. 4 事件对象状态置位

--WSASetEvent

8. 6. 5 关闭事件对象

--WSACloseEvent

8. 6. 6 等待事件对象

--WSAWaitForMultipleEvents

8. 6. 7 网络事件查询

--WSAEnumNetworkEvents

8. 6. 8 事件对象I/O管理程序实例

8. 7 错误处理函数

8. 7. 1 获得错误操作代码

--WSAGetLastError

8. 7. 2 设置错误操作代码

--WSASetLastError

8. 8 Winsock 2支持的其他函数

8. 8. 1 共享套接口

--WSADuplicateSocket

8. 8. 2 获取传送协议信息

--WSAEnumProtocols

8. 8. 3 初始化服务质量

--WSAGetQOSByName

8. 8. 4 返回重叠操作结果

--WSAGetOverlappedResult

8. 8. 5 叶结点加入多点会话

--WSAJoinLeaf

8. 8. 6 终止套接口上的数据接收

--WSARecvDisconnect

8. 8. 7 终止套接口上的数据发送

--WSASendDisconnect

本章小结

习题

第9章 高级网络编程API

9. 1 MFC提供的Winsock类

9. 1. 1 CAsyncSocket类

9. 1. 2 CSocket类

9. 2 信报API MAPI

9. 2. 1 MAPI的结构

9. 2. 2 MFC对MAPI的支持

9. 2. 3 MAPI的高级应用

9. 2. 4 通用信报调用CMC

9. 3 WinInet API

9. 3. 1 WinInet概述

9. 3. 2 基本WinInet函数

9. 3. 3 FTP客户机WinInet函数

9. 3. 4 HTTP客户机WinInet函数

9. 3. 5 MFC WinInet类及其应用方法

9. 4 其他网络程序设计API

9. 4. 1 ISAPI简介

9. 4. 2 TAPI简介

本章小结

习题

第10章 网络程序设计实例

10. 1 使用Winsock API设计网络程序的实例

10. 1. 1 程序源代码

10. 1. 2 程序运行结果

10. 2 使用MFC类库进行网络程序设计的实例

10. 2. 1 创建客户端程序

10. 2. 2 创建服务器端程序

10. 3 基于WinInet API的客户程序编写实例

10. 3. 1 应用程序说明

10. 3. 2 建立应用程序的用户操作界面

10. 3. 3 应用程序代码及其说明

10. 4 原始套接口 SOCK_RAW 程序设计实例

10. 4. 1 原始套接口简介

10. 4. 2 原始套接口程序设计实例

10. 5 广播通信与组播通信程序设计实例

10. 5. 1 广播通信程序设计

10. 5. 2 组播通信程序设计

习题