网络通信协议详解
1.物理层
典型设备:中继器、集线器(Hub)、网线、调制解调器、光纤、双绞线、同轴电缆
数据单元:比特(bit)
作用:机械、电子、定时接口通信信道上原始比特流传输
协议:IEEE 802.2、Enternet v.2、Internetwork
2.数据链路层
典型设备:网卡、网桥、交换机
数据单元:帧
作用:物理寻址,同时将物理比特流转变为逻辑传输链路
协议:隧道协议:PPTP(点对点隧道协议)、L2TP(第二层隧道协议)、MPLS
3.网络层
典型设备:路由器、防火墙、多层交换机
数据单元:数据包
作用:控制子网的运行,如逻辑编址、分组传输、路由选择
协议:IP、IGMP、BGP、RIP(属于UDP)、ICMP、ARP、RARP
4.传输层
典型设备:进程和端口
数据单元:数据段
作用:接受上一层的数据,在必要的时候把数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端
协议:TCP、UDP
5.会话层
数据单元:数据
作用:不用机器上的用户之间建立及管理对话
协议:SSL、TSL
6.表示层
数据单元:数据
作用:信息的语法语义以及他们的关联,如加密解密、转换翻译、压缩解压缩
协议:LPP
7.应用层
数据单元:数据
作用:各种应用程序协议
协议:SMTP、POP3、HTTP、FTP、Telnet、DNS、DHCP、SNMP
重点协议解析
1.HDLC
HDLC(High-Level Data Link Control,高级数据链路控制),是链路层协议的一项国际标准,用以实现远程用户间资源共享以及信息交互。HDLC协议用以保证传送到下一层的数据在传输过程中能够准确地被接收,也就是差错释放中没有任何损失,并且序列正确。HDLC协议的另一个重要功能是流量控制,即一旦接收端收到数据,便能立即进行传输。
HDLC的监控帧用于差错控制和流量控制,通常简称为S帧
00——接收就绪(RR),由主站或从站发出,主站可以使用RR型S帧来轮询从站,即希望从站传输编号为N的I帧,边进行传输;从站也可以用RR型S帧来做相应,表示从站希望从主站那里接收到的下一个的I帧的编号是N
01——拒绝(REJ),由主站或从站发出,用以要求发送方对从编号为N开始的帧及其后所有的帧进行重发,这也暗示N以前的帧已被正确接收
10——接受未就绪(NRN),标识编号小于N的I帧已被接收到,但当前正处于忙状态,尚未准备好接收编号为N的帧,这可用来对链路流量进行控制
11——选择拒绝(SREJ),它要求发送方发送编号为N单个I帧,并暗示其他编号为I帧已经全部确认。差错机制为选择重发
2.TCP和UDP
TCP特点:
(1)面向连接的传输层协议
(2)每一条TCP连接只能有两个端点,只能是点到点
(3)TCP提供可靠的交付服务,通过TCP连接传送的数据无差错、不丢失、无重复、并且按顺序到达
(4)TCP提供全双工通信,TCP允许通信双方的应用进程在任何时刻都能发送数据。在TCP连接的两端都有发送缓存和接收缓存,用来临时存放通信的数据
(5)面向字节流:TCP把应用进程交下来的数据看成是一连串无结构的字节流,TCP并不关心应用进程一次把多长的报文发送到TCP的缓存中,而是根据对端给出的窗口值和当前网络拥塞的程度来决定一个报文段应该包含多少个字节
UDP的特点:
(1)UDP是一种简单的面向数据报的传输协议,实现的是不可靠、无连接的数据报服务,通常用于不要求可靠性传输的场合
(2)UDP传输可以提高传输效率,减少额外的开销,使用UDP传输时,应用进程的每次输出均生成一个UDP数据报,并将其封装在一个IP数据报中发送
(3)UDP没有拥塞控制,所以网络出现拥塞不会让源主机的发送速率降低,这对于某些实时应用是很重要的。很多实时应用要求源主机以恒定的速率发送数据,并且允许在拥塞的时候丢失一些数据,但不允许有太大的时延
TCP和UDP协议均提供了端口寻址的能力
建立TCP连接时,端口状态有:
LISTEN:服务器等待连接过来的状态
SYN_SENT:客户端发起连接(主动打开),变成此状态,如果SYN超时,或者服务器不存在直接CLOSED
SYN_RCVD:服务器收到SYN包的时候,就变成此状态
ESTABLISHED:完成三次握手,进入连接建立状态,书名此时已经可以进行数据传输了
三次握手过程:
作用:建立三次握手,而非二次握手是防止产生错误的连接
过程:当发送方发送了SYN=1,ACK=0请求后,需要等待收到对方的发送的SYN=1、ACK=1的数据包;收到之后,发送方在发送SYN回应,已建立正常的三次握手请求
但出现错误连接时,会以RST、ACK包回应来拒绝连接
TCP协议中URG指针的作用是当等于1的时候。高速系统有紧急数据传送,应该尽快
TCP协议中用于进行流量控制的字段为窗口,TCP协议使用可变大小的滑动窗口协议实现流量控制。
2.ARP
ARP协议的数据单元被封装在以太帧中传输
3.ICMP
ICMP协议作为IP数据报中的数据,封装在IP数据报中传
4.RIP
RIP协议属于应用层协议,被封装在UDP报文中传输,RIP协议的默认路由更新周期是30秒
RIPv2对RIPv1协议的改进之一为路由器有选择地将路由表中的信息发送给邻居,而不是发送整个路由表。具体说,一条路由信息不会被发送给
该信息的来源,这种方法叫做水平分割法,作用是解决路由环路。
5.OSPF
(1)OSPF路由器周期性(默认10秒)的从其启动的OSPF协议的每一个接口以组播地址224.0.0.5发送HELLO包,以寻找邻居
(2)OSPF的每个区域运行路由选择短发的一个实例
(3)OSPF采用Dijkstra算法计算最佳路由
(4)OSPF在理由发生变化的时候才会发送更新信息
(5)OSPF协议是链路状态路由协议,用区域0表示主干区域,该协议提供了整个网络的拓扑视图,并根据拓扑图计算到达每个目标的最优路径
(6)OSPF协议能对网络发生的变化快速响应,当网络发生变化时发送触发式更新,发送周期性更新链路状态通告(LSA),并不是相互交换自己的整张路由表
(7)OSPF路由协议不同进程之间可以进行路由重分布,进程号仅在本地有意义。
OSPF协议将网络分成4种区域,其中存根区域不接受本地自制系统以外的路由信息,岁自制系统以外的目标采用默认路由0.0.0.0,作用是减小路由表规模和路由信息数量。
6.POP3
POP3是邮局协议,用的是TCP的110端口,电子邮件协议有POP3、SMTP、IMAP
7.BGP4
在BGP4协议中keepalive报文将正常工作信息告知邻居,update报文给出了新的路由信息
8.DHCP
(1)DHCP服务器租约默认为8天
(2)当租约期过去50%时,客户机与服务器联系更新租约
(3)当租约期过去87.5%时,客户机与服务器联系失败,重新启动IP租用过程
(4)客户机可以采用ipconfig/renew重新申请地址
DHCP客户端通过广播的方式发送DHCPDiscover消息。
当DHCP客户机第一次登陆网络的时候(也就是客户机上没有任何IP数据的时候),他会通过UDP的67端口向网络上发送出一个DHCPDiscover数据包(包中包含客户机的MAC地址和计算机名等信息)。因为客户及还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0,目标地址为255.255.255.255,然后再附上DHCPDiscover的信息,向网络进行广播
DHCP Release:释放申请的IP,DHCP Decline:拒绝该IP,DHCP Nack:取消申请的IP,DHCP Renew:重新申请IP,DHCP Request请求重新租用IP地址
9.DNS
在DNS服务器中的资源记录有以下几种:
(1)SOA定义了该区域中哪个名称服务器是权威域名服务器
(2)NS表示该区域的域名服务器
(3)PTR记录把IP地址映射到域名
(4)MX邮件交换记录,定义了区域的邮件服务器及优先级
(5)A表示主机,A记录表示主机名到IP地址的映射
(6)CNAME表示别名
(7)TXT记录,一般指为某个主机名或域名设置的说明
10.SNMP
SNMP使用如下5种格式的PDU(协议数据单元),也是SNMP系列协议中最基础的部分:
Get-Request:由管理进程发出,向管理代理请求其取值
Get-Next-Request:由管理进程发出,在Get-Request报文后使用,表示查询MIB中的下一个对象,常用于循环查询
Set-Request:由管理进程发出,用来请求改变管理代理上的某些对象
Get-Response:当管理代理收到管理进程发送的一个Get-Request或Get-Next-Request报文时,将应答的一个该报文
Trap:一种报警机制(属于无请求的报文),用于在意外或突然故障的情况下管理代理主动向管理进程发送的报警信息。常见的报警类型有冷启动、热启动、线路故障、线路故障恢复和认证失败等
SNMP采用UDP的方式传输,SNMP使用的端口号是161,SNMP TRAP使用的端口号是162
SNMP使用的是无连接的UDP协议,因此在网络上传送的SNMP豹纹的开销很小,但UDP是不保证可靠交付的。同时SNMP使用UDP的方法有些特殊,在运行代理程序的服务器端口用161端口来
接收Get和Set报文和发送响应报文(客户端使用临时端口),但运行管理程序的客户端则使用162端口进行接收来自各代理的Trap报文。
如果代理收到一个Get请求,如果不嗯能够提供该对象的值,则以该对象的下一个值作为响应。
11.CSMA/CD
CSMA/CD是介质访问子层的协议
12.FTP
FTP服务器使用20和21两个网络端口和FTP客户端进行通信。主动模式下,FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。
13.RSVP
资源预留协议RSVP,他的过程从应用程序流的源节点发送Path消息开始,该消息会沿着六所流经路径传到流的目的节点,并沿途建立路径状态,目的节点收到该Path消息后,会向源节点回送Resv消息,
沿途建立预留状态,如果源节点成功受到预期的Resv消息,则确认在整条路径上资源预留成功
14.SMTP
使用端口号25
15.HTTP/HTTPS
使用短端口号是80,HTTPS端口号443
16.Telnet
端口号23,Telnet服务器所开放的端口,用于从本地远程登录对方电脑
未完待续。。。。4.1