tcp 组播_TCP传输控制协议

今天跟大家来聊一聊传输层众多协议中的比较重要的TCP传输控制协议。

TCP(传输控制协议)面向连接,配合高层用于程序做数据发送,只提供封装报头的设计,和 SD 端口号信息。

一、TCP端口号 

端口号主要用来区分不同的网络服务,大小为16bit,范围是:0-65535 。其中分为知名端口和非知名端口,如下所述:

(1)1-1023为知名端口,一对一精确对应,知名应用和知名端口的映射,telnet 对应 TCP 23 ;

(2)1024-65535为非知名端口,他是随机对应的,不固定的由应用程序和操作系统绝定;

具体的TCP端口号如下图所示:

e8595f2fd46cca403bf1985d33444c3b.png

二、TCP三次握手 

当主动方发出 SYN 连接请求后,等待对方回复 SYN+ACK,最终对对方 SYN 执行 ACK 确认,TCP建立连接的过程如下图:

24c9a56227382effb29f7dc16d6c56d5.png

TCP关闭连接如下图:

e6ebd2e9ae58ba9174c89a0888774f99.png

主机在关闭连接前,要确认收到来敌对方的ack。

三、TCP头部

5403bf53b58dcd6b6005f0b308de84c9.png

我们可以看到TCP报头中包含以下内容:

Source port (源端口号) 16 源应用程序时什么程序 

Destination port (目的端口号)16 目的应用程序是什么程序 

Sequence number(序列号)32 数据分段的时候每个段的号,用于重组,防止乱序 

Acknowledge number(确认号)32 确认收到数据,发送方发送最大序列号的值+1, 

Header length(首部长度)4 

Resv(保留)6 全部为 0 

URG :紧急指针 致为 1 表示紧急处理该数据 

ACK :确认的意思 

PSH 

RST :重置

SYN :同步的意思 

FIN :结束 

Window(窗口)16 想收到的每个 TCP 数据段的大小,可以协商流控。发送端移送一段数据,等,目的段收到一段数据后,发送一个 ACK 给发送端,然后发送段接着发送,没有收到确认,重传。 

Checksum(校验和)16 不单单校验头部,数据内容也校验。 

Urgent pointer(紧急指针)16 结合 URG 优先处理某个应用, 

Options(选项) 

Padding(填充)

因为TCP是面向连接的,所以包括 一下功能:

(1) 流量控制:限速,通过窗口字段去协商速率,滑动窗口每次传输前都会协商窗口大小。 

(2) 防止乱序:处理延迟、串行化延迟、传输延迟、队列延迟、抖动的问题先发后到或者后发先到 ,通过序列号字段完成, 

(3)防止丢包:通过确认号来实现。如:发送 1 2 3 对端回复 ACK 4 给发送端,源就知道 

1 2 3 都收到了,我从 4 开始发送,4 5 6 如果 6 丢失,回复 ACK 6 , 源就知道 6 丢失了 ,从 6 开始重传。 

(4) 完整性检查,防止数据篡改:通过校验和字段 。

(5) 数据重传:本身就支持。

(6)点到点应用,只支持单播数据发送,不支持组播、广播。

四、TCP传输过程

a1ec323db8e3d986cef4ab8911bd9f8d.png

五、TCP控制流量

9da20e20021e2ca644c49df4692e0ea9.png

关于TCP的知识我们就讲到这里啦,更多精彩实用干货,来我们直播间吧!

今晚6IE闫辉在腾讯课堂直播间等你!扫码即可加入哦~

aeae8221c74a6bafc637356d58daad99.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值