网络互联模型
OSI参考模型
OSI参考模型 | |
---|---|
7 | 应用层(Applaction) |
6 | 表示层(Persentation) |
5 | 会话层(Session) |
4 | 运输层(Transport) |
3 | 网络层(Network) |
2 | 数据链路层(Data Link) |
1 | 物理层(Physical) |
TCP/IP协议划分
TCP/IP协议划分 | |
---|---|
4 | 应用层(Applaction) |
3 | 运输层(Transport) |
2 | 网络层(Network) |
1 | 网络接口层(Network Access) |
分层的请求过程
- 每个层级对应的包装数据
- 数据进入TCP/IP协议栈时的封装过程
- 数据进入TCP/IP协议栈时的解封装过程
网络分层协议对应的单位
排序 | 层级 | 协议 | 单位 |
---|---|---|---|
5 | 应用层(Applaction) | FTP、HTTP、SMTP、DNS、DHCP | 报文、用户数据 |
4 | 运输层(Transport) | TCP、UDP | 段(Sgements) |
3 | 网络层(Network) | IP | 包(Packet) |
2 | 数据链路层(Data Link) | MAC | 帧(Frames) |
1 | 物理层(Physical) | 比特流(bites) |
物理层
- 物理层定义连接口标准、线缆标准、传输速率、传输方式等
数据链路层(Data Link)
- 链路:从1个节点到相邻节点的一段物理线路(有线或无线),中间没有其他交换节点
- 最大传输单元
MTU
(Maximum Transport Unit)- 每一种数据链路协议都规定了所能够传送的帧的数据长度上限
- 以太网的MTU为1500字节
- 数据链路协议
- 广播信道:CSMA/CD协议(比如同轴电缆、集线器等组成的网络)
- 点对点信道: PPP协议(比如2个路由器之间的信道)
- 数据链路三个基本问题:
- 封装成帧
- 透明传输
- 差错检验
数据链路层采用的传输标准为:Ethernet V2 标准
Ethernet V2 帧格式
- 首部:目标MAC +源MAC + 网络类型
- 以太网帧: 首部 + 数据 + FCS
- 数据的长度至少是: 64 – 6 – 6 – 2 – 4 = 46字节
- 当数据部分的长度小于46字节时, 数据链路层会在数据的后面加入一些字节填充, 接收端会将添加的字节去掉
- 以太网帧的数据长度: 46~1500字节
- 以太网帧的长度: 64~1518字节(目标MAC +源MAC + 网络类型 + 数据 + FCS)
网络层
- 网络层数据包
- 由
首部
、数据
两部分组成 - 数据:很多时候是由传输层传递下来的数据段(Segment)
- 由
网络层首部
- 首部内容说明
版本(Version)
:占4位- IPv4/ IPv6
首部长度(Header Length)
:占4位- 20~60
区分服务(Differentiated Services Field1)
:占8位- 可以用于提高网络的服务质量 (QoS,Quality of Service)
总长度 (Total Length)
:占16位- 首部 + 数据的长度之和, 最大值是65535
标识 (Identification)
:占16位- 数据包的ID, 当数据包过大进行分片时, 同一个数据包的所有片的标识都是一样的
标志 (Flags)
:占3位- 第1位 (Reserved Bit): 保留
- 第2位 (Don’t Fragment): 1代表不允许分片,0代表允许分片
- 第3位 (More Fragments): 1代表不是最后一片,0代表是最后一片
片偏移 (Fragment Offset)
:占13位- 片偏移乘以8: 字节偏移,每一片的长度一定是8的整数倍
生存时间 (Time To Live,TTL)
:占8位- 每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告
- 观察使用ping命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器
协议 (Protocol)
:占8位- 表明所封装的数据是使用了什么协议
首部校验和 (Header Checksum)
:- 用于检查首部是否有错误
协议:
ICMP协议
: 用于告知网络包传送过程中产生的错误以及各种控制消息
ARP协议
: 用于根据IP地址查询相应的以太网MAC地址
网络数据抓包截图