传输层的基本理论和基本机制

多路复用和多路分用:
从主机3来的P4进程要正确传输到主机2的P2进程,从主机1老的P3进程要正确传输到主机2的P1进程,Socket是应用层和传输层之间的一个门。

在这里插入图片描述
夺路分用如何工作:
主机接收到IP数据报:
1.每个数据报携带源IP地址和目的IP地址
2.每个数据报携带一个传输层的段(Segment)
3.每个段携带源端口号和目的端口号
主机收到Segment,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket
在这里插入图片描述
无连接的多路分用,UDP:
1.利用端口号创建Socket,UDP的Socket用二元组标识(目的IP地址,目的端口号)
主机收到UDP段后:检查段中的目的端口号,把UDP段导向绑定在该端口号的Socket
来自不通源IP地址和/或源端口号的IP数据包被导向同一个Socket(只要目的端口号一致)
在这里插入图片描述
SP:源端口号 DP:目的端口号

面向连接的多路分用,TCP:
TCP的Socket用四元组标识:源IP地址,源端口号,目的IP地址,目的端口号
接收端利用所有的四个值把Segment导向适合的Socket,服务器可能同时支持多个TCP的Socket,每个Socket用自己的四元组标识。Web服务器为每个客户端开不同的Socket
在这里插入图片描述
UDP协议的细节:是一个比较简单的协议
基于Internet IP协议:复用/分用,简单错误校验(发送方会计算校验核,接收方会进行比对,判断错误有没有发生)
由于IP本身就是Best effort服务,所有UDP段可能丢失数据或者非顺序到达
*无连接:UDP发送方和接收方之间不需要握手,每个UDP段的处理对立于其他段

UDP存在的价值:不用建立连接(减少延迟),实现简单(无需维护连接的状态),头部开销少(8个字节),没有拥塞控制(应用可更好地控制发送时间和速率)
常用于流媒体应用:容忍丢失,速率敏感 。还用于DNS,SNMP

在UDP上实现可卡数据传输:在应用层增加可靠性机制,应用特定的错误恢复机制
在这里插入图片描述
UDP检验和:
目的:检测UDP段在传输中是否发生错误(如位翻转)
发送方:
*把段的内容视为16-bit整数
*校验和计算:计算所有整数的和,仅为加在和的后面,把得到的值按位取反,得到校验和
*发送方将校验和放入校验和字段
接收方:
*计算收到段的校验和
*将其与校验和字段进行比对:不相等则检测出错误,相等则没有检测出错误但是任然可能有错误
校验和计算示例:
在这里插入图片描述

可靠数据传输连接:不错,不丢,不乱
1.可靠数据传输对应用层,传输层,链路层都很重要
2.网络TOP-10问题,因为可靠数据传输连接很重要
3.信道的不可靠特性决定了可靠数据传输协议的复杂性
在这里插入图片描述
上层看到的是可靠的传输,其实底层依然使用的是不可靠传输
在这里插入图片描述
TCP特点:
1.点对点:一个发送方一个接收方
2.可靠的,按序的字节流传输机制
3.流水线机制:TCP拥塞控制和流量控制机制设置窗口尺寸
4.发送方/接收方缓存
5.全双工:同一个连接中可以保证数据双向传输
6.面向连接:通信双方在发送数据之前必须建立连接,连接状态只在连接的两端中维护,在沿途节点中并不维护状态。TCP连接包括:两台主机上的缓存,连接状态变量,socket等
7.流量控制机制
TCP段结构:
在这里插入图片描述

序列号:值得是segment中第一个字节的编号而不是segment的编号
建立TCP连接时,双方随机选择序列号
ACKs:希望接收到的下一个字节序列号,累计确认:该序列号之前的所有字节均已经被正确接受到
在这里插入图片描述

TCP可靠数据传输:TCP在IP层提供的不可靠服务基础上实现可靠数据传输服务
1.流水线机制
2.累积确认
3.TCP使用单一重传定时器
4.出发重传机制:超时,收到重复ACK
5.渐进式:暂不考虑重复ACK,参不考虑流量控制,参不考虑拥塞控制

如何设置定时器的超时时间:
1.大于RTT 2.过短:不必要的重传 3.过长:对段丢失时间反应慢
如何估计RTT:
1.SampleRTT:测量从段发出去到收到ACK的时间(忽略重传)
2.SampleRTT:测量多个SampleRTT,求平均值,形成RTT估计值

TCP发送方事件:
1.从应用层收到数据:
创建Segmrnt,序列号是Segment第一个字节的编号,开启计时器,设置超时时间
2.超时:重传引起超时的Segment,重启定时器
3.收到ACK:如果确认此前未确认的Segment(更新SendBase,如果窗口还有未被确认的分组,重新启动定时器)
TCP重传示例:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值