资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,网络安全协议基础,1,标准与协议,(,一,),网络非常复杂,!,大量组成单元,主机,路由器,不同介质的链路,应用,协议,硬件,软件,问题,:,使用哪种网线,?,网线所使用的电子信号的意义,?,如果两台计算机使用不同的操作系统,应该如何处理通信,?,如何确定哪些数据是发给哪台计算机的,?,如果其中一台计算机要使用其它类型的网线,应该如何处理通信,?,两台计算机,一根网线,软件协议,2,标准与协议,(,二,),要解决上述问题,必须为网络通信建立标准。,这些标准必须尽量保持松耦合,以便将由于一个协议的变化而对其他协议产生的影响降低到最小。,最坏的情况:改变一个协议,需要重写软件。,可以对标准和协议进行分层,为网线上的物理通信建立标准,然后为其上的逻辑层通信建立标准。,3,什么是协议,?,一种人类使用的协议与一种计算机网络协议,:,4,什么是网络协议,?,发送特定的消息,当接收到消息或有其他事件发生时,采取特定的行动,Internet,上的所有通信活动都由协议控制,协议定义了网络实体之间发送和接收的消息的格式,顺序以及在消息传递过程中的所有活动,5,ISO/OSI,协议栈,application,presentation,session,transport,network,link,physical,International Standards Organizations,Open,System Interconnection,OSI,参考模型是国际标准化组织,ISO,制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层,6,物理层(,Physical Layer,),最底层是物理层,这一层负责传送比特流,它从第二层数据链路层接收数据帧,并将帧的结构和内容串行发送,即每次发送一个比特。,物理层只能看见,0,和,1,,只与电信号技术和光信号技术的物理特征相关。这些特征包括用于传输信号电流的电压、介质类型以及阻抗特征。该层的传输介质是同轴电缆、光纤、双绞线等,有时该层被称为,OSI,参考模型的第,0,层。,物理层可能受到的安全威胁是搭线窃听和监听,可以利用数据加密、数据标签加密,数据标签,流量填充等方法保护物理层的安全。,7,数据链路层(,Data Link Layer,),OSI,参考模型的第二层称为数据链路层。与其他层一样,它肩负两个责任:发送和接收数据。,还要提供数据有效传输的端到端连接。在发送方,数据链路层负责将指令、数据等包装到帧中,帧是该层的基本结构。,帧中包含足够的信息,确保数据可以安全地通过本地局域网到达目的地。,8,网络层(,Network Layer,),网络层的主要功能是完成网络中主机间的报文传输。在广域网中,这包括产生从源端到目的端的路由。,当报文不得不跨越两个或多个网络时,会产生很多新问题。,例如:第二个网络的寻址方法可能不同于第一个网络;第二个网络也可能因为第一个网络的报文太长而无法接收;两个网络使用的协议也可能不相同。,网络层必须解决这些问题,使异构网络能够互连。,在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的。,9,传输层(,Transport Layer,),传输层的主要功能是完成网络中不同主机上的用户进程之间可靠的数据通信。,最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接是真正端到端的。,由于绝大多数主机都支持多用户操作,因而机器上有多道程序,这意味着多条连接将进出于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中。,10,会话层(,Session Layer,),会话层允许不同机器上的用户之间建立会话关系。会话层提供的服务之一是管理对话控制。,会话层允许信息同时双向传输,或限制只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。,一种与对话控制有关的服务是令牌管理(,Token Management,)。会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种操作。,11,表示层(,Presentation Layer,),表示层以下各层只关心从源端机到目标机可靠地传送比特,而表示层关心的是所传送的信息的语法和语义。,表示层服务的一个典型例子是用一种一致选定的标准方法对数据进行编码。,大多数用户程序之间并非交换随机的比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象是用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示。,12,应用层(,Application Layer,),应用层包含大量人们普遍需要的协议。对于需要通信的不同应用来说,应用层的协议都是必须的。,例如,,PC,机用户使用仿真终端软件通过网络仿真某个远程主机的终端并使用该远程主机的资源。,这个仿真终端程序使用虚拟终端协议将键盘输入的数据传送到主机的操作系统,并接收显示于屏幕的数据。,13,分层,从概念上讲,我们可以把网络按下图进行分层,Applications,(Web Browsers, etc),Networking,(TCP/IP, etc),Hardware,(Ethernet, Wireless, Fiber),14,协议分层与数据,每一层从上一层接收数据,添加头信息后得到新的数据单元,把新数据单元传到下一层,application,transport,network,link,physical,application,transport,network,link,physical,source,destination,M,M,M,M,H,t,H,t,H,n,H,t,H,n,H,l,M,M,M,M,H,t,H,t,H,n,H,t,H,n,H,l,message,segment,datagram,frame,15,分层,:,逻辑通信,(,一,),每一层,分布式的,“,实体”在每个节点上实现本层的功能,实体与对等实体交换消息,16,分层,:,逻辑通信,(,二,),如,: transport,从应用层得到数据,添加地址和可靠性标记信息,得到,”,数据报,”,把数据报发送给对等实体,等待对方发送确认信息,17,分层,:,物理通信,application,transport,network,link,physical,application,transport,network,link,physical,application,transport,network,link,physical,application,transport,network,link,physical,network,link,physical,data,data,18,解剖,TCP/IP,模型,TCP/IP,模型、,OSI,模型和常用协议的对应关系,19,网络协议,IP,IP,协议已经成为世界上最重要的网际协议。,IP,的功能定义在,IP,头结构中。,IP,是网络层上的主要协议,同时被,TCP,协议和,UDP,协议使用。,TCP/IP,的整个数据报在数据链路层的结构,以太网数据包头,IP,头,TCP/UDP/ICMP/IGMP,头,数据,20,IP,头的结构,版本(,4,位),头长度(,4,位),服务类型(,8,位),封包总长度(,16,位),封包标识(,16,位),标志(,3,位),片断偏移地址(,13,位),存活时间(,8,位),协议(,8,位),校验和(,16,位),源,IP,地址(,32,位),目的,IP,地址(,32,位),选项(可选),填充(可选),数据,21,IP,头的结构,IP,头结构在所有协议中都是固定的,说明如下:,版本:占第一个字节的高四位。头长度:占第一个字节的低四位。,服务类型:前,3,位为优先字段权,现在已经被忽略。接着,4,位用来表示最小延迟、最大吞吐量、最高可靠性和最小费用。,封包总长度:整个,IP,报的长度,单位为字节。,存活时间:就是封包的生存时间。通常用通过的路由器的个数来衡量,比如初始值设置为,32,,则每通过一个路由器处理就会被减一,当这个值为,0,的时候就会丢掉这个包,并用,ICMP,消息通知源主机。,协议:定义了数据的协议,分别为:,TCP,、,UDP,、,ICMP,和,IGMP,。,校验和:首先将该字段设置为,0,,然后将,IP,头的每,16,位进行二进制取反求和,将结果保存在校验和字段。,源,IP,地址:将,IP,地址看作是,32,位数值则需要将网络字节顺序转化位主机字节顺序。,目的,IP,地址:转换方法和源,IP,地址一样。,IP,是面向非连接的,传递数据的时候不检测网络是否连通,所以是不可靠的数据报协议。,22,IPv4,的,IP,地址分类,基本的,IP,地址是,8,位一个单元的,32,位二进制数。为了方便人们的使用,对机器友好的二进制地址转变为人们更熟悉的十进制地址。,IP,地址中的每一个,8,位组用,0,255,之间的一个十进制数表示,这些数之间用点“,.”,隔开。,IP,地址分成五类:,A,类地址、,B,类地址、,C,类地址、,D,类地址和,E,类地址。,每一个,IP,地址包括两部分:网络地址和主机地址,上面五类地址对所支持的网络数和主机数有不同的组合。,23,IPv4,的地址结构,A,类,B,类,C,类,0,0,0,1,1,1,7,bits,24,bits,14,bits,16,bits,网络号,主机(接口)号,网络号,主机(接口)号,21,bits,8,bits,网络号,主机(接口)号,D,类,1,1,1,组播地址,2,8bits,0,E,类,1,1,1,保留地址,2,8bits,1,24,IPv4,的地址范围,A,类,0.0.0.0 126.255.255.255,B,类,128.0.0.0 191.255.255.255,C,类,192.0.0.0 223.255.255.255,D,类,224.0.0.0, 2,39.255.255.255,E,类,240.0.0.0, 2,55.255.255.255,25,保留的,IP,地址,00.00,0000 . 0000,11.11,1111 . 1111,本机,本网中的主机,局域网中的广播,对指定网络的广播,回路,00.00,主 机 号,1111 . 1111,网络号,127,任 意 值,一般来说,主机号部分为全“1 ”的,IP,地址保留用作广播地址;,主机号部分为全“0 ”的,IP,地址保留用作网络地址。,0000 . 0000,网络号,网络地址,26,子网掩码(一),子网掩码是用来判断任意两台计算机的,IP,地址是否属于同一子网的根据。,两台计算机各自的,IP,地址与子网掩码进行二进制“与”(,AND,)运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接通信。,27,子网掩码(二),计算机,A,的,IP,地址为,192.168.0.1,,子网掩码为,255.255.255.0,,将转化为二进制进行“与”运算。,IP,地址,11010000.10101000.00000000.00000001,子网掩码,11111111.11111111.11111111.00000000,IP,地址与子网掩码按位“与”运算,11000000.10101000.00000000.00000000,运算的结果转化为十进制,192.168.0.0,28,子网掩码(三),计算机,B,的,IP,地址为,192.168.0.254,,子网掩码为,255.255.255.0,,将转化为二进制进行“与”运算。,IP,地址,11010000.10101000.00000000.11111110,子网掩码,11111111.11111111.11111111.00000000,IP,地址与子网掩码按位“与”运算,11000000.10101000.00000000.00000000,运算的结果转化为十进制,192.168.0.0,29,子网掩码(四),计算机,C,的,IP,地址为,192.168.0.4,,子网掩码为,255.255.255.0,,将转化为二进制进行“与”运算。,IP,地址,11010000.10101000.00000000. 00000100,子网掩码,11111111.11111111.11111111.00000000,IP,地址与子网掩码按位“与”运算,11000000.10101000.00000000.00000000,运算的结果转化为十进制,192.168.0.0,30,传输控制协议,TCP,TCP,是传输层协议,提供可靠的应用数据传输。,TCP,在两个或多个主机之间建立面向连接的通信。,TCP,支持多数据流操作,提供错误控制,负责对乱序到达的报文进行重新排序。,31,TCP,协议的头结构,TCP,的功能受限于其头中携带的信息,源端口(,2,字节),目的端口(,2,字节),序号(,4,字节),确认序号(,4,字节),头长度(,4,位),保留(,6,位),URG,ACK,PSH,RST,SYN,FIN,窗口大小(,2,字节),校验和(,16,位),紧急指针(,16,位),选项(可选),数据,32,TCP,协议的头结构(一),TCP,协议的头结构都是固定的,说明如下:,TCP,源端口:,16,位的源端口包含初始化通信的端口号。源端口和,IP,地址的作用是标识报文的返回地址。,TCP,目的端口:,16,位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。,序列号:,TCP,连线发送方向接收方的封包顺序号。,确认序号:接收方回发的应答顺序号。,头长度:表示,TCP,头的四字节数,如果转化为字节个数需要乘以,4,。,33,TCP,协议的头结构(二),URG,:是否使用紧急指针,,0,为不使用,,1,为使用。,ACK,:请求,/,应答状态。,0,为请求,,1,为应答。,PSH,:以最快的速度传输数据。,RST,:连线复位,首先断开连接,然后重建。,SYN,:同步连线序号,用来建立连线。,FIN,:结束连线。如果,FIN,为,0,是结束连线请求,,FIN,为,1,表示结束连线。,窗口大小:目的机使用,16,位的域告诉源主机,它想收到的每个,TCP,数据段大小。,校验和:这个校验和和,IP,的校验和有所不同,不仅对头数据进行校验还对封包内容校验。,紧急指针:当,URG,为,1,的时候才有效。,TCP,的紧急方式是发送紧急数据的一种方式。,34,传输控制协议,TCP,的特点,传输控制协议,TCP,的特点是:,提供可靠的、面向连接的数据报传递服务。,传输控制协议可以做到如下的六点:,确保,IP,数据报的成功传递。,对程序发送的大块数据进行分段和重组。,确保正确排序以及按顺序传递分段的数据。,通过计算校验和,进行传输数据的完整性检查。,根据数据是否接收成功发送消息。通过有选择的确认,也对没有收到的数据发送确认。,为必须使用可靠的基于会话的数据传输的程序提供支持,如数据库服务和电子邮件服务。,35,TCP,协议的工作原理,TCP,提供两个网络主机之间的点对点通信。,TCP,从程序中接收数据并将数据处理成字节流。,首先将字节流分成段,然后对段进行编号和排序以便传输。在两个,TCP,主机之间交换数据之前,必须先相互建立会话。,TCP,会话通过三次握手完成初始化。这个过程使序号同步,并提供在两个主机之间建立连接所需的控制信息。,TCP,在建立连接的时候需要三次确认,俗称“三次握手”,在断开连接的时候需要四次确认,俗称“四次挥手”。,36,TCP,协议的三次“握手”,当网络可能丢失、存储和重复发送报文分组时就会出现问题,特别是延迟性重复问题,需要一种可靠的方法建立连接。,37,TCP,协议的四次“挥手”,需要断开连接的时候,,TCP,也需要互相确认才可以断开连接。,发送,FIN,消息(,SEQ=x),接收,FIN,消息(,SEQ=x),TCP,发送,确认,(,ACK=x+1),接收,ACK,消息(,ACK=x+1),A,B,的连接断开(半关闭),但,A,仍可接收数据,发送确认(,ACK=y+1),接收确认(,ACK=y+1),BA,的连接断开,发送,FIN,消息(,SEQ=y,ACK=x+1),接收,FIN,消息(,SEQ=y),38,用户数据报协议,UDP,UDP,为应用程序提供发送和接收数据报的功能。,某些程序(比如腾讯的,OICQ,)使用的是,UDP,协议,,UDP,协议在,TCP/IP,主机之间建立快速、轻便、不可靠的数据传输通道。,39,UDP,协议,UDP,提供的是非连接的数据报服务,意味着,UDP,无法保证任何数据报的传递和验证。,UDP,的头结构,源端口(,2,字节),目的端口(,2,字节),封报长度(,2,字节),校验和(,2,字节),数据,40,UDP,的头结构,源端口:,16,位的源端口域包含初始化通信的端口号。源端口和,IP,地址的作用是标识报文的返回地址。,目的端口:,16,位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。,封包长度:,UDP,头和数据的总长度。,校验和:和,TCP,的校验和一样,不仅对头数据进行校验,还对包的内容进行校验。,41,UDP,和,TCP,传递数据的差异,UDP,和,TCP,传递数据的差异类似于电话和明信片之间的差异。,TCP,就像电话,必须先验证目标是否可以访问后才开始通信。,UDP,就像明信片,信息量很小而且每次传递成功的可能性很高,但是不能完全保证传递成功。,UDP,通常由每次传输少量数据或有实时需要的程序使用。在这些情况下,,UDP,的低开销比,TCP,更适合。,42,UDP,和,TCP,传递数据的比较,UDP,协议,TCP,协议,无连接的服务;在主机之间不建立会话。,面向连接的服务;在主机之间建立会话。,UDP,不能确保或承认数据传递或序列化数据。,TCP,通过确认和按顺序传递数据来确保数据的传递。,使用,UDP,的程序负责提供传输数据所需的可靠性。,使用,TCP,的程序能确保可靠的数据传输。,UDP,快速,具有低开销要求,并支持点对点和一点对多点的通信。,TCP,比较慢,有更高的开销要求,而且只支持点对点通信。,UDP,和,TCP,都使用端口标识每个,TCP/IP,程序的通信。,43,互联网控制消息协议,ICMP,通过,ICMP,协议,主机和路由器可以报告错误并交换相关的状态信息。在下列情况中,通常自动发送,ICMP,消息:,IP,数据报无法访问目标。,IP,路由器(网关)无法按当前的传输速率转发数据报。,IP,路由器将发送主机重定向为更好的到达目标的路。,ICMP,协议的结构,44,ICMP,协议的头结构,ICMP,头结构比较简单,类型(,8,位),代码(,8,位),校验和(,8,位),参数和数据,45,UDP,数据报分析,常用的网络服务中,,DNS,使用,UDP,协议。,DNS,是域名系统,(Domain Name System),的缩写,当用户在应用程序中输入,DNS,名称时,,DNS,服务可以将此名称解析为与此名称相关的,IP,地址。,46,FTP,服务,FTP,的缺省端口是,20,(用于数据传输)和,21,(用于命令传输)。,在,TCP/IP,中,FTP,是非常独特的,因为命令和数据能够同时传输,而数据传输是实时的,其他协议不具有这个特性。,FTP,客户端可以是命令界面的也可以是图形界面的。,47,Telnet,服务,Telnet,是,TELecommunications,NETwork,的缩写,其名字具有双重含义,既指应用也是指协议自身。,Telnet,给用户提供了一种通过网络登录远程服务器的方式。,Telnet,通过端口,23,工作。,48,Email,服务,目前,Email,服务用的两个主要的协议是:简单邮件传输协议,SMTP,(,Simple Mail Transfer Protocol,)和邮局协议,POP3,(,Post Office Protocol,)。,SMTP,默认占用,25,端口,用来发送邮件,,POP3,占用,110,端口,用来接收邮件。,在,Windows,平台下,主要利用,Microsoft Exchange Server,作为电子邮件服务器。,49,Web,服务,Web,服务是目前最常用的服务,使用,HTTP,协议,默认,Web,服务占用,80,端口,在,Windows,平台下一般使用,IIS,(,Internet Information Server,)作为,Web,服务器。,50,
展开阅读全文