传输层协议介绍

本文详细介绍了TCP和UDP协议,包括TCP的三次握手建立连接和四次挥手断开连接的过程。TCP是面向连接、可靠的传输协议,而UDP则是无连接且效率高的协议。此外,还探讨了常见的TCP和UDP端口号及其功能。
摘要由CSDN通过智能技术生成

1.TCP协议介绍

1.1 TCP和UDP协议

1.2 TCP协议

2.TCP报文格式

3.TCP三次握手和四次挥手

3.1 TCP连接

3.2 TCP断开连接的四次挥手

4.UDP协议

5.常见协议及其端口号

5.1 常用的TCP端口号及功能

5.2 端口号的范围

总结

1.TCP协议介绍

1.1 TCP和UDP协议

TCP/IP协议族的传输层协议

TCP(Transmission Control Protocol):传输控制协议

UDP(User Datagram Protocol):用户数据报协议

应用层HTTP、FTP、SMTP、TFTP、SNMP、DNS
传输层TCP——安全可靠
UDP——流量速度
网络层ICMP、IGMP、IP、ARP、RARP
数据链路层
物理层

1.2 TCP协议

TCP是面向连接的,可靠的进程到进程通信的协议——传输控制协议

TCP提供全双工服务,即数据可在同一时间双向传输

TCP报文段:TCP将若干个字节构成一个分组,叫报文段(Segment),TCP报文段封装在IP数据报中

2.TCP报文格式

TCP报文段

源端口号(16)针对客户机目标端口号(16)
序号(32)
确认号(32)
首部长度(4)保留(6)URGACKPSHRSTSYNFIN窗口大小(16)
校验和(16)紧急指针(16)
选项

序号:发送端为每个字节进行编号,便于接收端正确重组

确认号:用于确认发送端的信息

窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

SYN:同步序号位,TCP需要建立连接时将该值设为1

ACK:确认序号位,当改位为1时,用于确认发送方的数据

FIN:当TCP断开连接时该位置为1

3.TCP三次握手和四次挥手

3.1 TCP连接

TCP建立连接的过程称为三次握手

三次握手

1.客户端发送SYN报文(seq=x,SYN=1)

2.服务器发送SYN+ACK报文(seq=y,ack=x+1,SYN=1,ACK=1)

3.客户端发送ACK报文(seq=x+1,ack=y+1,ACK=1)

三次握手原理:客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。

为什么要进行三次握手?

因为TCP是一个可靠的传输协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。

3.2 TCP断开连接的四次挥手

四次挥手1.客户端发送FIN/ACK(FIN=1,ACK=1,seq=u)

2.服务器发送ACK报文(ACK=1,seq=v,ack=u+1)

3.服务器发送FIN/ACK报文(FIN=1,ACK=1,seq=w,ack=u+1)

4.客户端发送ACK报文(ACK=1,seq=u+1,ack=w+1)

四次断开原理:客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。

注:三次握手握三次,为什么断开要断四次?

数据传输是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。

TCP半闭合状态是什么情况?

客户机向服务器发送了FIN请求,服务器也给予了ACK响应,但是,服务器向客户机还有数据要传输,因此服务器并没有向客户机立即发送FIN请求。

4.UDP协议

UDP是无连接,不可靠的传输协议,花费开销小,传输效率高

与TCP相比,缺少了分段、重组、重传、滑动窗口等机制

TCP适用于对可靠性要求较高场合

UDP报文的首部格式:

源端口号(16)目标端口号(16)
UDP长度(16)UDP效验和(16)

UDP长度:用来指出UDP的总长度,为首部加上数据

UDP效验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制

常用的UDP端口号及其功能:

端口协议说明
69TFTP简单文件传输协议
111RPC远程过程调用
123NTP网络时间协议

5.常见协议及其端口号

5.1 常用的TCP端口号及功能

端口协议说明
21FTPFTP服务器所开放的控制端口
23TELNET用于远程登陆,可以远程控制管理目标计算机
25SMTPSMTP服务器开放的端口,用于发送邮件
80HTTP超文本传输协议
110POP3用于邮件的接收

5.2 端口号的范围

客户端根据需要哪种服务,从而发送特定的目的端口

端口划分为三个类别,其范围介于1到65535之间

公认端口:与通用网络应用程序相关联的目的端口称为公认端口

这些端口的范围从1到1023

注册端口:端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序

私有端口:端口49152到65535通常作为源端口使用

注:端口号小的一般服务器用,端口号大的一般客户机用。服务器的端口号固定不变,客户机的端口号是随机的。

总结

传输层协议分为TCP协议和UDP协议

TCP协议是传输控制协议,协议号为6

UDP协议是用户数据报文协议,协议号为17

因为TCP是面向连接的,所以连接过程被称为三次握手

断开连接被称为四次断开

而UDP是无连接的,因此没有这个连接和断开过程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值