计算机网络--面向连接的运输:TCP

本文详细介绍了TCP协议的原理与特性,包括TCP报文段结构、拥塞控制机制、TCP与UDP的公平性以及TCP如何确保可靠性。通过三次握手建立连接,利用序列号、确认号、接收窗口进行流量控制,当出现拥塞时,采用加性增乘性减(AIMD)策略调整发送速率。同时,文章探讨了TCP与UDP在链路资源占用上的区别。
摘要由CSDN通过智能技术生成

概述

TCP协议运行于端系统中,中间路由器对TCP连接完全视而不见,他们看到的是数据报,而不是连接。TCP是点对点通信,即是发生在单个发送方与单个接收方之间的通信。
在这里插入图片描述
在实际编程中,接收缓存与发送缓存可通过setsockopt设置SO_SNDBUF、SO_RCVBUF。 getsockopt 可用于查看当前系统的发送与接收缓存的大小。
系统的默认socket 发送缓冲区(SO_SNDBUF)的大小为8K,我们可以调用setsockopt()将其更改,理论上最大为64K
应用程序将要发送的数据放到发送缓存中,前提是发送缓存不满,TCP会从缓存中取出数据并放入报文段,大小取决于 MSS (maximum segment size),MSS的大小 是 MTU 减去 TCP/IP首部长度(通常为40字节)。
MTU (maximum transmission unit)表示链路层的最大传输帧长度。以太网与PPP连路具有1500字节。因此MSS一般为1460字节。

TCP报文段结构

在这里插入图片描述
TCP 首部一般为20byte,比UDP的多12byte。
1. 序号和确认号
序号是建立在字节流之上的,即每个字节有自己的序号࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值