赞
踩
网络协议工作原理
网络协议是网络技术学习的基础和根本,它是为计算机网络中数据交换建立的某种规则、标准以及相关的约定。本文将讲解数据链路层协议ARP、网络层协议IP、传输层协议TCP和UDP、应用层协议HTTP、FTP、POP3等常用协议。
(1)ARP和RARP协议
(2)IP报文
(3)ICMP报文
(4)TCP三次握手
(5)UDP协议
(6)HTTP协议
(7)FTP、主动FTP和被动FTP
(8)POP3和SMTP协议
(9)DHCP
(10)SMTP
(11)常用端口及协议
1. ARP和RARP协议
(1) ARP协议(address resolution protocol)
在以太网中,源主机和目标主机进行通信,那么必须要知道目标主机的IP地址与MAC地址。通常目标主机的IP地址容易获得,如 ping 192.168.1.2,那么目标主机的MAC地址怎么获得呢?它是通过ARP地址解析协议获得的。ARP地址解析协议(address resolution protocol)基本功能是通过目标主机的IP地址查询目标主机的MAC地址,使源主机获得目标IP与MAC地址的对应关系,然后完成正常通信。ARP地址解析协议的工作原理如下。
①同一网段的主机间的ARP地址解析过程
源主机发送数据前只知道目标主机的IP地址,不知道目标主机的MAC地址,这时主机A将数据封装成ARP请求消息广播,以广播的形式发送数据。同一网段内的计算机都会收到该广播,然后收到广播的主机B会从数据帧中得到目标IP地址,并与自己的IP地址对比,如果IP地址不一样,则网络接口卡不作回应并扔掉此数据报(注:此时非目标主机已经接收到了数据,只是把它丢弃了)。主机C也收到这个广播,并发现目标IP地址与自己相同,因此主机C将此数据报拷贝从网络接口卡到自己的内存中,并将自己的MAC地址填到数据帧中,以单播形式作出应答。
②不同网段的主机间的ARP地址解析过程
上面是同一网段两主机通信时,地址解析情况,但很多情况下,两个通信主机不是在同一个网段里的。而不同网段用路由器连接,路由器会隔离广播,那么这时源主机的ARP地址解析请求如何被发送到目标主机B?
第一步是主机A广播请求路由器到R1,主机A得到路由器R1的MAC地址,然后主机A将真正的数据发给路由器R1的E1/0接口,此时主机A无须关系后续的ARP请求过程及后续的数据发送过程;
第三步是路由器R1的E1/1接口广播请求路由器到R2的E1/1接口,路由器R1的E1/1接口得到路由器R2的E1/1接口的MAC地址,然后路由器R1通过E1/1接口给路由器R2的E1/1接口发送数据;
第五步是路由器R2的E1/0接口广播请求主机到B,路由器R2的E1/0接口得到主机B的MAC地址,然后路由器R2的E1/0接口给主机B发送数据。
在上面的过程中,ARP的广播不能跨越本地子网,如果要与远程子网进行通信,ARP地址解析过程就会像一个接力赛一样完成,接力赛的交接点,就是与自己相邻的下一站设备,自己只会缓存相邻下一站的IP地址与MAC地址的对应关系。主机A 实际上只完成并缓存他它的默认网关192.168.1.1对应的ca00.1860.001c的ARP记录。数据的传送是不同路由器一站接一站进行传送的。
(2) RARP协议(reverse address resolution protocol)
RARP协议是方向地址解析协议,ARP是已知目标主机的IP地址,解析对应的MAC地址,而RARP是已知MAC地址去解析对应的IP地址。这个协议现在使用很少,已经用bootp或者DHCP协议去代替了。
(3) 免费ARP协议(gratuitous ARP)
免费ARP是ARP的另已知表现形式,它的目标在于检测网络上的IP地址冲突,无论是计算机或者路由器都是用免费ARP来检测本地网络上的地址冲突。
通常情况下,一个IP地址对应一个MAC地址,如果一个IP对应了多个不同的MAC地址,说明同一个IP被接到了两个不同的NIC接口上,这时进行ARP广播时,会得到不同MAC地址的应答,就会产生地址冲突。免费ARP是永远不希望有回应的,它的提供是“无偿”的,所以叫免费ARP。
2. IP报文
IP数据包也叫IP报文分组,传输在ISO网络7层结构中的网络层,它由IP报头和IP报文用户数据组成,IP报头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节。下图为IP分组的报头格式,报头的前20个字节是固定的,后面的可变。IP报文结构图如下(IPv4)。
l 版本(version):占4比特(bit),指IP协议的版本号,如果该值为4表示正在使用的4号版本,6表示下一代的6号版本,目前也有一些教育网和科研机构在使用IPV6。在进行通信时,通信双方的IP协议版本号必须一致,否则无法直接通信。 l 首部长度(header length):占4位(bit),指IP报文头的长度。如果报头长度不包含选项字段是20字节,如果包含了选项字段,最大长度为60字节。因此,报头长度的变换范围是20-60字节(5-15个单位长度,每个长度为4字节)。报头长度不包括用户数据。 l 服务类型(type of service):占8位(bit),用于对特殊报文的处理。可以配置IP报文的优先级,用来获得更好的服务。优先级从0到8,数字越大优先级越高。其中的前3位表示报文的优先级,后面的几位分别表示要求更低时延、更高的吞吐量、更高的可靠性、更低的路由代价等。对应位为1即有相应要求,为0则不要求。 l 总长度(total length):占16位(bit),指IP报文能携带的最大字节数,包括IP报头和用户数据的总和。一个IP报文的的最大长度为65535个字节。 l 标识符(identifier):占16位(bit),某一种IP数据包分配一个唯一的数字标识,该标识的作用就是保证数据被分段后,区别于网络中的其他IP数据分段,然后数据分段被重新组合。计算机上同一时间可能有多个不同的IP数据报被分段。 l 标志(flag):占3位(bit),作用是配合标识符合片偏移字段来管理IP报文的分段,由三个控制标志组成。第一位一般不使用,保留(reserved bit);第二位为DF(do not fragment)位,1表示IP报文不被分段;第三位为MF(more fragment)位,1表示该IP报文片段后面还紧跟有数据片段,知道最后一个0为止。 l 片偏移(fragment offset):占13位(bit),表示分段数据片段相对于报头起始位置的偏移位置,在于让目标接受方可以按照分段顺序重新组织报文。因为数据片段可能从不同路径到达,到达的先后顺序不一样,这时接收方就需要有一定的原则来重新组织数据。 l 生存时间(Time to Live):占8位(bit),该字段表明当前报文能再网络上的最大存活时间。每经过一个网关(路由器),TTL的值自动减1,当生存时间为0时,报文将被认为目的主机不可到达而丢弃报文。TTL的最大值是255,TTL的一个推荐值是64。使用过Ping命令的用户应该有印象,在windows中输入ping命令,在返回的结果中即有TTL的数值。 l 协议(protocol):占8位(bit),该字段指出在OSI模型上层使用的协议,可能的协议有UDP、TCP、ICMP、IGMP、IGP等。 l 首部校验和(header checksum):占16位(bit),该字段只在IP报文的首部上进行计算,提供一种基于传输的基本差错控制。用于检验IP报文头部在传播的过程中是否出错,主要校验报文头中是否有某一个或几个bit被污染或修改了。 转发IP报文的中间设备都需要进行计算,把IP报文首部字节分两个字,然后进行相加,如果计算的两个校验和不同,就认为数据在传输过程中被损坏了。 l 源IP地址(source address):占32位(bit),4个字节,每一个字节为0~255之间的整数,记录源标主机的IP地址。 l 目的IP地址(destination address):占32位(bit),4个字节,每一个字节为0~255之间的整数,记录目标主机的IP地址。 下图是数据帧的封装过程
|
3. ICMP报文
ICMP(internet control manager protocol)即internet控制报文协议,它是TCP/IP族的子协议,位于OSI模型的网络层,用于主机和路由器之间可达性控制消息,确定信源与信宿是否可达,路由器是否可用。这个消息不是用户数据,而是确定源主机与目标主机是否可达。如果不可达,可用根据ICMP协议返回的消息确定故障原因,ping这个命令就是基于ICMP协议。ICMP协议帧的结构如下。
l 类型:标示ICMP报文的类型,如常见的类型3表示目标不可达,类型11表示超时,0回显应答,8回显请求。30代表路由跟踪。
ICMP报文类型 |
差错控制报文 | 终点不可达:主机与路由器之间不可交换数据 |
源点抑制:发送数据变慢点 | ||
时间超时:规定时间内不能完成数据传输 | ||
参数问题:收到的数据报有错误 | ||
改变路由:重定向报文 | ||
询问报文 | 回送请求或回答 | |
时间戳请求或回答 |
l 编码:在每种ICMP报文类型中又分为256中子类型,这个编码值就代表了各个子网类型的意义。
l 校验和:为整个ICMP报文提供差错保护机制。
l 报文体:被封装进ICMP报文中的处所数据报。
4. TCP三次握手
TCP/IP协议,实际上是一组协议的集合,IP工作在OSI模型的网络层,提供网络层传输,但并不是提供其可靠性传输控制。TCP工作在OSI模型的传输层,提供可靠性传输控制。可靠性传输控制是指面向连接的一种确认数据交付方式,保证发送方与接收方的可靠性,防止数据在传输的过程中出现丢包及其他传输不可达的现象。
(1)TCP协议(Transmission Control Protocol)传输控制协议
由于提供可靠性交付,所以TCP协议的可靠交付使得传输速度较UDP慢,常用于可靠性较差的网络环境中,比如Internet。速度与可靠性两者在网络传输中是不能兼得的。那么对于TCP协议的交付方式是怎么完成的。
TCP的“三次握手”:TCP协议是一个相互触发、相互确认的过程,客户机要触发服务器,服务器也要触发客户机。TCP建立可靠连接的时候回使用两个标记syn和ack,建立“握手”状态的标记syn=1表示开始触发,ack=1表示对触发的回应确认。TCP握手的过程如下。
①客户机要触发服务器,向服务器发出syn=1的信号;
②服务器向客户机发送ack=1的确认信号;
③服务器再向客户机发出syn=1的信号,以达到相互触发的效果;
④客户机再回应服务器的触发信号ack=1。
上述的过程一共有四个步骤,或者说四次握手,那为什么我们说是三次握手?因为在服务器给客户机的ack=1确认信息和触发客户机的syn=1分成两次发送,可以合并成一个信号syn=1,ack=1所以四次握手变三次握手了。
(2)TCP的滑动窗口与确认机制
①当TCP窗口为1的时候,发送方每次发送一个数据包,然后接收方接收到这个数据后回应一个确认ack信息,ack信息由ack+数据包编号组成。这种方式效率低,吞吐量小但可靠性高。
②当TCP窗口为3的时候,发送方每次发送三个数据包,然后接收方接收到三个数据后回应一个确认ack信息,ack信息由ack+数据包编号组成,数据编号=接收号+1。这种方式效率高,吞吐量大但可靠性低。
(3)分段数据到到目的地的重组方式
前面讲过,当数据包比较大的时候,数据包会被分成多个小的数据片段然后进行传输,但是传输路径可能有多条,每个数据片段的传输时间也不是完全相同的,有的出现了损坏或重传,所以数据片段到达目的地的顺序就不一样。那么目标主机应该按照什么原则重新组合数据片段?大型数据被分段后,传输层协议会为这些分段打上序列号,到达目标后可以根据这些序列号来还原数据。例如数据片段的序列号是100,那么目标将返回101的序列确认,至于一次性确认多少个数据片段是根据TCP的滑动窗口而定的。
(4)关于TCP协议的安全威胁
少个数据片段是根据TCP的滑动窗口而定的。
攻击主机伪造一个IP地址向服务器发送请求,这个IP地址可能在网络上不存在,所以服务器会向这个伪造的地址发送syn=1,ack=1的信息,但服务器却得不到回应,就会维持大量的TCP会话,耗尽服务器的资源,不能提供正常的服务(拒绝服务攻击)。
5. UDP协议
UDP(userdatagram protocol)用户数据包协议,工作在OSI模型的传输层,一种无连接的传输协议,提供面向即时事务的简单不可靠信息传送服务。由于UDP的特性不属于面向连接型协议,具有消耗资源小,报文简单,处理速度快的优点,所以通常语音、视频和流媒体文件在传输时使用UDP较多。UDP报文结构如下。
源端口:指发起UDP会话源主机所使用的端口,通常这个端口号是一个临时随机生成的端口号。
目标端口:指接受UDP会话目标主机所使用的端口号,通常这个端口是一个众所周知的端口号。
长度:指整个UDP报文的长度,包括UDP首部与数据部分。
校验和:这是一个可选项,根据整个UDP数据再加一个UDP的伪首部计算而得到的一个检验和值,这个所谓的UDP伪首部的结构如下所示。UDP的伪首部只是在检验和计算时使用,随后就会被丢弃,并不会被真正的传输,UDP的检验和字段是一个可选字段,不是必须字段。
数据:将被UDP发送的高层报文。
(1)TCP协议和UDP协议的区别
TCP协议以其面向连接的可靠性被Internet广泛使用,但因为是面向连接的特性,所以造成了传输速率较慢,不太适用于一些特殊环境的网络数据传输,如:应用层的域名解析、IP语音、流媒体等。因为这些应用场合对传输速率的要求高过了可靠性要求,所以产生了UDP用户数据包协议。
因此,当面对不可靠的网络如Internet时为了加强数据的传输可靠性,建议使用面向连接的TCP协议,当传输即时数据时,建议使用传输速率高的无面向连接的UDP协议。
6. HTTP协议
HTTP(hypertext transfer protocol)超文本传输协议,是一个基于客户端和服务器请求和应答的标准协议。客户端是终端用户,服务器是网站,客户端通过浏览器发出一个到服务器80端口的http请求。现在已经不将HTTP理解为一种单纯的协议,而把它当作一种数据的封装方式,使它可以封装和传递任意的文件。
作为网络研究人员必须深入理解http的工作过程与协议结构。如过滤某些图片文件或者不允许下载mp3等。http有1.0和1.1(微软)两个版本,但很多时候与代理服务器结合使用时,一般下调用1.0版本。http工作原理如下。
因为http是基于TCP协议的,所以前三个是TCP的三次握手过程,然后是http的请求与回应,此时保持TCP连接,然后进行更多的请求/响应,最后关闭TCP连接。
(1)http的无状态连接
http 1.0是一个无状态连接的,而1.1版本支持状态连接,无状态连接就是在http 1.0版本中一个http请求与一个http回应就是一个完整的http连接,基于这个链接的数据一旦发生完成,这个链接就断开,同时也断开TCP的连接。如果需要重新连接,就需要重新进行TCP三次握手,所以http 1.0效率比较低。http 1.1版本增加了keepalive消息,使其具备状态连接的特性。Keepalive的特性是提高http连接的利用率,它不会切断TCP连接而进行新的连接,因为一个网页都用多个http连接。
(2)http的请求报文与应答报文的结构
①http请求报文与请求数据帧
http版本号 | http方法 | URL | 请求头 | 实体头 |
http请求报文结构
http版本号:申明http的版本号,1.1或1.0。通常微软使用的是1.1版本,其余使用的是1.0。
http方法:常用的方法有GET、HEAD和POST。GET是请求web页面的信息,HEAD是申请web页面的信息不返回信息体。如果请求表单、bbs、邮件或数据库,就用POST代替GET,表示请求的是一个较大的数据。
URL:被请求的页面网址。同常由 协议名+宿主名+目录与文件名所组成。
请求头:被请求的文件类型。
实体头:包括被请求实体的原信息,实体的编码类型。
②http回应报文与响应数据帧
http版本号 | 状态码 | 响应头 | 实体头 | 内容 |
http响应报文结构
http版本号:申明http的版本号,1.1或1.0。
状态码:帮助用户理解http工作状态。
状态码 | 意义 |
1XX | 信息提示 |
2XX | 成功 |
3XX | 重定向 |
4XX | 客户端错误 |
5XX | 服务器错误 |
响应头:响应头包括web服务器回应给客户机的http的内容是否被加密认证、是否被公开、www的认证消息和主页位置等。
实体头:包括http响应的编码形式、语言、内容长度以及内容的文件类型和最后一次修改的时间等。
(3)http的数据封装与内容管理
当资源被封装到http报文中,把这样的封装称为实体。早期的http只能传送文本,随着技术发展,http已经不是单纯传送文本,而是可以传送表格、图片、影音文件等。那么http对非文本文件的封装和管理方式必然会增加http协议的复杂性。http使用的语法去申明各种多媒体类型,它与MIME使用相同的语法来申明封装的各种多媒体文件。它的语法格式是content-type:<类型>/<子类型>,常见的5中类型是text文本、image图像、audio音频、video视频和model模型类型,五种类型又细分了许多子类型。http使用媒体类型的另一个地方是在发送http请求消息中的accept字段,它的目的是客户机高速服务器它可以处理处理什么类型的多媒体信息,以避免服务器向客户机发送客户机无法处理的文件类型。例如:accept=text/plain表示文体媒体下的纯文本类型;accept=*/*表示任何媒体文件。
MIME(MultipurposeInternet Mail Extensions)多用途互联网邮件扩展类型。http申明封装媒体文件类型的方式是从MIME借鉴而来的。MIME是一种多用途的邮件扩展,它最初是在电子邮件中使用,允许电子邮件携带多媒体信息以及任意文件,后来扩展到http应用中,是定义http内容格式的一种通用方法。因为http最初只能传送文本,当有需求要传送非文本文件时,MIME的标准已经产生了,所以就借鉴了MIME的标准。学习http与MIME的相关描述可以帮助我们过滤所需的文件。因为这些文件都使用相同的端口号,都通过http封装运载。
http的内容缓存,http是一个具有缓存意识的协议,所以http是可以缓存的,目的在于加速客户端的访问,减少http请求和影响区消耗WAN链路宽带。例如,没有必要将用户连接同一文档的请求和响应进行反复连接。当然有的内容是不能缓存的。
7. FTP、主动FTP和被动FTP
FTP(file transfer protocol)文件传输协议,用于上传或下载文件,是企业网络应用基础的一个必备服务。FTP的两种工作模式:主动和被动。主动FTP的故障常发生在穿越防火墙时,被动防火墙常发生在ACL过滤时。TCP/IP协议中,FTP使用两个端口号进行工作,端口21用于发送和接收FTP控制信息,端口20用于发送和接收数据。
FTP模式状态 | 使用端口 |
主动FTP | TCP21端口建立连接 TCP20端口数据传输 |
被动FTP | TCP21端口建立连接 TCP1025-5000任意端口数据传输 |
(1)FTP的主动模式
主动FTP实际是经过两次TCP三次握手完成的,数据最终在20号上进行传送。两次TCP三次握手,第一次是由客户机以随机端口主动发起到FTP服务器的21端口连接,第二次是FTP服务器20端口主动发起到客户端的连接。访问过程如下。
如果服务器和客户端有一道防火墙,防火墙允许内部网络(客户端)访问外部网络(服务器),不允许外部网络访问内部网络。如果服务器直接访问客户端,则防火墙不允许通过,就访问不了。现在先由客户端发起TCP请求,服务器然后访问客户端时,防火墙就知道,这个网站是安全的,需要访问的网络。
(2)FTP的被动模式
被动FTP也是两次TCP三次握手,第一次是客户机以1024为端口主动向服务器21端口发送请求,然后FTP服务器会告诉客户机它将用1034端口来传输数据,这实际上属于客户机到FTP服务器21端口会话的一部分,它是一个申明FTP服务器使用被动模式的消息帧,是FTP服务器到客户机的1024端口的。此时客户机使用源端口1025去主动连接FTP服务器的1034端口,完成三次TCP握手,然后进行数据传输。这个过程中,两次TCP握手都是客户机主动发向FTP服务器的,服务器没有主动去连接客户机,所以叫被动模式。
8. POP3和SMTP
POP3是Post Office Protocol 3的简称,POP3(Post Office Protocol - Version 3),即“邮局协议版本3”。是TCP/IP协议族中的一员。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,SMTP认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。
9. DHCP
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCPServer和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4。
DHCP的功能
①保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
②DHCP应当可以给用户分配永久固定的IP地址。
③DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
DHCP的三种IP地址分配机制
①自动分配方式(AutomaticAllocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
②动态分配方式(DynamicAllocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
③手工分配方式(ManualAllocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。
DHCP工作原理(参考:http://network.51cto.com/art/201406/441752.htm)
第一步DHCPDiscovery:即DHCP客户端寻找DHCP服务端的过程,客户端广播发送DHCP Discovery,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。如果网络中存在多个DHCP Server,则多个DHCP Server均会回复该DHCP Discovery报文。
第二步DHCP Offer:DHCP Server收到DHCP Discovery报文后,解析该报文请求IP地址所属的Subnet。并从dhcpd.conf文件中与之匹配的subnet中取出一个可用的IP地址(从可用地址段选择一个IP地址后,发送ICMP报文来ping该IP地址,如果收到该IP地址的ICMP报文,则重新选择IP地址继续进行ICMP报文测试,直到找到一个网络中没有人使用的IP地址,用以防治动态分配的IP地址与网络中其他设备IP地址冲突),此时DHCP Offer提供给客户机,这时客户机还是无IP地址,所以服务器仍然是广播形式发送DHCP Offer消息。
第三步DHCPRequest:DHCP 客户机收到若干个DHCP 服务器响应的DHCPOffer报文后,选择其中一个DHCP Server作为目标DHCP Server。选择策略通常为选择第一个响应的DHCP Offer报文所属的DHCP Server。然后以广播方式回答一个DHCP Request报文,该报文中包含向目标DHCP请求的IP地址和选择哪个DHCP服务器提供的消息等。之所以是以广播方式发出的,是为了通知其他DHCP Server自己将选择该DHCP Server所提供的IP地址。
第四步DHCP Ack:当DHCP 服务器收到DHCP 客户机发送的DHCPRequest后,确认要为该DHCP Client提供的IP地址后,便想该DHCP Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑定。另外其他DHCP Server都将收回自己之前为DHCP Client提供的IP地址。
第五步:当DHCP Client重新登录后,不是广播请求而是发送一个以包含之前DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一个ACK报文。但是如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报文后,会重新发送DHCP Discovery报文来重新获取IP地址。
第六步:DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。当当前租约期限过了87.5%后,则联系其它服务器。
DHCP中继代理:为了减少网上的DHCP服务器,客户机广播后,DHCP中继代理收到广播后,以单播的方式发给DHCP服务器,建立请求。
10. SNMP
参考:http://blog.csdn.net/shanzhizi/article/details/11606767
SNMP(Simple NetworkManagement Protocol )简单网络管理协议是TCP/IP协议簇的一个应用层协议。由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,在SNMPv1基础上改善了系统管理接口、协作操作、信息格式,管理体系结构和安全性等方面,增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本,在SNMPv2基础上增加、完善了安全和管理机制。网络管理系统一般由管理进程(主动实体),被管理对象(硬件),代理进程(被动实体),网络管理协议SNMP和CMIP,管理信息库(被管理对象概念上的集合)。
SNMP特点:简单,易于在各种网络中实现,广泛支持操作简捷、性能高,用于小规模,成本低。
ICMP特点:每个变量不仅传递信息,并完成一定的网络管理任务,减少管理的网络负载,安全性高,用于验证访问控制和安全日志功能。用于大型管理规模。
管理信息库MIB:任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个SNMP设备(Agent)都有自己的MIB。MIB也可以看作是NMS(网管系统)和Agent之间的沟通桥梁。
SNMP的5种协议数据单元
SNMP支持了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。
get-request操作:从代理进程处提取一个或多个参数值。
get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值。
set-request操作:设置代理进程的一个或多个参数值。
get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。
trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
下图描述了SNMP的这5种报文操作。
11. 常用端口及协议
(1)常用端口
端口 | 用途 |
20 | FTP文件传输协议(数据) |
21 | FTP文件传输协议(控制) |
23 | Telnet远程登录协议 |
25 | SMTP简单邮件发送协议 |
53 | DNS域名服务器 |
69 | 简单文件传输协议(便于从系统下载启动代码) |
80 | 超文本传输协议 |
110 | POP3服务器(邮件发送服务器) |
161 | SNMP简单网络管理协议 |
162 | SNMP Trap陷阱数据包 |
(2)基于TCP/UDP的协议
下层用TCP的协议 | POP3、FTP、HTTP、Telnet、SMTP |
下层用UDP的协议 | DHCP、TFTP、SMNP、DNS |
下层用TCP和UDP的都可以协议 | Samba、CIFS(Windows之间共享文件)、NFS(Linux之间共享文件) |
(3)OSI模型各层使用协议
应用层 | FTP、HTTP、SMTP |
传输层 | TCP、UDP |
网络层 | ICMP、IGMP、IP、RARP、ARP |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。