ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:560.04KB ,
资源ID:12585240      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12585240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络编程.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络编程.docx

1、网络编程 网络编程相关1网络应用进程在网络体系结构中的位置 从计算机网络体系结构的角度来看,网络应用进程处于网络层次结构的最上层。 从功能上,可以将网络应用程序分为两部分,一部分是专门负责网络通信的模块,它们与网络协议栈相连接,借助网络协议栈提供的服务完成网络上数据信息的交换。另一部分是面向用户或者作其他处理的模块,它们接收用户的命令,或者对借助网络传输过来的数据进行加工,这两部分模块相互配合,来实现网络应用程序的功能。 UDP与TCP的报文格式2.端口号的分配机制 TCP/IP协议采用了全局分配(静态分配)和本地分配(动态分配)相结合的分配方法。对于TCP,或者UDP,将它们的全部65535

2、个端口号分为保留端口号和自由端口号两部分。 保留端口的范围是01023,又称为众所周知的端口或熟知端口(well-known port),只占少数,采用全局分配或集中控制的方式,由一个公认的中央机构根据需要进行统一分配,静态地分配给因特网上著名的众所周知的服务器进程,并将结果公布于众。 总之,TCP或UDP端口的分配规则是:端口0:不使用,或者作为特殊的使用;端口1-255:保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务;端口256-1023:保留给其他的服务,如路由;端口1024-4999:可以用作任意客户的端口;端口5000-65535:可以用作用户的服

3、务器端口。3进程的网络地址的概念 在因特网络中,用一个三元组可以在全局中唯一地标识一个应用层进程: 应用层进程地址=(传输层协议,主机的IP地址,传输层的端口号) 这样一个三元组,叫做一个半相关(half-association),它标识了因特网中,进程间通信的一个端点,也把它称为进程的网络地址。 一个完整的网间通信需要一个五元组在全局中唯一地来标识:(传输层协议,本地机IP地址,本地机传输层端口,远地机IP地址,远地机传输层端口)这个五元组称为一个全相关(association)。即两个协议相同的半相关才能组合成一个合适的全相关,或完全指定一对网间通信的进程。 4.网络协议的特征1)面向消息

4、的协议 面向消息的协议以消息为单位在网上传送数据,在发送端,消息一条一条地发送,在接收端,也只能一条一条地接收,每一条消息是独立的,消息之间存在着边界。 2)基于流的协议基于流的协议不保护消息边界,将数据当作字节流连续地传输,不管实际消息边界是否存在。5.传输层的用户数据报协议(User Datagram Protocol,UDP)是一种尽力传送的无连接的不保障可靠的传输服务,是一种保护消息边界的数据的传输。 6.传输控制协议 (Transmission Control Protocol,TCP)应用层进程提供一个面向连接的、端到端的、完全可靠的(无差错、无丢失、无重复或失序)全双工的流传输服

5、务。 TCP被称作一种端对端(end to end)协议,这是因为它提供一个直接从一台计算机上的应用进程到另一远程计算机上的应用进程的连接。应用进程能请求TCP构造一个连接,通过这个连接发送和接收数据,以及关闭连接。由TCP提供的连接叫做虚连接(virtual connection),虚连接是由软件实现的。事实上,底层的因特网系统并不对连接提供硬件或软件支持,只是两台机器上的TCP软件模块通过交换消息来实现连接的幻象。 三次握手 为确保连接的建立和终止都是可靠的,TCP使用三次握手(3-way handshake)的方式来建立连接 7.C/S模式通信程序 C/S模式过程中服务器处于被动服务的地

6、位。首先服务器方要先启动,并根据客户请求提供相应服务,服务器的工作过程是:1)打开一通信通道,并告知服务器所在的主机,它愿意在某一公认的地址上(熟知知端口,如FTP为21)接收客户请求。2)等待客户的请求到达该端口。 3)服务器接收到服务请求,处理该请求并发送应答信号。为了能并发地接收多个客户的服务请求,要激活一个新进程或新线程来处理这个客户请求(如UNIX系统中用fork、exec)。服务完成后,关闭此新进程与客户的通信链路,并终止。4)返回第二步,等待并处理另一客户请求。5)在特定的情况下,关闭服务器。 客户方采取的是主动请求方式,其工作过程是:1)打开一通信通道,并连接到服务器所在主机的

7、特定监听端口。2)向服务器发送请求报文,等待并接收应答;继续提出请求,与服务器的会话按照应用协议进行。3)请求结束后,关闭通信通道并终止。8.关于几个概念9. 沙漏计时器形状的TCP/IP协议族 10. 应用进程、套接口、网络协议栈及操作系统的关系 11.三种表示套接字地址的结构1)sockaddr结构,针对各种通信域的套接字,存储它们的地址信息。struct sockaddr unsigned short sa_family; / 地址家族char sa_data; / 协议地址 ;2)sockaddr_in结构,专门针对Internet通信域,存储套接字相关的网络地址信息,例如IP地址,传

8、输层端口号等信息。struct sockaddr_in short int sin_family; / 地址家族unsigned short int sin_port; / 端口号struct in_addr sin_addr; / IP 地址unsigned char sin_zero8; / 全为0 ;3)in_addr结构,专门用来存储 IP地址。sruct in_addr usigned long s_addrl;4)这些数据结构的一般用法:首先,定义一个Sockaddr_in的结构实例,并将它清零。比如:struct sockaddr_in myad;memset(&myad,0,s

9、izeof(struct sockaddr_in); 然后,为这个结构赋值,比如:myad.sin_family=AF_INET; myad.sin_port=htons(8080); myad.sin_addr.s_addr=htonl(INADDR-ANY);第三步:在函数调用中使用时,将这个结构强制转换为sockaddr类型。比如:accept(listenfd,(sockaddr*)(&myad),&addrlen);12. TCP C/S模型13.无连接的套接字编程A. 对等模式B. 客户/服务器模式 计算机网络基础知识一、物理层物理层的主要任务描述为确定与传输媒体的接口的一些特性,

10、即:机械特性、电气特性、功能特性、过程特性 二、数据链路层 1. 数据链路层使用的信道主要有以下两种类型:点对点信道、广播信道。2. 数据链路层的任务:1) 封装成帧(framing):在数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。2) 透明传输3) 差错控制:广泛使用了循环冗余检验 CRC 的检错技术3. 数据链路层的协议:a. PPP协议a.1 有三个组成部分 一个将 IP 数据报封装到串行链路的方法。链路控制协议 LCP (Link Control Protocol)。网络控制协议 NCP (Network Control Protocol)。 a.2 PPP 是面向

11、字节的,所有的 PPP 帧的长度都是整数字节。b. 载波监听多点接入/碰撞检测CSMA/CD 协议 “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。 “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。 “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”

12、。4. 以太网的两个标准 DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。IEEE 的 802.3 标准。DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网 5. 适配器 网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。 适配器的重要功能:进行串行/并行转换。对数据进行缓存。在计算机的操作系统安装设备驱动程序。实现以太网协议6.

13、以太网发送的数据都使用曼彻斯特(Manchester)编码 7. 集线器工作在物理层,网桥工作在数据链路层,交换机工作在数据链路层,以太网交换机实质上就是一个多接口的网桥。 网桥根据 MAC 帧的目的地址对收到的帧进行转发。 网桥具有过滤帧的功能。8. MAC 地址“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。9. 最常用的 MAC 帧是以太网 V2 的格式。10. 在物理层扩展以太网使用集线器,在数据链路层扩展局域网是使用网桥三、网络层1. 网络层的任务:(1)负责为分组交换网上的不同主机提供通信服务(2)路由选择,转发分组。2. IP协议网际协议 IP 是 TCP/IP 体

14、系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议: 地址解析协议 ARP(Address Resolution Protocol): IP地址 MAC地址 逆地址解析协议 RARP(Reverse Address Resolution Protocol):MAC地址 IP地址 网际控制报文协议 ICMP(Internet Control Message Protocol) 网际组管理协议 IGMP(Internet Group Management Protocol)3. 中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。 数据链路层中

15、继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络层以上的中继系统:网关(gateway)。 4. 分类IP地址Net host 可用IPA: 0 + 7位 24位 1.0.0.0 126.255.255.255B: 10+14位 16位 128.1.0.0 191.255.255.255C: 110+21位 8位 192.0.1.0 233.255.255.255D: 1110 多播地址 E: 1111 保留5. IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成。 首部的前一部分是固定长度,共

16、20 字节,是所有 IP 数据报必须具有的。 在首部的固定部分的后面是一些可选字段,其长度是可变的。 5. 划分子网当没有划分子网时,IP 地址是两级结构。划分子网后 IP 地址就变成了三级结构。划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。6. 子网掩码从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。 7. 路由选择协议 内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统

17、内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。 OSPF 使用的是可靠的洪泛法. 外部网关协议EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。 8. 网关的作用:通过它可以访问外网。网关实质上是一个网络通向其他网络的IP地址。从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这

18、道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。四、传输层1. 传输层任务:负责向两个主机中进程之间的通信提供可靠地端到端服务。但网络层是为主机之间提供逻辑通信。2. 虚电路服务与数据报服务的对比对比的方面虚电路服务数据报服务思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证连接的建立必须有不需要终点地址仅在连接建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会

19、发生变化分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责3. TCP与UDP UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。 TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 运输层的 UDP 用户数据报与网际层的IP数据报有很大区

20、别。IP 数据报要经过互连网中许多路由器的存储转发,但 UDP 用户数据报是在运输层的端到端抽象的逻辑信道中传送的。 TCP 报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建立了 TCP 连接。 4. 用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。 5. 可靠传输-停止等待协议、自动重传请求协议6. TCP 可靠传输的实现-以字节为单位的滑动窗口7. TCP 的流量控制-利用滑动窗口实现流量控制8. 拥塞控制8.1.

21、 出现资源拥塞的条件: 对资源需求的总和 可用资源 8.2. 拥塞控制方法:慢开始和拥塞避免、快重传和快恢复五、应用层1 FTP 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。 FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。 FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。主进程的工作步骤如下: 打开熟知端口(端口号为 21),使客户进程能够连接上。 等待客户进程发出连接请求。 启动从属进程来处理

22、客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。 FTP使用两个TCP连接: 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并

23、结束运行。 FTP使用两个不同的端口号: 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。 接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。 由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。2. 简单文件传送协议 TFTP TFTP 是一个很小且易于实现的文件传送协议。 TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。 TFTP 只支持文件传输而不支持交互。 TFTP 没有一个庞大

24、的命令集,没有列目录的功能,也不能对用户进行身份鉴别。 3. 远程终端协议 TELNET TELNET 是一个简单的远程终端协议,也是因特网的正式标准。 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。 TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。 TELNET 也使用客户服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。 和 FTP 的情况相似,服务器

25、中的主进程等待新的请求,并产生从属进程来处理每一个连接。 4. 万维网 万维网以客户服务器方式工作。 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。 在一个客户程序主窗口上显示出的万维网文档称为页面(page)。5. 万维网的工作过程用户点击鼠标后所发生的事件:(1) 浏览器分析超链指向页面的 URL。(2) 浏览器向 DNS 请求解析 的 IP 地址。(3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。(4) 浏览器与服务器建立 TC

26、P 连接(5) 浏览器发出取文件命令:GET /chn/yxsz/index.htm。(6) 服务器给出响应,把文件 index.htm 发给浏览器。(7) TCP 连接释放。(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。6. URL7. Http7.1 HTTP是一个应用层协议,它使用 TCP 连接进行可靠的传送。 HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。 7.2 HTTP的流程1.打开HTTP连接。一定要记住HTTP是一种无状态协议。正因为

27、如此,对于每一个请求你都要建立一个新的连接。 2.初始化方法请求。这里面将包含一些类型的方法指示符用来描述调用什么方法和方法所需要的参数。 3.设置HTTP请求头。这里面包含要传送的数据类型(二进制)和数据的总长。 4.发送请求。将二进制流写到服务器。 5.读取请求。目标servlet程序将被调用并接受HTTP请求数据。servlet程序就调用所有必要的参数选择相应的方法。注意,如果这是这个客户端的第一次请求,一个服务器对象的新的实例就会被创建。 6.调用方法。方法将会被服务器端的对象调用。 7.初始化方法响应。如果调用的方法抛出一个异常,客户将接收到出错信息。否则,返回的类型(如果有)将会被

28、发送。 8.设置HTTP响应头。在响应头中,一定会设置待发送数据的类型和长度。 9.发送响应。二进制数据流将从Web服务器发送并返回给客户端。 10.关闭连接。8. 浏览器的主要组成部分 浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。 控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。 例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档。 9. SMTPSMTP 通信的三个阶段:1). 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 S

29、MTP 服务器之间建立的。SMTP不使用中间的邮件服务器。 2). 邮件传送3). 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。 10. 简单网络管理协议 SNMP 网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。 网络管理并不是指对网络进行行政上的管理。六、网络安全1. 恶意程序(rogue program) (1) 计算机病毒会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制进去完成的。(2) 计算机蠕虫通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。(3) 特洛伊木马一种程序,它执行的功能超出所声称的功能。(4) 逻辑炸弹一种当运行环境满足某种特定条件时执行其他特殊功能的程序。 2. 防火墙防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。防火墙内的网络称为“可信赖的网络”(trusted network),而将外部的因特网称为“不可信赖的网络”(untrusted network)。防火墙可用来解决内联网和外联网的安全问题。 计算机网络部分余永涛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1