精品课件-现代通信网(郭娟)-第五章 互联网-03
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代通信网 Modern Communication Networks
5.1 互联网概述 5.2 网络层 5.3 路由协议 5.4 传输层 5.5 应用层 5.6 IPv6与MPLS
第五章 互联网及TCP/IP协议
2020/12/15
互联网的传输层
applic ation transp ort networ
TCP报文段格式
4
8
12
16
20
24
28
32
源端口号
目的端口号
顺序号
确认号
头部长度
保留
UAP RS F RCS S YI GKHT NN
TCP校验和
窗口大小 紧急情况指针
20字节
Options(variable length)
Padding
Data
2020/12/15
TCP报文段中字段的含义
顺序号:当SYN=1,代表初始序号ISN;其它时候SN表示该 段中第一个数据字节的序号。
2020/12/15
进程的标识:端口号
端口号的分类 • IANA (Internet Assigned Numbers Authority):端口号
的分配管理机构
类型
知名端口(Well-known Ports)
注册端口(Registered Ports)
动态/私有端口 (Dynamic/Private Ports)
会增加缓冲区的开销。
2020/12/15
确定RTT TCP采用观察最近的报文段的往返时延的方法来估计RTT。 RTT估值公式
首次测量时:估值RTT(1)=RTT(1) 估值RTT(i+1)=(1-a)×估值RTT(i)+ a×RTT(i+1)
--其中, 参考值a=0.125。【RFC2988】 --含义是,使RTT对短暂的时延变化不敏感。
telnet Smtp(Simple Mail Transfer Protocol)
DNS(Domain Name System) BOOTP / DHCP( Bootstrap Protocol / Dynamic Host Configuration Protocol) (服务器端)
BOOTP / DHCP(客户端) http(Hypertext Transfer Protocol or World Wide Web)
问题: 位于不 同主机上的两个 进程相互间如何 通信?
进程(process) 运行在一个OS之上的应用
段(segment) 传输层的数据传输单元
流(flow) 进程间通信信道上的一个业务流
三个概念
2020/12/15
App #1
App #2
App #3
App #4
传输层设计思想
App #1
k data link physic
al
2020/12/15
networ k
data link physic
al
networ k
ndeattwaor linkk networ pphhdlyayaiaslstnlnpiiakehdlcctyaiakwstnloiakprchdlatayaiaprkotstnlpariiaklntocisncp
TCP连接建立:三次握手
要点:SYN相当于1个字节; ISN的随机化/Half2020/o1p2e/n1问5 题;
TCP数据传输 2020/12/15
TCP连接释放:四次握手 2020/12/15
TCP的流量控制
问题:如何限制发送者的速率以实现收发速率匹配? 链路层采用固定窗口大小的流量控制。
应用场合 控制面协议 DNS,SNMP、DHCP等 避免连接建立的开销和不灵活 报文丢失不敏感的应用 语音 视频
UDP协议
2020/12/15
UDP协议 2020/12/15
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
pop3(Post Office Protocol version 3) Imap(Internet Message Access Protocol) Snmp(Simple Network Management Protocol) Snmp trap(Simple Network Management Protocol)
确认号:代表TCP接收端期望接收的下一个字节的序号,累 积确认方式。
头部长度:以32bit为单位,描述头部的长度。 窗口大小: 16比特,基于收方的窗口流控
起始字节序号=确认号。 最后一个字节序号=确认号+窗口大小 校验和:对整个TCP报文段+12字节伪IP头进行校验。 标志位:6个
2020/12/15
速率控制 流量控制 拥塞控制
运输层的服务
2020/12/15
进程的标识:端口号
端口号:16比特,应用进程的标识 套接字(Socket):<IP地址,端口号> Socket是双向的。
连接标识 连接的标识:={本地Socket,远端Socket} 本地Socket=<源IP地址,源端口号> 远端Socket=<目的IP地址,目的端口号>
BGP(Border Gateway Protocol) RIP(Routing Information Protocol v1,v2)
TCP的连接 2020/12/15
TCP的连接-示例1 2020/12/15
TCP的连接-示例2 2020/12/15
TCP的连接-示Hale Waihona Puke Baidu3 2020/12/15
2020/12/15
RTO的估算公式
如何根据RTT确定RTO? 首次测量:估值RTT(1)=RTT(1),DevRTT =RTT(1) /2 以后每次测量执行如下计算: DevRTT(i+1)=(1-ß)× DevRTT(i)+ ß×|RTT(i+1) -估值RTT(i)| 估值RTO(i+1)=估值RTT(i+1)+4×DevRTT(i+1) ---ß推荐值=0.25.
端口号
传输层协议
进程的标识:端口号
应用层协议
20 21 23 25 53 67
68 80 110 143 161 161 179 520
2020/12/15
TCP TCP TCP TCP TCP + UDP UDP
UDP TCP TCP TCP UDP UDP TCP UDP
ftp(数据信道) ftp(控制/命令信道)
2020/12/15
TCP: 重传示例
注:证实消息丢失,而未超时的情况下,采用累积证实 也不会出问题 2020/12/15
TCP 丢失重传 -2
注:数据段丢失的情况下,空隙弥合后,发送证实消息 2020/12/15
TCP 丢失重传-3
注:证实消息丢失的情况下,导致发端超时重传 2020/12/15
收到证实消息自动滑动窗口以发送更多数据 TCP采用由接收方通知发送方可用窗口大小(信用量)流
控机制。 原因?主机到主机的往返时延RTT(round-trip time)
变化大。
2020/12/15
TCP信用量流控机制 涉及三个字段:顺序号SEQ,确认号ACK,窗口尺寸W 传输的每个字节均分配一个SEQ 。 当发送方收到一个返回的报文段ACK =i,W=j,它的含义
App #2
App #3
App #4
TCP
UDP
TCP
UDP
Internet Protocol
Internet
Internet Protocol
Client
Server
用不同的传输层协议支持不同类型的应用!
2020/12/15
地址: 标识本地进程
差错控制 校验和 可靠性:重发纠错与顺序控制
是: 序号0~i-1的字节都被确认,下一个期望接收的字节是i. 发送方新的窗口大小为W=j,合法的窗口内的序号为i到
i+j-1。
2020/12/15
确定TCP的窗口大小 如何动态确定合理的W值?
W的取值与RTT有关 设往返时延RTT,线路速率=R。
则当W≧ RTT×R时,不会造成发送端因等待确认信号, 所引起的线路空闲。 直观上,W与RTT成正比。但实际上W太大无意义,只
2020/12/15
TCP的丢失重传机制 由于网络层不提供反馈信息,为保证可靠传输,TCP采用超
时/重传机制来处理报文段的丢失问题。 丢失的定义:超时或连续收到三个冗余的ACK。 如何设定超时定时器RTO?
Retransmission Time-Out 显然,RTO必须大于RTT,否则会造成不必要的重传。
取值范围
说明
0~1023 1024~49151 49152~65535
由IANA分配,用于提供知名的公众服务的 服务器进程,例如Web,FTP ,Email等。
由IANA分配,主要用于私有服务器进程, 但也可用于客户进程,一般没有严格的限制
由主机按需分配给本地客户进程
2020/12/15
知名端口号
5.1 互联网概述 5.2 网络层 5.3 路由协议 5.4 传输层 5.5 应用层 5.6 IPv6与MPLS
第五章 互联网及TCP/IP协议
2020/12/15
互联网的传输层
applic ation transp ort networ
TCP报文段格式
4
8
12
16
20
24
28
32
源端口号
目的端口号
顺序号
确认号
头部长度
保留
UAP RS F RCS S YI GKHT NN
TCP校验和
窗口大小 紧急情况指针
20字节
Options(variable length)
Padding
Data
2020/12/15
TCP报文段中字段的含义
顺序号:当SYN=1,代表初始序号ISN;其它时候SN表示该 段中第一个数据字节的序号。
2020/12/15
进程的标识:端口号
端口号的分类 • IANA (Internet Assigned Numbers Authority):端口号
的分配管理机构
类型
知名端口(Well-known Ports)
注册端口(Registered Ports)
动态/私有端口 (Dynamic/Private Ports)
会增加缓冲区的开销。
2020/12/15
确定RTT TCP采用观察最近的报文段的往返时延的方法来估计RTT。 RTT估值公式
首次测量时:估值RTT(1)=RTT(1) 估值RTT(i+1)=(1-a)×估值RTT(i)+ a×RTT(i+1)
--其中, 参考值a=0.125。【RFC2988】 --含义是,使RTT对短暂的时延变化不敏感。
telnet Smtp(Simple Mail Transfer Protocol)
DNS(Domain Name System) BOOTP / DHCP( Bootstrap Protocol / Dynamic Host Configuration Protocol) (服务器端)
BOOTP / DHCP(客户端) http(Hypertext Transfer Protocol or World Wide Web)
问题: 位于不 同主机上的两个 进程相互间如何 通信?
进程(process) 运行在一个OS之上的应用
段(segment) 传输层的数据传输单元
流(flow) 进程间通信信道上的一个业务流
三个概念
2020/12/15
App #1
App #2
App #3
App #4
传输层设计思想
App #1
k data link physic
al
2020/12/15
networ k
data link physic
al
networ k
ndeattwaor linkk networ pphhdlyayaiaslstnlnpiiakehdlcctyaiakwstnloiakprchdlatayaiaprkotstnlpariiaklntocisncp
TCP连接建立:三次握手
要点:SYN相当于1个字节; ISN的随机化/Half2020/o1p2e/n1问5 题;
TCP数据传输 2020/12/15
TCP连接释放:四次握手 2020/12/15
TCP的流量控制
问题:如何限制发送者的速率以实现收发速率匹配? 链路层采用固定窗口大小的流量控制。
应用场合 控制面协议 DNS,SNMP、DHCP等 避免连接建立的开销和不灵活 报文丢失不敏感的应用 语音 视频
UDP协议
2020/12/15
UDP协议 2020/12/15
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
pop3(Post Office Protocol version 3) Imap(Internet Message Access Protocol) Snmp(Simple Network Management Protocol) Snmp trap(Simple Network Management Protocol)
确认号:代表TCP接收端期望接收的下一个字节的序号,累 积确认方式。
头部长度:以32bit为单位,描述头部的长度。 窗口大小: 16比特,基于收方的窗口流控
起始字节序号=确认号。 最后一个字节序号=确认号+窗口大小 校验和:对整个TCP报文段+12字节伪IP头进行校验。 标志位:6个
2020/12/15
速率控制 流量控制 拥塞控制
运输层的服务
2020/12/15
进程的标识:端口号
端口号:16比特,应用进程的标识 套接字(Socket):<IP地址,端口号> Socket是双向的。
连接标识 连接的标识:={本地Socket,远端Socket} 本地Socket=<源IP地址,源端口号> 远端Socket=<目的IP地址,目的端口号>
BGP(Border Gateway Protocol) RIP(Routing Information Protocol v1,v2)
TCP的连接 2020/12/15
TCP的连接-示例1 2020/12/15
TCP的连接-示例2 2020/12/15
TCP的连接-示Hale Waihona Puke Baidu3 2020/12/15
2020/12/15
RTO的估算公式
如何根据RTT确定RTO? 首次测量:估值RTT(1)=RTT(1),DevRTT =RTT(1) /2 以后每次测量执行如下计算: DevRTT(i+1)=(1-ß)× DevRTT(i)+ ß×|RTT(i+1) -估值RTT(i)| 估值RTO(i+1)=估值RTT(i+1)+4×DevRTT(i+1) ---ß推荐值=0.25.
端口号
传输层协议
进程的标识:端口号
应用层协议
20 21 23 25 53 67
68 80 110 143 161 161 179 520
2020/12/15
TCP TCP TCP TCP TCP + UDP UDP
UDP TCP TCP TCP UDP UDP TCP UDP
ftp(数据信道) ftp(控制/命令信道)
2020/12/15
TCP: 重传示例
注:证实消息丢失,而未超时的情况下,采用累积证实 也不会出问题 2020/12/15
TCP 丢失重传 -2
注:数据段丢失的情况下,空隙弥合后,发送证实消息 2020/12/15
TCP 丢失重传-3
注:证实消息丢失的情况下,导致发端超时重传 2020/12/15
收到证实消息自动滑动窗口以发送更多数据 TCP采用由接收方通知发送方可用窗口大小(信用量)流
控机制。 原因?主机到主机的往返时延RTT(round-trip time)
变化大。
2020/12/15
TCP信用量流控机制 涉及三个字段:顺序号SEQ,确认号ACK,窗口尺寸W 传输的每个字节均分配一个SEQ 。 当发送方收到一个返回的报文段ACK =i,W=j,它的含义
App #2
App #3
App #4
TCP
UDP
TCP
UDP
Internet Protocol
Internet
Internet Protocol
Client
Server
用不同的传输层协议支持不同类型的应用!
2020/12/15
地址: 标识本地进程
差错控制 校验和 可靠性:重发纠错与顺序控制
是: 序号0~i-1的字节都被确认,下一个期望接收的字节是i. 发送方新的窗口大小为W=j,合法的窗口内的序号为i到
i+j-1。
2020/12/15
确定TCP的窗口大小 如何动态确定合理的W值?
W的取值与RTT有关 设往返时延RTT,线路速率=R。
则当W≧ RTT×R时,不会造成发送端因等待确认信号, 所引起的线路空闲。 直观上,W与RTT成正比。但实际上W太大无意义,只
2020/12/15
TCP的丢失重传机制 由于网络层不提供反馈信息,为保证可靠传输,TCP采用超
时/重传机制来处理报文段的丢失问题。 丢失的定义:超时或连续收到三个冗余的ACK。 如何设定超时定时器RTO?
Retransmission Time-Out 显然,RTO必须大于RTT,否则会造成不必要的重传。
取值范围
说明
0~1023 1024~49151 49152~65535
由IANA分配,用于提供知名的公众服务的 服务器进程,例如Web,FTP ,Email等。
由IANA分配,主要用于私有服务器进程, 但也可用于客户进程,一般没有严格的限制
由主机按需分配给本地客户进程
2020/12/15
知名端口号