运输层概述
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运输层概述相关的知识,希望对你有一定的参考价值。
运输层
1.运输层概述
小结
2.运输层端口号,复用与分用的概念
端口号
复用和分用
小结
3.UDP和TCP对比
1.无连接的UDP和面向连接的TCP
2.UDP支持单播,多播以及广播,TCP仅支持单播
3.UDP是面向应用报文的,TCP是面向字节流的
4.UDP无连接,不可靠,TCP面向连接,可靠
5.首部报文对比
小结
4.TCP流量控制
练习
5.TCP的拥塞控制
慢开始
拥塞避免
总结
6.超时重传时间的选择
往返时间RTT样本(针对超时重传)
7.TCP可靠传输的实现
练习
小结
8.TCP的运输连接管理
8.2TCP的连接建立
三次握手主要解决的问题
三次握手
1.> A 是TCP客户进程, B是TCP服务进程。最初的TCP进程都处于closed状态。 注意:在本例中:A主动打开连接,B被动打开连接
-
- A的TCP客户进程也是首先创建传输控制模块TCB,
- 然后在打算建立TCP连接时,向B发出请求报文字段,
- 这时首部的同步位SYN=1;
- 初始序号seq =x;
TCP规定:SYN=1的报文段不能携带数据,但要消耗掉一个序号,这时TCP客户进程进入 SYN-SENT(同步已发送状态)
。
3.B收到连接后,如果同意建立连接,则向A发送确认。再确认报文段中应把SYN和ACK位都为1,确认号ack=x+1;同时也为自己选择一个初始序号seq=y;
注意:seq=y的报文段不能携带数据,但要消耗掉一个序号,这时TCP客户进程进入 SYN-RCVD(同步收到)
。
TCP客户收到B的确认后,还要向B给出确认。确认报文段ACK置为1,确认号 ack=y+1;
注意:普通报文段可以携带数据,但如果不携带数据则不消耗序号。在这种情况下,下一个数据报文段的序号仍是seq =x+1;
这时,TCP连接已经建立,A进入ESTABISHED状态
著名的三次握手就这么每秒的完成了
不知道两次可以可以呢?
不可以,这是为了防止已失效的连接请求报文段突然有传到了B,造成资源浪费
8.3TCP的连接释放
- 1.数据传输结束后,通信的双方都可以释放连接
- 现在A和B都处于ESTABLISHED状态。
- A的引用进程先向TCP发出连接释放报文段,并停止再发送数据
- 主动关闭TCP连接。
- A把连接释放报文段首部的终止控制位FIN =1 确认序号 seq =u;(u=前面面以传送过的数据的最后一个字节的序号U+1) 这时A进入(FIN-WAIT-1)状态
-
注意:TCP规定,FIN报文段即使不懈怠数据,它也消耗掉一个序
2.
3.
4.
为什么要等待两分钟
1,为了保证A发送的最后一个ACK报文段能够到达B.
2,为了防止上文中提到的“已失效的请求报文段”出现在本连接中。
保活计时器
8.4
TCP报文段的首部格式
以上是关于运输层概述的主要内容,如果未能解决你的问题,请参考以下文章