计算机网络的层次结构
层次结构设计的基本原则
要解决许多不同的问题:比如
- 保证数据通畅
- 识别目的计算机
- 目的计算机的状态
- 数据是否错误
要解决这些问题就要分层实现
原则
- 各层是相互独立的、
- 每一层有足够的灵活性
- 各层之间完全解耦
OSI七层模型
-
应用层: 为计算机用户提供接口和服务
-
表示层 : 数据处理(编码解码,加密解密等)
-
会话层:管理(建立、维护、重连)通信会话
-
传输层:管理端到端的通信连接
-
网络层:数据路由(决定数据在网络的路径)
-
数据链路层:管理相邻节点之间的数据通信
-
物理层:数据通信的光学物理特性
最终并没有成为标准使用的模型
TCP/IP 四层模型
- 应用层:Http、FTP协议
- 传输层:TCP/UDP
- 网络层:IP/ICMP
- 网络接口层:Ethernet/ARP/RARP
计算机网络的性能指标
速率:bps = bit/s
时延:
- 发送时延
- 传播时延
- 排队时延
- 处理时延
RTT(往返时间) - 数据在端对端通信中来回一次的时间
- ping xxxx可以看
物理层概述
物理层的作用
- 连接不同的设备
- 传输比特流
信道
往一个方向传送信息的媒体
一条通信电路包含一个接收信道和一个发送信道
- 单工通信信道、
- 半双工通信信道:不能同时发送,也不能同时接收
- 全双工通信信道
分用-复用技术
数据链路层
-
封装成帧
- “帧”是数据链路层数据的基本单位
- 发送端在网络层一段数据前后添加特定的标记形成“帧”
- 接收端根据前后的标记识别出“帧”
帧首部和尾部是特定的控制字符 - SOH : 00000001
- EOT : 00000010
如果数据流中也有特定的控制字符怎么办-> 透明传输
-
透明传输
即使控制字符在帧数据中,但是要当做不存在去处理
如何识别:在数据报中的EOT前面加一个转义字符 -
差错检测
- 奇偶校验吗
- 循环冗余校验码CRC
MTU
- 最大传输单元
- 数据链路层的数据帧也不是无限大的
- 以太网MTU一般字节为1500字节 、
- 路径MTU取决于创播过程中最小的路径MTU
以太网协议
- MAC地址:物理地址、硬件地址,每个设备都拥有唯一的MAC地址、一共48位,使用十六进制表示
- 以太网是一种应用于数据链路层的协议
- 使用以太网可以完成相邻设备的数据帧传输
若路由器不知道目的mac的硬件接口时:
网络层
结构:
IP协议详解
-
虚拟互联网络
简化端到端中间的链接过程,这个过程简化为虚拟互联网络 -
IP协议使得复杂的实际网络变成一个虚拟的互连的网络
-
IP协议使得网络层可以屏蔽底层实现细节而关注网络层的数据转发
-
IP协议
IP数据包剖析:
IP首部具体格式:
IP协议的转发流程
- 路由表简介
- IP协议的转发流程(网络层视角)
- IP协议的转发流程(网络层和数据链路层)
这些过程的特点:
ARP协议与RARP协议
- ARP(Address Resolution Protocol)地址解析协议
- 目的是把网络层32位IP地址转化为数据链路层MAC48位地址
- ARP缓存表:
ARP协议结构
IP地址的子网划分
- 分类的IP地址
- 划分子网
- 无分类编址CIDR
不想写了:详细在这里:IP协议详解