TCP/UDP基本原理

主要学习:传输层的作用,端口(常见端口),TCP可靠性机制(头部格式详述,确认机制,三次握手,四次挥手,RST结束连接,窗口机制,完整性校验),TCP特征,UDP原理(主要特征,头部格式),TCP与UDP区别

一、传输层的作用:

(1)提供面向连接或者无连接的服务

(2)维护连接状态

(3)对应用层数据进行分段和封装

(4)实现多路复用

(5)可靠传输数据

(6)流量控制

二、端口:

1.定义:每个应用程序进出网络都需要一个唯一端口,用端口号识别数据应交给哪个程序处理

2.常见名词

(1)服务端固定端口号

(2)客户端:1024以上随机端口

3.常见知名端口号

Telnet:远程登录;FTP :文本传输协议;HTTP:超文本传输协议;SMTP:简单邮件传输协议;DNS:域名解析协议;HTTPS(443):HTTP over SSL

三、TCP

1.TCP头部封装

 

1.长度20~60字节不等

2.具体分类:

(1)source port:源端口

(2)destination port:目的端口

(3)sequence number:序列号:seq

(4)acknowledgement number:确认号:ack

序列号和确认号详解:

(1)图一解释:ACK为确认号

 若数据发生错误,下一个ACK=11,让其重传

(2)图二解释:ack为确认号,总之ack总是在上一个的seq序列号上加1+length,seq为上一个的ack;特殊的,多次传输:seq等于上一个seq+上一个len,ack为几个len之和的下一个 

(5)Data offset:数据偏移量

(6)Reserved:不重要

(7)标志位flags:FIN,SYN,URG,ACK,RST,PSH

1)URG:紧急标志位,若为1代表有个数据很紧急,需要优先转发,为0代表没有紧急数据

2)ACK:代表确认功能是否开启,1为开启,0为关闭

3)SYN:握手开关

 为什么要三次:因为A和B都需要同意(两次不够)

4)FIN:结束开关,涉及四次挥手

 为什么不能三次:因为A和B两个的FIN结束时间点不一样(可以同步开始,不一定同步结束)

5)RST:复位开关,强行结束TCP连接,因为有可能没有机会实现FIN的四次挥手

6)PSH:直接提交缓存数据

(8)window:窗口尺寸,告知别人本机的接受能力,实现流量控制

(9)checksum:校验序列,校验收到的序列是否正确

(10)Urgent Pointer:紧急指针,如果有紧急数据,则告诉紧急数据的具体位置

(11)options:可选部分

(12)padding:填充部分

2.TCP可靠性机制

(1)确认机制(保证可靠性)

seq=上一次ack

ack=上一次的seq+length

若没有收到或者收到的是不完整数据,会再次发送ack请求对方重发

(2)三次握手

(3)四次挥手,RST结束连接,窗口机制,完整性校验,见上述头部格式讲解

3.TCP特征:

优点:传输可靠性高

缺点:占用带宽高,传输延迟高

使用场景对数据完整性要求高,但对传输延长要求低(如传大文件)

四、UDP

1.UDP​​​​​​​​​​​​​​头部格式 

2.特征

与TCP相反,使用场景(如打视频)

五、TCP与UDP对比:​​​​​​​

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值