网络工程师干货:TCP/IP协议大全(非常详细)零基础入门到精通,收藏这一篇就够了

616 篇文章 29 订阅
51 篇文章 0 订阅

TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集包括许多协议,其中最重要的是传输控制协议(TCP)和因特网协议(IP)。这些协议定义了数据如何在网络上进行传输和接收,为网络设备提供了通信的规则和标准。

TCP/IP协议集采用分层模型,以便于网络的设计、实现和管理。TCP/IP协议模型由四个层次组成,分别是应用层、传输层、网络层和网络接口层。每一层负责不同的功能,并与相邻层次进行通信。

  • 应用层是TCP/IP协议集的最高层,负责处理特定的网络应用程序,如电子邮件、文件传输和网页浏览。应用层协议包括HTTP、FTP、SMTP、DNS等。这些协议定义了应用程序如何使用网络资源进行通信。

  • 传输层负责提供端到端的通信服务。传输层协议包括传输控制协议(TCP)和用户数据报协议(UDP)。TCP提供可靠的、面向连接的服务,而UDP提供不可靠的、无连接的服务。传输层的主要功能包括数据分段、错误检测和修复、流量控制等。

  • 网络层负责数据包的路由和转发。网络层协议包括因特网协议(IP)、地址解析协议(ARP)、互联网控制报文协议(ICMP)等。IP协议是最重要的网络层协议,它定义了数据包的格式和地址结构,并负责数据包的路由。ARP用于将IP地址解析为物理地址,ICMP用于发送错误和状态信息。

  • 网络接口层负责与物理网络的接口,包括以太网、Wi-Fi等。网络接口层协议定义了如何在物理网络上传输数据帧,以及如何处理链路层的错误和冲突。网络接口层协议包括以太网协议、PPP协议等。

TCP/IP协议通过分层模型来实现数据通信。当一个应用程序需要发送数据时,数据会经过每一层的处理,每一层添加相应的协议头信息,最后通过物理网络传输。接收端按照相反的顺序处理数据,逐层剥去协议头信息,最终将数据传递给目标应用程序。

在发送数据时,应用层将数据传递给传输层,传输层将数据分段并添加TCP或UDP头信息,形成段(segment)或数据报(datagram)。接着,网络层将段或数据报封装成IP包(packet),并添加IP头信息。最后,网络接口层将IP包封装成数据帧(frame),并添加链路层头信息,然后通过物理网络发送出去。

在接收数据时,数据帧从物理网络传输到网络接口层,网络接口层剥去链路层头信息,形成IP包。接着,网络层处理IP包并剥去IP头信息,形成段或数据报。传输层处理段或数据报,并剥去TCP或UDP头信息,最后将数据传递给应用层。

应用层协议

应用层是TCP/IP协议集的最高层,直接与应用程序交互。它提供各种网络服务,允许应用程序在网络上进行通信。常见的应用层协议包括HTTP/HTTPS、FTP/SFTP、SMTP/IMAP/POP3、DNS和DHCP。

1. HTTP/HTTPS

HTTP(超文本传输协议)

HTTP(HyperText Transfer Protocol)是用于在万维网(WWW)上传输超文本的协议。它是无状态的、面向对象的协议,基于请求/响应模型工作。

  • 请求/响应模型:客户端(通常是浏览器)向服务器发送HTTP请求,服务器处理请求并返回HTTP响应。

  • HTTP方法:常见的HTTP方法包括GET(请求资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等。

  • 状态码:HTTP响应包含状态码,用于指示请求的结果。常见状态码包括200(成功)、404(未找到)、500(服务器错误)等。

HTTPS(安全超文本传输协议)

HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,通过TLS/SSL协议加密数据传输,确保数据的机密性和完整性。

  • 加密:HTTPS使用TLS/SSL协议加密数据传输,防止数据被窃听或篡改。

  • 身份验证:通过数字证书验证服务器的身份,确保客户端连接到的是合法服务器。

  • 数据完整性:使用消息摘要算法确保数据在传输过程中未被修改。

2. FTP/SFTP

FTP(文件传输协议)

FTP(File Transfer Protocol)是用于在网络上传输文件的协议。它支持文件的上传、下载和管理。

  • 连接模式:FTP支持主动模式和被动模式。在主动模式下,客户端开放端口等待服务器连接;在被动模式下,服务器开放端口等待客户端连接。

  • 命令与响应:FTP使用命令与响应机制,客户端发送FTP命令,服务器返回响应码。

  • 数据传输模式:FTP支持ASCII和二进制两种数据传输模式。

SFTP(安全文件传输协议)

SFTP(Secure File Transfer Protocol)是通过SSH(Secure Shell)加密传输文件的协议,确保文件传输的安全性。

  • 加密:SFTP通过SSH协议加密数据传输,确保数据的机密性和完整性。

  • 认证:使用SSH密钥或用户名密码进行身份验证。

  • 文件操作:SFTP支持文件的上传、下载、重命名、删除等操作。

3. SMTP/IMAP/POP3

SMTP(简单邮件传输协议)

SMTP(Simple Mail Transfer Protocol)是用于发送电子邮件的协议。它定义了邮件如何从发件人传输到收件人的邮件服务器。

  • 邮件传输过程:SMTP使用命令与响应机制,客户端发送SMTP命令,服务器返回响应码。邮件通过SMTP服务器逐级传输到目标服务器。

  • 身份验证:SMTP支持用户名密码认证,确保只有授权用户才能发送邮件。

  • 端口:SMTP默认使用端口25,SSL/TLS加密的SMTP使用端口465或587。

IMAP(互联网邮件访问协议)

IMAP(Internet Message Access Protocol)是用于从邮件服务器读取电子邮件的协议。与POP3不同,IMAP支持在服务器上管理邮件。

  • 邮件同步:IMAP允许用户在多个设备上同步邮件,所有操作(如读取、删除、移动邮件)都在服务器上执行。

  • 文件夹管理:IMAP支持在服务器上创建、删除和管理邮件文件夹。

  • 离线访问:IMAP允许用户在离线状态下访问已下载的邮件。

POP3(邮局协议版本3)

POP3(Post Office Protocol version 3)是另一种从邮件服务器读取电子邮件的协议。与IMAP不同,POP3通常将邮件下载到本地设备并从服务器上删除。

  • 邮件下载:POP3将邮件从服务器下载到本地设备,默认情况下邮件在服务器上被删除。

  • 简单易用:POP3协议简单易用,适用于只在单个设备上访问邮件的用户。

  • 端口:POP3默认使用端口110,SSL/TLS加密的POP3使用端口995。

4. DNS

DNS(Domain Name System)是用于将域名解析为IP地址的系统,是互联网的重要基础设施之一。

  • 域名解析:DNS将人类可读的域名(如www.example.com)解析为计算机可识别的IP地址(如192.0.2.1)。

  • 层次结构:DNS采用层次结构,包括根域名服务器、顶级域名服务器(如.com、.org)、权威域名服务器和缓存域名服务器。

  • 记录类型:DNS使用不同类型的记录,如A记录(将域名解析为IPv4地址)、AAAA记录(将域名解析为IPv6地址)、MX记录(邮件交换记录)等。

  • 查询过程:DNS查询过程包括递归查询和迭代查询。客户端向本地DNS服务器发送递归查询,本地DNS服务器逐级向上查询,直到找到权威DNS服务器。

5. DHCP

DHCP(Dynamic Host Configuration Protocol)是用于动态分配IP地址和其他网络配置的协议。

  • IP地址分配:DHCP服务器根据预定义的范围(IP地址池)动态分配IP地址给客户端。

  • 配置参数:DHCP服务器还可以分配其他配置参数,如子网掩码、网关地址、DNS服务器地址等。

  • 租约机制:DHCP使用租约机制,IP地址的分配是临时的,客户端需要定期更新租约。

  • 工作流程:DHCP工作流程包括发现(Discover)、提供(Offer)、请求(Request)和确认(ACK)四个阶段。

传输层协议

传输层协议负责提供端到端的通信服务,确保数据可靠地从源节点传输到目的节点。TCP/IP协议集中的主要传输层协议包括传输控制协议(TCP)和用户数据报协议(UDP)。

1. TCP(传输控制协议)

TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议。它通过三次握手建立连接,确保数据的可靠传输。

TCP的主要特性
  • 面向连接:在传输数据前,通信双方需要建立TCP连接,这个过程称为三次握手。传输完成后,连接需要通过四次挥手关闭。

  • 可靠传输:TCP使用序列号和确认机制,确保数据包按顺序到达并且不丢失。接收方发送ACK(确认)消息,确认已接收到的数据。

  • 流量控制:TCP使用滑动窗口机制进行流量控制,防止发送方发送数据过快,超出接收方的处理能力。

  • 拥塞控制:TCP使用拥塞避免算法,如慢启动、拥塞避免、快重传和快恢复,来防止网络拥塞。

TCP连接过程
  • 三次握手:建立连接时,客户端和服务器进行三次握手:
  1. 客户端发送SYN(同步序列号)请求,标识序列号。

  2. 服务器接收到SYN后,发送SYN-ACK响应,确认收到SYN并标识自己的序列号。

  3. 客户端接收到SYN-ACK后,发送ACK确认,连接建立成功。

  • 四次挥手:关闭连接时,客户端和服务器进行四次挥手:
  1. 客户端发送FIN(终止连接)请求,表示不再发送数据。

  2. 服务器接收到FIN后,发送ACK确认,但可能仍有数据要发送。

  3. 服务器完成数据发送后,发送FIN请求,表示不再发送数据。

  4. 客户端接收到FIN后,发送ACK确认,连接关闭。

TCP头部格式

TCP头部包含多个字段,用于管理数据传输。主要字段包括:

  • 源端口和目标端口:标识通信双方的端口号。

  • 序列号:标识数据段在整个数据流中的位置。

  • 确认号:确认已接收的数据段的序列号。

  • 标志位:包括SYN、ACK、FIN等,用于控制连接状态。

  • 窗口大小:用于流量控制,表示接收方的缓冲区大小。

  • 校验和:用于错误检测,确保数据的完整性。

2. UDP(用户数据报协议)

UDP(User Datagram Protocol)是一种无连接的、简单的传输层协议。它提供不可靠的数据传输服务,适用于对传输速度要求较高且能容忍丢包的应用。

UDP的主要特性
  • 无连接:UDP不建立连接,直接发送数据,无需三次握手和四次挥手。

  • 不可靠传输:UDP不保证数据的可靠性、顺序性和完整性。数据包可能会丢失、重复或乱序到达。

  • 低开销:UDP头部简单,只有8个字节,传输开销低,适用于实时应用。

  • 适用场景:UDP适用于实时性要求高的应用,如视频流、音频流、在线游戏等。

UDP头部格式

UDP头部包含以下字段:

  • 源端口和目标端口:标识通信双方的端口号。

  • 长度:表示UDP头部和数据部分的总长度。

  • 校验和:用于错误检测,确保数据的完整性。

TCP与UDP的对比

  • 连接性:TCP是面向连接的,UDP是无连接的。

  • 可靠性:TCP提供可靠传输,UDP不提供可靠性保证。

  • 流量控制和拥塞控制:TCP具有流量控制和拥塞控制机制,UDP没有。

  • 头部开销:TCP头部较大,开销高;UDP头部简单,开销低。

  • 传输速度:TCP传输速度相对较慢,适用于可靠性要求高的应用;UDP传输速度快,适用于实时性要求高的应用。

网络层协议

网络层负责数据包的路由和转发,确保数据从源节点到达目的节点。TCP/IP协议集中的主要网络层协议包括因特网协议(IP)、地址解析协议(ARP)、互联网控制报文协议(ICMP)和路由协议。

1. IP(因特网协议)

IP(Internet Protocol)是网络层最重要的协议,负责数据包的路由和转发。IP协议有两个版本:IPv4和IPv6。

IPv4

IPv4(Internet Protocol version 4)是最早广泛使用的IP协议版本,使用32位地址,理论上可以提供约43亿个地址。

  • IP地址:IPv4地址由4个8位字节(总共32位)组成,以点分十进制表示(如192.168.1.1)。

  • 子网划分:通过子网掩码(如255.255.255.0)将网络划分为多个子网,管理地址分配和路由。

  • 路由:IPv4使用路由表和路由协议(如RIP、OSPF、BGP)进行数据包的路由。

  • 头部格式:IPv4头部包含多个字段,包括版本、头部长度、总长度、标识、标志、片偏移、TTL(生存时间)、协议、头部校验和、源地址和目的地址等。

IPv6

IPv6(Internet Protocol version 6)是IPv4的继任者,使用128位地址,提供几乎无限的地址空间。

  • IP地址:IPv6地址由8组16位十六进制数字组成,以冒号分隔(如2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

  • 自动配置:IPv6支持无状态地址自动配置(SLAAC),简化了地址分配。

  • 安全性:IPv6内置了IPsec(IP Security),提供数据加密和认证。

  • 头部格式:IPv6头部简化了字段,只有8个固定长度的字段,包括版本、流量类、流标签、有效载荷长度、下一个头部、跳限制、源地址和目的地址。

2. ARP(地址解析协议)

ARP(Address Resolution Protocol)用于将IP地址解析为物理地址(如MAC地址),实现局域网内的通信。

  • 工作原理:当主机需要知道另一个主机的物理地址时,它会发送ARP请求广播到网络,目标主机接收到请求后,发送ARP响应,包含其物理地址。

  • ARP缓存:每个主机维护一个ARP缓存,存储最近解析的IP地址和物理地址对,减少频繁的ARP请求。

3. ICMP(互联网控制报文协议)

ICMP(Internet Control Message Protocol)用于在网络设备之间传递控制消息和错误报告。

  • 主要功能:ICMP用于报告网络错误、进行网络诊断和管理。常见的ICMP消息类型包括:

  • 回显请求和应答(Echo Request/Reply):用于Ping命令,测试网络连通性。

  • 目标不可达(Destination Unreachable):当路由器无法将数据包传递给目标时发送。

  • 时间超过(Time Exceeded):当数据包的TTL值减为零时发送。

  • 重定向(Redirect):当路由器发现更优路径时通知主机更新路由表。

4. 路由协议

路由协议用于在网络设备之间交换路由信息,建立和维护路由表,确保数据包选择最佳路径传输。

内部网关协议(IGP)

IGP(Interior Gateway Protocol)用于自治系统(AS)内部的路由选择。

  • RIP(路由信息协议):基于距离矢量算法,使用跳数作为度量标准,适用于小型网络。RIP更新频率高,但收敛速度慢,容易产生路由环路。

  • OSPF(开放最短路径优先):基于链路状态算法,使用Dijkstra算法计算最短路径,适用于大型网络。OSPF收敛速度快,支持多区域划分和负载均衡。

外部网关协议(EGP)

EGP(Exterior Gateway Protocol)用于自治系统之间的路由选择。

  • BGP(边界网关协议):基于路径矢量算法,使用AS路径作为度量标准,负责互联网骨干网的路由选择。BGP提供灵活的路由控制和策略配置,适应复杂的网络拓扑结构。

网络接口层协议

网络接口层负责物理网络的访问与数据传输,包括定义数据帧格式和介质访问控制方法。主要的网络接口层协议包括以太网、Wi-Fi、PPP和一些其他链路层协议。

1. 以太网(Ethernet)

以太网是最广泛使用的局域网技术,定义了计算机如何在同一网络上相互通信。

以太网的主要特性
  • 帧结构:以太网帧包括帧头、数据负载和帧尾。帧头包含目的地址、源地址和类型字段;帧尾包含帧校验序列(FCS),用于错误检测。

  • MAC地址:每个以太网设备都有一个唯一的MAC地址,用于在局域网上标识设备。

  • 介质访问控制:以太网使用CSMA/CD(载波侦听多路访问/碰撞检测)方法控制对共享介质的访问。设备在发送数据前侦听网络,确保没有其他设备在发送数据。

以太网类型
  • 标准以太网:支持10 Mbps传输速率。

  • 快速以太网:支持100 Mbps传输速率。

  • 千兆以太网:支持1 Gbps传输速率。

  • 万兆以太网:支持10 Gbps及以上传输速率。

2. Wi-Fi(无线保真)

Wi-Fi是基于IEEE 802.11标准的无线局域网技术,允许设备在无线网络中通信。

Wi-Fi的主要特性
  • 帧结构:Wi-Fi帧包括管理帧、控制帧和数据帧。每种帧类型用于不同的功能,如建立连接、管理网络和传输数据。

  • SSID:服务集标识符(SSID)用于标识无线网络,设备通过SSID连接到特定的无线网络。

  • 加密:Wi-Fi支持多种加密方法,如WEP、WPA和WPA2,确保无线通信的安全性。

Wi-Fi标准
  • 802.11a:支持5 GHz频段,最大传输速率为54 Mbps。

  • 802.11b:支持2.4 GHz频段,最大传输速率为11 Mbps。

  • 802.11g:支持2.4 GHz频段,最大传输速率为54 Mbps。

  • 802.11n:支持2.4 GHz和5 GHz频段,最大传输速率为600 Mbps。

  • 802.11ac:支持5 GHz频段,最大传输速率为1 Gbps及以上。

  • 802.11ax:支持2.4 GHz和5 GHz频段,最大传输速率为10 Gbps及以上。

3. PPP(点对点协议)

PPP(Point-to-Point Protocol)是一种用于在点对点连接上传输数据的协议,广泛用于拨号连接、DSL和VPN等场景。

PPP的主要特性
  • 帧结构:PPP帧包括标志字段、地址字段、控制字段、协议字段、信息字段和帧校验序列(FCS)。

  • 链路控制协议(LCP):用于建立、配置和测试数据链路连接。LCP通过发送LCP包进行链路的协商和配置。

  • 网络控制协议(NCP):用于在PPP连接上建立和配置不同的网络层协议,如IP、IPX等。

PPP扩展
  • PAP(口令验证协议):用于在PPP连接上进行简单的密码验证。

  • CHAP(质询握手验证协议):用于在PPP连接上进行更安全的验证,通过质询-响应机制验证用户身份。

4. 其他链路层协议

HDLC(高级数据链路控制)

HDLC(High-Level Data Link Control)是一种面向比特的链路层协议,用于点对点和点对多点连接。HDLC提供可靠的数据传输,支持全双工通信和流量控制。

ATM(异步传输模式)

ATM(Asynchronous Transfer Mode)是一种用于传输语音、视频和数据的高速网络技术。ATM使用固定长度的53字节信元进行传输,提供低延迟和高带宽。

MPLS(多协议标签交换)

MPLS(Multiprotocol Label Switching)是一种用于高速网络中的数据转发技术,通过在数据包前添加标签进行快速转发。MPLS支持多种网络协议,提供流量工程和服务质量(QoS)功能。

总结

层级协议
应用层HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, DHCP
传输层TCP, UDP
网络层IP (IPv4, IPv6), ARP, ICMP, OSPF, BGP
网络接口层Ethernet, Wi-Fi, PPP, HDLC, ATM, MPLS

应用层

应用层协议直接与用户交互,提供网络服务,如网页浏览、电子邮件和文件传输。

  • HTTP/HTTPS:用于网页浏览和安全的网页浏览。

  • FTP:用于文件传输。

  • SMTP/POP3/IMAP:用于电子邮件的发送和接收。

  • DNS:域名解析服务。

  • DHCP:动态主机配置协议,为网络设备分配IP地址。

传输层

传输层协议提供端到端的通信服务,确保数据可靠地传输。

  • TCP:面向连接的协议,提供可靠传输。

  • UDP:无连接的协议,提供不可靠但快速的传输。

网络层

网络层协议负责数据包的路由和转发。

  • IP (IPv4, IPv6):提供IP地址和路由功能。

  • ARP:将IP地址解析为物理地址。

  • ICMP:用于网络错误报告和诊断。

  • OSPF:内部网关协议,用于路由选择。

  • BGP:外部网关协议,用于自治系统之间的路由选择。

网络接口层

网络接口层协议定义了数据在物理网络上的传输方式。

  • Ethernet:有线局域网技术。

  • Wi-Fi:无线局域网技术。

  • PPP:点对点协议,用于直接连接。

  • HDLC:高级数据链路控制协议。

  • ATM:异步传输模式,用于高速网络。

  • MPLS:多协议标签交换,用于快速数据转发。

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值