首页 计算机网络(第4章)课件(7-111-30641-2)

计算机网络(第4章)课件(7-111-30641-2)

举报
开通vip

计算机网络(第4章)课件(7-111-30641-2)null第4章 应用层 第4章 应用层 ISBN 978-7-111-30641-2本章学习内容及要求本章学习内容及要求了解 计算机网络应用需要解决的主要问题 熟悉 常用应用层协议的实现方法,以及P2P的实现方法 掌握 应用层协议设计的基本原理 分析应用协议的基本方法 对域名系统、WWW、FTP、E-mail的协议格式、技术方法要有深刻的理解 4.1 应用层协议原理4.1 应用层协议原理4.1.1 应用层协议及描述 4.1.2 应用层需要的服务 4.1.3 网络应用的计算模式 4.1.4应用层协议与运输协议的关...

计算机网络(第4章)课件(7-111-30641-2)
null第4章 应用层 第4章 应用层 ISBN 978-7-111-30641-2本章学习内容及要求本章学习内容及要求了解 计算机网络应用需要解决的主要问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 熟悉 常用应用层 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 的实现方法,以及P2P的实现方法 掌握 应用层协议设计的基本原理 分析应用协议的基本方法 对域名系统、WWW、FTP、E-mail的协议格式、技术方法要有深刻的理解 4.1 应用层协议原理4.1 应用层协议原理4.1.1 应用层协议及描述 4.1.2 应用层需要的服务 4.1.3 网络应用的计算模式 4.1.4应用层协议与运输协议的关系4.1.1 应用层协议及描述4.1.1 应用层协议及描述应用层协议是人们最先接触的内容 网络应用和应用层协议是两个不同的概念 应用层协议是网络应用的一部分 通信双方在应用层交换的协议数据单元是报文 应用层协议定义了 运行在不同端系统上的应用程序进程互相传递报文的方式 采用客户机/服务器方式 (C/S、B/S) P2P方式应用层协议涉及到的内容应用层协议涉及到的内容交换的报文类型 例如请求报文和响应报文 报文的语法格式 例如报文包含的字段及其字段描述 报文中字段的语义 字段中二进制位组合的含义 各种类型报文发送的先后顺序和 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 例如哪个报文先发送,如何对报文响应。即传输或接收报文时采取的动作 4.1.2 应用层需要的服务 4.1.2 应用层需要的服务 应用层需要的服务包括: 把应用协议数据单元可靠地从一个端系统传输到另一个端系统 这里涉及到应用进程的复用和分解 多个应用可以由不同的进程来标识 在具体实现时,不同的应用进程可以通过下一层运输层的端口号字段来区分 网络应用需要从运输层获得哪些服务,即得到什么样的服务质量 涉及到三个方面的服务质量保证 要求有很低的数据丢失率、足够的带宽和低的延时4.1.3 网络应用的计算模式 4.1.3 网络应用的计算模式 计算机网络中网络应用的计算模式主要有 客户机/服务器(Client/Server)模式 P2P(Peer to Peer)对等模式 应用最多的是客户机/服务器模式4种计算模式特点的比较 4种计算模式特点的比较 4.1.4应用层协议与运输协议的关系 4.1.4应用层协议与运输协议的关系 进程通过运输层的端口区分不同的应用 在具体实现时是通过套接字(Socket)在网络上发送和接收应用报文 套接字 由运输层逻辑地址端口号加上网络层逻辑地址IP地址构成 套接字可以认为是进程的门户 是同一台主机内应用层与运输层之间的接口 应用层协议与低层协议的对应联系 应用层协议与低层协议的对应联系 4.2 域名系统4.2 域名系统4.2.1域名系统概述 4.2.2 域名地址空间结构 4.2.3 DNS域名解析过程 4.2.4 DNS 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 和报文4.2.1域名系统概述4.2.1域名系统概述域名系统给人们使用网络带来了方便 人们采用域名地址来对应IP地址,采用类自然语言的字符串 各字符串之间用点间隔起来,标识一个网络连接,可以实现望文生义 域名是一个层次结构的名字,构成了域名空间,域名在网络中应是惟一的 “域(domain)”是名字空间中一个可被管理的划分 域还可以继续划分为子域 DNS提供的服务 DNS提供的服务 域名系统DNS是TCP/IP协议中制定的层次结构名字管理机制,实现域名地址到IP地址解析的系统称为域名解析系统DNS,用于域名地址与IP地址之间进行解析 即把域名地址解析为对应的IP地址 再把IP地址放入IP数据报分组中,实现在网络中的寻址 DNS采用客户机/服务器服务模式 称为解析器/域名服务器 DNS是一个分布式数据库系统 因特网中有许多处在不同位置上的域名服务器 在DNS系统内 提出解析请求的DNS客户端被称为解析器(resolve) 提供域名解析服务DNS服务器的被称为名称服务器(name server) 顶级域名TLD顶级域名TLD各级域名由其上一级的域名管理机构管理,顶级域名(Top Level Domain, TLD)由ICANN管理。顶级域名有三类: 国家顶级域名nTLD 通用组织顶级域名gTLD 基础结构域名(infrastructure domain),仅有一个.arpa 中国域名的规定 中国域名的规定 中国将二级域名划分为“类别域名”和“行政区域名”两类 ⑴ 类别域名有6个: 科研机构.ac;工商金融企业.com;教育机构.edu;政府机构.gov;互连网络机构;非赢利组织.org ⑵ 行政区域名有34个: 对应各省、直辖市和自治区,由两个字母组成,例如北京.bj,上海sh ,浙江zj,河南ha,湖南hn 二级域名下申请注册三级域名的管理办法是: 在.edu下的申请,由中国教育和科研计算机网络中心负责 其他二级域名下的申请注册由中国互连网络信息中心CNNIC负责 在CNNIC网站上可以查到中国互连网络的各项管理规定和发展情况 4.2.2 域名地址空间结构 4.2.2 域名地址空间结构 通用组织顶级域名及含义 域名地址空间结构 域名地址空间结构 任何连接在因特网上的主机或路由器都有一个惟一的层次结构的域名名字 这里的域是指域名空间中一个可被管理的划分 域可以进一步按层次划分为子域,例如二级域、三级域等,构成域名的分量 对子域划分的层次数没有限制 域名由字符组成 可以是英文字母、数字、汉字,不超过63个字符 并且不区分大小写 级别最底的域名写在最左边,级别最高的顶级域名写在最右边 一个完整的域名长度不超过255个字符 域名地址空间 域名地址空间 域名服务器 域名服务器 根域名服务器在世界范围的分布位置 根域名服务器在世界范围的分布位置 因特网13个根域名服务器的属性 因特网13个根域名服务器的属性 4.2.3 DNS域名解析过程 4.2.3 DNS域名解析过程 域名解析对用户来说是透明的,一开始在本地域名服务器上解析 若本地域名服务器上没有对应的记录,则有本地域名服务器负责向上一级域名服务器申请解析 每一个域名服务器不仅能够进行一些域名地址到IP地址的解析,还要具有连接到其他域名服务器的信息 域名解析过程分为递归查询和重复查询。域名解析过程中涉及到三种域名服务器: 本地域名服务器 根域名服务器 授权域名服务器 域名www.pku.edu.cn解析过程 域名www.pku.edu.cn解析过程 本地域名服务器采用迭代查询 本地域名服务器采用迭代查询 顶级域名服务器 dns.com权限域名服务dns.abc.com本地域名服务器 dns.xyz.com根域名服务器迭代查询m.xyz.com 递归 查询需要查找 h.abc.com 的 IP 地址4.2.4 DNS记录和报文 4.2.4 DNS记录和报文 在DNS分布式数据库中存储有域名地址与IP地址映射的资源记录RR(resource record) 一个记录占一行,一个资源记录包含有4个字段 格式如下:Name, Value, Type, TTL DNS报文DNS报文DNS报文只有查询报文和回答报文,两种报文具有相同的格式,只是在标志字段中用1bit的query/reply标志位标识两种不同的报文 该位若为0为查询报文,若为1为回答报文 4.3 万维网和HTTP4.3 万维网和HTTP4.3.1 万维网概述 4.3.2 超文本标记语言 4.3.3 统一资源定位符 4.3.4 超文本传输协议 4.3.5 Web高速缓存4.3.1 万维网概述4.3.1 万维网概述万维网提供信息浏览,是常用的网络应用之一 包含多种媒体的数据信息就是超文本 有时候也称为超媒体,超媒体是对超文本的扩充 万维网WWW(World Wide Web) 使用超文本传输协议HTTP、超文本传输语言HTML传输和组织信息 用HTML编写的文档称为Web网页,也叫Web文档 一组Web网页组成一个Web点的信息内容 站点的第一个Web网页称为主页(home page) 超文本是由 结点(Node)以及结点之间的超链接(hyperLink)构成的语义网络 Web网页的超链接 Web网页的超链接 超文本系统有统一的用户界面,用户使用该系统查询各种媒体类型(文本、图像、图形、声音)的文件 超文本系统还有跨平台的能力,用户可以在Internet上使用各种不同类型的计算机进行信息查询 万维网的工作过程 万维网的工作过程 因特网服务器 www.pku.edu.cn链接到URL的超链HTTP 使用此 TCP 连接浏览器 程序服务器 程序HTTP客户南京大学4.3.2 超文本标记语言4.3.2 超文本标记语言超文本标记语言HTML是标准通用标记语言SGML的一个应用和发展 SGML的国际标准为ISO 8879 HTML是一种标注语言,用标签符号标记和描述信息的显示格式 超文本链接是用超文本链接标记符/指明的 1990年代以来,又研制了扩展标记语言XML,功能更丰富 超文本标记语言用来限定信息显示的格式,就是设置标记 HTML是一种制作万维网页面的标准语言 在HTML文档中可以包含图像,可以实现超连接设计 可以通过一些脚本语言,例如JavaScipt、VBScript中的控制语句实现各种程序结构设计 动态HTML文档和静态HTML文档主要差别是 文档内容的生成方法不同,是指文档的内容是在浏览器访问服务器时才由应用程序动态创建常用的HTML 标签 常用的HTML 标签 HTML文档的结构 HTML文档的结构 4.3.3 统一资源定位符4.3.3 统一资源定位符统一资源定位符URL(Uniform Resource Locate)是一种统一格式的Internet 信息资源地址的标识方法 URL的位置对应在IE浏览器窗口中的地址栏 URL由4部分组成: 协议://主机:端口/路径 需要 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 的是 URL是不区分大小写的4.3.4 超文本传输协议4.3.4 超文本传输协议HTTP报文有两种: 一种是请求报文,报文由请求行、首部行和实体主体组成,由浏览器发送给服务器;另一种是响应报文,报文由状态行、首部行和实体主体组成,由服务器传送给浏览器 HTTP请求报文的一些方法 HTTP请求报文的一些方法 请求报文的第一行包括3项内容: 方法、请求资源的URL和HTTL的版本号HTTP响应报文的状态码 HTTP响应报文的状态码 响应报文的第一行是状态行,包括3项内容: HTTP的版本 状态码(状态码由三位数字组成,分为5大类33种) 解释短语4.3.5 Web高速缓存 4.3.5 Web高速缓存 Web高速缓存是一种网络实体,也称为代理服务器 Web高速缓存把最近的一些请求和响应暂时保存在本地磁盘中 若有存放请求相同的新请求到达时,Web高速缓存就把对应的暂存的响应发送出去,不用按URL地址再去因特网访问该资源 这样可以减少对客户机请求的响应时间,减少网络中的通信量 Web高速缓存可以在客户或服务器端工作,也可以在中间系统上工作使用高速缓存可减少 访问因特网服务器的时延 使用高速缓存可减少 访问因特网服务器的时延 校园网源点服务器2 Mb/s因特网浏览器R1R2这条链路上 的时延很大没有使用高速缓存的情况使用高速缓存使用高速缓存校园网校园网的高速缓存 (代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(1) 浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文 使用高速缓存使用高速缓存校园网校园网的高速缓存 (代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(2) 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器使用高速缓存使用高速缓存校园网校园网的高速缓存 (代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(3) 否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文使用高速缓存使用高速缓存校园网校园网的高速缓存 (代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(4) 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。使用高速缓存使用高速缓存校园网校园网的高速缓存 (代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(5) 高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器4.4 文件传输协议4.4 文件传输协议4.4.1 FTP概述 4.4.2 FTP工作原理 4.4.3 客户端应用程序 4.4.4 匿名FTP服务 4.4.5 FTP交互工作过程的例子 4.4.6 FTP与HTTP的比较 4.4.7 简单文件传输协议 4.4.1 FTP概述 4.4.1 FTP概述 FTP用于网络文件的下载和上传 文件传输服务利用文件传输协议FTP在Internet中传输文件 是最广泛使用的服务功能之一 FTP提供交互式访问,FTP屏蔽了各计算机系统的细节 适合在异构网络中的计算机之间将文件从一台计算机复制到网络中另一台远地计算机上 FTP允许客户指明所存取文件的类型和格式,设置用户存取文件的权限 FTP服务器与客户机 FTP服务器与客户机 FTP服务采用典型的客户机/服务器工作模式 远端提供FTP服务的计算机称之为FTP服务器 客户机通常是用户自己的计算机 将文件从服务器传到客户机称之为下载文件。 而将文件从客户机传到服务器称之为上载文件 FTP服务是一种实时的联机服务 用户在访问FTP服务器之前必须进行登录 4.4.2 FTP的工作原理 4.4.2 FTP的工作原理 4.4.3 客户端应用程序 4.4.3 客户端应用程序 Internet用户使用的FTP客户端应用程序通常有三种类型: 即传统的FTP命令行 浏览器 FTP下载工具4.4.4 匿名FTP服务 4.4.4 匿名FTP服务 目前大多数提供公共资料的FTP服务器都提供匿名FTP服务 用户可以随时访问这些服务器而不需要预先向服务器申请帐号 当用户访问提供匿名服务的FTP服务器时,用户登录时一般不需要输入帐号和密码或使用匿名帐号和密码 匿名帐户和密码是公开的 为了保证FTP服务器的安全性 几乎所有的FTP匿名服务只允许用户下载文件,不允许用户上载文件 4.4.5 FTP交互工作过程的例子 4.4.5 FTP交互工作过程的例子 FTP采用交互工作方式,下面是一个通过远地网络信息中心NIC上FTP服务获得RFC 2161文档的例子,是在客户端显示的内容 例子中加粗字体是用户输入的内容,内容输入完毕后需要按回车键结束。用户名是使用匿名 例子行中的3位数字为FTP运行的状态码。为方便对屏幕显示内容解释说明,在显示行的左面加上编号[01]—[15] 4.4.6 FTP与HTTP的比较 4.4.6 FTP与HTTP的比较 HTTP协议和FTP协议都是文件传输协议 使用的运输层协议都是TCP 两个协议的主要差别是 FTP使用两个并行的TCP连接,控制连接用于在客户和服务器之间传输控制信息 FTP的控制信息是属于带外传送的 HTTP属于带内传输控制信息4.4.7 简单文件传输协议4.4.7 简单文件传输协议简单文件传送协议TFTP是TCP/IP协议簇中很容易实现的文件传送协议 TFTP软件代码占的容量很小 只有简单的命令集 也是采用客户/服务器模式 与FTP不同的是 TFTP使用运输层协议UDP,不支持交互 TFTP操作过程中不需要用户名和密码 不能对用户进行身份鉴别,不提供安全服务,需要有自己的差错纠正措施 4.5 电子邮件4.5 电子邮件4.5.1 电子邮件概述 4.5.2 电子邮件协议 4.5.3 电子邮件报文格式 4.5.4 SMTP的工作过程 4.5.5 POP3的工作过程 4.5.6 通用Internet邮件扩展协议 4.5.7 SMTP与HTTP的比较4.5.1 电子邮件概述4.5.1 电子邮件概述电子邮件的快捷和方便是传统邮件不可比拟的 一个电子邮件系统的构成包括: 电子邮件协议 用户代理 电子邮件服务器 电子邮件服务采用客户/服务器模式。 电子邮件服务使用的运输层协议是TCP 电子邮件系统的组成 电子邮件系统的组成 4.5.2 电子邮件协议 4.5.2 电子邮件协议 电子邮件协议具有两项基本功能: 创建和发送邮件 接收、阅读和管理邮件 电子邮件协议所具有的附加功能包括 通信薄管理、收件箱管理、帐号管理等 用户代理在向邮件服务器传送邮件时使用 简单邮件传输协议SMTP 邮件服务器之间采用 SMTP协议 用户代理从邮件服务器的信箱中读取邮件时使用 POP3或IMAP协议 这取决于邮件服务器支持哪一种协议 4.5.3 电子邮件报文格式4.5.3 电子邮件报文格式电子邮件由两部分组成: 邮件首部(Mail Header) 邮件主体(Mail Body) RFC 822规定了电子邮件的首部格式,邮件主体由用户自由撰写邮件首部包括的一些字段 邮件首部包括的一些字段 邮件首部由多项内容构成,其中发件人地址、邮件发送的日期和时间等是由电子邮件应用程序根据系统设置自动产生的,而收件人地址、抄送人地址、邮件主题等是根据用户在创建邮件时输人的信息产生的4.5.4 SMTP的工作过程 4.5.4 SMTP的工作过程 发送方和接收方邮件服务器之间通信包括3个阶段: 连接建立 邮件传输 连接释放 这里把发送方邮件服务器称为本地邮件服务器,或称为SMTP客户 把接收方邮件服务器称为远地邮件服务器,或称为SMTP服务器 交互过程中采用TCP连接 电子邮件传输中的客户机和服务器 电子邮件传输中的客户机和服务器 4.5.5 POP3的工作过程4.5.5 POP3的工作过程邮件接收方通过POP3协议读取电子邮件包括三个步骤: 特许,用户代理输入用户名和口令,获得读取邮件的许可 事务处理,用户读取邮件报文,并对邮件进行处理 更新,在用户退出之后,邮件服务器删除做过删除标记的邮件报文 POP协议会话过程 POP协议会话过程 4.5.6 通用Internet邮件扩展协议 4.5.6 通用Internet邮件扩展协议 1993年推出通用因特网扩展MIME协议,MIME协议在其首部说明了邮件数据的数据类型,类型包括: 文本、声音、图像和视频等 1996修订后成为因特网的草案标准RFC2045—RFC2049 MIME的意图是继续使用SMTP的RFC 822的格式 MIME内容类型及子类型 MIME内容类型及子类型 4.5.7 SMTP与HTTP的比较 4.5.7 SMTP与HTTP的比较 HTTP是一个拉协议 用户使用TCP协议发起向Web服务器的连接,使用HTTP协议从Web服务器拉取信息 SMTP主要是一个推协议 发送邮件服务器发起TCP连接,把邮件推向接收邮件服务器 SMTP要求邮件使用7位ASCII码格式,对非ASCII码数据必须按照规则进行编码,再发送编码后的ASCII码。而HTTP数据没有这个问题 对于处理即包含文本,又包含其他媒体类型的文档 HTTP把每个对象封装在自己的响应报文中 SMTP把所有报文对象放在一个报文中 4.6 对等网络4.6 对等网络4.6.1 P2P概述 4.6.2 P2P网络的结构 4.6.3 P2P网络和C/S网络的比较4.6.1 P2P概述4.6.1 P2P概述P2P技术是网络应用中的一场革命 P2P网络环境中的计算机都处于对等的地位 P2P技术将导致信息数据成本资源向所有用户的计算机均匀分布,即呈现“边缘化”趋势 P2P技术的发展可以追溯到1979年出现的分布式信息交换系统USENET(新闻组) P2P作为一种网络应用软件架构,可以开发出种类繁多的应用模式 4.6.2 P2P网络的结构 4.6.2 P2P网络的结构 集中式P2P网络 集中式P2P网络在组成结构上有一个中心服务器 分布式非结构化P2P网络 分布式非结构化P2P网络 分布式非结构化拓扑的P2P网络采用了随机图的组织方式来构成一个松散的网络 Gnutella是分布式非结构化P2P网络的典型代表 混合式P2P网络 混合式P2P网络 混合式P2P网络总共包含3种节点: 用户节点;搜索节点;索引节点 4.6.3 P2P网络和C/S网络的比较 4.6.3 P2P网络和C/S网络的比较 P2P网络中弱化了服务器的功能 节点所有者可以随意地将自己的信息发布到网上 P2P的优点是 对等点越多,网络的性能就越好 P2P的不足之处就在于 不易管理,网络中数据的安全性难以保证 P2P网络与C/S网络的性能比较 P2P网络与C/S网络的性能比较 4.7 客户机/服务器应用编程4.7 客户机/服务器应用编程4.7.1 网络应用编程概述 4.7.2 TCP套接字应用编程 4.7.3 UDP套接字应用编程4.7.1 网络应用编程概述4.7.1 网络应用编程概述网络应用编程涉及到算法语言的应用 客户机/服务器应用程序有两类 一是遵循RFC技术文档所定义的标准协议的开放应用 另一类客户机/服务器应用程序是专用的,可以不遵循RFC技术文档所定义的规则 网络应用程序的核心是由客户机程序和服务器程序组成的 在具体编程时 可以使用TCP协议,采用面向连接的数据流(SOCK_DGRAMSTREAM)传输服务 也可以使用UDP协议,采用无连接的数据报(SOCK_DGRAM)传输服务 选择Java语言编写TCP和UDP程序 选择Java语言编写TCP和UDP程序 用Java语言写的程序清晰简洁、代码量少 可以从SUN公司的网站http://java.sun.com免费下载Java程序开发环境 设置环境变量Path的方法 4.7.2 TCP套接字应用编程 4.7.2 TCP套接字应用编程 客户机/服务器编程示例 客户机/服务器编程示例 TCPClient.java源代码及分析 TCPClient.java源代码及分析 [01] import java.io.*; [02] import java.net.*; [03] class TCPClient { [04] public static void main(String argv[]) throws Exception { [05] String sentence; [06] String modifiedSentence; [07] BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); [08] Socket clientSocket = new Socket("hostname", 6789); [09] DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); [10] BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); [11] sentence = inFromUser.readLine(); [12] outToServer.writeBytes(sentence + '\n'); [13] modifiedSentence = inFromServer.readLine(); [14] System.out.println("FROM SERVER: " + modifiedSentence); [15] clientSocket.close(); } } TCPServer.java源代码及分析 TCPServer.java源代码及分析 [01] import java.io.*; [02] import java.net.*; [03] class TCPServer { [04] public static void main(String argv[]) throws Exception { [05] String clientSentence; [06] String capitalizedSentence; [07] ServerSocket welcomeSocket = new ServerSocket(6789); [08] while(true) { [09] Socket connectionSocket = welcomeSocket.accept(); [10] BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); [11] DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); [12] clientSentence = inFromClient.readLine(); [13] capitalizedSentence = clientSentence.toUpperCase() + '\n'; [14] outToClient.writeBytes(capitalizedSentence); } } } 无连接的客户机/服务器的运输服务过程 无连接的客户机/服务器的运输服务过程 UDPClient.java源代码及分析 UDPClient.java源代码及分析 [01] import java.io.*; [02] import java.net.*; [03] class UDPClient { [04] public static void main(String args[]) throws Exception { [05] BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); [06] DatagramSocket clientSocket = new DatagramSocket(); [07] InetAddress IPAddress = InetAddress.getByName("hostname"); [08] byte[] sendData = new byte[1024]; [09] byte[] receiveData = new byte[1024]; [10] String sentence = inFromUser.readLine(); [11] sendData = sentence.getBytes(); [12] DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); [13] clientSocket.send(sendPacket); [14] DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); [15] clientSocket.receive(receivePacket); [16] String modifiedSentence = new String(receivePacket.getData()); [17] System.out.println("FROM SERVER:" + modifiedSentence); [18] clientSocket.close(); } } UDPServer.java源代码及分析 UDPServer.java源代码及分析 [01] import java.io.*; [02] import java.net.*; [03] class UDPServer { [04] public static void main(String args[]) throws Exception { [05] DatagramSocket serverSocket = new DatagramSocket(9876); [06] while(true) { [07] byte[] receiveData = new byte[1024]; [08] byte[] sendData = new byte[1024]; [09] DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); [10] serverSocket.receive(receivePacket); [11] String sentence = new String(receivePacket.getData()); [12] InetAddress IPAddress = receivePacket.getAddress(); [13] int port = receivePacket.getPort(); [14] String capitalizedSentence = sentence.toUpperCase(); [15] sendData = capitalizedSentence.getBytes(); [16] DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); [17] serverSocket.send(sendPacket); } } } 4.8 小结4.8 小结讨论了应用层所处的位置,应用服务采用的B/S模式,P2P模式,以及常用的应用层协议 DNS(Domain Name System)是TCP/IP协议中制定的层次结构名字管理机制,实现域名地址到IP地址解析的系统称为域名解析系统DNS,用于域名地址与IP地址之间进行解析 WWW使用超文本传输协议HTTP、超文本传输语言HTML传输和组织信息 FTP使用运输层协议TCP,FTP使用客户机/服务器模式,FTP采用交互式地工作方式 一个电子邮件系统的构成包括: 电子邮件协议,用户代理、电子邮件服务器 P2P实现方法 网络应用编程方法
本文档为【计算机网络(第4章)课件(7-111-30641-2)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_804452
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2013-05-10
浏览量:6