君子生非异也

导航

 

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

计算机网络应用体系结构

1、客户/服务器(C/S)结构网络应用 :最典型、最基本的网络应用;例如: www应用;文件传输;电子邮件;

  • 客户/服务器(C/S)结构的特点
  • 1、网络通信双方分为客户程序和服务器程序,用户与用户之间不进行直接通信。
  • 2、服务器程序需先运行,做好接受通信的准备。
  • 3、客户程序后运行,主动与服务器进行通信。

2、纯P2P结构网络应用:通信双方没有传统意义上的客户服务器之分,地位对等,通信双方都具备客户与服务器的特征。P2P网络是在IP网络上构建的覆盖网络。与C/S结构在传输层及以下各层是相同的,差别在于应用层。

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

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

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

套接字(Socket):典型的网络应用编程接口。
端口号:标识该套接字的编号。

简单网络管理协议(SNMP):是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议;端口号是161

第三节 域名系统(DNS)

==========域名系统============

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

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

============层次化域名空间==========

域名的命名方式:层次树状结构命名方式;每个域名由不同级别的域名构成,各个层级域名之间用点分隔。

我国将二级域名划分为类别域名和行政区域域名

顶级域名的分类

  • 1、国家顶级域名:cn,us,uk等
  • 2、通用顶级域名:com,org,gov,edu等
  • 3、基础结构域名:只有一个( arpa ,反向域名解析)

=================域名服务器=============

区(zone):一个服务器所负责管辖的范围。

DNS服务器:管辖范围不以“域”为单位,而以“区”为单位;DNS服务器根据其主要保存的域名信息以及在域名解析过程的作用,可以分为:

  • 根域名服务器:最重要的服务器,全球有13个,从a到m;保存所有顶级域名服务器的域名和IP地址
  • 顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名
  • 权威域名服务器:保存该区中的所有主 机的域名和IP地址的映射
  • 中间域名服务器:不是以上三种的域名 服务器

本地域名服务器:主机在网络地址配置时,都会配置的。用于保存被查询域名的信息

===============域名解析过程==============

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

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

 第四节万维网应用

万维网应用结构(web应用)包括浏览器、web服务器、HTTP

  • 浏览器:Web应用的客户代理。
  • Web服务器: 存储管理供用户请求浏览的Web页面(Web文档)。
  • 超文本传输协议(HTTP):客户和服务器间的交互,基于应用层的协议HTTP。

对象:网页上的图片、文字、视频等等

统一资源定位符( Universal Resource Locator, URL)URL地址:存放对象的主机域名(或IP地址)+对象的路径名。 例: http://www.abc.edu.cn/cs/index.html

2、HTTP

HTTP概述:超文本传输协议(HyperText Transfer Protocol, HTTP ):Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何进行响应;目前主要使用的是HTTP/1.0和HTTP/1.1,尤其以HTTP/1.1为主流。

HTTP链接:浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送 HTTP请求报文,接收HTTP响应报文。

RTT:作为一个时间单位来使用 HTTP客户进程向服务器请求建立连接:从客户发送连接请求,到收到服务器连接确认,所用的一个往返时间(Round Trip Time , RTT)。

使用TCP策略的不同分类:

1、非持久连接的HTTP:客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收HTTP响应报文,然后断开TCP连接;

  • 一个链接:每次只能建立一个tcp连接   HTTP1.0 默认方式
  • 多个链接:一次可以同时建立多个tcp链接;并行连接:通过建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP响应。

2、持久连接的HTTP:

  • 非流水方式持久连接(非管道方式持久连接):客户端收到响应报文后,不断开TCP连接,继续请求接下来的文档。
  • 流水方式持久连接(管道方式持久连接):客户端在通过持久连接收到前一个响应报文后,不断开连接,继续并行请求3个图片;HTTP1.1 默认方式

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

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

 

 

 

 Cookie:

HTTP服务器不保存客户的任何信息,被称为无状态协议;引入Cookie机制,用于用户跟踪

小型文本文件(Cookie):网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。

Cookie技术主要包括4部分内容: 【简答】
1、HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等。
2、用户浏览器在本地存储、维护和管理的Cookie文件。
3、HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件。
4、网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等。

第五节Internet电子邮件

邮件系统结构

  • 1、邮件服务器:功能:发送和接收邮件;向发信人报告邮件传送情况(已交付、被拒绝、丢失等) 用户注册;分配存储空间;是电子邮件体系结构的核心
  • 2、用户代理:电子邮件应用的客户端软件。 例如:Outlook,Apple Mail,Fox Mail等,功能:支持用户撰写、显示、处理和收发邮件;为用户阅读、回复、转发、保存和撰写邮件提供编辑不操作环境。
  • 3、简单邮件传输协议(SMTP)(nternet电子邮件中应用层协议:):实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。端口号25
  • 4、邮件读取协议(POP3、IMAP、HTTP):

SMTP:

SMTP通过3个阶段的应用层交互完成邮件的传输:

  • 握手阶段:
  • 邮件传输阶段:
  • 关闭阶段:

SMTP定义了14条命令,每条命令用4个字母组成。 例如:HELO:标识发件人自己的身份; DATA:通知服务器准备开始发送邮件内容; QUIT:命令退出;
SMTP定义了21种应答信息,由3位数字的代码开始,后面附上(也可不附)简单的文字说明。

电子邮件格式与MIME

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

互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME):传输非7位ASCII码文本内容时,必须依据一个标准将非7位ASCII码文本内容转换位7位ASCII码文本内容,然后再传输。 

邮件读取协议

1、第三版邮局协议(Post Office Protocol - Version 3,POP3):

 

2、互联网邮件访问协议(Internet Message Access Protocol,IMAP) 服务器将每个邮件与一个文件夹进行关联,通过 IMAP 收件人可以对邮件进行移动、查询、阅读、删除等操作。

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

 第六节 FTP

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

FTP的服务器进程由两大部分组成:

  • 主进程,负责接受新的客户请求;
  • 从属进程,负责处理单个客户请求,与具体客户进行交互

 FTP应用结构:

  • 控制连接:用户登录,服务器授权
  • 数据连接:与门用于文件传输

FTP专门使用一个独立的控制连接,传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为带外控制
FTP是有状态的协议,FTP的命令都是可读的:例如:USER usename、PASS password、LIST

第七节 P2P应用

P2P(Peer to peer):近年来很多性能表现优异,深受用户喜爱的P2P应用层出不穷。例如,BitTorrent、PPLive和PPstream等。

P2P应用特点

  • 1、应用的对等方是用户的计算机。
  • 2、很强的应用规模伸缩性。
  • 3、应用在对等方之间进行。
  • 4、应用充分聚集利用了端系统的计算能力以及网络传输宽带。

第八节 Socket编程基础

套接字(Socket):典型的网络应用编程接口。
端口号:标识套接字。

 Socket API函数

  • 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( )
  •  

     

posted on 2020-03-09 17:01  徐知语的笔记  阅读(602)  评论(0编辑  收藏  举报