《计算机网络》(三)

3.1-3.6: 3.4,3.5

3.1概述

1.运输层协议为运行在不同主机上的应用进程提供了逻辑通信功能,网络层提供了主机之间的逻辑通信

2.运输层协议只工作在端系统中,运输层协议将来自进程的应用报文移动到网络边缘

3多路复用和多路分解:.将主机间交付扩展到进程间交付

4.运输层提供的服务

1)UDP提供的服务:进程到进程间的数据交付和差错检查(两种最低限度的运输层服务),UDP流量不可调节,UDP发送方可根据其意愿以任何速率发送数据

2)TCP提供的服务:除以上外还有可靠数据传输(通过流量控制、序号、确认和定时器)、拥塞控制

3.2多路复用和多路分解

1)多路复用(向下):(从源主机的套接字)收集数据、(附加首部)封装成报文段、(将报文段)传递到网络层

多路分解(向上):接收报文段、(检查字段:目的端口号)标识出套接字、将报文段定向到套接字

2)UDP套接字:二元组,目的IP地址+目的端口号

TCP套接字:四元组,源IP地址+源端口号+目的IP地址+目的端口号

3.3 UDP

1.UDP报文段:首部(源端口号+目的端口号+长度+校验和)+数据

1)长度字段:整个UDP报文段的长度(首部8B+数据)

2)校验和:检查首部和数据部分

发送方首先把全零放入校验和字段并添加伪首部,然后把UDP数据报视为许多16位的字串接起来。若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾填入一个全零字节(但此字节不发送)。然后按二进制反码计算出这些16位字的和,将此和的二进制反码写入校验和字段,并发送。

并发送。接收方把收到的UDP 数据报加上伪首部(如果不为偶数个字节,那么还需要补上全零字节)后,按二进制反码求这些16位字的和。当无差错时其结果应为全1,否则就表明有差错出现,接收方就应该丢弃这个UDP数据报。

*3.4可靠传输

SW(停止等待)

GBN(回退N帧)

SR(选择重传)

*3.5 TCP(传输控制协议)

1.数据偏移字段:TCP首部长度

2. TCP把连接作为最基本的抽象,每条TCP连接有两个端点,TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口。TCP连接的端口即为套接字(Socket)或插口,每条TCP 连接唯一地被通信的两个端点(即两个套接字)确定。

3.服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的,这就使得服务器易于受到SYN洪泛攻击。

4.TCP不能多播、广播(TCP连接总是点对点的)

5.最大报文长度MSS:要保证MSS+TCP/IP首部(通常40字节)不大于MTU(最大传输单元)

以太网和PPP链路层协议:MTU为1500字节,因此MSS的典型值为1460字节

MSS是指报文段里应用层数据的最大长度(也就是TCP报文段的数据部分),不包括TCP首部!

这里的报文长度不同于UDP首部中的长度字段,UDP首部长度是加上UDP首部8比特的总长度

3.6 拥塞控制

TCP发送方的”丢包事件“:要么出现超时,要么收到来自接收方的3个冗余ACK

TCP拥塞控制算法

1.慢启动

cwnd从1开始,指数增长

2.拥塞避免

cwnd从ssthresh开始,线性增长

3.快速恢复

ssthresh=cwnd*0.5

cwnd=ssthresh(+3?)

TCP Reno:超时后慢启动,收到3个冗余ACK后快速回复

TCP Tahoe:都使用慢启动

注*:慢启动阶段cwnd不能超过ssthresh,例如t轮回cwnd=8,ssthresh=12,那么t+1轮回cwnd=12(而不是16),t+2轮回cwnd=13

参考:

UDP

TCP

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值