TCP/IP篇--各协议简介

--百家菜


    在学习网络方面的知识过程中,不可避免地要接触到各种协议,对于一开始接触协议的我们来说对于协议实在没有太多的概念和接触,如果你也是这样,那么博主的这一篇博文可能给你一些关于协议的概念。其中的部分介绍为博主自己总结而出,如有欠缺不当的地方,欢迎通过发表评论或线下交流的方式斧正。


关于协议数据的具体格式和数字表示可上网(百度等网站)或者抓包(抓包方式详细见博主的相关博文-《抓包篇--wireshark使用!》,链接http://powersource.blog.51cto.com/11364294/1761477 

)这里不再累述。


部分内容可能对于刚刚接触到协议的小伙伴可能会觉得脑袋有点大,因为协议部分还没懂又遇到了新的困惑,只能说这很正常,大部分书籍、教程都是这样讲解。毕竟协议这东西需要一定的知识面才能将它完完全全理解、吃透,博主也仍然在深入学习中。想说的是,大概地理解一下会比摸瞎学习会好很多很多。


  协议简介

    1. TCP  (Transmission Control Protocol)  传输控制协议

  百度链接:http://baike.baidu.com/subview/32754/8048820.htm

    它完成第四层传输层所指定的功能,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接。事实上它实现了一台设备的端口到另一台设备端口的传输过程,与TCP类似的还有UDP,只是TCP是可靠的传输而UDP是不可靠传输(可靠传输就是确保通信双方能够收到彼此的消息并且消息正确)。与IP协议不同的是,IP协议是主机到主机的通信,而端口位于主机上,一台主机有许许多多的端口。

    如果上面的解释完全看不懂,那么就简单地理解为TCP协议就是负责将A水池里一个进/出水口与B游泳池的一个进/出水口相连的管道。

    2. UDP  (User Datagram Protocol)  用户数据报协议

  百度链接:http://baike.baidu.com/view/30509.htm

  它与TCP协议一样,用于设备之间端口与端口的通信,但是UDP是不可靠传输,但是优点是开销小。

相比TCP协议,可以理解为这个管道比较进/出水比较快,但是很简陋,到处都可能漏一些水

    3.  IP (Internet Protocol)  因特网协议

  百度链接:http://baike.baidu.com/view/2802.htm

  IP实现两个基本功能:寻址和分段。也就是帮助传输层的数据包“找路”,帮数据包指明去往目标IP地址主机或设备的道路方向。

    4.  ICMP  (Internet Control Message Protocol)  因特网消息控制协议

  百度链接:http://baike.baidu.com/view/30564.htm

  用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

    这里我们可以使用命令处理程序来实际操作一下(虽然本质上的帮助不大),用ping命令ping我们电脑的网关,其他电脑的IP地址。这里使用到的就是ICMP协议。

    5.  ARP  (Address Resolution Protocol)  地址解析协议

  百度链接:http://baike.baidu.com/item/ARP/609343

  主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。也就是已知了IP地址,ARP帮忙找出该IP地址的物理地址。(IP是逻辑上分配的地址,而物理地址是真实并且世界唯一的地址)。

    假设我们去电影院找人,物理地址就像电影院的座位,IP地址就是坐在座位上的人。坐在某个位置上的永远一般都不是同一个的人,所以我找人之前会先喊"谁是xxx(IP)",如果那人在的话,那人就会回答“我是,我坐在xxxx这里,来找我吧。”找人这过程就是ARP的工作过程。

    6.  FTP  (File Transfer Protocol)  文件传输协议

  百度链接:http://baike.baidu.com/view/1157060.htm

  FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。像在学校里用电脑打开另一台电脑中的资源文件一样(当然电脑之间已经设置了FTP),直接输入主机(电脑)地址,比如:10.1.21.98 就可以访问使用该主机的资源。

    7.   NFS  (Network File System)  网络文件系统

  百度链接:http://baike.baidu.com/item/NFS/812203

    它允许网络中的计算机之间通过TCP/IP网络共享资源。 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

    8.  SMTP  (Simple Mail Transfer Protocol)  简单邮件传输协议

 百度链接:http://baike.baidu.com/view/5450.htm

  解决了无处不在的邮件收发需求。发邮件时先发到目标端的服务器上,之后服务器会定期查看是否存在邮件未发送,如果有就执行发送邮件的动作。

    9.  POP  (Post Office Protocol)  邮局协议

  百度链接:http://baike.baidu.com/view/1453308.htm

  POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

    10.  IMAP4  (Internet Message Access Protocol)  因特网消息访问协议

  百度链接:http://baike.baidu.com/view/718489.htm

  MAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在服务器上维护自己邮件目录(维护是指移动)新建 删除重命名共享 抓取文本 等操作)。IMAP4协议弥补了POP3协议的很多缺陷,,由RFC3501定义。本协议是用于客户机远程访问服务器电子邮件,它是邮件传输协议新的标准。

    11.  TLS  (Transport Layer Security)  传输层安全

   百度链接:http://baike.baidu.com/view/875396.htm

  与其前身SSL(Secure Sockets Layer ,安全套接字层)都是加密协议,用于在两个通信应用程序之间提供保密性和数据完整性。

    12.  SIP  (Session Initiation Protocol)  会话发起协议

  百度链接:http://baike.baidu.com/subview/51013/8100741.htm?fromtitle=SIP%E5%8D%8F%E8%AE%AE&fromid=1179615&type=syn

  SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。广泛应用于CS(Circuit Switched,电路交换)、NGN(Next Generation Network,下一代网络)以及IMS(IP Multimedia Subsystem,IP多媒体子系统)的网络中,可以支持并应用于语音、视频、数据等多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业务。可以说,有IP网络的地方就有SIP协议的存在。    

    13.  RTP  (Real-time Transport Protocol)  实时传输协议

  百度链接:http://baike.baidu.com/view/1268656.htm?fromtitle=RTP&fromid=8974125&type=syn

  RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在用户数据报协议上的。RTP广泛应用于流媒体相关的通讯和娱乐,包括电话、视频会议、电视和基于网络的一键通业务(类似对讲机的通话)。

    14.  SNMP  (Simple Network Management Protocol)  简单网络管理协议

  百度链接:http://baike.baidu.com/view/2899.htm

  是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。它用于查询设备的信息,同时检测突发事件。

    15.  SSH  (Secure Shell)  安全外壳协议

  百度链接:http://baike.baidu.com/subview/16184/5909252.htm

  SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UXLinuxAIXSolarisDigital UNIXIrix,以及其他平台,都可运行SSH。

    16.   HTTP  (Hypertext Transfer Protocol)  超文本传输协议

  百度链接:http://baike.baidu.com/view/9472.htm

  是互联网上应用最为广泛的一种网络协议。我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在

浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

    平常里我们复制一个链接其实就是复制一个资源的定位符URL,打开这个链接时靠HTTP协议就会进行寻址。

    17.   HTTPS  (Hypertext Transfer Protocol Secure)  安全超文本传输协议

  百度链接:http://baike.baidu.com/view/14121.htm

  是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

    18.  NTP   (Network Time Protocol)  网络时间协议

  百度链接:http://baike.baidu.com/view/60648.htm

  它是用来同步网络中各个计算机的时间的协议。它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止恶毒的协议***。

    19.  NNTP  (Network News Transfer Protocol)  网络新闻协议 

  百度链接:http://baike.baidu.com/view/492533.htm?fromtitle=NNTP&fromid=610627&type=syn

    就是主要用于阅读和张贴新闻文章,也负责新闻在服务器间的传送。

     20.  LDAP  (Lightweight Diretory Access Protocol)  轻量级目录访问协议

  百度链接:http://baike.baidu.com/view/159263.htm

  LDAP目录以树状的层次结构来存储数据。是一种存储数据的协议。

    21.  IGMP  (Internet Group Management Protocol)  因特网组管理协议

  百度链接:http://baike.baidu.com/view/876138.htm?fromtitle=IGMP&fromid=610474&type=syn

  该协议运行在主机和组播路由器之间。比如开一个实时公开视频,那么就会要求我们共同创建并加入一个网组,这时候就会用到IGMP了。

    22.  SCP  (Secure Copy Protocol)  安全复制协议

  百度链接:(无)

  它用于文件传输,比FTP更加安全(因为采用加密连接),但是SFTP比SCP更为常用。

    23.  LPD  (Line Printer Daemon)  行式打印机后台进程

  百度链接:http://baike.baidu.com/view/887241.htm

  行式打印机后台程序是一个安装在UNIX打印服务器上的后台程序。它的功能是等待接受客户使用行式打印机远程(LPR)协议传来的打印工作。当LPD收到一个打印任务后,它先将打印任务暂存于打印队列中,打印队列是一个文件子目录,其中有许多打印工作等待LPD进行处理。当打印设备空闲时,LPD从打印队列中取出打印任务并将它传给打印机进行打印。

    24.  DNS  (Domain Name service)  域名服务

  百度链接:http://baike.baidu.com/item/dns/427444

  作用就是把当前 IP地址 所代表主机的 物理地址 给找出来。

    我们上百度的时候输入www.baidu.com就能找到百度的服务器进入百度页面,但是数据通信的时候进行的是IP寻址(就是根据百度服务器的IP地址进行路径寻找),那么我们怎么输入百度域名www.baidu.com就行了呢,那是因为靠DNS协议我们就已经将www.baidu.com翻译出百度服务器的IP地址了。

    25.  OSPF  (Open Shortest Path First)  开放最短路径优先

  百度链接:http://baike.baidu.com/view/6234950.htm?fromtitle=ospf&fromid=1166620&type=syn

  OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内,当链路状态发生改变时通过泛洪法通知其他所有路由器。


  对于初次接触协议的我们来说并不要求能一次性记得、理解所有的协议,只要求说知道这么协议是回事并且能理解解释几个经常接触的协议的作用、功能,如用浏览器上网时用到了HTTP(超文本协议),用www.baidu.com进入百度时用到了DNS(域名服务)等。


想看更多博客文章欢迎订阅我的博客或者添加好友共同学习。