网络编程第1章.pptVIP

  • 13
  • 0
  • 约1.13万字
  • 约 77页
  • 2017-06-08 发布于湖北
  • 举报
网络编程第1章

网络编程基础 (A) 山东理工大学·理学院 殷 超 2001vb@163.com 网络编程    通过使用套接字来达到进程间通信目的编程就是网络编程。windows提供的基于网络编程的是套接字也就是winsock。    网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用,编程人员可以不用考虑……    网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的!中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理!    第1章 网络编程基础 本章介绍网络编程相关的基本概念,包括 进程通信的概念 因特网中网间进程的标识方法 网络协议的特征 TCP/IP中用户数据报协议UDP和传输控制协议TCP的特点 目前的网络编程现状 网络应用程序的客户/服务器交互模式 1.1 网络编程相关的基本概念 1.1.1 网络编程与进程通信 1.进程与线程的基本概念 进程是处于运行过程中的程序实例,是操作系统调度和分配资源的基本单位。 一个进程实体由程序代码、数据和进程控制块三部分构成。 各种计算机应用程序在运行时,都以进程的形式存在。网络应用程序也不例外。 网络应用程序最终要实现网络资源的共享,共享的基础就是必须能够通过网络轻松地传递各种信息。 网络编程首先要解决网间进程通信的问题。然后才能在通信的基础上开发各种应用功能。 1.1.2 因特网中网间进程的标识 OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 2.端口的概念 端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口 类似于文件描述符,每个端口都拥有一个叫作端口号(port number)的整数型标识符 我们可以描述一下,在这样的端口分配机制下,客户进程C与服务器进程S第一次通信的情景。图1.5表示了客户与服务器第一次通信的情况。 1.1.3 网络协议的特征 1.1.5 可靠的传输控制协议TCP 1.可靠性是很多应用的基础 2.TCP为应用层提供的服务 传输控制协议 (Transmission Control Protocol,TCP)应用层进程提供一个面向连接的、端到端的、完全可靠的(无差错、无丢失、无重复或失序)全双工的流传输服务。 全双工是通讯传输的一个术语   单工就是在同一时间只允许一方向另一方传送信息,而另一方不能向一方传送   全双工(Full Duplex)是 在微处理器与外围设备之间采用发送线和接受线各自独立的方法,可以使数据在两个方向上同时进行传送操作。指在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的网卡一般都支持全双工。   半双工(Half Duplex),所谓半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机是基于半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。 TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 SYN同步标志 ACK确认 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(连接已建立的)状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据. 1.2 三类网络编程 1.2.2 基于WWW应用的网络编程 WWW应用是因特网上最广泛的应用,称为万维网 基于WWW应用的网络编程技术,包括所见即所得的网页制作工具,和动态服务器页面的制作技术。 如:Front

文档评论(0)

1亿VIP精品文档

相关文档