1.1. TCP/IP
OSI体系是七层协议,而TCP/IP体系是四层协议,
- OSI七层模型是国际标准化组织ISo制定的开放系统互连基本参考模型,是法律上的国际标准 而TCP/IP是事实上的国际标准
- OSI协议实现起来过分复杂,而且运行效率低,层次划分不合理,很多功能在多个层次重复出现
- OSI七层协议分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP四层协议分别为网络接口层,网际层,运输层,应用层
1.2. 服务器优化参数
/etc/sysctl.conf
fs.file-max=65535
net.core.optmem_max = 81920
net.ipv4.tcp_mem = 131072 262144 524288
net.ipv4.tcp_rmem = 8760 256960 4088000
net.ipv4.tcp_wmem = 8760 256960 4088000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_fack=1
1.3. 抓取对应端口报文
tcpdump -i eth0 tcp -nn -s0 -A port {$port}
1.4. 流量控制算法
1.5. 协议所属分层和解释
- https://cloud.tencent.com/developer/article/1543522
- https://cloud.tencent.com/developer/article/1193119
- https://blog.csdn.net/taoyingzhushui/article/details/8120296
- https://www.jianshu.com/p/5d5d0f192fb2
- https://blog.csdn.net/latico/article/details/102800197
1.5.1. TCP
协议类型:传输层 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。 TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
1.5.2. UDP
协议类型:传输层 Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据报的方法。 Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的的事情。面向连接的是 TCP,该协议几乎做了所有的事情。
1.5.3. Telnet
协议类型:应用层,TCP,文本格式 端口23 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法
1.5.4. SSH
协议类型:应用层,TCP,文本格式,加密 利用SSL加密的命令行协议,端口22
1.5.5. netconf
协议类型:应用层,TCP,文本格式,加密 端口830 通过SSH传输XML格式命令报文
1.5.6. ICMP
协议类型:网络层,文本格式 ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。 ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。
1.5.7. SNMP
协议类型:应用层,UDP,文本格式 简单网络管理协议。 161端口 SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。 基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。 自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。 屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。 简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。 报文种类少,报文格式简单,方便解析,易于实现。 SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。
1.5.8. DHCP
协议类型:应用层,UDP,报文结构复杂,最终解析出也是文本格式 DHCP是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段。
1.5.9. HTTP
协议类型:应用层,TCP,文本格式 HTTP–Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。
1.5.10. HTTPS
协议类型:应用层,TCP,文本格式,在表示层进行了加解密。
https协议需要到ca申请证书或自制证书。
http的信息是明文传输,https则是具有安全性的ssl加密。
http是直接与TCP进行数据传输,而https是经过一层SSL(OSI表示层),用的端口也不一样,前者是80(需要国内备案),后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
1.5.11. syslog
协议类型:应用层,UDP,文本格式 设备系统日志,使用UDP协议,服务端程序监听514端口,设备主动推送上报设备的日志信息。
1.5.12. Trap
协议类型:应用层,UDP,文本格式 简单网络管理协议SNMP(Simple Network Management Protocol)SNMP协定在OSI模型的应用层(第七层)运作,从第一版开始就定义trap为核心PDU报文之一。SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生。此事件可以是告警、告警恢复、通知等。如接口UP/DOWN,IP地址更改等。 服务端启动监听162端口,设备主动上报trap告警。 重点:syslog是日志信息,trap是告警信息
1.5.13. MPLS
协议类型:网络层和数据链路层之间,2.5层协议
MPLS(多协议标签交换),即多协议标记交换,介于网络层和数据链路层之间,是一种标记(label)机制的包交换技术,通过简单的2层交换来集成IP Routing 的控制。 MPLS在传统的如以太网帧的源MAC地址前增加了32比特的头,其中1-20比特用来标识标签,21-23用来标识优先级,类似于IP头的TOS字段,24比特用来标识是否有标签嵌套。最后8比特为TTL。
1、MPLS是介于2层和3层之间的协议,主要应用在城域网中,作为集客专线、基站等承载VPN技术的关键技术。 2、MPLS用MPLS标签进行转发,先通过IP单播路由的方式沿途分配好MPLS标签,分配完成后,沿途路由器只需要根据MPLS标签进行转发,比IP查表效率高很多,但是,IP查表虽然是软件实现,但是CPU的性能已经很高,所以,MPLS转发性能优势已经不存在,MPLS优势在于VPN,可以实现高附加值的功能,例如,MPLS VPN FRR,QOS等。 3、MPLS可以用静态分配标签的方式,也可以通过LDP进行动态分发标签。
1.5.14. ARP
协议类型:网络层。 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。
1.5.15. RARP
协议类型:网络层。 反向地址解析协议,通过MAC获取IP。
1.5.16. OSPF
协议类型:网络层,路由协议都是网络层 OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新。
1.5.17. ISIS
协议类型:网络层,路由协议都是网络层 ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。
1.5.18. LLDP
协议类型:数据链路层 链路层发现协议(Link Layer Discovery Protocol,LLDP)。 网络设备可以通过在本地网络中发送LLDPDU(Link Layer Discovery Protocol Data Unit)来通告其他设备自身的状态。是一种能够使网络中的设备互相发现并通告状态、交互信息的协议。