网络模型模型
# 什么是TCP
面向连接的,可靠的,基于字节流的传输层协议;
如何保证可靠?
重传机制,流量控制,拥塞控制;
# TCP/IP网络模型
# 4层模型
应用层
为用户提供应用功能,如:HTTP、FTP、Telnet、DNS、SMTP...
应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态;
传输层
为应用层提供网络支持的,两个传输协议:TCP、UDP
TCP比UDP多了很多特性:流量控制、超时重传、拥塞控制等;
当传输层的数据包大小超过MSS(TCP最大报文段长度),会将数据包分块,每个分块称为TCP段;
网络层
IP协议,将 传输层的报文作为数据部分+IP包头 组装成IP报文,如果IP报文大小超过MTU,会再次分片;
寻址能力:IP地址分为网络号+主机号,配合子网掩码计算得出 IP 地址 的网络号和主机号;
路由能力:找到目标地址的子网,找到后进而把数据包转发给对应的网络内;
寻址更像在导航,路由更像在操作方向盘;
IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走;
路由则是根据「下一个目的地」选择路径;
网络接口层
主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备;
# 7层模型
物理层:网络的基础结构,如电线、光纤、无线信号等;
数据链路层:负责在两个相邻节点之间可靠地传输数据帧,包括错误检测、帧同步、地址识别以及介质访问控制(MAC);(如同一房间内两个人通过特定的握手方式传递信息)
网络层:负责将数据包从源主机传输到目标主机,通过IP地址进行寻址,并可能涉及路由选择和分组转发;(考虑路由器的工作,它们如何根据IP地址将数据包从一个网络转发到另一个网络)
传输层:提供端到端的数据传输服务,如TCP(传输控制协议)提供可靠的数据传输,UDP(用户数据报协议)提供无连接的数据传输;
会话层:管理不同应用程序之间的通信会话,负责建立、维护和终止会话,以及数据的同步和复用;(两个用户在电话中建立通话的过程,包括建立连接、保持通信和断开连接)
表示层:处理数据的格式、编码、压缩和解压缩,以及数据的加密和解密,确保数据在不同系统间具有正确的表示;(数据格式转换和加解密,像翻译将一种语言转换为另一种语言)
应用层:提供直接与用户应用程序交互的服务,如HTTP、FTP、SMTP、DNS等协议,实现文件传输、电子邮件、网页浏览等功能;