应用层

应用层

应用层的具体内容就是规定应用进程在通信时所遵循的协议。

域名系统DNS

域名系统概述

  • 许多应用层软件经常直接使用域名系统DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统;
  • 互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS;
  • 名字到IP地址的解析是由若干个域名服务器程序完成。域名服务器程序在专设的结点上运行,运行该程序的及其称为域名服务器

互联网的域名结构

  • 互联网采用了层次树状结构的命名方法;
  • 任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名
  • 域名的结构由标号序列组成,各标号之间用隔开;
  • [… .三级域名.二级域名.顶级域名]
  • 各标号分别代表不同级别的域名。
  • 每一个顶级域名都包含若干个二级域名,比如顶级域名com包含,baidu这个二级域名,163这个二级域名,qq这个二级域名;而163这个二级域名包含music(music.163.com)这个三级域名,mail(mail.163.com)这个三级域名;而baidu这个二级域名包含map(map.baidu.com)这个三级域名,baike(baike.baidu.com);qq这个二级域名包含y(y.qq.comQQ音乐)、包含v(v.qq.com腾讯视频)

域名与IP地址之间建立关系。

顶级域名:

(1)国家顶级域名

.cn中国、.us美国、.uk英国等;

sina.com.cn

(2)通用顶级域名

.com公司和企业、.net网络服务机构、.org非营利性组织

.edu美国专用教育机构、.gov美国专用政府部门

(国内的学校,比如xupt.edu.cn,.edu是二级域名)

(国内的政府,比如xa.gov.cn,西安市人民政府网站,.gov是二级域名)

(美国的学习,比如harvard.edu,哈弗,.edu是顶级域名)

在这里插入图片描述

如何找域名对应的ip?

先找根,然后从根处找顶级域名,从顶级域名处找二级域名,…。

域名服务器

  • 一个服务器所负责管辖范围叫做
  • 每一个区设置响应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射;
  • DNS服务器的管辖范围不是以"域"为单位,而是以"区"为单位;

域名服务器有以下四种类型:

根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。

根域名服务器,共有13套装置,不是13台机器。

这些根域名服务器的域名分别是

a.rootservers.net

m.rootservers.net

到2020年,全世界已经在1000多个地点安装了根域名服务器,使得世界上大部分DNS域名服务器都能就近找到一个根域名服务器。

根域名服务器并不直接把域名转换为IP地址,在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。

本地域名服务器

  • 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器;
  • 每一个互联网服务提供者ISP,或者一个大学,都可以拥有一个本地域名服务器;
  • 这种域名服务器有时也称为默认域名服务器。

域名的解析过程

  • 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文;
  • 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”,然后让本地域名服务器进行后续的查询。

本地域名服务器查询到域名和IP的对应关系后,会缓存下来,但是会设置计时器。

还有一种,本地域名服务器采用递归查询,即本地域名服务器将请求发给根域名服务器,让他给我结果,我不去,(类似请求转发,迭代就类似重定向)。但是比较少。这样的话,根域名服务器压力会很大。

文件传输协议

FTP概述

文件传送协议(File Transfer Protocol)是互联网上使用的最广泛的文件传送协议。

FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文件具有存取权限。

FTP特点

  • 文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务;
  • FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性;
  • FTP使用客户服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务。
  • FTP的服务器进程由两大部分组成:一个主进程,负责接收新的请求;若干个从属进程,负责处理单个请求。

主进程的工作步骤

  • 打开熟知的端口(21),使得客户进程能够连接上;
  • 等待客户进程发出连接请求;
  • 启动从属进程来处理客户进程发来的请求
  • 建立连接是21号端口,实际用于传输文件的是"数据连接",20号端口。

FTP使用的两个TCP连接

在这里插入图片描述

简单文件传送协议TFTP

TFTP是一个很小且易于实现的文件传送协议。

TFTP使用客户服务器方式,使用UDP数据报;

TFTP只支持文件传输,不支持交互。

远程终端协议

TELNET是一个简单的远程终端协议,也是互联网的正式标准。

用户用TELNET就可在其所在地通过TCP连接注册(登录)到远地的另一个主机(使用主机名或IP地址)

TELNET能将用户的击键传送到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连接在远地主机。

TELNET使用网络虚拟终端NVT格式。

万维网WWW

万维网概述

万维网 www(world wide web),并非是某种特殊的计算机网络。

(不是一维、二维,而是各种错综复杂的)

万维网是一个大规模的、联机式的信息储藏所。

万维网用链接的方式能非常方便的从一个站点访问另一个站点,从而主动的按需获取丰富的信息。

万维网以客户/服务器方式工作。

浏览器就是用户计算机上的万维网的客户程序,万维网文档所驻留的主机则运行服务器程序。

客户程序向服务器程序发出请求,服务器程序向客户程序送回客户程序所需要的万维网文档。

统一资源定位符URL

统一资源定位符:标志万维网上的各种文档。

使每一个文档在整个互联网范围内具有唯一的标识符。

URL的格式:

由以冒号隔开的两个部分组成,并且在URL中的字符对大写小写没有要求。

<协议>://<主机>:<端口>/<路径>

协议:HTTP(80)、HTTPS(443)、FTP(21,20);

主机:可以是域名或者IP地址;

超文本传送协议HTTP

在万维网客户程序和万维网服务器程序之间进行交互的协议,是超文本传送协议。

HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。

用户点击URL后所发生的事件

  • 浏览器分析超链接指向页面的URL;
  • 浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址;
  • 域名系统DNS解析出清华大学服务器的IP地址;
  • 浏览器与服务器建立TCP连接;
  • 浏览器发出取文件命令:GET /index.html HTTP/1.1
  • 服务器做出响应,把文件index.html发给浏览器,TCP连接释放;
  • 浏览器显示index.html中所有文本。

超文本标记语言HTML

超文本标记语言,使得万维网页面的设计者可以很方便的用一个超链从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上显示出来。(a标签)

万维网的信息检索系统

在万维网中用来搜索的程序叫做搜索引擎。

全文检索搜索引擎(爬虫)

  • 谷歌
  • 百度

分类目录搜索引擎(体育、民生、经济、…)

  • 新浪
  • 网易

电子邮件

电子邮件概述

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己的邮件服务器进行读取。

发送邮件的协议:SMTP

读取邮件的协议:POP3和IMAP

MIME在其邮件首部中说明了邮件的数据类型,(如文本、声音、图像、视像等),使用MIME可在邮件中同时传送多种类型的数据。配合SMTP使用。

过程:

发送方—>TCP连接—>发送邮件SMTP—>发送方邮件服务器,

在这里插入图片描述

基于万维网的电子邮件

  • 电子邮件从A发送到网易邮件服务器使用HTTP协议;
  • 两个邮件服务器之间的传送使用SMTP;
  • 邮件从新浪邮件服务器传送到B使用HTTP协议;
  • 万维网电子邮件的好处,只要能够找到上网的计算机,打开浏览器就可非常方便的收发电子邮件。

在这里插入图片描述

动态主机配置协议DHCP

Dynamic Host Configuration Protocol

需要配置的项目:

  • IP地址
  • 子网掩码
  • 默认路由器的IP地址
  • 域名服务器的IP地址

这些信息通常都是存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口

简单网络管理协议SNMP

应用进程跨越网络的通信

系统调用和应用编程接口

大部分操作系统使用系统调用的机制在应用程序和操作系统之间传递控制权。

对程序员来说,每一个系统调用和一般程序设计中的函数调用非常类似,只是系统调用将控制权交给了操作系统。

套接字的作用

  • 当应用进程需要使用网络进行通信时,就发出系统调用,请求操作系统为其创建"套接字",以便把网络通信所需要的系统资源分配给该应用进程;
  • 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,并把此号码返回给应用进程,应用进程所使用的网络操作都必须使用这个号码;
  • 通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该号码相关的资源;

P2P

P2P工作方式受到了广大网民的欢迎,这种工作方式解决了集中式媒体服务器可能出现的瓶颈问题。

在P2P工作方式下,所有的音频视频文件都是在普通的互联网用户之间传输。这是相当于有很多分散在各地的媒体服务器向其他用户提供所要下载的音频视频文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值