应用层

应用层

dns\dhcp\ftp\telnet\ssh\http\smtp
http = TCP+80
https = TCP+443
FTP = TCP +21
SMTP = TCP+25
POP3 = TCP+110
RDP = TCP+3389

一、应用层概念

运输层为应用进程提供了端对端的通信服务。但是不同的网络应用进程之间还需要不同的通信规则。因此,在运输层之上还需要有应用层协议。

应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间的通信和交互的规则,对于不同的网络需要使用不同的应用层协议。例如域名系统DNS、支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。

应用层交互的数据单元称为报文。


二、网络应用模型

①客户服务区(C/S)模型:一个服务器对应多个客户机。
②P2P模型:多个用户之间相互对应。


三、域名系统-DNS

1.DNS是将域名转换成IP地址
2.域名到IP地址的解析过程:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,将待解析的域名放在DNS的请求报文中,以UDP用户数据报方式发送给本地域名服务器(使用UDP是为了减少开销);本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信;
3、域名解析的过程
①递归查询(靠别人,少用):主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询的IP地址,那么本地域名服务器以DNS客户身份向其他域名服务器发出查询请求报文;

②迭代查询(靠自己):本地服务器向根域名服务器的查询通常采用迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求时,要么给出IP地址要么告知本地域名服务器下一步应该向哪一个域名服务器查询;


四、文件传送协议-FTP

ftp=tcp+20

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

①打开熟知端口(端口号为21),是客户端能够连接上;
②等待客户端进程发出连接请求;
③启动从属进程来处理客户端进程发来的请求。从属进程对客户端的请求处理完毕后即终止,但丛书进程在运行期间根据需要还可能创建其他一些子进程;
④回到等待状态,会继续接受其他客户进程发来的请求。主进程和从属进程的处理时并发的执行的;

image.png

TCP控制连接会一直保持,TCP数据连接保持一会。
FTP工作在主动模式使用tcp 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。

4.3主动模式

客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口)。紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。最后服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。

4.4被动模式

在被动方式FTP中,命令连接和数据连接都由客户端。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

4.5TFTP 简单文件传输协议

TFTP是一个很小且易于实现的文件传送协议,使用UDP数据报,因此TFTP需要有自己的差错改正措施。


五、远程终端协议 TELNET

TELNET是一个简单的远程终端协议。用户使用TELNET就可以在其所在地通过TCP连接注册(登录)到远程的另一台主机上。通过网络虚拟终端NVT解决许多计算机和操作系统的差异问题。


六、超文本传输协议 HTTP

6.1万维网

万维网是一个大规模的、联机式的信息储藏所,是无数个网站站点和网页的集合。万维网以C/S方式工作,用户通过点击统一资源定位符URL获取资源,这些资源通过超文本传输协议HTTP传输给使用者。万维网使用超文本标记语言HTML使得万维网设计者跳转页面并显示。

URL格式:<协议>://<主机/域名/IP>:<端口号>/<路径> (使用HTTP协议默认端口号为80)

6.2HTTP

HTTP协议定义了浏览器怎么向万维网服务器请求万维网资源以及服务器如何把文档送给浏览器。

每一个万维网服务器都有一个服务器进程,不断的监听TCP的端口80,以便发现是否有浏览器向他发出连接建立请求。一旦监听到请求并建立TCP连接之后(TCP建立连接的三次握手中第三个报文段稍带了客户对万维网文档的请求),浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后TCP连接就被释放了。在浏览器和服务器之间的请求和相应的交互必须按照规定的格式和遵循一定的规则,这些格式和规则就是超文本传送协议HTTP。

image.png

①HTTP协议是无状态的,也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应和第一次被访问时的相同。但在实际工作中,一些万维网希望识别用户,此时可以使用Cookie,Cookie是存储在用户主机上的文本文件,记录一段时间内用户的访问记录。
②HTTP/1.0主要缺点:非持久连接,每次请求一个文档就需要花费两倍RTT时间。
③HTTP/1.1使用了持久连接,使同一个用户和该服务器可以继续在这条连接上传送后续的请求报文和响应报文。
④HTTP是无连接的,采用TCP作为运输层协议。通信双方交换HTTP报文不惜要建立连接。

6.3HTTP报文

HTTP请求报文:请求行(方法+URL+版本)、首部行(首部字段名+值)、实体主体
HTTP响应报文:状态行(版本+状态码+短语)、首部行(首部字段名+值)、实体主体
请求方法:GET、HEAD、POST、PUT、DELETE…… 
状态码 意义
1xx 表示通知消息的,如请求收到了或正在进行处理
2xx 表示成功,如接受或知道了
3xx 表示重定向,如要完成请求还必须采取进一步的行动 
4xx 表示客户的差错,如请求中有错误的语法或者不能完成
5xx 表示服务器的差错,如服务器失效无法完成请求


七、简单邮件传送协议 SMTP

SMTP规定了两个相互通信的SMTP进程之间应如何交换信息。
发件人的邮件发送到发送邮件服务器的邮件缓存后SMTP客户每隔一段时间对邮件缓存扫描一次。如果发现有邮件,就是用SMTP的熟知端口(25)与接收方邮件服务器的SMTP服务器建立TCP链接。在建立就连接之后,接收方SMTP服务器发送“220 Service ready”。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。SMTP如果有能力接收邮件,则回答“250 OK”,表示已准备好接受。若SMTP不可用,则回答“421 Service not available”。


八、邮件读取协议 POP3、IMAP

POP是一个非常简单的、但功能有限的邮件读取协议。使用C/S方式,熟知端口号为11-,采用TCP连接。POP协议的一个特点就是只要用户从POP服务器读取了邮件,POP服务器就把该邮件删除。
网际报文存取协议IMAP,IMAP最大的好处就是用户可以在不同地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP还允许收件人只读取邮件中某一部分。缺点是如果用户没有将邮件复制到自己的PC上,则邮件会一直存放在IMAP服务器上,因此用户需要经常和IMAP服务器建立连接。


九、动态主机配置协议 DHCP

动态分配 IP地址 子网掩码 网关 DNS

为了把协议软件做成通用且便于移植的,协议软件的编写者将协议软件参数化。通过一些不同的计算机参数来实现通用性。在协议软件中给这些参数赋值的动作称为协议配置。用人工进行协议配置麻烦,因此采用动态主机配置协议DPCP,它提供了一种机制,即即插即用连网。这种机制允许一台计算机自动加入新的网络和获取IP地址。


十、安全外壳协议 SSH(Secure Shell)

SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH有很多功能,它既可以代替Telnet,又可以为FTPPoP、甚至为PPP提供一个安全的"通道"。
从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒 。
SSH 主要由三部分组成:传输层协议、用户认证协议、连接协议。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容