传输层(学习笔记)

本文详细介绍了传输层的基本概念,包括TCP和UDP的主要特性。TCP提供可靠的连接,涉及连接管理、可靠传输、拥塞控制等方面,如三次握手、四次挥手、超时重传和滑动窗口机制。而UDP则是无连接、不可靠的,适用于对实时性要求高的场景,如DNS和DHCP。此外,文章讨论了TCP与UDP在粘包问题、校验和、端口号范围等方面的差异和解决方案。
摘要由CSDN通过智能技术生成

传输层基本概念:

  传输层负责端与端之间的数据传,主要有两大知识点:TCP和UDP

五元组

  在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看);

端口号范围

  0 - 1023: 知名端⼝口号, HTTP, FTP, SSH等这些广为使⽤用的应⽤用层协议, 他们的端⼝口号都是固定的
  1024 - 65535: 操作系统动态分配的端⼝口号. 客户端程序的端口号, 就是由操作系统从这个范围分配的。

UDP(无连接不可靠面向数据报)

UDP协议格式

  源端口、目的端口、数据报长度、校验和
在这里插入图片描述

检验和:二进制反码求和

在这里插入图片描述

最大长度

  UDP数据包最大长度64K(包含报头),如果用户发送的长度大于64K-8就会报错,因为UDP在传输层不会自动进行数据分段,这就意味着如果传输的数据大于64K,就需要用户在应用层就进行数据的分段,但是因为传输层UDP并不保证数据的有序到达,就需要用户在应用层进行包序的管理

UDP缓冲区

  UDP没有真正意义上的发送缓冲区,调用sendto会直接交给内核, 由内核将数据传给网络层协议进行后续的传输动作;
UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一致; 如果缓冲区满了, 再到达的UDP数据就会被丢弃;

UDP粘包问题

  面向数据报不会产生粘包问题,因为UDP数据包中定义了数据包的长度

基于UDP的应用层协议
  1. NFS: 网络文件系统
  2. TFTP: 简单文件传输协议
  3. DHCP: 动态主机配置协议
  4. BOOTP: 启动协议(用于无盘设备启动)
  5. DNS:域名解析协议

TCP(传输控制协议)

TCP协议段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值