- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第01章 TCPIP网络编编程基础.ppt
* * * 说明: 1、计算机网络是由分散在不同位置的计算机通过通信链路连接而构成的网络,这些互联的计算机被称为主机和路由器。主机运行各类应用程序,例如及时通信软件、Web浏览器、FTP服务器等等,这些应用是网络的实际用户。分散在不同地理位置的计算机网络通过路由器连接而成为Internet,因此路由器的主要职责就是负责在不同的网络之间进行数据转发,从而保证不同主机之间能够跨越多个互联网络进行数据通信。图1-1描述了通过路由器Router连两个网络所构成的网间网Internet。 * * 说明: 1、在TCP/IP的网络中,如果有两个网络应用程序要互相传输数据,首先需要知道的信息就是IP地址,IP Address仅用于标识参与通信的源和目的主机,即所谓的主机-主机通信,IP只负责将数据从源主机发送到目的主机。 2、通信实际发生在位于网络中不同主机中的应用或进程,因此还需要有另外一个重要信息来标识主机中的通信进程,这个信息就是端口号(Port Number)。 Linux/Unix网络编程 信息工程学院 * 网络编程 时间安排 上课:30学时 实验 10学时 参考教材 《网络编程与分层协议设计》.刘飚 . 机工出版社 《Linux/Unix网络编程》.甘刚 .水利水电出版社 《用TCP/IP进行网际互联. 第一卷》 《用TCP/IP进行网际互联. 第三卷》 Douglas E.Comer 电子工业出版社 * 先修课程 C语言 数据结构 计算机网络 操作系统 Linux的基本使用 第1章 TCP/IP网络编程基础 * 客户机/服务器编程模型 Server程序 Client程序 active open connection * 循环式服务器 客户机/服务器编程模型 C S 1、数据请求 2、数据响应 无连接 3、数据请求 4、数据响应 1、连接请求 2、连接响应 5、关闭请求 6、关闭响应 C S * 并发式服务器 客户机/服务器编程模型 C S C C C C * 循环式 vs. 并发服务器 绑定地址 监听连接 接收连接 处理连接 断开连接 接收请求 处理请求 返回响应 绑定地址 监听连接 接收连接 创建子进程 关闭连接套接字 处理连接 关闭连接套接字 终止子进程 关闭监听套接字 服务器主进程 服务器子进程 TCP循环式服务器 TCP并发服务器 * TCPIP互联网 IE浏览器 QQ QQ OSI 与 TCP/IP 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 应用层 IPv4, IPv6 网络接口层 TCP UDP OSI模型 TCP/IP模型 * TCPIP网络协议栈 传输层(TCP, UDP) 网络层(IP) 数据链路层(Ethernet, …) 物理层 应用层(HTTP, FTP, SMTP, …) Linux kernel User space 网络编程接口 * IP地址和端口 源IP、源端口、目的IP和目的端口 eg. WEB服务器和客户端间的数据传输过程 UDP:用户数据报协议 UDP提供无连接服务 UDP缺乏可靠性支持,应用程序必须实现:确认、超时、重传、流控等 UDP面向记录服务 UDP数据报格式 源端口 目的端口 长度 校验和 数据 0 15 31 #ifdef __FAVOR_BSD struct udphdr { u_int16_t uh_sport; /* source port */ u_int16_t uh_dport; /* destination port */ u_int16_t uh_ulen; /* udp length */ u_int16_t uh_sum; /* udp checksum */ }; #else struct udphdr { u_int16_t source; u_int16_t dest; u_int16_t len; u_int16_t check; }; #endif TCP:传输控制协议 TCP是面向连接的。 TCP提供可靠性,实现了丢失重传。 TCP通过给所发送数据的每一个段管理一个序列号进行排序。 TCP提供流量控制和拥塞控制。 TCP的连接是全双工的。 TCP协议数据段格式 HLEN 窗口 序列号 确认号 源端口 目的端口 保留 码位 校验和 紧急指针 选项 填充字节 数据 U R G A C K P S H R S T S Y N F I N 0 15 31 7 首部 数
文档评论(0)