计算机网络系列
- 计算机网络篇——概述
- 计算机网络篇——链路层
- 计算机网络篇——网络层
- 计算机网络篇——传输层
- 计算机网络篇——应用层
利用网络的应用程序有很多,包括web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正式应用层协议。TCP和IP等下层协议是不依赖于上层应用类型、使用性范围非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。我们讲的TCP/IP中的应用层覆盖了OSI参考模型中的会话层、表示层、应用层3层的所有功能。
远程登录
TELNET
TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。本地用户好像直接与远端内部的Shell相连着似的,直接在本地进行操作。
所谓的行模式就是指没从键盘输入一个换行,就讲该行的数据进行1整行发送给服务器。透明模式就是客服端每输入一个字符都要发送给服务器。
SSH
SSH是加密的远程登录系统。TELNET中登录时无需输入密码就可以发送,容易造成通信窃听和非法入侵的危险。使用SSH后可以加密通信内容。即时信息被窃听也无法破解所发送的密码、具体命令以及命令返回的结果是什么。
SSH有如下功能:
- 可以使用更强的认证机制
- 可以转发文件
- 可以使用端口转发功能
文件传输(FTP)
FTP是在两个相连的计算机之间进行文件传输时使用的协议。它使用两条TCP连接:一条用来控制,另一条用于数据(文件)的传输。
电子邮件
提供电子邮件服务的协议叫做SMTP。SMTP为了实现高效发送邮件内容,在其传输层使用了TCP协议。
MIME
MIME协议是为了扩展电仪邮件的文本格式的,之前的电子邮件只能处理文本格式,通过MIME协议的扩展,现在可以发送静态图像、动画、声音、程序等各种形式的数据。MIME规定了应用消息的格式,因此在OSI模型中它相当于表示层。
POP
POP协议是一种用于接收电子邮件的协议。因为我们平常使用电子邮件的时候,并不能时刻保证我们的邮箱应用处理活跃状态,所以我们需要当我们打开邮箱时,主动去获取我们收到的邮件,这就是POP协议的工作。
IMAP
和POP协议类似,IMAP也是接收电子邮件的协议。只是在POP中邮件由客户端进行管理,而在IMAP中邮件则由服务器进行管理。
使用IMAP时,可以不必从服务器上下载所有邮件也可以阅读。由于IMAP是在服务器端处理MIME信息,所以它可以实现当某一封邮件含有10个附件时“只下载7个附件”的功能,而POP中必须要把整个邮件下载下来才能阅读。
HTTP(超文本传输协议)
HTTP一定是我们最熟悉不过的一种协议了。当我们访问web页面时,就是使用的HTTP协议,HTTP协议的工作机制如下:
HTTP一共经历了3个版本,即HTTP1.0,HTTP1.1,HTTP2.0,它们的区别如下:
- 长连接:
HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接 - 节约带宽:
HTTP1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接受到100,才把body发送到服务器。当服务器返回401的时候,节约了带宽。 - HOST域:
HTTP1.0没有HOST域 - 多路复用:
HTTP2.0使用多路复用的技术,做到同一个连接并发处理多个请求,并且并发请求的数量比HTTP1.1大了好几个数量级 - 数据压缩:
HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。 - 服务器推送:
在HTTP2.0中服务器可以对客户端的一个请求发送多个响应,并且可以缓存。
更详细的比较请看这里。
网络管理
SNMP
SNMP是一款基于UDP/IP的协议。SNMP中管理端叫做管理器(网络监控终端),被管理端叫做代理(路由器、交换机等)。决定管理器与代理之间的通信中所要交互信息的就是SNMP。
MIB
MIB相当于SNMP的表示层,它是一种能够在网络上传输的结构。SNMP就是讲MIB指写入代理,也可以从代理中读取MIB值。这样就可以收集冲突的次数和流量统计等信息,可以修改接口的IP地址,还可以进行路由器的启停、设备的启动和关闭等处理。