TCP/IP 协议与网络编程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:任泰明编著
- 出 版 社:西安:西安电子科技大学出版社
- 出版年份:2004
- ISBN:7560613608
- 页数:314 页
第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和TCP 41
3.1.2 传输层端口的概念 42
3.2 用户数据报协议UDP 44
3.2.1 UDP数据报的封装及其格式 44
3.2.2 UDP校验和的计算方法 45
3.2.3 UDP协议的特点 45
3.3 传输控制协议TCP 46
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 文件传输协议FTP 66
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 多用途因特网邮件扩展MIME 81
4.4 文本传输协议HTTP 82
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 API 148
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章 高级网络编程API 206
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 通用信报调用CMC 219
9.3 WinInet APl 234
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 其他网络程序设计API 258
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
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《光明社科文库 社会网络与贫富差距 经验事实与实证分析》何金财 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《CCNA网络安全运营SECFND 210-250认证考试指南》(美)奥马尔·桑托斯(OmarSantos),约瑟夫·穆尼斯(JosephMuniz),(意) 2019
- 《网络互联技术项目化教程》梁诚主编 2020
- 《网络利他行为研究》蒋怀滨著 2019
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019