Advertisement

浅谈网络协议

阅读量:

前言

一、OSI协议

二、TCP/IP协议

前言

网络协议是为了计算机网络中进行数据交换而建立的规则、标准或者约定的集合。本文将讲解下这些协议以及应用。

一、OSI协议

OSI (Open System Interconnect ,开放式系统互连)参考模型是国际标准化组织(ISO)和
国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型
(OSI),为开放式互连信息系统提供了一种功能结构的框架,并为保持相关标准的一致性和兼容性提供共同的参考。

OSI协议,使用了分层的结构化技术,它从低到高一共分为7层:

1、物理层:

作为OSI模型中最低的一层,主要的构成是包括物理联网媒介,像我们熟知的一些设备、比如中继器、集线器等都是工作在这一层的,虽然是工作在最底层,却是整个开放系统的基础,为设备之间的数据通信提供传输媒体及互连设备,并为数据传输提供可靠的环境,以发送和接收携带数据的信息,简而言之就是“信号和介质 ”。

OSI采纳了各种现成的协议,其中有RS-232、RS-449、X.21、V.35、ISDN、以及FDDI、IEEE802.3、IEEE802.4、和IEEE802.5的物理层协议。

2、数据链路层:

也叫逻辑链路层,工作在OSI七层协议的第二层,主要用来控制网络层与物理层之间的通信,将物理层提供的可能出错的物理链路改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的数据通路,作为网络层与物理层间的媒介,也会将从网络层接收到数据分割成特定的可被物理层传输的“ ”,并最终将数据传输至目标主机的网络层。

数据链路层常见的协议包括IEEE 802.3/.2、HDLC、PPP、ATM,我们常见的设备,像网桥、二层交换机都是工作在这一层。

3、网络层:

OSI七层协议第三层,主要功能是将网络地址(比如IP地址)“”翻译 “”成对应的物理地址(例如网卡地址),比如ARP协议就是将IP地址“翻译”成设备认知的MAC地址,而RARP协议则是反向“翻译”;同时,在这一层也决定如何将数据从发送方路由到接收方,即我们熟知的路由转发功能。

常见的协议包括IP、ICMP、IGMP、IPX、ARP、RAP等等,像我们常见的路由器、三层交换机都是工作在这一层。

4、传输层:

也称为运输层,工作在OSI七层协议第四层,主要是确保数据能够可靠、无错的顺序从A点传输至B点,传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。

常见的协议包括TCP、UDP、SPX协议,像我们常用的QQ,使用的就是UDP协议。

5、会话层:

工作在OSI七层协议第五层,利用传输层提供的服务,在网络的两点之间建立和维持通信,并提供交互会话的管理工作,这个工作原理有点像两个人早上见面聊天,远远看见对方互相先打个招呼(建立通信),见面后两人开始聊天(维持通信,数据传输),聊天结束了,互相打个招呼再见(释放通信,传输结束),哈哈,术语名称翻译的还是很形象的。

因为会话层使用的是校验点,可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要,所以像我们日常使用的断点续传,都是在这一层工作的,常见的协议包括RPC、SQL、NFS协议。

6、表示层:

工作在OSI七层协议的第六层,是应用程序与网络之间的翻译官,在表示层,数据按照网络能理解的方案进行格式化管理。

表示层管理数据的解密加密、数据转换、格式化和本文压缩,常见的协议包括JPEG、ASCII、GIF、DES、MPEG,是不是感觉很常见的样子。

7、应用层:

工作在OSI七层协议的第七层,负责对软件提供接口,使程序能够使用网络服务,常见的协议包括HTTP、Telnet、FTP、SMTP等,这些更是大家耳熟能祥的词汇了。

二、、TCP/IP协议

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间 实现信息传输的协议簇,其实,TCP/IP协议不是只有这俩协议,还有FTP、SMTP、UDP等等协议,只不过这哥俩“太有名”了,所以循例称为TCP/IP协议。从上面也能看出,为啥TCP/IP协议被称为internet的核心了。

TCP/IP协议,分为四层、包括应用层、传输层、网络层(Internet层)、网络接口层,我们先着重介绍下前三层。

1、应用层协议

应用层,实际是定义了诸多面向应用的协议,使得应用程序通过这层协议,在网络上完成数据交互,所以这一层,大多是我们熟知的协议,比如:

(1)、FTP协议:学名叫文件传输协议,经常操作服务器的同学对这个词汇是相当熟悉了,下载个文件,上传个文件少不了它。

(2)、TFTP协议:简单文件传输协议,也是提供文件传输的协议,与FTP的区别是,FTP运行在TCP上,能够相对可靠些,而TFTP运行在UDP上,相比TCP注定了一些不可靠和不安全,所以TFTP一般用于一些简单的文件传输。但如果需要安全性更高一些,还是建议使用SFTP协议。

(3)、HTTP协议:超文本传输协议,用于从WWW服务器传输文本到本地浏览器的传送协议,经常上网的同学,对这个词汇肯定不陌生。相对应,HTTPS协议能够安全些,毕竟这位仁兄使用的是具有安全性的ssl加密传输协议,不像HTTP的信息是明文传输。

(4)、SMTP协议:简单邮件传送协议,发送邮件用的,邮件内容这么重要,所以肯定要工作在TCP上,既然要发邮件,那么少不了打个招呼(建立连接),传个口信(发邮件)、完事(终止连接);相对应,那边就要使用POP协议去收邮件了。

(5)、DHCP协议:动态主机配置协议,指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,也就是咱们配置网络的时候,自动获取IP地址。

(6)、Telnet协议:远程登陆协议,工作再TCP只上,咱们常用的远程链接电脑,就是使用的这个协议。

(7)、DNS系统:域名系统,域名解析用的,实际DNS就是进行域名解析的服务器,将服务器上的域名地址解析成对应的IP地址。比如咱们在网页输入www.baidu.com,机器不认识这个,所以需要DNS将这个域名翻译成机器认识的IP地址。

(8)、SNMP协议:简单网络管理协议,是为了解决Internet上的路由器管理问题而提出的,可以在IP、IPX、AppTalk等使用,大多数网络管理系统和平台都是基于SNMP,像某2000网络管理系统。

2、传输层协议

传输层协议主要有TCP和UDP协议,负责流量控制、错误校验、排序等。

(1)、TCP协议:基于IP协议上,由于IP数据服务的尽力而为(不可靠),采用了重复技术,带来的好处是,就是能够提供更可靠的的双工数据传输服务。所以一般应用于数据量较少,但需要高可靠性的场合。

(2)、UDP协议:由于是无连接服务,所以数据检查会弱很多,好处是数据传输会很快,但是有可能会丢。所以,UDP一般用于数据量大,传输快,可靠性不是很高的场合,比如QQ。

3、网络层协议

做路由转发和地址的协议,包括IP、ICMP、IGMP、ARP、RARP等等。

(1)、IP协议:不同网络连接的核心,构成互联网的基础,IP 协议提供一种无连接、不可靠、尽力而为的数据包传输服务。因为,它将差错检验和流量控制等服务授权给其他服务了,所以它很快。

(2)、ICMP协议:网际控制报文协议,专门发送差错报文的协议,因为IP协议的“不负责任”,它的职责就是“尽力避免”。常见的操作,比如ping、traceroute。

(3)、IGMP协议:网际组管理协议,负责IP组播成员管理的协议,而IGMP应用于多播。

(4)、ARP协议:动态的将IP地址转化成MAC地址。

全部评论 (0)

还没有任何评论哟~