TCP/IP协议(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。
TCP/IP五层模型:
分层(共五层) | 代表协议 | 该层作用 | 该层的其它协议 |
---|---|---|---|
应用层 | HTTP | 满足我们日常需求的网络程序, 都是在应用层 | DNS,URI,HTML,SSH… |
传输层 | TCP、UDP | 负责数据能够从发送端传输接收端 | UDP-Lite,SCTP,DCCP |
网络层 | IP | 在复杂的网络环境中确定一个合适的路径 | ICMP,IGMP |
链路层 | 两个设备(同一种数据链路节点)之间进行传递数据 | ||
物理层 | 光电信号的传输 |
数据包封装和分用
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header)称为封装(Encapsulation).首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
- 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理.
端口号
端口号(Port)标识了一个主机上进行通信的不同的应用程序;
在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信。