一丶TCP/IP协议簇定义
TCP/IP 协议簇,也称为互联网协议簇,是一组用于实现计算机网络通信的协议集合。它是互联网的基础通信机制,使得不同类型的计算机和设备能够在网络上进行通信和数据交换。(协议簇也叫协议栈)
二丶协议簇的分层架构
TCP/IP通常被认为是一个五层系统,应用层,传输层,网络层,数据链路层,物理层。
1.应用层协议
HTTP 超文本传输协议 使用TCP进行传输 是可靠的交换文件的重要基础。
FTP 文件传输协议 提供交换式的访问
DNS 域名解析协议 互联网使用的命令系统 用来把域名变成ip地址
TELNET 远程管理协议 他为用户提供了在计算机上完成远程主机工作的能力
SMTP 电子邮件协议 简单的邮件传输协议 SMTP通信的三个阶段分别是 建立连接 邮件传送 连接释放
POP3 简单网络管理协议 由三部分组成SMTP本身 管理信息结构SMI和管理信息MIB
TFTP 简单文件传送协议 用来在客户机和服务器之间进行简单文件传输的协议 基于UDP实现
DHCP 动态主机配置协议 基于UDP传输的动态获取IP地址的协议
2.传输层
TCP 面向连接 可靠的的传输控制协议 提供全双工服务
UDP 面向连接 不可靠的的传输控制协议 直播 视频会议 实时游戏都是使用udp进行传输
3.网络层
ICMP 互联网消息控制协议 用来验证网络是否畅通
IP 互联网协议 定义了数据的格式和传输规则 以及如何在计算机之间传输数据
IGMP 组管理协议 允许多个设备共享一个ip地址以便他们可以接受相同的数据
OSPF 开放式最短路径优先 他能快速计算出网络中最短路径
ARP 地址解析协议 用于将ip地址转换为mac地址 是介于数据链路层与网络层之间的协议
4.数据链路层
NAT 网络地址转换协议 将内外ip映射成公网ip地址
三丶协议簇端口号
每个端口号对应一个网络服务或应用程序
端口号是一个16位的数字,范围从0-65535 这个范围被分为两部分:知名端口(Well-Known Ports,0-1023) 注册端口(Registered Ports,1024-49151)和动态或私有端口(Dynamic or Private Ports,49152-65535)
四丶三次握手和四次挥手
1.三次握手
三次握手就好比两个人打电话的过程。
第一次握手:A 给 B 打电话,A 说 “喂,你能听到我说话吗?” 这就相当于 A 向 B 发送一个连接请求报文。
第二次握手:B 听到了 A 的声音,然后回答 “我能听到,你能听到我说话吗?” 这就是 B 收到 A 的请求后,向 A 回复一个确认报文。
第三次握手:A 听到了 B 的回答,接着说 “我也能听到。” 这就是 A 收到 B 的确认后,再向 B 发送一个确认报文。
经过这三次握手,A 和 B 就确定了双方都能正常通信,然后就可以开始交流了。在网络通信中,三次握手就是为了让通信的双方确认彼此的接收和发送能力正常,从而建立起可靠的连接。
2.四次挥手
第一次挥手:A 觉得话说完了,就对 B 说 “我说完了,准备挂电话了。” 这就相当于 A 向 B 发送一个 FIN 报文,表示 A 没有数据要发送了。
第二次挥手:B 听到 A 这么说,回应道 “好的,我知道了,但我可能还有点话要说,等我确认下。” 这就是 B 收到 A 的 FIN 报文后,回复一个 ACK 报文。
第三次挥手:过了一会儿,B 也说完了自己的话,就对 A 说 “我也说完了,咱们可以挂电话了。” 这相当于 B 向 A 发送一个 FIN 报文。
第四次挥手:A 收到 B 的 FIN 报文后,回应说 “好的,那挂吧。” 这就是 A 再发送一个 ACK 报文。这样四次挥手就完成了,就像两人挂掉了电话,通信连接正式断开。