OSI七层模型与TCP/IP五层
一、什么是协议?
协议就是规则,为了通信需求,所以定义协议标准。多个协议就是一个标准
二、OSI七层及对应单位
OSI七层模型 | PDU |
---|---|
应用层 | |
表示层 | |
会话层 | |
传输层 | 数据段 |
网络层 | 数据包 |
数据链路层 | 帧 |
物理层 | 比特 |
三、TCP/IP五层协议
TCP/IP协议簇 | 单位 | 工作设备 | 常用协议 |
---|---|---|---|
应用层 | 数据/PDU | PC/防火墙 | HTTP SSH Telnet FTP DHCP SMTP |
传输层 | 数据段 | 防火墙 | TCP UDP |
网络层 | 数据包/报文 | 路由器 | IP ARP ICMP |
数据链路层 | 帧 | 交换机 网卡 | MAC子层协议 |
物理层 | 比特 | 网线 光纤 | RJ45、IEEE802.3等 |
四、数据封装过程
应用层:在TCP/IP五层中,应用层合并了表示层和会话层。
传输层:给数据前添加TCP/UDP头。包含源端口和目标端口。完成的是进程到进程之间的通信。单位是数据段。
网络层:给数据前再添加IP包头。包含源IP地址和目标IP地址。完成的是点到点的通信。单位是数据包,也叫IP包或者包。
数据链路层:给数据前再添加MAC子层,包含源MAC地址和目标MAC地址;数据后添加FCS。FCS有4个字节,是CRC算法计算出来的一个值,为了满足数据的完整性,称为帧校验序列。单位是帧。
物理层:使用传输介质传输数字信号,也叫比特流。单位是比特。8bit=1Byte
五、协议的对应关系及每层关联
分割线
①.物理层
1.在物理层工作的设备有网线、光纤、网卡等。单位是比特bit。
2.单位换算:
8bit=1Byte
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
3.网线/双绞线线序:
T568a 线序:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕
T568b 线序:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
4.网线的用途分类:
1.交叉线:一端为A线序,一端为B线序。同种设备间使用
2.直通线:两端都是A或者B线序。不通设备间使用
②.数据链路层
数据链路层,俗称二层,传输的数据单位为帧,这里详细说一下帧结构:
1.帧头内容:目标MAC、源MAC、类型,共14个字节。
类型的作用:识别上层协议,为上层提供服务。
类型不同取值的含义(0x表示16进制):
0x0800:表示上层为IP协议
0x0806:表示上层为ARP协议
MAC地址:也叫物理地址,是全球唯一。长度48位、6个字节。
2.上三层数据:最大传输单元(MTU值)为1500字节。包含上层IP包头、TCP/IP头、要发送的数据。(下面讲到网络层时,会详细介绍)
3.帧尾:帧校验序列。4个字节
FCS 作用是把帧头的所有字段提取出来,经过计算得出一个值存入,接收方收到数据再把帧头提取出来,通过计算得出一个新的FCS值,做一个比较,一样的,表示数据完整,不一样则丢弃。
③.网络层
网络层传输的数据单位是包,到数据到网络层时,会给数据前添加IP包头,详细内容如下:
版本:占用4个比特。作用是为了表示在此IP包里,用的是IPv4版本还是IPv6版本。0100为IPv4版本,0110为IPv6版本。
首部长度:占用4个比特。用来标识本ip数据包的包头长度。
取值:基本包头(20字节)+可选项(0-40字节)=20-60字节
优先级与服务类型:占用8个比特。标识此ip数据包是否需要优先发送
总长度:占用16个比特。ip数据包包头加数据的总长度,超过1500字节就要进行分段
取值:基本包头(20字节)+可选项(0-40字节)+数据
标识符:发送端随机生成的,标识同一个报文分段后的编号,以此判断是否为同一个包
标志:此数据是否经过分段。第一个比特位保留,未使用;第二个比特位表示是否分段,0表示进行了分段(源数据未超过1500字节),1表示未分段;第三个比特位表示是否为最后一段分段
段偏移量:表示此数据段距离初始位置的值
TTL:time to live 生存时间。数据包初始发送时有一个生存时间,每经过一个路由器TTL会减1,当TTL为0时,丢弃该数据包
协议号:识别上层(同层)协议号。值为1表示为同层的ICMP协议;6为TCP协议;17为UDP协议
取值 | 所表示的协议 |
---|---|
1 | ICMP(同层) |
6 | TCP |
17 | UDP |
首部校验和:校验数据包头部在传输中是否出错。