第8章 应用协议 图解TCP/IP 详解

8.1 应用层协议概要

应用层协议的定义

TCP和IP等下层协议是不依赖上层应用类型、实用性非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。

应用协议与协议的分层

应用可以直接享用传输层以下的基础部分。因为开发者只关心选用哪种应用协议、如何开发即可,而不必担心应用中的数据该以何种方式发到目标主机等问题。

TCP/IP的应用层涵盖了OSI参考模型的第5、第6 、第7层的所有功能。

8.2 远程登录

通过远程登录到通用计算机或UNIX工作站以后,不仅可以直接使用这些主机上的应用,还可以对这些计算机进行参数设置。远程登录主要使用TELNET 和SSH两种协议。

8.2.1 TELNET

TELNET 利用TCP的一条连接,通过这一条丽娜姐向主机发送文字命令并在主机上执行。本地用户好像直接与远端主机内部的Shell相连似的,直接在本地进行操作。

TELNET可以分为两类基本服务。一是仿真终端功能,二是协商选项机制。

TELNET 经常用于登录路由器或高性能交换机等网络设备进行相应的设置。

通过TELNET 登录主机或路由器等设备时需要将自己的登录用户名和密码注册到服务端。

TELNET 客户端是指利用TELNET协议实现远程登录的客户端程序。很多情况下,它的程序名就是telnet 命令。

telent 客户端 

所谓TELNET客户端是指利用TELNET 协议实现远程登录的客户端程序。很多情况下,它的程序名就是TELNET 命令。

TELNET 客户端通常与目标主机的23号端口建立连接,并于监听这个端口的服务端程序telnetd进行交互。当然,也可以与其他的TCP端口号连接,只要在该端口号上有监听程序能够处理telnet 请求即可。

 

 

 

8.2.2 SSH

SSH是加密的远程登录系统。telnet 中登录时无需输入密码就可以发送,容易造成通信窃听和非法入侵的危险。使用SSH 后,可以加密通信内容。

 

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

 

8.3 文件传输

FTP file transform protocol 

FTP是两个相连的计算机之间进行文件传输时使用的协议。

FTP也需要在登陆到对方的计算机后才能进行响应的操作。

互联网上有一种FTP服务器是允许任何人进行访问的,这种服务器叫做匿名服务器 anonumous ftp .

FTP的工作机制概要

它使用两条TCP连接:一条用来控制,另一条用于数据文件的传输。

FTP控制用的连接使用的是TCP21号端口。在TCP21号端口上进行文件GET 、PUT以及文件一览 LIST 等操作时,每次都会建立一个用于数据传输的TCP连接。数据的传输和文件一览表的传输正是在这个新建的连接上进行。当数据传送完毕止呕,传输数据的纸条连接也会被断开,然后会在控制用的连接上继续进行命令或应答的处理。

通过ASCII码字符串进行的交互处理

FTP中请求命令中使用的RETR 等ASCII码字符串。而针对这些命令的应答则使用200 等3位数字的ASCII码字符串。

一行字符串表示一个命令或一个应答,而空白则用来标识与参数之间的分割符。即命令和应答的消息通过换行区分、参数用空格区分。

 

8.4 电子邮件

 

8.4.1 电子邮件的工作机制

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

接收端从邮件服务器接受邮件时使用POP3 post office protocol 协议。

 

8.4.2 邮件地址

使用电子邮件时需要用到的地址叫做邮件地址。它就相当于通信地址和姓名。互联网中电子邮件地址的格式如下:名称@通信地址

电子邮件的发送地址由DNS进行管理。DNS中注册有邮件地址以及作为发送地址时对应的邮件服务器的域名。这些映射信息被称作MX记录。

根据MX记录中指定的邮件服务器,可以管理不同邮件地址与特定邮件服务器之间的映射关系。

 

8.4.3 MIME 

multipurpose internet mail extensions  广泛用于互联网并极大的扩展了数据格式,还可以用于WWW和NetNews 中。

鉴于MIME规定的应用消息的格式,因此在OSI参考模型中它相当于第六层表示层。

MIME 基本上由首部和正文两部分组成。首部不能是空行,因为一旦出现空行,其后的部分将被视为正文。

如果MIME首部的Content-Type中指定Multipart/Mixed ,并以boundary =后面字符作为分隔符,那么可以将多个MIME消息组合成一个MIME消息。这就叫做multipart .即各个部分都由MIME首部和正文组成。

content -type 定义了紧随首部信息的数据类型。以IP首部为例,它就相当于协议字段。

 

 

8.4.4 SMTP

SMTP simle message transform protocol 是发送电子邮件的协议 。它使用的是TCP 的25 号端口。SMTP建立一个TCP连接以后,在这个连接上进行控制和应答以及数据的发送。客户端以文本的形式发送请求,服务端返回一个3位数字的应答。

 

8.4.5 POP

个人电脑不可能长时间处于开机状态。只有用户使用时才会开机。在这种情况下,人们希望一开机就能接收到邮件。然而SMTP没有这种处理机制。SMTP的一个不利之处就是在于它支持的是发送大癤的行为,而不是根据接收端的请求发送邮件。

POP协议是一种用于接收电子邮件的协议。发送段的邮件根据SMTP协议将被转发给一直处于插电状态的POP服务器。客户端再根据POP协议从POP服务器接收对方发来的邮件。

 

8.4.6 IMAP

internet message access protocol 与POP类似,也是接收电子邮件的协议。在POP中邮件由客户端进行管理,而在IMAP中邮件则由服务器进行管理。

 

8.5 WWW

8.5.1 互联网的蓬勃发展

 

8.5.2 WWW基本概念

WWW定义了3个重要的该奶奶,他们分别是访问信息的手段与位置URI uniform resource identifier 信息的表现形式 HTML hypertext markup language 以及信息转发 http  hypertext transfer protocol 。

8.5.3 URI

URI是uniform resource  identifier 的缩写,用于标识资源。URI是一种可以用于WWW之外的高效的识别码,它被用于主页地址、电子邮件、电话号码等各种组合。

这些例子属于一般主页地址,也被叫做URL uniform resource locator .URL 常被用来表示互联网那个中文件的具体位置。但是URI不局限于互联网资源,它可以用做所有资源的识别码。

相比于URL 狭义的该奶奶,URI是一个广义的概念。因此,URI可以用于除了WWW之外的其他协议中。

URI 所表示的组合叫做方案 scheme .在众多URI的scheme中WWW主要用其中的HTTP和https表示web 页的位置和访问web页的方法。

 

8.5.4 HTML

HTML 是记录web页的一种语言。它可以指定浏览器中显示的文字、文字的大小和颜色。

 

HTML也可以说是WWW通用的数据表现协议。即使在异构的计算机上,只要是可以用HTML展现的数据,那么效果基本上是一致的。

 

XML 

WWW中将数据存入文件或在应用之间进行交互时经常使用的XML extensible markup lanuage .

8.5.5 HTTP

当用户在浏览器的地址栏里如数要访问的web页的URI以后,HTTP的处理即会开始。

HTTP中常用的有两个版本,一个HTTP1.0 ,另一个是HTTP1.1 。在HTTP1.0 中每一个命令和应答都会出发一次TCP连接的建立和断开。而从HTTP1.1 开始,允许在一个TCP连接上发送多个命令和应答,由此大量的减少了TCP连接的建立和断开操作,从而提高了效率。

 

 

8.5.6 JavaScript   CGI  Cookie

javascript 程序可以在客户端得到执行。这种javascript程序用于验证客户端输入可以用于操作HTML或XML的逻辑结构 以及动态显示web页的内容和页面风格上。

服务器不需要读取整个页面而是通过javascirpt 操作DOM来实现更为生动的web页面的技术。这就是ajax asynchronous javascrip  and XML 

CGI 

CGI  common gateway interface 是web 服务器调用外部程序时所使用到的一种服务端应用的规范。

引入CGI 以后客户段请求会出会触发web 服务器端运行另一个程序,客户端所输入的数据也会传给这个外部程序。该程序运行结束后将会生成的HTML和其他数据再返回给客户端。

Cookie 

 

8.6 网络管理

 

8.6.1 SNMP

SNMP  simple network management protocol 手机必要的信息。它是一款基于UDP/IP 的协议。

SNMP中管理端叫做管理器manager 网络监控终端 ,被管理端叫做代理 (路由器、交换机)。

决定管理器与代理之间的通信中所要交互信息的正式SNMP。

起初SNMP的安全机制并不完备。

SNMPv3不仅集合了所有的SNMP的功能于一个版本,定义了个别的功能模块(Component),并可以结合各种不同的版本进行通信。

 

8.6.2 MIB

SNMP中交互的信息是MIB management  information base . MIB 是在树形结构的数据库中为每个项目附加编号的一种信息机构。

 

8.6.3 RMON

RMON是remote monitoring MIB 的缩写。

8.6.4 SNMP应用举例

MRTG multi route traffic grapher 是利用RMON定期收集网络中路由器的网络流量信息的工具。

8.7 其他应用层协议

8.7.1 多媒体通信实现技术

8.7.2 P2P

8.7.3 LDAP

第8章 应用协议 图解TCP/IP 详解的更多相关文章

  1. 《TCP/IP详解 卷1:协议》第3章 IP:网际协议

    3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输(见图1-4).许多刚开始接触TCP/IP的人对IP提供不可靠.无连接的数据报 ...

  2. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  3. 《TCP/IP详解 卷1:协议》系列分享专栏

    <TCP/IP详解卷1:协议>是一本详细的TCP/IP协议指南,计算机网络历久不衰的经典著作之一. 作者理论联系实际,使读者可以轻松掌握TCP/IP的知识.阅读对象为计算机专业学生.教师以 ...

  4. TCP/IP详解 (转)

    TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中 ...

  5. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  6. TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

    TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...

  7. 【转】TCP/IP详解学习笔记(二)

    TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据 ...

  8. TCP/IP详解学习笔记

    TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...

  9. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

随机推荐

  1. CodeForces979D:Kuro and GCD and XOR and SUM(Trie树&指针&Xor)

    Kuro is currently playing an educational game about numbers. The game focuses on the greatest common ...

  2. bzoj 4398 福慧双修 —— 二进制分组+多起点最短路

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4398 按二进制每一位是 0/1 把 1 号点的儿子分成两组,分别作为起点和终点跑多起点最短路 ...

  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 08. 输入Model和防止重复Post

    通过action的参数传入一个model 通过input的name属性和model属性对应上 通常是使用Http post去做 快速创建了这个Action 这个Action很简单我们只需要返回View ...

  4. 基于事件驱动机制,在Service Mesh中进行消息传递的探讨

    翻译 | 宋松 原文 | https://www.infoq.com/articles/service-mesh-event-driven-messaging 关键点 当前流行的Service Mes ...

  5. E20170507-ts

    prompt  n. 提示; 提示符 object    n. 物体; 目标; 宾语; asterisk  * n. 星号,星状物; Ampersand   & Slash   n. 斜线; ...

  6. 洛谷 - P1118 - 数字三角形 - next_permutation

    https://www.luogu.org/problemnew/show/P1118 next_permutation的第二个参数是最后一个元素的下一个元素,sort也是一样!有毒!这么低级的错误. ...

  7. (水题)洛谷 - P1583 - 魔法照片

    https://www.luogu.org/problemnew/show/P1583 设计一个strcut cmp用来比较,就可以了. #include<bits/stdc++.h> u ...

  8. Codeforces 702B【二分】

    题意: 给一个a数组,输出有多少对相加是等于2^x的.1<=a[i]<=1e9,n<=1e5 思路: a[i]+a[j]=2^x 对于每个a[i],枚举x,然后二分查找a[j]; p ...

  9. 当打开一个.h或.cpp文件时, Solution Explorer就自动展开文件所在的目录

    当打开一个.h或.cpp文件时,  Solution Explorer就自动展开文件所在的目录: 如果不想展开: Tools           -> Options           -&g ...

  10. EasyUI创建选项卡并判断是否打开

    //创建选项卡:判断选项卡是否打开,如果以打开则定位到选项卡,否则创建 function addPanel(title) { var bol = $('#main_tabs').tabs('exist ...