6、TCP/IP学习笔记--应用协议

一、应用层协议概要

1、应用层协议主要是指OSI参考模型中第5层、第6层、第7层的协议。


2、应用协议的定义

利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。例如,远程登陆等应用经常使用的TELNET协议,它的支持基于文字的命令与应答,通过命令可以执行各种各样的其他应用。

3、应用协议与协议的分层

网络应用由不同的用户和软件供应商开发而成。为了实现网络应用的功能,在应用之间进行通信时所用的网络协议是非常重要的。设计师和开发人员根据所开发模块的功能和目的,可以利用现有的应用协议,也可以自己定义一个新的应用协议。应用可以直接享用传输层以下的基础部分


二、远程登陆

1、远程登陆的介绍

远程登陆是为了实现TSS(Time Sharing System分时系统环境,是将主机和终端的关系应用到计算机网络上的一个结果。

TSS中通常有一个处理能力很强的主机和能登陆主机的多个终端机器。通过远程登陆到计算机或UNIX工作站以后,不仅可以直接使用这些主机上的应用,还可以对这些计算机进行参数设置。远程登陆主要使用TELNET和SSH两种协议


2、TELNET

TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。本地用户好像直接与远程主机内部的Shell相连似的,直接在本地进行操作。TELNET可以分为两类基本服务。一是仿真终端功能,二是协商选项机制TELNET经常用于登陆路由器或高性能交换机等网络设备进行相应的设置



3、SSH

SSH是加密的远程登陆系统TELNET中登陆时无需输入密码就可以发送,容易造成通信窃听和非法入侵的危险。使用SSH后可以加密通信内容。即使信息被窃听也无法破解所发送的密码、具体命令以及命令返回的结果。SSH还包括很多非常方便的功能:

(1)可以使用更强的认证机制。

(2)可以转发文件。

(3)可以使用端口转发功能。

端口转发是指特定端口号所收到的消息转发到特定的IP地址和端口号码的一种机制。由于经过SSH连接的那部分内容被加密,确保了信息安全,提供了更为灵活的通信。



三、文件传输

1、文件传输的介绍


FTP是在两个相连的计算机之间进行文件传输时使用的协议。FTP中也需要在登陆到对方的计算机后才能进行相应的操作。互联网上有一种FTP服务器是允许任何人进行访问的,这种服务器叫做匿名服务器(anonymous ftp)。登陆这些服务器时使用匿名(anonymous)或ftp都可以。 

2、FTP的工作机制概要

FTP使用两条TCP连接一条用来控制,另一条用于数据(文件)的传输。用于控制的TCP连接主要在FTP的控制部分使用。例如登陆用户名和密码的验证、发送文件的名称、发送方式的设置。利用这个连接,可以通过ASCII码字符串发送请求和接收应答。此连接无法发送数据,数据需要一个专门的TCP进行连接。FTP控制用的连接使用的是TCP21号端口。在TCP21号端口上进行文件GET(RETR)、PUT(STOR)、以及文件一览(LIST)等操作时,每次都会建立一个用于数据传输的TCP连接。数据的传输和文件一览表的传输正是在这个新建的连接上进行。当数据传输完毕,传输数据的连接也会被断开,然后会在控制用的连接上继续进行命令或应答的处理。数据传输用的TCP连接通常使用端口20.不过可以用PORT命令修改为其他的值。最近,出于安全的考虑,普遍在数据传输用的端口号中使用随机数进行分配。

 

3、通过ASCII码字符串进行交互

(1)FTP主要的命令



(2)FTP主要应答消息





四、电子邮件

电子邮件可以发送各类文件且发送距离不受限制,所以被广泛使用。

1、电子邮件的工作机制

提供电子邮件服务的协议叫做SMTP(Simple Mail Transfer Protocol)。SMTP为了实现高效发送邮件内容,在其传输层使用了TCP协议。

以前工作机制是:发送端和接收端主机之间建立TCP连接的机制。但是互联网应用逐渐复杂,这种机制就无法正常工作。

现在工作机制是:一直会连接电源的邮件服务器。发送和接收端通过邮件服务器进行收发邮件。接收端从邮件服务器接收邮件时使用POP3(Post Office Protocol)协议。

电子邮件的机制由3部分组成,它们分别是邮件地址数据格式以及发送协议


2、SMTP是发送电子邮件的协议。它使用的是TCP的25号端口。SMTP建立一个TCP连接以后,在这个连接上进行控制和应答以及数据的发送。


五、WWW 

1、万维网的介绍

万维网(WWW,World Wide Web)是将互联网中的信息以超文本形式展现的系统,也叫Web。可以显示WWW信息的客户端软件叫做Web浏览器。WWW定义了3个重要的概念,它们分别是访问信息的手段与位置(URI,Uniform Resource Identifier)、信息的表现形式(HTML,HyperText Markup Language)以及信息转发(HTTP,HyperText Transfer Protocol)等操作

2、URI 

URI(Uniform Resource Identifier)用于标识资源。URI是一种可以用于WWW之外的高效的识别码,它被用于主页地址、电子邮件、电话号码等各种组合中。

https://www.baidu.com/
localhost:4000

www.worthsen.com/

这些一般是主页地址,也叫做URL(Uniform Resource Locator)统一资源定位器。URL用来定位互联网中资源的具体位置。URI不局限于标识互联网资源,它可以作为所有资源的识别码。URI所标识的组合叫方案(Scheme)。URI的http方案的具体格式如下:

http://主机名/路径
http://主机名:端口号/路径

http://主机名:端口号/路径?访问内容#部分信息

其中主机名表示域名或IP地址,端口号表示传输端口号省略端口号时,则表示采用http的默认端口80。路径表示主机上该信息的位置,访问内容表示要传给CGI的信息,部分信息表示页面当中的位置等。

3、HTML

HTML是记述Web的一种语言(数据格式)。它可以指定浏览器中显示的文字、文字的大小和颜色。此外,不仅可以对图像或动画进行相关设置,还可以设置音频内容。HTML具有超链接的功能,超链接可以使得网页之间可以相互关联。HTML也可以说是WWW通用的数据表现协议。下面的例子就是通过HTML表现数据样本的例子。



4、HTTP

当用户在浏览器的地址栏里输入所要访问Web页的URI后,HTTP的处理就会开始。HTTP中默认使用80端口。它的工作机制,首先是客户端向服务器的80端口建立一个TCP连接,然后在这个TCP连接上进行请求和应答以及数据报文的发送。

5、JavaScript、CGI、Cookie

(1)JavaScript

Web的基本要素为URI、HTML和HTTP。而这些无法更改与条件相符的动态内容。为此,通过浏览器端和服务端执行特定的程序可以实现更加精彩、多样的内容。如实现网络购物和搜索。JavaScript是一种嵌入在HTML中的编程语言

(2)CGI

CGI是Web服务器调用外部程序时所使用的一种服务端应用的规范。

(3)Cookie

Web应用中为了获取用户信息使用一个叫做Cookie的机制。Web服务器用Cookie在客户端保存信息(多为用户名和登录名等信息)。



致谢

1、《图解TCP IP》[第5版] 作者 (日)竹下隆史,等  译者 (日)乌尼日其其格





猜你喜欢

转载自blog.csdn.net/qq_38880380/article/details/80276332