TCP/IP协议分析
自我介绍
? 刘素芹
? 0532-86980180 *6419
? 0532-86980172 *6421
? 13789870836
? 0546-8396451
? liusuqin6451@163.com
? liusq@upc.edu.cn
课程目标
进一步理解 TCP/IP协议栈中各协议的工作
原理及实现细节,以便更好地使用网络并
解决网络中存在的问题。
参考资料
? TCP/IP详解 3卷 卷 1:协议 卷 2:实现 (美)
W.Richard Stevens 著 范建华等译 机械工业出版社
? TCP/IP 7本 (综合基础篇、计算机网络篇、网络工具篇、
网络实验程序篇、数据包分析程序篇、网络安全篇、
Java篇) [日 ]村山公保 著 科学出版社
? 计算机网络课程设计 吴功宜 机械工业出版社
课程内容
? 讲解 TCP/IP协议栈中各协议的工作机制、
包的细节及相关应用
? 上机:
? 运行一些 Java小程序,观察、理解协议工作过程
? 用 Ethereal和 Sniffer分析协议
考核方式
? 上课考勤 20分
? 上机 20分
? 1篇论文(或者参与讲课) 60分
第一章
网络基础知识回顾
网络的产生与发展
1946年,第一台电子计算机诞生以来,计算机与通信的
结合在不断发展。
1952年, 美国 半自动化的地面防空系统 SAGE ( Semi-
Automation Ground Environment) 是计算机技术与通
信技术的首次结合 。
60年代,美国航空公司的 联机订票系统,是计算机技术与
通信技术结合的典范。
1969年,美国国防部高级计划研究局 ARPA网
( Advanced Research Projects Agency) 的开通,是计
算机网络正式形成的标志。
? 第一代
面向终端的网络
? 第二代
真正的网络
? 第三代
体系结构标准的网络
网络发展的三个阶段
第一代网络
(面向终端的网络 )
计算机 线路控制器 M M T
M—— Modem T—— Terminal
调制解调器 终端
1949年研制了一种称为收发器的终端
紧接着出现了线路控制器
计算机和远程终端的连接如下:
计算机
多重
线路
控制器
M M T
M
M M
M
T
T
公共
电话网
远程终端增多 ——
60年代初出现了多重线路控制器
计算机和远程终端的连接如下:
第二代网络
(真正的网络 )
数据
交换
方式
电路交换
(线路交换)
存储
转发
交换
建立电路、传送数据、释放电路
缺点:独占整条线路,效率低
报文交换 报头 正文 报尾
报文
报文分组交换
报文
数据首部 分组
分组交换的优点
? 高效 动态分配带宽、逐段占用链路
? 灵活 每个分组独立选择路由
? 迅速 不建立连接即可发送分组、使用高速链路
? 可靠 完善的网络协议、分布式多路由的通信子网
ARPA网是分组交换网
第三代网络
(体系结构标准化的网络 )
1974,IBM公司提出 SNA—— 系统网络体系结构
( System Network Architecture)
接着,DEC公司提出 DNA—— 数字网络体系结构 ( Digital Network
Architecture)
Univac公司提出 DCA—— 数据通信体系结构
( Data Communication Architecture)
所以,1977年,ISO成立 SC16开放系统互连分技术委员会,不久提出
OSI/RM—— 开放系统互连 /参考模型
OSI—— Open System Interconnection
RM —— Reference Model
15
OSI 参考模型
数据流层
(低层)
传输层
数据链路层
网络层
物理层
应用层
(高层)
会话层
表示层
应用层
? 国际标准化组织 ISO,为了解决不同厂商的兼
容性问题,于 1984年发表了 OSI参考模型,
通过建立 OSI模型,国际标准化组织向厂商提
供了一系列标准,以保证世界上许多公司提供
的不同类型的网络技术之间具有兼容性和互操
作性。
? OSI是概念性的网络参考模型,这意味着,OSI模
型本身并不能实现通讯过程,OSI就好比是网络通
讯中种种规则的创造蓝图,一个个的协议纷纷使
用这个蓝图被创造出来,蓝图就创造了种种协议。
厂商使用这些协议后,所生产出来的产品就会有
互操作性。
分层的好处
? 将复杂的网络操作分成多个简单的部分
? 使工程师们把主要的精力放在功能模块
的设计和开发上
? 为即插即用的兼容性和多供应商产品的
集成提供定义标准接口的能力
19
应用层的功能
Telnet
FTP
用户接口
举例
应用层
20
Telnet
FTP
ASCII
EBCDIC
JPEG
用户接口
?如何表示数据
?特殊处理,如加密
举例
表示层
应用层
应用层的功能
21
Telnet
FTP
ASCII
EBCDIC
JPEG
保持不同应用进程的数据
独立性
用户接口
?如何表示数据
?特殊处理,如加密
操作系统 /
应用进程
举例
会话层
表示层
应用层
应用层的功能
22
保持不同应用进程的数据
独立性
用户接口
?如何表示数据
?特殊处理,如加密
Telnet
FTP
ASCII
EBCDIC
JPEG
操作系统 /
应用进程
传输层
数据链路层
网络层
物理层
举例
会话层
表示层
应用层
应用层的功能
23
数据流层的功能
EIA/TIA-232
V.35
举例
物理层 ? 在设备之间传输位? 定义电压、线缆速度和线缆针脚
24
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
举例
数据流层的功能
数据链路层
物理层
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
25
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
举例
数据流层的功能
网络层
数据链路层
物理层
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
根据逻辑地址为数据包选路
26
TCP
UDP
SPX
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
举例
数据流层的功能
传输层
数据链路层
物理层
? 提供应用进程之间的端到端连接
? 提供可靠和不可靠的传输
? 流量控制
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
网络层 根据逻辑地址为数据包选路
27
TCP
UDP
SPX
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
表示层
应用层
会话层 举例
数据流层的功能
? 提供应用进程之间的端到端连接
? 提供可靠和不可靠的传输
? 流量控制
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
传输层
数据链路层
物理层
网络层 根据逻辑地址为数据包选路
1980年,美国电子电气工程师协会 IEEE成立了
IEEE802局域网标准化委员会,制定了 IEEE802
系列标准。
局域网一开始就走上了标准化轨道
IEEE802的主要标准
? IEEE 802.1A:局域网体系结构,并定义接口原
语;
? IEEE 802.1B:寻址、网间互连和网络管理;
? IEEE 802.2:描述逻辑链路控制( LLC)协议,
提供 OSI数据链路层的上部子层功能,以及介质
接入控制( MAC)子层与 LLC子层协议间的一致
接口;
IEEE802标准(续)
? IEEE 802.3:描述 CSMA/CD介质接入控制方法
和物理层技术规范;
? IEEE 802.4:描述令牌总线网标准;
? IEEE 802.5:描述令牌环网标准;
? IEEE 802.6:描述城域网 DQDB标准;
? IEEE 802.7:描述宽带局域网技术;
? IEEE 802.8:描述光纤局域网技术;
IEEE802标准(续)
? IEEE 802.9:描述综合话音 /数据局域网( IVD LAN)
标准;
? IEEE 802.10:描述可互操作局域网安全标准( SILS),
定义提供局域网互连的安全机制;
? IEEE 802.11:描述无线局域网标准;
? IEEE 802.12:描述交换式局域网标准,定义 100Mb/s
高速以太网按需优先的介质接入控制协议 100VG-
ANYLAN。
? IEEE802.14:描述交互式电视网(包括 cable modem)
ARPA网从 1969年建立以来发展迅速,到 1984 网内主
机数量超过了 1000台。所以,1984年,ARPA网一分为二
ARPA
MILNET 军用计算机网
ARPANET 民用科研网
1986年建立 美国国家科学基金网 NSFNET
Internet
1992年,因特网不再归美国政府管辖,因此成立了国
际性组织 —— 因特网协会 ISCO( Internet Society)
IETF—— 工作组
IRTF—— 研究组因特网的核心是 IAB
IAB,Internet Architecture Board
因特网体系结构研究委员会,负责有关协议的开发。
IETF,Internet Engineering Task Force 因特网工程部
IRTF,Internet Research Task Force因特网研究部
因特网标准都以 RFC请求评论的形式发表
普通 RFC文档(草案) —— 提案标准 —— 草案标准 —— 因特网标准
Internet组织
获取 RFC的方法
? http://ftp.isi.edu/in-notes
? http://ftp.nic.ad.jp/rfc/
? http://www.rfc-editor.org/
网络互联
? internet ( 互联网、互连网)
泛指由多个计算机网络互连而成的计算机网络
? Internet (因特网)
指特定的计算机网络
互联后要解决的问题
? 不同的寻址方案
? 不同的最大分组长度
? 不同的网络接入机制
? 不同的超时控制
? 不同的差错恢复方法
? 不同的状态报告方法
? 不同的路由选择技术
? 不同的用户接入控制
? 不同的服务
? 不同的管理与控制方式
互连使用的中间设备
(中继系统)
? 物理层 —— 中继器,HUB
? 数据链路层 —— 网桥、交换机
? 网络层 —— 路由器
? 高层 —— 网关
A B C D
? 所有设备在一个冲突域中
? 所有设备在一个广播域中
? 所有设备共享一个带宽
Hub 工作在物理层
Hub,一个冲突域
? 站点越多意味着冲突越多
? 采用 CSMA/CD 解决冲突
用 HUB扩展局域网
HUB1 HUB3HUB2
HUB
…
总吞吐量下降
不同速率的以太网不能互连
10BASE-T
用网桥扩展局域网
HUB HUB
10Mbps 100Mbps
10BASE-T
至因特网
用交换机扩展局域网
HUB HUB HUB
100Mbps 100Mbps
10BASE-T
至因特网
? 地址学习
? 转发 /过滤 决策
? 循环避免
交换机的三个功能
交换机如何学习主机的位置
? 开始 MAC 地址表是空的
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3
A B
C D
? A 给 C发一个帧
? 交换机从收到的帧中得知 A 的 MAC 地址,并知道 A在端口 E0 。
? 交换机把该帧向除 E0以外的所有端口广播 (不知道的单播帧则广播 )
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0,0260.8c01.1111
E0 E1
E2 E3 DC
BA
? D 给 C发一个帧
? 交换机从收到的帧中得知 D的 MAC 地址,并知道 D在端口 E3 。
? 交换机把该帧向除 E3以外的所有端口广播 (不知道的单播帧则广播 )
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0,0260.8c01.1111
E3,0260.8c01.4444
E0 E1
E2 E3 DC
A B
交换机如何转发帧
A 给 C发一个帧
知道目的地址,不再广播,而直接转发到端口 E2。
E0,0260.8c01.1111
E2,0260.8c01.2222
E1,0260.8c01.3333
E3,0260.8c01.4444
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3
X
X DC
A B
MAC address table
? D 发一个广播帧或多播帧
? 该广播帧或多播帧会向除原端口以外的所有端口泛播
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3 DC
A B
E0,0260.8c01.1111
E2,0260.8c01.2222
E1,0260.8c01.3333
E3,0260.8c01.4444
MAC address table
广播帧和多播帧
冗余拓扑
? 冗余拓扑避免了单节点失效带来的网络故障
? 但是冗余拓扑也带来了广播风暴、多帧拷贝和 MAC 地址表的不稳
定等问题
Segment 1
Segment 2
Server/host X Router Y
Segment 1
Segment 2
Server/host X Router Y
Broadcast
Switch A Switch B
Host X 发一个广播
广播风暴
Segment 1
Segment 2
Server/host X Router Y
Broadcast
Switch A Switch B
Host X 发一个广播
Segment 1
Segment 2
Server/host X Router Y
Broadcast
交换机不停地繁殖广播
Switch A Switch B
多帧拷贝
Segment 1
Segment 2
Server/host X Router YUnicast
Switch A Switch B
? Host X 给 router Y发一个单播帧
? 交换机的地址表中还没学习到 Router Y的 MAC地址
Segment 1
Segment 2
Server/host X Router Y
Unicast
Switch A Switch B
? Host X 给 router Y发一个单播帧
? 交换机的地址表中还没学习到 Router Y的 MAC地址
? Router Y 将会收到同一个帧的两个拷贝
Unicast
Unicast
Segment 1
Segment 2
Server/host X Router Y
Unicast Unicast
Switch A Switch B
? Host X 给 Router Y发一个单播帧
? 任何交换机的 MAC地址表中都没有到学习 Router Y 的 MAC地址
? Switch A 和 B 学习到 Host X 在 port 0口
Port 0
Port 1
Port 0
Port 1
MAC 数据库的不稳定
Segment 1
Segment 2
Server/host X
Router Y
Unicast Unicast
Switch A Switch B
?到 Router Y 的帧就会很多
?Switch A 和 B 就会不正确地学习到 Host X 在 port 1口
Port 0
Port 1
Port 0
Port 1
? 复杂的拓扑会带来多重循环
? 第二层没有终止循环的机制
Server/host
Workstations
Loop
Loop
Loop
多重循环问题
Broadcast
解决办法, 支撑树(生成树)协议
关键技术:剪枝
Blockx
交换机的三种转发模式
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
Store and forward(存储 -转发式)
检查整个帧,然后才转发。
Frame
Frame F
ra
me
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
Fragment free (无分段式)
检查前 64字节,然后转发。
Frame
Store and forward(存储 -转发式)
检查整个帧,然后才转发。
Frame
Frame F
ra
me
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
? 划分网段
? 灵活
? 安全
3rd floor
2nd floor
1st floor
SALES HR ENG
一个 VLAN = 一个广播域 = 逻辑子网
划分 VLAN
?定义 VTP域名
?启用 VTP 模式 (可选 )
?启用 trunk
?创建 VLAN
?为 VLAN 分配端口
VLAN的配置步骤
路由器的功能 —— 路由
? 当一个 IP数据报到达路由器时,若目的 MAC地址与该口 MAC地址一致,
则:
①用 子网掩码 ∧ 目的站 IP地址 D—— 〉 N (网络号 +子网号)
②若 N=该路由器某个端口的网络号,则直接交付,否则转③
③若路由表中有 D的指明主机路由,则按指明的路由器转发,否则转④
④若路由表中有到达网络 N的路由,则按表中转发,否则转⑤
⑤若有默认路由,则按默认路由转发,否则转⑥
⑥ 报告路由选择出错
?要想对包路由,路由器必须知道:
? 目的地址
? 学习可能的原地址
? 可能的路由
? 最好的路由
? 维护路由信息
什么是路由?
172.16.1.010.120.2.0
因特网的路由选择协议
? 静态路由
? 动态路由
自治系统 AS
内部网关协议 IGP,RIP,IGRP,OSPF
外部网关协议 EGP,BGP
Host
Internet
TCP/IP
Host
因特网使用的协议栈
TCP/IP协议起源于军事应用
? ARPANET研究组于 1975年开发了 TCP/IP协议
? 1982年制定了 TCP/IP协议的标准
TCP/IP与 UNIX有着不解之缘
? BSD的 UNIX广泛使用
? 该 UNIX的内部安装了 TCP/IP
? 接着,其他操作系统也开始把 TCP/IP嵌入
内核
TCP/IP 协议栈
7
6
5
4
3
2
5
4
3
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层1
应用层
传输层
网络层
数据链路层
物理层
1
2
各种应用层协议
( TELNET,FTP,SMTP等 )
TCP,UDP
IP
与各种网络接口
应用层
传输层
网络层
网络接口层
ICMP
ARP RARP
物 理 硬 件
TCP/TP 协议栈
IGMP
各种应用层协议
( TELNET,FTP,SMTP等 )
TCP,UDP
IP
数据链路层
应用层
传输层
网络层
网络接口层
ICMP
ARP RARP
物 理 硬 件
传输层
数据链路层
物理层
网络层
高层数据
高层数据TCP 头部
数据IP头部
数据LLC头部
0101110101001000010
数据MAC头部
应用层
段
包
位
帧
PDU
FCS
FCS
数据封装
高层数据
LLC + IP + TCP +高层数据
IP + TCP +高层数据
TCP+高层数据
高层数据
0101110101001000010
传输层
数据链路层
物理层
网络层
应用层
数据解封装
以太帧的封装
以太帧的解封装
Internet内 2个站点的通信
以太网 1 以太网 2
FDDI网
MAC帧
IP1 IP2 IP3 IP4 IP5 IP6
H1 H2
R1 R2
HA1 HA2 HA3
HA4 HA5 HA6
IP1— 〉 IP6 IP1— 〉 IP6IP1— 〉 IP6
HA1— 〉 HA2
HA3— 〉 HA4
HA5— 〉 HA6
H1 http://H2/
自我介绍
? 刘素芹
? 0532-86980180 *6419
? 0532-86980172 *6421
? 13789870836
? 0546-8396451
? liusuqin6451@163.com
? liusq@upc.edu.cn
课程目标
进一步理解 TCP/IP协议栈中各协议的工作
原理及实现细节,以便更好地使用网络并
解决网络中存在的问题。
参考资料
? TCP/IP详解 3卷 卷 1:协议 卷 2:实现 (美)
W.Richard Stevens 著 范建华等译 机械工业出版社
? TCP/IP 7本 (综合基础篇、计算机网络篇、网络工具篇、
网络实验程序篇、数据包分析程序篇、网络安全篇、
Java篇) [日 ]村山公保 著 科学出版社
? 计算机网络课程设计 吴功宜 机械工业出版社
课程内容
? 讲解 TCP/IP协议栈中各协议的工作机制、
包的细节及相关应用
? 上机:
? 运行一些 Java小程序,观察、理解协议工作过程
? 用 Ethereal和 Sniffer分析协议
考核方式
? 上课考勤 20分
? 上机 20分
? 1篇论文(或者参与讲课) 60分
第一章
网络基础知识回顾
网络的产生与发展
1946年,第一台电子计算机诞生以来,计算机与通信的
结合在不断发展。
1952年, 美国 半自动化的地面防空系统 SAGE ( Semi-
Automation Ground Environment) 是计算机技术与通
信技术的首次结合 。
60年代,美国航空公司的 联机订票系统,是计算机技术与
通信技术结合的典范。
1969年,美国国防部高级计划研究局 ARPA网
( Advanced Research Projects Agency) 的开通,是计
算机网络正式形成的标志。
? 第一代
面向终端的网络
? 第二代
真正的网络
? 第三代
体系结构标准的网络
网络发展的三个阶段
第一代网络
(面向终端的网络 )
计算机 线路控制器 M M T
M—— Modem T—— Terminal
调制解调器 终端
1949年研制了一种称为收发器的终端
紧接着出现了线路控制器
计算机和远程终端的连接如下:
计算机
多重
线路
控制器
M M T
M
M M
M
T
T
公共
电话网
远程终端增多 ——
60年代初出现了多重线路控制器
计算机和远程终端的连接如下:
第二代网络
(真正的网络 )
数据
交换
方式
电路交换
(线路交换)
存储
转发
交换
建立电路、传送数据、释放电路
缺点:独占整条线路,效率低
报文交换 报头 正文 报尾
报文
报文分组交换
报文
数据首部 分组
分组交换的优点
? 高效 动态分配带宽、逐段占用链路
? 灵活 每个分组独立选择路由
? 迅速 不建立连接即可发送分组、使用高速链路
? 可靠 完善的网络协议、分布式多路由的通信子网
ARPA网是分组交换网
第三代网络
(体系结构标准化的网络 )
1974,IBM公司提出 SNA—— 系统网络体系结构
( System Network Architecture)
接着,DEC公司提出 DNA—— 数字网络体系结构 ( Digital Network
Architecture)
Univac公司提出 DCA—— 数据通信体系结构
( Data Communication Architecture)
所以,1977年,ISO成立 SC16开放系统互连分技术委员会,不久提出
OSI/RM—— 开放系统互连 /参考模型
OSI—— Open System Interconnection
RM —— Reference Model
15
OSI 参考模型
数据流层
(低层)
传输层
数据链路层
网络层
物理层
应用层
(高层)
会话层
表示层
应用层
? 国际标准化组织 ISO,为了解决不同厂商的兼
容性问题,于 1984年发表了 OSI参考模型,
通过建立 OSI模型,国际标准化组织向厂商提
供了一系列标准,以保证世界上许多公司提供
的不同类型的网络技术之间具有兼容性和互操
作性。
? OSI是概念性的网络参考模型,这意味着,OSI模
型本身并不能实现通讯过程,OSI就好比是网络通
讯中种种规则的创造蓝图,一个个的协议纷纷使
用这个蓝图被创造出来,蓝图就创造了种种协议。
厂商使用这些协议后,所生产出来的产品就会有
互操作性。
分层的好处
? 将复杂的网络操作分成多个简单的部分
? 使工程师们把主要的精力放在功能模块
的设计和开发上
? 为即插即用的兼容性和多供应商产品的
集成提供定义标准接口的能力
19
应用层的功能
Telnet
FTP
用户接口
举例
应用层
20
Telnet
FTP
ASCII
EBCDIC
JPEG
用户接口
?如何表示数据
?特殊处理,如加密
举例
表示层
应用层
应用层的功能
21
Telnet
FTP
ASCII
EBCDIC
JPEG
保持不同应用进程的数据
独立性
用户接口
?如何表示数据
?特殊处理,如加密
操作系统 /
应用进程
举例
会话层
表示层
应用层
应用层的功能
22
保持不同应用进程的数据
独立性
用户接口
?如何表示数据
?特殊处理,如加密
Telnet
FTP
ASCII
EBCDIC
JPEG
操作系统 /
应用进程
传输层
数据链路层
网络层
物理层
举例
会话层
表示层
应用层
应用层的功能
23
数据流层的功能
EIA/TIA-232
V.35
举例
物理层 ? 在设备之间传输位? 定义电压、线缆速度和线缆针脚
24
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
举例
数据流层的功能
数据链路层
物理层
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
25
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
举例
数据流层的功能
网络层
数据链路层
物理层
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
根据逻辑地址为数据包选路
26
TCP
UDP
SPX
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
举例
数据流层的功能
传输层
数据链路层
物理层
? 提供应用进程之间的端到端连接
? 提供可靠和不可靠的传输
? 流量控制
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
网络层 根据逻辑地址为数据包选路
27
TCP
UDP
SPX
802.3 / 802.2
HDLC
EIA/TIA-232
V.35
IP
IPX
表示层
应用层
会话层 举例
数据流层的功能
? 提供应用进程之间的端到端连接
? 提供可靠和不可靠的传输
? 流量控制
? 组装帧
? 使用 MAC地址访问介质
? 检错语纠错
? 在设备之间传输位
? 定义电压、线缆速度和线缆针脚
传输层
数据链路层
物理层
网络层 根据逻辑地址为数据包选路
1980年,美国电子电气工程师协会 IEEE成立了
IEEE802局域网标准化委员会,制定了 IEEE802
系列标准。
局域网一开始就走上了标准化轨道
IEEE802的主要标准
? IEEE 802.1A:局域网体系结构,并定义接口原
语;
? IEEE 802.1B:寻址、网间互连和网络管理;
? IEEE 802.2:描述逻辑链路控制( LLC)协议,
提供 OSI数据链路层的上部子层功能,以及介质
接入控制( MAC)子层与 LLC子层协议间的一致
接口;
IEEE802标准(续)
? IEEE 802.3:描述 CSMA/CD介质接入控制方法
和物理层技术规范;
? IEEE 802.4:描述令牌总线网标准;
? IEEE 802.5:描述令牌环网标准;
? IEEE 802.6:描述城域网 DQDB标准;
? IEEE 802.7:描述宽带局域网技术;
? IEEE 802.8:描述光纤局域网技术;
IEEE802标准(续)
? IEEE 802.9:描述综合话音 /数据局域网( IVD LAN)
标准;
? IEEE 802.10:描述可互操作局域网安全标准( SILS),
定义提供局域网互连的安全机制;
? IEEE 802.11:描述无线局域网标准;
? IEEE 802.12:描述交换式局域网标准,定义 100Mb/s
高速以太网按需优先的介质接入控制协议 100VG-
ANYLAN。
? IEEE802.14:描述交互式电视网(包括 cable modem)
ARPA网从 1969年建立以来发展迅速,到 1984 网内主
机数量超过了 1000台。所以,1984年,ARPA网一分为二
ARPA
MILNET 军用计算机网
ARPANET 民用科研网
1986年建立 美国国家科学基金网 NSFNET
Internet
1992年,因特网不再归美国政府管辖,因此成立了国
际性组织 —— 因特网协会 ISCO( Internet Society)
IETF—— 工作组
IRTF—— 研究组因特网的核心是 IAB
IAB,Internet Architecture Board
因特网体系结构研究委员会,负责有关协议的开发。
IETF,Internet Engineering Task Force 因特网工程部
IRTF,Internet Research Task Force因特网研究部
因特网标准都以 RFC请求评论的形式发表
普通 RFC文档(草案) —— 提案标准 —— 草案标准 —— 因特网标准
Internet组织
获取 RFC的方法
? http://ftp.isi.edu/in-notes
? http://ftp.nic.ad.jp/rfc/
? http://www.rfc-editor.org/
网络互联
? internet ( 互联网、互连网)
泛指由多个计算机网络互连而成的计算机网络
? Internet (因特网)
指特定的计算机网络
互联后要解决的问题
? 不同的寻址方案
? 不同的最大分组长度
? 不同的网络接入机制
? 不同的超时控制
? 不同的差错恢复方法
? 不同的状态报告方法
? 不同的路由选择技术
? 不同的用户接入控制
? 不同的服务
? 不同的管理与控制方式
互连使用的中间设备
(中继系统)
? 物理层 —— 中继器,HUB
? 数据链路层 —— 网桥、交换机
? 网络层 —— 路由器
? 高层 —— 网关
A B C D
? 所有设备在一个冲突域中
? 所有设备在一个广播域中
? 所有设备共享一个带宽
Hub 工作在物理层
Hub,一个冲突域
? 站点越多意味着冲突越多
? 采用 CSMA/CD 解决冲突
用 HUB扩展局域网
HUB1 HUB3HUB2
HUB
…
总吞吐量下降
不同速率的以太网不能互连
10BASE-T
用网桥扩展局域网
HUB HUB
10Mbps 100Mbps
10BASE-T
至因特网
用交换机扩展局域网
HUB HUB HUB
100Mbps 100Mbps
10BASE-T
至因特网
? 地址学习
? 转发 /过滤 决策
? 循环避免
交换机的三个功能
交换机如何学习主机的位置
? 开始 MAC 地址表是空的
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3
A B
C D
? A 给 C发一个帧
? 交换机从收到的帧中得知 A 的 MAC 地址,并知道 A在端口 E0 。
? 交换机把该帧向除 E0以外的所有端口广播 (不知道的单播帧则广播 )
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0,0260.8c01.1111
E0 E1
E2 E3 DC
BA
? D 给 C发一个帧
? 交换机从收到的帧中得知 D的 MAC 地址,并知道 D在端口 E3 。
? 交换机把该帧向除 E3以外的所有端口广播 (不知道的单播帧则广播 )
MAC address table
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0,0260.8c01.1111
E3,0260.8c01.4444
E0 E1
E2 E3 DC
A B
交换机如何转发帧
A 给 C发一个帧
知道目的地址,不再广播,而直接转发到端口 E2。
E0,0260.8c01.1111
E2,0260.8c01.2222
E1,0260.8c01.3333
E3,0260.8c01.4444
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3
X
X DC
A B
MAC address table
? D 发一个广播帧或多播帧
? 该广播帧或多播帧会向除原端口以外的所有端口泛播
0260.8c01.1111
0260.8c01.2222
0260.8c01.3333
0260.8c01.4444
E0 E1
E2 E3 DC
A B
E0,0260.8c01.1111
E2,0260.8c01.2222
E1,0260.8c01.3333
E3,0260.8c01.4444
MAC address table
广播帧和多播帧
冗余拓扑
? 冗余拓扑避免了单节点失效带来的网络故障
? 但是冗余拓扑也带来了广播风暴、多帧拷贝和 MAC 地址表的不稳
定等问题
Segment 1
Segment 2
Server/host X Router Y
Segment 1
Segment 2
Server/host X Router Y
Broadcast
Switch A Switch B
Host X 发一个广播
广播风暴
Segment 1
Segment 2
Server/host X Router Y
Broadcast
Switch A Switch B
Host X 发一个广播
Segment 1
Segment 2
Server/host X Router Y
Broadcast
交换机不停地繁殖广播
Switch A Switch B
多帧拷贝
Segment 1
Segment 2
Server/host X Router YUnicast
Switch A Switch B
? Host X 给 router Y发一个单播帧
? 交换机的地址表中还没学习到 Router Y的 MAC地址
Segment 1
Segment 2
Server/host X Router Y
Unicast
Switch A Switch B
? Host X 给 router Y发一个单播帧
? 交换机的地址表中还没学习到 Router Y的 MAC地址
? Router Y 将会收到同一个帧的两个拷贝
Unicast
Unicast
Segment 1
Segment 2
Server/host X Router Y
Unicast Unicast
Switch A Switch B
? Host X 给 Router Y发一个单播帧
? 任何交换机的 MAC地址表中都没有到学习 Router Y 的 MAC地址
? Switch A 和 B 学习到 Host X 在 port 0口
Port 0
Port 1
Port 0
Port 1
MAC 数据库的不稳定
Segment 1
Segment 2
Server/host X
Router Y
Unicast Unicast
Switch A Switch B
?到 Router Y 的帧就会很多
?Switch A 和 B 就会不正确地学习到 Host X 在 port 1口
Port 0
Port 1
Port 0
Port 1
? 复杂的拓扑会带来多重循环
? 第二层没有终止循环的机制
Server/host
Workstations
Loop
Loop
Loop
多重循环问题
Broadcast
解决办法, 支撑树(生成树)协议
关键技术:剪枝
Blockx
交换机的三种转发模式
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
Store and forward(存储 -转发式)
检查整个帧,然后才转发。
Frame
Frame F
ra
me
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
Fragment free (无分段式)
检查前 64字节,然后转发。
Frame
Store and forward(存储 -转发式)
检查整个帧,然后才转发。
Frame
Frame F
ra
me
Cut-through(直通式)
只检查目的地址,马上转发。
Frame
? 划分网段
? 灵活
? 安全
3rd floor
2nd floor
1st floor
SALES HR ENG
一个 VLAN = 一个广播域 = 逻辑子网
划分 VLAN
?定义 VTP域名
?启用 VTP 模式 (可选 )
?启用 trunk
?创建 VLAN
?为 VLAN 分配端口
VLAN的配置步骤
路由器的功能 —— 路由
? 当一个 IP数据报到达路由器时,若目的 MAC地址与该口 MAC地址一致,
则:
①用 子网掩码 ∧ 目的站 IP地址 D—— 〉 N (网络号 +子网号)
②若 N=该路由器某个端口的网络号,则直接交付,否则转③
③若路由表中有 D的指明主机路由,则按指明的路由器转发,否则转④
④若路由表中有到达网络 N的路由,则按表中转发,否则转⑤
⑤若有默认路由,则按默认路由转发,否则转⑥
⑥ 报告路由选择出错
?要想对包路由,路由器必须知道:
? 目的地址
? 学习可能的原地址
? 可能的路由
? 最好的路由
? 维护路由信息
什么是路由?
172.16.1.010.120.2.0
因特网的路由选择协议
? 静态路由
? 动态路由
自治系统 AS
内部网关协议 IGP,RIP,IGRP,OSPF
外部网关协议 EGP,BGP
Host
Internet
TCP/IP
Host
因特网使用的协议栈
TCP/IP协议起源于军事应用
? ARPANET研究组于 1975年开发了 TCP/IP协议
? 1982年制定了 TCP/IP协议的标准
TCP/IP与 UNIX有着不解之缘
? BSD的 UNIX广泛使用
? 该 UNIX的内部安装了 TCP/IP
? 接着,其他操作系统也开始把 TCP/IP嵌入
内核
TCP/IP 协议栈
7
6
5
4
3
2
5
4
3
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层1
应用层
传输层
网络层
数据链路层
物理层
1
2
各种应用层协议
( TELNET,FTP,SMTP等 )
TCP,UDP
IP
与各种网络接口
应用层
传输层
网络层
网络接口层
ICMP
ARP RARP
物 理 硬 件
TCP/TP 协议栈
IGMP
各种应用层协议
( TELNET,FTP,SMTP等 )
TCP,UDP
IP
数据链路层
应用层
传输层
网络层
网络接口层
ICMP
ARP RARP
物 理 硬 件
传输层
数据链路层
物理层
网络层
高层数据
高层数据TCP 头部
数据IP头部
数据LLC头部
0101110101001000010
数据MAC头部
应用层
段
包
位
帧
PDU
FCS
FCS
数据封装
高层数据
LLC + IP + TCP +高层数据
IP + TCP +高层数据
TCP+高层数据
高层数据
0101110101001000010
传输层
数据链路层
物理层
网络层
应用层
数据解封装
以太帧的封装
以太帧的解封装
Internet内 2个站点的通信
以太网 1 以太网 2
FDDI网
MAC帧
IP1 IP2 IP3 IP4 IP5 IP6
H1 H2
R1 R2
HA1 HA2 HA3
HA4 HA5 HA6
IP1— 〉 IP6 IP1— 〉 IP6IP1— 〉 IP6
HA1— 〉 HA2
HA3— 〉 HA4
HA5— 〉 HA6
H1 http://H2/