一、TCP/IP 协议基本概念
OSI 模型所分的七层,在实际应用中,往往有一些层被整合,或者功能分散到其他层去。TCP/IP 没有照搬 OSI 模型,也没有 一个公认的 TCP/IP 层级模型,一般划分为三层到五层模型来描述 TCP/IP 协议。
- 在此描述用一个通用的四层模型来描述,每一层都和 OSI 模型有较强的相关性但是又可能会有交叉。
- TCP/IP 的设计,是吸取了分层模型的精华思想——封装。每层对上一层供服务的时 候,上一层的数据结构是黑盒,直接作为本层的数据,而不需要关心上一层协议的任何细节。
- TCP/IP 分层模型的分层以以太网上传输 UDP 数据包如图所示。
二、解析四层模型
- 数据包
- 宽泛意义的数据包:每一个数据包都包含"标头"和"数据"两个部分."标头"包含本数据包的一些说明."数据"则是本数据包的内容。
- 细分数据包:
- 应用程序数据包: 标头部分规定应用程序的数据格式.数据部分传输具体的数据内容.——对应上图中的数据!
- TCP/UDP数据包:标头部分包含双方的发出端口和接收端口. UDP数据包:'标头’长度:8个字节,"数据包"总长度最大为65535字节,正好放进一个IP数据包. TCP数据包:理论上没有长度限制,但是,为了保证网络传输效率,通常不会超过IP数据长度,确保单个包不会被分割. ——对应上图中的UDP数据!
- IP数据包: 标头部分包含通信双方的IP地址,协议版本,长度等信息. '标头’长度:20~60字节,"数据包"总长度最大为65535字节. ——对应上图中的IP数据
- 以太网数据包: 最基础的数据包.标头部分包含了通信双方的MAC地址,数据类型等. '标头’长度:18字节,'数据’部分长度:46~1500字节. ——对应上图中的以太网数据
- 四层模型
- 网络接口层
- 网络接口层包括用于协作IP数据在已有网络介质上传输的协议。
- 它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供 TCP/IP 协议的数据结构和实际物理硬件之间的接口。
- 可以理解为:确定了网络数据包的形式。
- 网间层
- 网间层对应于 OSI 七层参考模型的网络层,本层包含 IP 协议、RIP 协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息;
- 可以理解为:该层时确定计算机的位置。
- 传输层
- 传输层对应于 OSI 七层参考模型的传输层,它提供两种端到端的通信服务。其中 TCP 协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP 协议(Use Datagram Protocol)提供不可靠的用户数据报服务。
- TCP:三次握手、四次挥手;UDP:只发不管别人收不收得到–任性哈
- 应用层
- 应用层对应于 OSI 七层参考模型的应用层和表达层。
- 网络接口层
三、TCP/IP 协议族常用协议
- 应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
- 传输层:TCP,UDP
- 网络层:IP,ICMP,OSPF,EIGRP,IGMP
- 数据链路层:SLIP,CSLIP,PPP,MTU