第一图书网

网络编程与分层协议设计

刘飚 机械工业
出版时间:

2011-7  

出版社:

机械工业  

作者:

刘飚  

页数:

252  

Tag标签:

无  

内容概要

  《高等院校计算机教材系列·网络编程与分层协议设计:基于Linux平台实现》以Linux网络套接字编程和网络分层协议的设计与程序实现为主题,详细介绍如何在Linux平台下进行套接字程序设计,并给出了一个基于分层协议的应用实例,用于模拟Linux网络协议栈中IP层的核心功能—IP报文的分段和重组过程。《高等院校计算机教材系列·网络编程与分层协议设计:基于Linux平台实现》旨在通过具有一定复杂度的应用,切实帮助读者掌握网络协议分层的设计思想和程序实现方法。此外,《高等院校计算机教材系列·网络编程与分层协议设计:基于Linux平台实现》的许多程序示例直接使用了Linux的内核链表和散列链表,以及内核的其他数据结构和多线程等程序设计技巧,通过实际应用的形式有效地衔接了C语言、数据结构、操作系统、计算机网络和网络协议分析等课程的相关内容。  《高等院校计算机教材系列·网络编程与分层协议设计:基于Linux平台实现》可作为高等院校计算机、网络工程、通信工程等专业本科生与研究生“网络程序设计”课程的教材,也可作为相关领域工程技术人员的参考用书。

书籍目录

前言教学和阅读建议第1章 TCP/IP网络编程基础11.1 网络和网络互联11.1.1 ISO/OSI网络模型和TCP/IP协议栈11.1.2 IP地址和端口21.2 客户端/服务器编程模型31.2.1 循环式服务器31.2.2 并发式服务器31.3 本章小结4习题4第2章 Linux下的C编程环境52.1 进程52.1.1 进程标识52.1.2 创建进程62.1.3 终止进程62.1.4 僵死进程72.1.5 子进程退出的异步善后处理72.2 线程82.2.1 线程标识92.2.2 创建线程92.2.3 终止线程102.2.4 线程同步112.3 信号142.3.1 信号的概念142.3.2 常用信号及其含义142.3.3 信号集和信号掩码152.3.4 信号处理162.3.5 可重入函数182.4 时间202.4.1 时间表示212.4.2 获得时间212.4.3 休眠时间222.4.4 间隔定时器232.5 文件242.6 本章小结26习题26第3章 网络编程中常用的典型知识283.1 结构体大小的计算283.2 数据存储与字节序293.3 常用数据结构303.3.1 Linux链表303.3.2 Linux散列链表333.4 函数指针343.5 校验和353.6 用户态下多定时器的实现373.7 本章小结47习题48第4章 基础套接字494.1 套接字基本概念494.1.1 创建套接字494.1.2 域和地址族504.1.3 套接字地址504.1.4 流式套接字和数据报套接字514.1.5 使用套接字514.1.6 套接字编程常用基本函数和数据类型554.1.7 客户端/服务器通信方式564.2 流式套接字客户端/服务器编程574.3 并发流式套接字服务器编程634.3.1 服务器主进程674.3.2 服务器子进程674.3.3 服务器子进程终止674.4 数据报套接字客户端/服务器编程674.5 本章小结73习题73第5章 高级套接字755.1 套接字选项755.1.1 getsockopt和setsockopt755.1.2 套接字通用选项示例765.2 I/O多路复用785.2.1 I/O多路复用模型795.2.2 select函数795.2.3 文件描述符集合的使用805.2.4 文件描述符的可读写状态825.2.5 最大文件描述符个数825.2.6 select函数的应用825.3 非阻塞I/O905.3.1 非阻塞I/O模型905.3.2 fcntl函数设置非阻塞模式915.3.3 非阻塞模式下的read和write925.3.4 非阻塞模式下的connect925.3.5 非阻塞模式下的accept935.4 信号驱动I/O945.4.1 信号驱动I/O模型945.4.2 设置套接字工作于信号驱动I/O模式945.4.3 信号驱动I/O示例955.5 事件I/O1005.5.1 创建epoll上下文环境epoll_create1015.5.2 epoll设置epoll_ctl1015.5.3 等待事件发生epoll_wait1035.5.4 epoll程序示例1045.5.5 边沿触发ET和水平触发LT1095.6 原始套接字1105.6.1 创建原始套接字1115.6.2 原始套接字数据发送1115.6.3 原始套接字数据接收1115.7 本章小结111习题112第6章 网络协议1136.1 IP协议1136.1.1 IP协议格式1136.1.2 IP协议头的C语言定义1146.1.3 IP报文分段1156.1.4 IP报文分段重组1166.2 ICMP协议1186.2.1 ICMP消息类型1186.2.2 ICMP消息通用格式1186.2.3 ICMP查询请求和应答消息格式1186.2.4 ICMP消息格式的C语言定义1196.3 FTP协议1196.3.1 FTP连接管理1206.3.2 FTP通信过程1216.3.3 FTP命令处理1226.3.4 数据(文件)传输过程1236.3.5 数据传输端口1246.4 一个简单应用层协议示例1256.5 分层协议示例-IP报文分段和重组模拟1276.5.1 程序功能描述1286.5.2 分层协议栈1296.5.3 分层协议定义1306.6 本章小结131习题132第7章 ICMP协议程序设计1337.1 ping程序功能模块1337.2 回应请求和应答实例分析1337.3 ping程序实现1347.4 ping程序的编译和测试1407.5 本章小结140习题140第8章 FTP协议程序设计1418.1 FTP交互命令实例分析1418.2 FTP客户端程序功能模块1438.3 FTP客户端程序实现1448.4 FTP客户端程序的编译和测试1688.5 本章小结169习题169第9章 IP报文分段和重组模拟程序设计1709.1 主机工作流程1709.2 转发服务器工作流程1719.3 消息分段1729.4 主机程序功能模块1729.5 转发服务器程序功能模块1759.6 消息分段的错序和丢失模拟1769.7 关键数据结构1779.8 主机程序实现1809.9 转发服务器程序实现2209.10 IP报文分段和重组模拟程序的编译和运行2409.11 本章小结243习题243附录A C/C++源文件编辑244附录B C/C++源文件编译247附录C C/C++源文件调试250参考文献253

章节摘录

版权页:插图:


编辑推荐

《网络编程与分层协议设计:基于Linux平台实现》以Linux为平台,循序渐进地介绍了Linux网络套接字编程的基本原理和使用方法,并着重突出了网络分层协议的设计和程序实现。全书通过多个示例展示了Linux内核通用数据结构的使用,充分体现了数据结构+算法的程序设计思想,帮助读者切实掌握常用数据结构及其应用场景,从而快速提高网络软件的设计水平。程序示例丰富,具有一定复杂度。《网络编程与分层协议设计:基于Linux平台实现》提供了大量的程序示例,对Linux网络套接字编程的基本概念和协议分层的设计实现进行了详细说明。这些示例的设计和选择都经过精心安排,其中较为基础的程序示例除了演示基本的功能外,还反复作为后续较复杂程序示例的基本功能组件。从而形成了程序示例的有机搭配,既可帮助读者了解网络编程和分层协议设计的基本知识,又能让读者通过这些实际示例反复运用所学知识,达到熟能生巧和融会贯通。广泛使用优秀开源代码。《网络编程与分层协议设计:基于Linux平台实现》的程序示例大量直接或间接应用了优秀的开源软件,例如Linux内核的通用链表和散列链表在多个程序示例中作为基础组件而广泛使用。此外,《网络编程与分层协议设计:基于Linux平台实现》还参考并模拟了Linux网络内核源码中IP报文分段和重组的核心处理过程。通过学习优秀开源软件的设计实现,并且在正确的场合使用各类优秀开源软件,是快速提高网络编程能力的一条捷径。内容紧凑,中心突出。《网络编程与分层协议设计:基于Linux平台实现》围绕网络分层协议设计和实现这个中心进行讲解,所介绍的基础知识都是为掌握后续较复杂的示例而进行的必要铺垫,基本上做到了使读者在不参考其他书籍的情况下就能顺利掌握《网络编程与分层协议设计:基于Linux平台实现》的核心内容。读者对象广泛。《网络编程与分层协议设计:基于Linux平台实现》既可以单独作为网络编程的入门教材。也可以作为网络协议分析等相关课程的辅助实践教材。

图书封面

图书标签Tags

广告

下载页面


网络编程与分层协议设计 PDF格式下载



很难看懂。书挺好的。是这个东西本来就难。


课本也没有好与不好的


这本书对于网络的IP层、TCP层和应用层若干协议的实现描述详尽,而且整本书不罗嗦,是一本突出重点的好书 。


不错的一本书,例子很非富


这本书里的例子是拿linux内核源码来举例的学习起来能扩展视野


比起一般的入门教程又详细了很多,值得刚入门的同学们买


相关图书