1.OSI 七层模型
OSI ( Open System Interconnection ,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;把网络从逻辑上分为了 7 层 . 每一层都有相关、相对应的物理设备,比如路由器,交换机 ;OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输 ;它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整 . 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
分层名称 | 功能 | |
7 | 应用层 | 针对特定应用的协议 |
6 | 表示层 | 设备固有数据格式和网络标准数据格式的转换 |
5 | 会话层 | 通信管理,负责建立和断开通信连接,管理传输层一下的分层 |
4 | 传输层 | 管理两个节点之间的数据传输,负责可靠传输 |
3 | 网络层 | 地址管理与路由选择 |
2 | 数据链路层 | 互联设备之间传送和识别数据帧 |
1 | 物理层 | 以‘0’,‘1’代表电压的高低,灯光的闪灭,界定连接器和网线的规格 |
2.TCP/IP 五层(或四层)模型
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇 .
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.
物理层 : 负责光 / 电信号的传递方式 . 比如现在以太网通用的网线 ( 双绞 线 ) 、早期以太网采用的的同轴电缆(现在主要用于有线电视 ) 、光纤 , 现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器 (Hub) 工作在物理层 .数据链路层 : 负责设备之间的数据帧的传送和识别 . 例如网卡设备的驱动、帧同步 ( 就是说从网线上检测到什么信号算作新帧的开始) 、冲突检测 ( 如果检测到冲突就自动重发 ) 、数据差错校验等工作 . 有以太网、令牌环网, 无线 LAN 等标准 . 交换机 (Switch) 工作在数据链路层 .网络层 : 负责地址管理和路由选择 . 例如在 IP 协议中 , 通过 IP 地址来标识一台主机 , 并通过路由表的方式规划出两台主机之间的数据传输的线路( 路由 ). 路由器 (Router) 工作在网路层 .传输层 : 负责两台主机之间的数据传输 . 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.应用层 : 负责应用程序间沟通,如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议(Telnet )等 . 我们的网络编程主要就是针对应用层
物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.
3.网络传输基本流程
4.数据包封装和解包
不同的协议层对数据包有不同的称谓 , 在传输层叫做段 (segment), 在网络层叫做数据报 (datagram), 在链路层叫做帧(frame).应用层数据通过协议栈发到网络上时 , 每层协议都要加上一个数据首部 (header), 称为封装(Encapsulation).首部信息中包含了一些类似于首部有多长 , 载荷 (payload) 有多长 , 上层协议是什么等信息 .数据封装成帧后发到传输介质上 , 到达目的主机后每层协议再剥掉相应的首部 , 根据首部中的 " 上层协议字段" 将数据交给对应的上层协议处理