系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)
ICMP(互联网控制报文协议)
IPv6简介
路由算法之链路状态路由算法
路由算法之距离向量路由算法
路由算法之层次路由
数据链路层概述
数据链路层——差错编码
多路访问控制(MAC)协议——随机访问MAC协议
ARP协议
- 系列文章目录
- 以太网
- 以太网CSMA/CD算法
- 以太网帧的结构
- 以太网标准
以太网
最具有代表性的有线局域网技术——以太网。
- 造价低廉
- 应用最广泛的LAN技术
- 比令牌局域网和ATM等,简单、便宜
- 满足网络速率需求:10 Mbps – 10 Gbps
从物理结构来看:
-
总线拓扑:上世纪90年代中期前流行
- 所有结点在同一冲突域(collision domain) (可能彼此冲突)
-
星型(star)拓扑: 目前主流的网络拓扑
- 利用交换机去连接计算机
- 有中心交换机(switch)
- 每个结点一个单独冲突域(结点间彼此不冲突)
作为以太网,在数据链路层提供的是不可靠、无连接的服务。
-
无连接(connectionless): 发送帧的网卡与接 收帧的网卡间没有“握手”过程
-
不可靠(unreliable): 接收网卡不向发送网卡进行确认
- 差错帧直接丢弃,丢弃帧中的数据恢复依靠高 层协议 (e.g., TCP),否则,发生数据丢失
-
以太网的MAC协议: 采用二进制指数退避算法的CSMA/CD
以太网CSMA/CD算法
- NIC(网卡)从网络层接收数据报 ,创建数据帧
- 监听信道:
- 如果NIC监听到信道空闲 ,则开始发送帧
- 如果NIC监听到信道忙, 则一直等待到信道空闲 ,然后发送帧
- NIC发送完整的帧,而没有检测到其他结点的数据发送,也就是发送的时候没有检测到冲突,则NIC确认帧发送成功
- 如果NIC检测到其他结点传输数据,也就是发现有冲突,则中止发送, 并发送堵塞信号 (jam signal)
- 中止发送后,NIC进入二进制指数退避算法,确定一个随机等待时间。连续冲突次数越多,平均等 待时间越长
以太网帧的结构
发送端网卡将IP数据报(或其他网络层协议分组) 封装到以太网帧中:
- 前导码(Preamble)(8B):7个字节的10101010,第8字节为10101011。用于发送端与接收端的时钟同步。在计算以太网数据帧长度和大小的时候,一般不包含前导码
- 目的MAC地址、源MAC地址(各6B):
- 如果网卡的MAC地址与收到的帧的目的MAC地址匹配,或者帧的 目的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),则网卡接收该帧,并将其封装的网络层分组交给相应的网络层协议。否则,网卡丢弃(不接收)该帧
- 类型(Type)(2B):指示帧中封装的是哪种高层协议的分组 (如,IP数据报、Novell IPX数据报、AppleTalk数据报等)
- 数据(Data)(46-1500B): 指上层协议载荷
- CRC(4B): 循环冗余校验码。丢弃差错帧
以太网标准
有许多不同的以太网标准。比如802.3以太网。这些标准具有:
- 相同的MAC协议和帧格式
- 不同速率: 2 Mbps, 10 Mbps, 100 Mbps, 1Gbps, 10G bps
- 不同物理介质: 光纤, 线缆等等