应用层

域名系统DNS

域名系统的概述

域名系统DNS用于把人们使用的机器名字转换为IP地址。域名到IP地址的解析是由因特网上的许多域名服务器共同完成的。

域名到IP地址的解析过程如下:

当某一个应用进程需要把主机名解析为IP地址的时候,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS的请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器找到域名后,把对应的IP地址放在回答报文内。

如果本地域名服务器无法回答该请求,则此域名服务器暂时称为DNS的另一个客户,并向其他域名服务器发送查询请求。

因特网的域名结构

域名服务器

实现域名系统则是使用分布在各地的域名服务器。DNS采用划区的方法部署域名服务器。一个服务器负责管辖的范围叫区,每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。并且区是域的子集。一个域可能划分为多个区。

(1)根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管哪一个本地域名服务器对一个域名解析时无法解析,都会首先求助于根域名服务器。

(2)顶级域名服务器:这些域名服务器负责在该顶级域名服务器注册所有的二级域名。当收到DNS请求时,就给出相应的应答。

(3)权限域名服务器:负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉查询请求的DNS客户,下一步应当找哪一个权限域名服务器。

(4)本地域名服务器:当一个主机发出DNS请求时,这个查询请求报文就发送给本地域名服务器。

文件传送协议

时间: 2024-08-03 11:39:09

应用层的相关文章

寄存器调试 (2):应用层通过C代码访问(待完善)

除了前面所述通过shell命令访问寄存器外, 还支持通过C代码访问. 驱动层通过注册miscdevice设备, 实现了对应用层open/write/read等标准api的支持. static DEVICE_ATTR(dump, 0644, misc_dump_show, misc_dump_store); static DEVICE_ATTR(compare, 0644, misc_compare_show, misc_compare_store); static DEVICE_ATTR(wri

计算机网络(谢希仁版)--应用层

应用层: 1. 域名系统(DNS): 1. 概述: 许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统. 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS. 名字到 IP 地址的解析是由若干个域名服务器程序完成的.域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器. 2.  因特网的域名结构: 因特网采用了层次树状结构的命名方法. 任何一个连接在因特网上的主机或路由器,都有一个唯

涨知识-VI 基于TCP/UDP的应用层协议

基于TCP/UDP的应用层协议: 基于TCP: Telnet(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络 FTP(File Transfer Protocol 文件传输协议) SMTP(Simple Mail Transfer Protocol 简单邮件传输协议),用来发送电子邮件 POP3(Post Office Protocol 3)邮件读取协议,协议通常被用来接受电子邮件 HTTP HTTPS 基于UDP: NFS(net

网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结

引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信. 使用TCP还是UDP,那要看你的程序注重哪一个方面,可靠(tcp)还是快速(udp). TCP/IP 建立连接的过程 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.   

Linux应用层直接操作GPIO

Linux应用层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Interface for Userspace,GPIO Sysfs. 这里我记录一下使用过例子: # RK30_PIN0_PD4 # A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31 echo 28 > /sys/cla

应用层的容错与分层设计

针对在项目中碰到的一些容错设计问题,团队最近进行了一次技术沙龙,讨论了以下话题. 为什么需要应用层的容错设计? 一个完整的系统在内部是由很多小服务构成,服务之间以及服务与资源之间会存在远程调用. 每个系统的可用性不可能达到100% 各种网络及硬件问题,如网络拥堵.网络中断.硬件故障…… 远程服务平均响应速度变慢 服务器平均响应速度如果慢下来,慢慢消耗掉系统所有资源,进而导致整个系统不可用.因此在分布式系统中,除了远程服务本身需要有容错设计之外,在应用层的远程调用的环节,需要有良好的容错设计. 应

ABP应用层——审计日志

ABP应用层——审计日志 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层——审计日志 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 维基百科定义:审计跟踪(也称为审核日志)是一个安全相关的时间

TCP是可靠传输,为什么应用层还要做校验

之前一直有过这个困惑.目前我看到的一个比较好的解释是对于TCP层来说,只是数据流的概念,数据的逻辑语义没有保障,像 数据的正确性则没有保证,比如说数据有没有被篡改,算是对应用层的一种保护吧.还有一点我自己想到的是,比方说你有一个 文件服务器,tcp确实保证了每一个tcp封包到达,但是你的应用程序的正确性却无法保证,比如你文件的传输过程中,你的程序 在某个错误的逻辑下,没有把一个文件分片放进tcp协议栈里,那么对方当然最好得到的是一个破碎的文件.

内核的基础层和应用层

◆ 第 1 章 内核的基础层和应用层1.1.1 内核中使用内存简单说,内核提供了两个层次的内存分配接口.一个是从伙伴系统分配,另一个是从slab 系统分配.伙伴系统是最底层的内存管理机制,提供页式的内存管理,而 slab 是伙伴系统之上的内存管理,提供基于对象的内存管理.从伙伴系统分配内存的调用是 alloc_pages,注意此时得到的是页面地址,如果要获得能使用的内存地址,还需要用 page_address 调用来获得内存地址.如果要直接获得内存地址,需要使用 __get_free_pages

Android短信彩信收发流程(应用层)

下图为ComposeMessageActivity中confirmSendMessageIfNeeded部分的信息发送流程.主要以接收者有效性的确认为主,然后转向sendMessage方法进行发送. ComposeMessageActivity.sendMessage从下图可以看出,在这个方法中,主要做的事是确认手机状态的有效性.最终调用WorkingMessage的send方法进行信息的发送.  WorkingMessage.send从下图可以看出,在本方法中,对于不同类型的消息,分别调用不同