第五章端到端协议课前提问
1.简述路由向量协议工作原理?
2.简述链路状态协议工作原理?
3.试举例说明分布树生成算法?
4.试举例说明最短路径算法?
5.请比较转发表与路由表的区别?
6.简述 ARP协议工作过程?
7.P233 T3
8.P233 T4
9.P234 T13
10,P235 T16
引言 回顾与展望回顾:
1.网络通过路由器和 BGP路由器扩展到整个世界。
2.数据现在可以在不同类型的子网间传递。
3.处理到网络的第三层,即网络层。
展望:
如何定义高层协议?
IP 层协议负责在主机之间传递数据报。
如何区分同一主机上不同应用程序或用户之间的数据传递?
5.1 简单解多路复用协议 (UDP)
1,基本概念在底层网络协议基础上添加解多路复用功能,而不添加任何其它功能,使得系统中的多个进程可以共享底层网络协议提供的服务,这是网络层之上最简单的高层协议,
2,实例 (UDP)
UDP提供不保证可靠的、无连接的、各数据报独立传输的数据报传输服务,
附,UDP数据格式源端口 目的端口校验和 长 度数据
0 16 31
5.1 简单解多路复用协议 (UDP)
3,端口
1)概念端口即一个 16位整数值,用于区分同一主机上的不同进程; IP+端口号 =全球唯一的主机进程 。
2)分类公认端口,0到 1023;
注册端口,从 1024到 49151
动态或私有端口,从 49152到 65535。
注:端口是与进程或说软件相关的概念,而不是指硬件上的接口或插槽。
附,UDP协议示意图应用进程 应用进程 应用进程
UDP
分组到达端口队列被解多路复用的分组
5.1 简单解多路复用协议 (UDP)
6.UDP协议总结
提供无连接服务,不保证数据完整到达目的地。
适应简单请求 /响应通信模式的需要。
应用程序要保证数据的正确性,增加了程序复杂性。
UDP保留各报文间的边界,不把应用多次发送的数据合并成一个包发出去,且发包后不对该包缓存。
需要组播的应用都可建立在 UDP之上。
5.2 可靠的字节流
1.TCP协议功能概述
1) 处于应用层和网络层之间,实现端到端
peer to peer的通信:在组主机上执行,屏蔽下层的服务质量差,
2) 对上层提供面向连接、端到端可靠通信服务:先连接后传数据、任一方可断连接、点点全双工,即两个方向同时传输数据,但不能组播,
5.2 可靠的字节流
2,接口和套接字
1) TCP提供服务接口直接给应用程序一组调用,包括打开 /关闭、发送 /接收等;
允许和应用程序之间进行异步通信。
2) 区分一台 H上的多个进程调用 TCP/UDP
Socket = IP地址 + Port号;
Port = 标识传输层和应用间的数据接口;
一条连接两端的 Socket可唯一标识该连接。
5.2 可靠的字节流
3,TCP传输控制的核心滑动窗口算法,算法基本思想同链路层,但存在不少差异。
4.TCP寻址
1) 有连接的建立和关闭阶段
2) RTT是变化的,TCP 的超时机制必须适应
3) 分组失序
4) 可能发生其 TTL值 =0
5) 拥塞控制
5.2 可靠的字节流
5.连接的建立与终止
1)连接的建立是非对称的:
服务器已预先被动打开;
连接建立由客户机主动打开开始。
2)连接的拆除是对称的:
双方都是独立关闭连接;
可能出现一方已经关闭了连接,另一方保持连接。
附,TCP报文格式源端口 目的端口序号确认号窗口大小报头长度 保留 = 0
校验和 紧急指针选项 (变长 )
数据
0 4 10 16 31
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
5.2 可靠的字节流
6,不同主机上的两个进程如何通信?
1)通过各自的端口号识别进程。
2)在通信发起时如何知道对方的端口号?
答案是,公认端口号或事先告之,否则将无法知道;当然也可以通过扫描端口获得。
注:事实上任意进程可以使用任意端口号。
7,何谓端口扫描?
即往目标主机的每一个端口逐个发送 各类常用协议帧,根据对方的回应了解端口信息;这实际上是一个猜测的过程。