UDP学习笔记——第二章传输层协议简介

★SCTP是流控制传输协议

概念

1.面向消息。

2、提供流,1个流上的消息丢失,不会阻塞后续的消息

3.多宿属性,单个SCTP端点可以支持多个IP地址,类似于链接到一个网络而不是一个主机。

SCTP关联的建立和终止

四路握手

1.客户发送INIT消息,告诉服务器 客户的各种信息,便于初始化

2.服务器发回 INIT_ACK消息,该消息中也包括服务器的各种信息

3.客户发送COOKIE_ECHO消息,回射服务器的cookie,顺带一些用户数据

4.服务器发回COOKIE_ACK,确认客户回射的cookie是否正确,也会顺带一些用户数据。

关联终止

1.服务器的ACK和SHUTDOWN消息必须一起发送

2.没有TIME_WAIT状态,因为SCPT分组的首部有标记INIT块号,不会出现吸收迷路的前连接消息的情况。


★四次挥手中的TIME_WAIT状态作用

1.若最后一步客户发出的ACK丢失了,那么服务器将重发FIN,所以必须维持TIME_WAIT状态到可能的第二次重发FIN的时间。

2.为了避免在终止连接后再次重新建立新连接时,收到之前那次连接“迷路”的分组,要维持一个TIME_WAIT状态以便吸收掉迷路的分组。


★端口号

1~1023——众所周知端口,在unix中也叫保留端口。

1024~49151——IANA注册的端口

49152~65535——动态或私用端口


★如何识别客户请求给哪个服务子进程?是根据目的IP和目的端口号吗

错,应该是根据“套接字对”,即{源IP:源端口}和{目的IP:目的端口}这4个信息来判断给哪个子进程


★关于数据报的长度

IPV4数据报最大为65535字节,IPV6数据报最大为65575字节(首部40字节)

IPV4的最小链路MTU是68字节,IPV4的最小链路 MTU是1280字节。

路径MTU:2个主机路径间的最小MTU。   2个相反路径上的MTU可能不同。

分片:

IPV4主机和路由都可以分片

IPV6只能在产生数据报时分片,不能在转发别的数据报时分片。

MSS: 每个分节中的最大字节数量。


★如何输出数据

TCP输出:(1)调用write时,会把应用程序缓冲区(buff)中的数据复制进套接字缓冲区,并立即返回write。如果没复制完,将继续复制,不会影响write的返回。(2)发生时,会保留一个发送副本,为了之后的重传。

UDP输出:(1)如果应用进程要write的数据长度大于套接字缓冲区,则立即返回错误 (2)不会保留发送副本

SCTP输出:和TCP相反,write必须在全部数据都复制进套接字缓冲区时,才会返回。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值