【计算机网络原理】第二章:网络应用

本章重难点分析

1.理解网络应用体系结构、特点以及网络应用通信基本原理。

2.理解网络应用层协议以及传输层协议的关系。

3.掌握域名结构以及域名解析过程。

4.掌握web应用及HTTP、电子邮件应用及SMTP、POP、FTP。

5.理解P2P应用及P2P实现文件分发的优势。

6.掌握Socket编程技术。

C/S P2P 混合结构 域名系统 层次化域名空间 域名服务器 域名解析 WWW HTTP Cookie 电子邮件结构(SMTP POP3 IMAP )Socket编程

第一节:计算机网络应用体系结构

计算机网络应用是运行在计算机网络环境下的分布式软件系统。

知识点1:客户/服务器(C/S)结构

1、客户/服务器(C/S)结构的网络应用:

最典型、最基本的网络应用。

网络应用通信的双方分为服务器程序客户程序

例如: www应用;文件传输FTP;电子邮件

2、客户/服务器(C/S)结构的特征:

1)通信只在客户和服务器之间进行,用户与用户之间不进行直接通信。

2)主动发起通信的一方是客户程序,被动接受通信的一方是服务器。

3)服务器程序先运行,做好接受通信的准备。

知识点2:纯P2P结构网络应用

1、 P2P (Peer to Peer):通信双方没有传统意义上的客户服务器之分,

地位对等,通信双方都具备客户与服务器的特征。

2、文件分发、文件共享、视频流服务等应用中,P2P表现出优越的性能。

知识点3:混合结构网络应用

1、混合结构网络应用:C/S应用和P2P应用相结合。

2、既有中心服务器的存在,也有对等端间的直接通信。

第二节:网络应用通信基本原理

知识点1:网络应用通信基本原理

1、网络应用的基本通信过程:运行在不同主机上的应用进程间以C/S方式进行通信。

2、 C/S方式:服务器端运行的是服务器进程,被动等待客户请求服务;

客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。

3、应用进程之间遵循应用层协议交换应用层报文。还需要通过层间接口(应用编程接口API)将报文传递给相邻的传输层。

4、典型的网络应用编程接口是套接字(Socket)。

5、对于一个传输层协议,需要为与其接口的每个套接字分配一个编号,标识该套接字,该编号称为端口号。例如web服务器的端口号是80。通过IP地址以及套接字所绑定的端口号标识应用进程。

6、Internet传输层只提供两类服务:

面向连接的可靠字节流传输服务:TCP

无连接的不可靠数据报传输服务:UDP

第三节:域名系统(DNS)

知识点1:域名系统

1、域名系统(Domain Naming System,DNS)

域名解析:将域名映射为IP地址。

域名解析的原理:为了实现域名解析,域名系统会建立分布式数据库,存储域名与IP地址的映射关系数据。

知识点2:层次化域名空间

1、域名的命名方式:

层次树状结构命名方式。

每个域名由不同级别的域名构成,各个层级域名之间用点分隔。

2、顶级域名的分类

1)国家顶级域名:cn,us,uk等。

2)通用顶级域名:com,org,gov,edu等。

3)基础结构域名:只有一个(arpa,反向域名解析)。

知识点3:域名服务器

DNS服务器:以“区”为管理范围单位。

本地(默认)域名服务器:主机在网络地址配置时,都会配置的。用于保存被查询域名的信息。根据其主要保存的域名信息以及在域名解析过程的作用,可以分为:

1、根域名服务器

最重要的服务器,全球有13个。

保存所有顶级域名服务器的域名和IP地址。

2、顶级域名服务器

负责管理在该顶级域名服务器注册的所有二级域名。

3、权威域名服务器

保存该区中的所有主机的域名和IP地址的映射。

4、中间域名服务器

不是以上三种的域名服务器。

知识点4:域名解析过程

1、递归解析:

主机进行域名查询时,本地域名服务器没有被查询域名信息,则本地域名服务器代理主机查询根域名服务器。根域名服务器代理本地域名服务器查询下一个域名服务,以此类推。直到得到被查询域名的IP地址,最后将解析结果发送给主机。

2、迭代解析:

主机进行域名查询时,本地域名服务器没有被查询域名信息,则先求助于根域名服务器。根域名服务器只是将下一步要查询的服务器告知查询主机的本地域名服务器,本地域名服务器继续查询下一个域名服务器,直到查询到被查询的域名的IP地址。

总结:

无论是递归解析还是迭代解析。只要本地域名服务器不能直接响应解析结果,都需要从根域名服务器开始查询。

第四节:万维网应用

知识点1:万维网应用结构

1、万维网应用(World Wide Web应用):

web应用。

主要包括:浏览器、web服务器、超文本传输协议HTTP。

浏览器:Web应用的客户软件、客户代理。

Web服务器:服务器软件、存储管理供用户请求浏览的Web页面(Web文档)。

超文本传输协议(HTTP):客户和服务器间的交互基于的协议。

web页面的对象:html文件、图片、文字、视频等。

2、统一资源定位符( Universal Resource Locator, URL)

URL地址:存放对象的主机域名(或IP地址)+对象的路径名。

URL寻址方式确保万维网上的每一个web页面或者对象都有一个唯一的标识符

知识点:HTTP

1、HTTP概述

超文本传输协议(Hyper Text Transfer Protocol,HTTP )

Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何进行响应。

版本:HTTP/1.0和HTTP/1.1

2、HTTP连接

1)HTTP基于传输层的TCP传输报文。浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送HTTP请求报文,接收HTTP响应报文。

2)RTT:作为一个时间单位来使用

例如:HTTP客户进程向服务器请求建立连接:从客户发送连接请求,到客户收到服务器连接确认,用时一个往返时间(Round Trip Time ,RTT)。

非持久连接:

客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收

HTTP响应报文,然后断开TCP连接。

HTTP/1.0

并行连接:

建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP

响应。然后断开TCP连接。

非流水方式持久连接(非管道方式持久连接):

建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续请求。

流水方式持久连接(管道方式持久连接):

建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续并行请求3个图片。

HTTP/1.1

讲解归纳与举例:

0

3、HTTP报文

HTTP报文:请求报文和响应报文。

请求报文:浏览器(客户端)发送给Web服务器

响应报文:Web服务器发送给浏览器

0

HTTP典型的请求方法

状态码用于服务器向客户端通告响应情况。

HTTP状态码:3位十进制数,利用第一位十进制数字区分5类状态码。

常见的HTTP状态码

知识点3:Cookie

1、无状态协议

HTTP服务器不保存客户的任何信息,被称为无状态协议。

每次登录论坛,都要重新输入用户名和密码。购物网站的购物车无法识别该次购物是否是同一位顾客的行为。

引入Cookie机制,用于用户跟踪。

2、小型文本文件(Cookie):

网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。

3、Cookie技术主要包括4部分内容:

1)HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等。

2)用户浏览器在本地存储、维护和管理的Cookie文件。

3)HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件。

4)网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等。

4、Cookie工作原理:

5、Cookie分类

1)保存在硬盘中的Cookie称为永久Cookie,关闭浏览器不影响Cookie的有效周期。

2)保存在内存中的Cookie称为会话Cookie,关闭浏览器Cookie消失。

6、Cookie技术最常见的用途:

1)网站可以利用Cookie的ID来准确统计网站的实际访问人数、新访问者和重复访问者的人数对比、访问者的访问频率等数据。

2)网站可以利用Cookie限制某些特定用户的访问。

3)网站可以存储用户访问过程中的操作习惯和偏好。

4)记录用户登录网站使用的用户名、密码等信息。

5)电子商务网站利用Cookie可以实现“购物车”功能。

第五节:intemet电子邮件

知识点1:电子邮件系统结构

1、邮件服务器

2、用户代理

3、简单邮件传输协议(SMTP)

4、邮件读取协议(POP3、IMAP、HTTP)

邮件服务器:电子邮件体系结构的核心。

功能:发送和接收邮件、向发信人报告邮件传送情况(已交付、被拒绝、丢失等)、 用户注册、 分配存储空间。

例如:user_a @ mail.hit.edu.cn、其中mail.hit.edu.cn表示邮件服务器域名、user_a表示该用户的邮箱名。

用户代理:电子邮件应用的客户端软件。

例如:Outlook,Apple Mail,Fox Mail等。

功能:支持用户撰写、显示、处理和收发邮件。

为用户阅读、回复、转发、保存和撰写邮件提供编辑与操作环境。

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)

Internet电子邮件中应用层协议。

功能:实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。

一个邮件服务器可以作为服务器,也可以作为客户。

一个邮件服务器包括:邮件发送进程、邮件接收进程。

邮件接收进程实现SMTP的服务器端,默认端口号是25。

邮件读取协议:

POP3:第三版邮局协议

IMAP:互联网邮件访问协议

HTTP:Web邮件系统的邮件读取协议

知识点2:SMTP

1、简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP):

实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。

2、SMTP 使用传输层TCP实现可靠数据传输,使用的端口号是25。SMTP通过3个阶段的应用层交互完成邮件的传输:

①.握手阶段

②.邮件传输阶段

③.关闭阶段

3、SMTP定义了14条命令,每条命令用4个字母组成。

例如:HELO:标识发件人自己的身份;

DATA:通知服务器准备开始发送邮件内容;

QUIT:命令退出;

4、SMTP定义了21种应答信息,由3位数字的代码开始,后面附上(也可不附)简单的文字说明。

5、客户从邮件服务器xyz.hit.edu.cn向邮件服务器mail.abc.com发送了一封简单邮件的过程。

服务器:220 mail.abc.com

客户:HELO xyz.hit.edu.cn (握手阶段)

服务器:250 Hello xyz.hit.edu.cn,pleased to meet you

客户:MAIL FROM:

服务器:250 user_a@xyz.hit.edu.cn … Sender ok

客户:RCPT TO: (邮件传输阶段)

服务器:250 user_b@mail.abc.com … Recipient ok

客户:DATA

服务器:354 Enter mail,end with “.” on a line by itself

客户:Are you available tonight?

客户:How about going to the cinema together?

服务器:250 Message accepted for delivery

客户:QUIT (关闭阶段)

服务器:221 mail.abc.com closing connection

6、SMTP的特点:

1)SMTP只能传送7位ASCⅡ码文本内容,包括SMTP命令、应答消息以及邮件内容。

2)SMTP传送的邮件内容中不能包含“CRLF.CRLF”,因为该信息用于标识邮件内容的结束。

3)SMTP是“推动”协议。(补充:HTTP是“拉动”协议)。

4)SMTP使用TCP连接是持久的。

知识点3:电子邮件与MIME

1、电子邮件格式 包括:首部、空白行、行主体

首部行包括以下内容:

2、传输非7位ASCII码文本内容时,必须依据一个标准将非7位ASCII码文本内容转换位7位ASCII码文本内容,然后再传输。

解决方案:互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME)

知识点4:邮件读取协议

比较流行的邮件读取协议:以“拉动”方式运行。

1、POP3:

POP3使用传输层TCP,默认端口号是110。

POP3协议交互过程分为3个阶段:

授权阶段:用户代理需要向服务器发送用户名和口令

事务处理阶段:用户代理向服务器发送POP3命令,读取、删除邮件等

更新阶段:客户发出了quit命令,结束POP3会话。删除被标记的邮件

2、互联网邮件访问协议:(Internet Message Access Protocol,IMAP)

IMAP 服务器将每个邮件与一个文件夹进行关联,通过 IMAP 收件人可以对邮件进行移动、查询、阅读、删除等操作。

与POP3相同点:都是邮件读取协议

与POP3不同点: IMAP维护了IMAP会话的用户状态的信息。并且允许用

户代理只读取部件的部分内容。

3、HTTP:Web邮件系统的邮件读取协议

当使用基于WEB的邮件时,HTTP被用于邮件的读取,此时HTTP是邮件读取协议。

邮件服务器与其他邮件服务器之间的发送和接收过程没有区别,仍然使用SMTP。

第六节:FTP

知识点1 FTP

1、文件传送协议(File Transfer Protocol , FTP):在互联网的两个主机间实现文件互传的网络应用的应用层协议。

2、FTP是C/S方式实现客户、服务器之间的双向文件传输。FTP服务器器进程分为两部分:主进程,负责接受新的客户请求;若干从进程,负责处理单个客户请求。

3、FTP应用结构:控制进程的端口号21,传送数据的端口号20。

4、FTP专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为带外控制。

那些命令、数据都是通过一个连接传输的应用层协议称为带内控制,如HTTP

第七节:P2P应用

知识点1 P2P

1、客户/服务器体系结构过于依赖服务器,一旦服务器出现故障,会引起单点故障。P2P体系结构对服务器的的依赖很小。

P2P充分利用了端系统(对等方主机)的计算能力以及网络传输带宽。

2、P2P:Peer to peer。近年来很多性能表现优异,深受用户喜爱的P2P应用层出不穷。

例如,BitTorrent、PPLive和PPstream等。

3、P2P应用特点

1)应用的对等方是用户的计算机。

2)很强的应用规模伸缩性。

3)应用在对等方之间进行。

4)应用充分聚集利用了端系统的计算能力以及网络传输宽带。

第八节:socket编程基础

知识点1:Socket基本概念

1、应用层协议遵守某个标准,如:RFC。

一个开发编写的客户程序可以与另一个开发者编写的服务器程序通信。

专用网:开发者同时完成客户程序以及服务器程序的编写。

网络应用进程之间通信需要通过API接口。目前internet上应用最广泛的网络应用编程接口就是Socket接口。

2、Socket的基本类型

网络应用进程可以创建3种类型的Socket:

数据报类型套接字SOCK_DGRAM、

流式套接字SOCK_STREAM、

原始套接字SOCK_RAW。

其中SOCK_DGRAM面向传输层UDP接口;

SOCK_STREAM面向传输层TCP接口;

SOCK_RAW面向网络层协议(如IP、ICMP等)接口;

3、典型的Socket函数

1)创建套接字:socket( )

2)绑定套接字的本地端点地址: bind( )

3)设置监听:listen( )

4)建立连接:(1)TCP客户端:connect( ),(2)TCP服务端:accept( )

5)接收数据:(1)TCP:recv( ) ,(2)UDP:recvfrom( )

6)发送数据:(1)TCP:send( ) ,(2)UDP:sendto( )

7)关闭套接字:close( )

4、TCP提供面向连接,可靠的字节流传输服务,选择使用TCP的网络,无须处理数据丢失等问题。

5、UDP提供无连接、不可靠的数据传输服务、选择使用UDP的网络应用程序,不能依靠UDP实现可靠数据传输。

讲解归纳与举例

本章小结

1、网络应用体系结构

2、域名空间、域名服务器、域名解析

3、万维网应用:WWW、HTTP、Cookie

4、Internet电子邮件:SMTP、POP3、IMAP

5、FTP、P2P

6、Socket编程:基本概念,常用函数,基于TCP客户与服务器的SocketAPI调用过程、基于UDP客户与服务器的SocketAPI调用过程。

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值