网站搭建公司排行榜,辽宁省建设监理协会网站,做儿童方面的网站,构建网站需要会什么应用层原理
创建一个新的网络
编程
在不同的端系统上运行通过网络基础设施提供的服务#xff0c;应用进程批次通信如Web Web服务器软件与浏览器软件通信
网络核心中没有应用层软件
网络核心没有应用层功能网络应用只能在端系统上存在 快速网络应用开发和部署
网络应用…应用层原理
创建一个新的网络
编程
在不同的端系统上运行通过网络基础设施提供的服务应用进程批次通信如Web Web服务器软件与浏览器软件通信
网络核心中没有应用层软件
网络核心没有应用层功能网络应用只能在端系统上存在 快速网络应用开发和部署
网络应用的体系架构
可能的应用架构
客户-服务器模式C/S对等模式P2P混合体客户-服务器和对等体系结构
客户-服务器C/S体系结构
服务器 一直运行固定的IP和周知的端口号约定扩展性服务器场 数据中心进行拓展拓展性差 客户端 主动与服务器通信与互连网有间歇性的连接可能是动态IP地址不直接与其他客户端通信 缺点 可拓展性差达到一定能限性能暴跌可靠性差 对等体P2P体系结构
几乎没有一直运行的服务器任意端系统之间可以进行通信每一个节点既是客户端又是服务器 自拓展性-新peer节点带来新的服务能力当然也带来新的服务请求 参与的主机间歇性连接且可以改变IP地址 难以管理
C/S和P2P体系结构的混合体
Napster
文件搜索集中 主机在中心服务器上注册其资源主机向中心服务器铲鲟资源位置 文件传输P2P 任意Peer节点之间
即时通信
在线检测集中 当用户上线时向中心服务器注册其IP地址用户与中心服务器联系以找到其在线好友的位置 两个用户之间聊天P2P
进程通信
进程在主机上运行的应用程序
在同一个主机内使用进程间通信机制通信操作系统定义不同主机通过交换报文来通信 使用OS提供的通信服务按照应用协议交换报文 借助传输层提供的服务 注意P2P架构的应用也有客户端进程和服务器进程之分
客户端进程发起通信的进程
服务器进程等待连接的进程
分布式进程通信需要解决的问题 问题1进程标示和寻址问题服务用户问题2传输层-应用层提供服务是如何服务 位置层间界面的SAPTCP/IP:socket形式应用程序接口APITCP/IP:socke API 问题3如何使用传输层提供的服务实现应用进程之间的报文交换实现应用用户使用服务 定义应用层协议报文格式、解释、时序等编制程序使用OS提供的API调用网络基础设施提供通信服务传报文实现应用时序等
问题1对进程进行编址
进程为了接收报文必须有一个标识即SAP发送也需要标识 主机唯一的32位IP地址 仅仅有IP地址不能够唯一标示一个进程在一台端系统上有很多应用进程在运行 所采用的传输层协议TCP or UDP端口号 一些知名端口号例子 HTTP:TCP 80 Mail:TCP25 ftp:TCP 2 一个进程用IP port标示端节点本质上一对主机进程之间的通信由 2 个端节点构成
问题2传输层提供的服务-需要穿过层间的信息
层间接口必须要携带的信息 要传输的报文对于本层来说SDU谁传的对方的应用进程的标示IP TCP(UDP) 端口传给谁对方的应用进程的标示对方的IP TCP(UDP) 端口号 传输层实体tcp或者udp实体根据这些信息进行TCP报文段UDP数据报的封装 源端口号目标端口号数据等将IP地址往下交IP实体用于封装IP数据报源IP目标IP
问题2传输层提供的服务-层间信息的代表
如果Socket API每次传输报文都携带如此多的信息太繁琐易错不便于管理用个代号标示通信的双方或者单方socket就像OS打开文件返回的句柄一样 对句柄的操作就是对文件的操作 TCP socket: TCP服务两个进程之间的通信需要之前要建立连接 两个进程通信会持续一段时间通信关系稳定 可以用一个整数标示两个应用实体之间的通信关系本地标示穿过层间接口的信息量最小TCP socket源IP源端口目标IP目标端口
TCP之上的套接字socket
对于使用面向连接服务TCP的应用而言套接字是 4 元组的一个具有本地意义的标示 4 元组源IP、源port、目标IP、目标port唯一的指定了一个会话 2 个进程之间的会话关系应用使用这个标示与远程的应用进程通信不必在每一个报文的发送都要指定这 4 元组就像使用操作系统打开一个文件OS返回一个文件句柄一样以后使用这个文件句柄而不是使用这个文件的目录名、文件名简单、便于管理
TCP socket 问题2传输层提供的服务-层间信息代码
UDP socket: UDP服务两个进程之间的通信需要之前无需建立连接 每个报文都是独立传输的前后报文可能给不同的分布式进程 因此只能用一个整数表示本应用实体的标示 因为这个报文可能传给另一个分布式进程 穿过层间接口的信息大小最小UDP socket本IP本端口但是传输报文时必须要提供对方IPport 接收报文时传输层需要上传对方的IPport
UDP之上的套接字socket
对于使用无连接服务UDP的应用而言套接字是2元组的一个具有本地意义的标示 2 元组IP、port源端指定UDP套接字指定了应用所在的一个端节点end point在发送数据时采用创建好的本地套接字标示ID就不必在发送每个报文中指明自己所采用的ip和port但是在发送报文时必须要指定对方的ip和udpport另外一个端节点
套接字(Socket)
进程向套接字发送报文或从套接字接收报文套接字-门户 发送进程将报文推出门户发送进程依赖于传输层设施另外一侧的门将报文交付给接受进程接收进程从另外一端的门户收到报文依赖于传输层设施
问题3如何使用传输层提供的服务实现应用
定义应用层协议、报文格式、解释、时序等编制程序通过API调用网络基础设施提供通信服务传报文解析报文实现应用时序等
应用层协议
定义了运行在不同端系统上的应用进程如何相互交换报文 交换的报文类型请求和应答报文各种报文类型的语法:报文中的各个字段及其描述字段的语义即字段取值的含义进程何时如何发送报文及对报文进行响应的/font colorred规则 应用协议仅仅是应用的一个组成部分 Web应用HTTP协议、web客户端、web服务器、HTML
公开协议:
由RFC文档定义允许互操作如HTTP、SMTP
专有私有协议
协议不公开如Skype
应用需要传输层提供什么样的服务
数据丢失率
有些应用则要求100%的可靠数据传输有些应用能容忍一定比例以下的数据丢失
延迟
一些应用出于有效性考虑对数据传输有严格的时间限制 Internet电话、交互式游戏延迟延迟差
吞吐
一些应用必须需要最小限度的吞吐从而使得应用能够有效运转一些应用能充分利用可供使用的吞吐弹性应用
安全性
机密性完整性可认证性鉴别
常见应用对传输服务的要求
应用数据丢失率吞吐时间敏感性文件传输不能丢失弹性不e-mail不能丢失弹性不Web文档不嫩柜式弹性不实时音视频容忍丢失音频5kbps-1Mbps视频100kbps-5Mbps是100ms存储音视频容忍丢失同上是几秒交互式游戏容忍丢失kbps-10kbps是100ms即时讯息不能丢失弹性是和不是
Internet传输层提供的服务
TCP服务
可靠的传输服务流量控制发送方不会淹没接受方拥塞控制当网络出现拥塞时最小吞吐保证和安全面向连接要求客户端进程和服务器进程之间建立连接
UDP服务
不可靠数据传输不提供的服务可靠、流量控制、拥塞控制、时间、带宽控制、建立连接
UDP存在的必要性
能够区分不同的进程而IP服务不能 在IP提供的主机到主机端到端功能的基础上区分了主机的应用进程 无需建立连接省去了建立连接的时间适合事务性的应用不做可靠性的工作例如检错重发适合那些对实时性要求比较高而对正确性要求不告而应用 因为为了实现可靠性准确性、保存等必须付出时间代价检错重发 没有拥塞控制和流量控制应用能够按照设定的速度发送数据 而在TCP上面的应用应用发送数据的速度和主机向网络发送的实际速度是不一致的因为有流量控制和拥塞控制
Internet应用及其应用层协议和传输协议
应用应用层协议下层传输的协议e-mailSMTP[RFC 2821]TCP远程终端访问Telent[RFC 854]TCPWebHTTP[RFC 2616]TCP文件传输FTP[RFC 959]TCP流媒体专用协议TCP或UDPInternet电话专用协议TCP或UDP
安全TCP
TCP UDP
都没有加密明文通过互联网传输甚至密码
SSL
在TCP上面实现提供加密的TCP连接私密性数据完整性端到端的鉴别
SSL在应用层
应用采用SSL库SSL库使用TCP通信
SSL socket API
应用通过API将明文交给socketSSL将其加密在互联网上传输