首页 > 代码库 > 计算机网络之应用层
计算机网络之应用层
应用层作文协议栈的最高层,与用户亲密打交道的的协议层也就是应用层。场景的组件:浏览器,http服务器等。
主要内容
1网络应用体系结构
2.进程通信
3 需要传输层提供服务
4 应用层协议
2种网络应用体系结构
客户-服务器体系结构
代表协议为HTTP。特点:(1)客户端之间不可直接通信;(2)服务器有已知的IP,服务器总是打开的。
容易出现性能问题:一台服务器往往跟不上海量的客户请求。
P2P体系结构
对服务器要求相对不高;应用程序间可以直接通信。直接通信的主机叫peers,一般是用户控制的主机。
优势是自扩展性,每个peer为系统增加服务能力,关键也非常省钱,不需要庞大的服务器带宽。
2.进程通信
计算机网络,不同主机的进程交互报文,进而相互通信。一般来说,两个通信的进程,一个为客户端,一个为服务端。这里说的进程,其实一般就是浏览器进程,IE,firefox等。
进程如何发送报文到网络呢?套接字(socket)技术。应用程序开发者通过套接字,可以控制传输层。控制内容包括:(1)选择传输层协议(TCP OR UDP);(2)设置传输层参数。如最大缓存,最大报文长度。
进程寻址:唯一区分接收进程,需要一个地址,包括2种信息:1.主机的地址;2.接收进程的标识符。其中主机由其IP标识。进程标识符使用端口号标识。
3 需要传输层提供服务
传输层为应用层提供服务,一般满足
可靠性(丢包)
吞吐量(比如道路上的车速)
时间保证
安全
不同的应用,选择不同的网络要求
流行的用用层协议及支持的传输层协议
4.应用层协议
应用层协议定义了运行在不同主机上的应用程序如何相互传递报文。协议内容
(1)交换的报文类型,请求报文 还是响应报文
(2)报文类型语法
(3)字段的语义,字段中包含的信息的含义。
(4)进程何时,如何发送报文,对报文的响应规则。也就是处理机制。
4.1 HTTP协议
HTTP定义了Web客户端向Web服务器请求Web页面的方式,以及服务器向客户传输响应的方式。
HTTP使用TCP作为支撑协议。
1)客户端发起1个与服务器的TCP连接
2)一旦连接建立,该浏览器与服务器进程通过套接字访问TCP.
3 ) HTTP协议不用担心数据丢失,这是TCP以及协议栈底层协议的工作。
4)HTTP是一个无状态的协议。
4.1.1非持续连接VS 持续连接
非持续连接:每个请求/响应,经一个单独TCP连接发送。
持续连接:每个请求/响应,经限购通的TCP连接发送。
一个TCP连接,涉及一次"3次握手”过程.
RTT(round-Trip Time):一个分组从客户端到服务器端,然后再返回客户端所花费的时间。
一个RTT,包括传播时延,排队时延(路由器上),处理时延。
4.1.2报文格式
4.1.3 cookie记录状态
包含4个组件。
http请求报文中一个cookie首部;
响应报文中,一个cookie首部行。
客户端,浏览器管理着cookie文件
后端web服务器管理
cookie可以标识一个用户,可以跟踪在网点的活动。但也带来了隐私问题。
4.2 FTP协议
FTP使用2个并行的TCP连接传输文件,一个是控制连接,一个是数据连接。
控制连接用户在两主机直接传输控制信息,比如用户标识,口令,改变远程目录的命令,put,get文件命令。(带外传送)。控制链接贯穿真个用户会话期间
数据连接用于实际发送一个文件。每次文件传输都要建立一个新的数据连接。
FTP服务器必须保留用户的状态,方便对用户会话的状态进行跟踪,因而限制了会话总数。
4.3 电子邮件
由3个部分。
用户代理(foxmail,outlook)
邮件服务器(smtp.163.com...)
smtp(简单邮件传输协议)
邮件服务器时电子邮件体系结构的核心,每个接收方,都注册一个邮箱(mailbox).
4.3.1
SMTP:RFC5321给出了定义.
smtp端口:25
格式:ascii 7比特格式
smtp:推协议
4.3.2 邮件访问协议
POP3(第三版邮局协议) RFC1939
IMAP(因特网邮件访问协议Internet Mail Access Protocol)
HTTP
POP3:工作端口是110.三个阶段:
特许:用户代理发送用户名和口令以鉴别用户
事务处理:用户代理取回报文,还可以做删除标记。“下载并删除”,“下载并保留”方式
更新:quit命令,结束pop3会话。
本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/1870844
计算机网络之应用层