一、各协议特点、协议字段

1、常见TCP/IP协议概览

image-20241027194202605

VRRP

VRRP虚拟路由冗余协议。使用IP协议,协议号为112。采用组播224.0.0.18发送通告报文。

FTP

文件传输协议(File Transfer Protocol,FTP)工作在应用层,使用TCP传输。

  • 建立控制连接的端口为TCP 21端口

  • 主动模式下:建立数据连接的端口为服务器的TCP20

  • 被动模式:建立数据连接的端口随机生成。

SNMP

SNMP简单网络管理协议,使用UDP传输。

  • NMS(网管平台):监听162端口

  • Device(被管理设备):监听161端口

DHCP

DHCP动态主机配置协议,使用UDP的67(服务器)68(客户端)端口。

工作原理:

  1. 发现阶段:客户端广播Discover报文

  2. 提供阶段:服务端广播/单播Offer

  3. 选择阶段:客户端广播Request

  4. 确认阶段:服务端单播ACK

  5. 。。。续租。。。

  6. 50%租期:客户端单播Request。服务端单播ACK。

  7. 。。。未收到ACK。。。

  8. 87.5%租期:客户端广播Request。服务端单播ACK。

  9. 。。。租期时间到,仍然未收到ACK。。。

  10. 客户端停用IP,重新广播Discover。

二、路由协议

image-20241027194228804

image-20240913190711647

image-20241005205053747

OSPF

OSPF开放最短路径优先,使用IP协议,协议号为89。组播224.0.0.5224.0.0.6发送报文。

  • 链路状态协议(使用度量值衡量),内部网关协议,使用Dijkstra算法。

  • 使用Hello报文(10s)发现、建立邻居。40sDown掉。

  • 使用DD报文同步数据库。

区域:

  • Area 0是骨干区域(默认),其他区域都必须与此区域相连。

  • ABR:边界路由器,连接两个区域。

  • ASBR:自治系统边界路由器,连接两个自治系统。

  • OSPF的边界是在路由器上。

RIP

RIP路由信息协议,使用功能UDP520端口传输。封装的目的IP是组播地址224.0.0.9

  1. 距离矢量协议,以跳数为度量,最大为15跳,16跳不可达。

  2. Update Timer:30s发送一次完整更新。

  3. Age Timer:180s老化路由条目(置为16跳)

  4. Garbage Collect Timer:120s将老化的路由删除

环路避免:

  • 水平分割:从某接口学到的路由不在从该接口通告

  • 毒性反转:从某接口学到路由后,立刻反向发送该条路由,度量为16跳。

  • 路由毒化:将自己路由表中失效的路由作为不可达路由通告出去。

  • 触发更新:网路拓扑发生变化时,主动发送更新。

RIP只能宣告主类号。

BGP

BGP边界网关协议,使用功能TCP179端口。手动建立对等体,可跨三层网段建立。

  1. 路径向量路由协议,自己不生产路由

  2. 使用Open报文建立对等体

  3. 60秒发送Keepalive保持连接,180s没有收到就Down

  4. 双方都收到Keepalive报文后,进入最终状态Established

  5. 用Update通告路由,第一次发送全部路由,后期只是增量更新。

路由优选

BGP路由表中显示的路径属性比较的先后顺序。只有1、2是值越大越优。

image-20241005204930336

BGP通告遵循以下原则:

  1. 只发布最优路由。

  2. 从EBGP对等体获取的路由,会发布给所有对等体。

  3. IBGP水平分割:从IBGP对等体获取的路由,不会发送给IBGP对等体。

  4. BGP同步规则指的是:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,也就是要求IBGP路由与IGP路由同步。同步规则主要用于规避BGP路由黑洞问题。

三、邮件协议概览

SMTP用于发邮件,POP3和IMAP4用于收邮件。

POP3下载邮件后会,邮件服务器中的邮件会被清除。

IMAP4下载邮件后服务器中的邮件仍然存在,可以实现同步客户端和服务器之间的邮件列表。

image-20241027194320348

四、IPv6

IEEE EUI-64规范生成接口标识

image-20241013113358810

将48位MAC地址分为两半(一半24bit),在中间插入FFFE(1111 1111 1111 0000);再将MAC的第7位取反,即可得到IPv6地址(64位的接口ID)。

image-20241013122022011

全球单播地址前3位必须为001,也就是第一个16进制必须为2或3。例如:2001:db8:1234:1::1

IPv6头部固定长度为40字节(IPv4为20)。