一、OSI模型

名称            层次                功能

物理层          1               实现计算机系统与网络间的物理连接

数据链路层    2               进行数据打包与解包,形成信息帧

网络层          3               提供数据通过的路由

传输层          4               提供传输顺序信息与响应

会话层          5               建立和中止连接

表示层          6               数据转换、确认数据格式

应用层          7               提供用户程序接口

 

(1)物理层——Physical
这是整个OSI参考模型的最低层,它的任务就是提供网络的物理连接。所以,物理层是建立在物理介质上(而不是逻辑上的协议和会话),它提供的是机械和电气接口。主要包括电缆、物理端口和附属设备,如双绞线、同轴电缆、接线设备(如 网卡等)、RJ-45接口、串口和并口等在网络中都是工作在这个层次的。 
物理层提供的服务包括:物理连接、物理服务数据单元顺序化(接收物理实体收到的比特顺序,与发送物理实体所发送的
比特顺序相同)和数据电路标识。

(2)数据链路层——DataLink
数据链路层是建立在物理传输能力的基础上,以帧为单位传输数据,它的主要任务就是进行数据封装和数据链接的建立。
封装的数据信息中,地址段含有发送节点和接收节点的地址,控制段用来表示数据连接帧的类型,数据段包含实际要传输 的数据,差错控制段用来检测传输中帧出现的错误。 数据链路层可使用的协议有SLIP、PPP、X.25和帧中继等。常见的集线器和低档的交换机网络设备都是工作在这个层次上,Modem之类的拨号设备也是。工作在这个层次上的交换机俗称“第二层交换机”。  
具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的检测和恢复等方面。

(3)网络层——Network
网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作在这个层次上,因此它们也提供了路由功能,俗称“第三层交换机”。
网络层的功能包括:建立和拆除网络连接、路径选择和中继、网络连接多路复用、分段和组块、服务选择和流量控制。

(4)传输层——Transport
传输层解决的是数据在网络之间的传输质量问题,它属于较高层次。传输层用于提高网络层服务质量,提供可靠的端到端的数据传输,如常说的QoS就是这一层的主要服务。这一层主要涉及的是网络传输协议,它提供的是一套网络数据传输标准 ,如TCP协议。
传输层的功能包括:映像传输地址到网络地址、多路复用与分割、传输连接的建立与释放、分段与重新组装、组块与分块

根据传输层所提供服务的主要性质,传输层服务可分为以下三大类:
A类:网络连接具有可接受的差错率和可接受的故障通知率(网络连接断开和复位发生的比率),A类服务是可靠的网络服务,一般指虚电路服务。 
C类:网络连接具有不可接受的差错率,C类的服务质量最差,提供数据报服务或无线电分组交换网均属此类。
B类:网络连接具有可接受的差错率和不可接受的故障通知率,B类服务介于A类与C类之间,在广域网和互联网多是提供B类服务。

网络服务质量的划分是以用户要求为依据的。若用户要求比较高,则一个网络可能归于C型,反之,则一个网络可能归于B型甚至A型。例如,对于某个电子邮件系统来说,每周丢失一个分组的网络也许可算作A型;而同一个网络对银行系统来说则只能算作C型了。

(5)会话层——Senssion
会话层利用传输层来提供会话服务,会话可能是一个用户通过网络登录到一个主机,或一个正在建立的用于传输文件的会话。 

会话层的功能主要有:会话连接到传输连接的映射、数据传送、会话连接的恢复和释放、会话管理、令牌管理和活动管理

(6)表示层——Presentation
表示层用于数据管理的表示方式,如用于文本文件的ASCII和EBCDIC,用于表示数字的1S或2S补码表示形式。如果通信双方用不同的数据表示方法,他们就不能互相理解。表示层就是用于屏蔽这种不同之处。 

表示层的功能主要有:数据语法转换、语法表示、表示连接管理、数据加密和数据压缩。

(7)应用层——Application
这是OSI参考模型的最高层,它解决的也是最高层次,即程序应用过程中的问题,它直接面对用户的具体应用。应用层包含用户应用程序执行通信任务所需要的协议和功能,如电子邮件和文件传输等,在这一层中TCP/IP协议中的FTP、SMTP、POP等协议得到了充分应用。 

二、协议层次

网络中常用协议以及层次关系

 

网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议
传输层:TCP协议与UDP协议;
应用层:FTP、HTTP、TELNET、SMTP、DNS等协议

 

HTTP协议

HTTP是一个属于应用层的面向对象的协议基于tcp,由于其简捷、快速的方式,适用于分布式超媒体信息系统,全称是Hypertext Transfer Protocol(超文本传输协议),而且它是属于上面的层次模型的应用层。

 

HTTPS协议

HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

 

FTP协议

  文件传输协议

  主要功能是完成从一个系统到另一个系统完整的文件拷贝。同时,它也是一个应用程序。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

  FTP工作原理如下:

   与大多数互联网服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户机与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

   FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

   PORT(主动)方式的连接过程是:客户机向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户机在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户机的XXXX端口发送连接请求,建立一条数据链路来传送数据。

   PASV(被动)方式的不同点在于:当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户机向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

   两种方式的命令链路连接方法是一样的。

 

    FTPS协议

     安全文件传输协议

FTPS协议在它的下层使用了SSL/TLS 传输层协议,可以对控制信息和数据通道进行加密。FTPS可以有多种使用方法,最常见的模法称为显式FTPS(Explicit FTPS)。在显式FTPS的模式下,客户与服务器的端口21相连接,并且启动一个普通的非加密的FTP会话,然后,客户请求TLS(Trasport Layer Security)传输层安全机制——进行SSL/TLS协议规定的握手、数字证书认证、建立加密的命令通道和数据通道。通道建立后,任何敏感的数据就可以在命令/数据通道中被加密而传输了。(有关SSL/TLS认证和加密的详细内容请参看《晨曦》2005年12期文章“SSL协议及其应用”。)

  FTPS仅仅是FTP协议的一个扩展,因而它得到大部分服务器的支持,并且由于它和FTP使用同一个端口,在用户的防火墙上就没有必要再开另外的端口了。

 

TCP/IP协议组

TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成。
IP层负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Internet上的一台主机。
TCP层负责面向应用的可靠的或费可靠的数据传输机制,这是网络编程的主要对象。

 

TCP

TCP,即传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接前,TCP连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求。
TCP是一个面向连接的保证可靠的传输协议。通过TCP协议,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个Socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个Socket(通常都是Server Socket)等待建立连接时,另一个Socket可以要求进行连接,一旦这两个Socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送和接收操作。
TCP的适用情况:
TCP发送的包有序号,对方收到包后要给一个反馈,如果超过一定时间还没收到反馈就自动执行超时重发,因此TCP最大的优点是可靠。一般网页(http)、邮件(SMTP)、远程连接(Telnet)、文件(FTP)传送就用TCP
TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP高。

 

UDP

UDP,即用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户端和服务器之间建立一个连接,且没有超时重发等机制,固而传输速度很快。
UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网路上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间已经内容的正确性都是不能被保证的。
UDP的适用情况:
UDP是面向消息的协议,通讯时不需要建立连接,数据的传输自然是不可靠的,UDP一般多用于多点通讯和实时的数据业务,比如语音广播、视频、QQ、TFTP(简单文件传送)、SNMP(简单网络管理协议)、RTP(实时传送协议)RIP(路由信息协议,如报告股票市场,航空信息)、DNS(域名解释)。注重速度流畅。
UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。

TCP与UDP的区别:
1.TCP是可靠的,通过数据校验保证发送和接收到的数据是一致的;UDP是不可靠的,发送一串数字分组(1,2,3)可能接收到时就变成(1,0,0)了,做UDP连接时需要自己做数据校验。
2.TCP数据是有序的,以什么顺序发送的数据,接收时同样会按照此顺序;UDP是无序的,发出(1,2,3),有可能按照(1,3,2)的顺序收到。应用程序必须自己做分组排序。
3.TCP因为建立连接、释放连接、IP分组校验排序等需要额外工作,速度较UDP慢许多。TCP适合传输数据,UDP适合流媒体。
4.UDP比TCP更容易穿越路由器防火墙。

 

Telnet协议

远程登录服务协议

它的基本功能是,允许用户登录进入远程主机系统。通过远程登录,我们允许用户在远地机器上建立一个登录会话,然后通过执行命令来实现更一般的服务,就像在本地操作一样。这样,我们便可以访问远地系统上所有可用的命令,并且系统设计员不需提供多个专用的服务器程序。

  Telnet协议是TCP/IP协议族中的一员,应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。

  它提供了三种基本服务:

  1)Telnet定义一个网络虚拟终端为远地系统提供一个标准接口。客户机程序不必详细了解远地系统,他们只需构造使用标准接口的程序;

  2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

  3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

   然而事情总是具有两重性的,Telnet在为用户提供远程登录服务的同时,也为黑客侵入服务器系统提供了方便。因此,在WindowsNT操作系统提供的Telnet服务中设置了安全认证机制,即NTLM(WindowsNT LAN Manager)。这是一种基于挑战/响应验证的机制。其工作流程是这样的:

  1、客户端首先在本地加密当前用户的密码成为密码散列;

  2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输;

  3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战);

  4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应);

  5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器;

  6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge;

  7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。

  详细了解认证:NTLM认证协议及SSPI的NTLM实现 

  更多协议了解:网络中常用的各种协议(针对TCP/IP协议组)

三、常用协议端口号

端口号 服务 全程
21端口 FTP File TransferProtocol 文件传输协议
23端口 Telnet 远程登录
25端口 SMTP Simple Mail Transfer Protocol,简单邮件传输协议
53端口 DNS Domain Name Server,域名服务器,主要用于域名解析
80端口 HTTP HyperText Transport Protocol,超文本传输协议
109端口 POP2 Post Office Protocol Version 2,邮局协议2
110端口 POP3 邮局协议3,POP2、POP3都是主要用于接收邮件的
111端口 RPC Remote Procedure Call,远程过程调用
143端口 IMAP Internet Message Access Protocol,网络消息访问协议
161端口 SNMP Simple Network Management Protocol,简单网络管理协议

  更多协议端口:Network 【常用协议端口号】

 

版权声明:本文为xuey原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xuey/p/9647584.html