【计算机网络笔记三】传输层

计算机网络笔记之传输层:包含传输层协议的介绍,UDP VS TCP 的对比,TCP 三次握手,TCP 四次挥手,TCP 粘包/拆包及其解决方案,TCP 的面向字节流和网络字节顺序的理解相关内容。
摘要由CSDN通过智能技术生成

端口

在网络中如何标记一个进程?

  • TCP/IP 体系的传输层使用【端口号】来标记区分应用层的不同应用进程。
  • 这里说的端口是一个逻辑的概念,并不是实实在在的物理端口。
    在这里插入图片描述
    在这里插入图片描述

端口号使用 16 比特表示,取值范围是 0 ~ 65535,端口号分为以下三类:

  • ① 熟知端口号(用于服务端)
  • ② 登记端口号(用于服务端)
  • ③ 短暂端口号(用于客户端)

熟知端口号

熟知端口号或系统端口号,数值为 0 ~ 1023IANA 把这些端口号指派给了 TCP/IP 最重要的一些应用程序,让所有的用户都知道

当一种新的应用程序出现后,IANA 必须为它指派一个熟知端口,否则因特网上的其他应用进程就无法和它进行通信。

在这里插入图片描述

登记端口号

登记端口号,数值为 1024 ~ 49151,这类端口号是为没有熟知端口号的应用程序使用的。

使用这类端口号必须在 IANA 按照规定的手续登记,以防止重复,比如 Oracle 的默认端口号 1521MySQL 的默认端口号 3306Java WEBtomcat 的默认端口号 8080

短暂端口号

客户端使用的端口号,数值为 49152 ~ 65535

由于这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。这类端口号是留给客户进程选择暂时使用的。理论上,不应为服务端分配这些端口,实际上,机器通常从1024起分配动态端口。

当服务器进程收到客户进程的报文时,就知道了客户进程所使用的端口号,因而可以把数据发送给客户进程。

通信结束后,刚才已使用过的客户端口号就不复存在,这个端口号就可以供其他客户进程重复使用

传输层协议

  • TCP: Transmission Control Protocol(传输控制协议
  • UDP: User Datagram Protocol (用户数据报协议
    在这里插入图片描述

每个协议都是为了解决一个具体特定的问题:

  • CSMA/CD 协议:协调总线上各计算机的工作
  • ARP 协议:根据 IP 得到对应主机网卡的 MAC 地址
  • IP 协议:解决多个异构网络的互连问题
  • ICMP 协议:为了更有效地转发 IP 数据报和提高交付成功的机会
  • TCP 协议:提供可靠的端到端数据的传输服务
  • UDP 协议:提供不可靠但是高效的传输服务

在这里插入图片描述
在这里插入图片描述

  • 应用层的 RIP DNS TFTP SNMP DHCP 等对应传输层的 UDP 协议,
  • 应用层的 SMTP FTP BGP HTTP HTTPS 等对应传输层的 TCP 协议
  • 在网络层的 IP 数据报中,有一个 协议字段 值是用来表示当前报文使用的传输层协议 ,它是一个数字

UDP VS TCP

UDP 的首部:

在这里插入图片描述

  • (1) 源端口: 源端口号。在需要对方回信时选用。不需要时可用全 0
  • (2) 目的端口: 目的端口号。这在终点交付报文时必须要使用到。
  • (3) 长度: UDP 用户数据报的长度,其最小值是 8(仅有首部)。

TCP 的首部:

在这里插入图片描述

TCP 的首部包含源端口、目的端口、序号(seq)、确认号(ack) 等。

在这里插入图片描述

  • UDP 是无连接的,TCP是面向连接的。

在这里插入图片描述

  • UDP 支持单播、多播、广播,TCP 仅支持单播

在这里插入图片描述

  • UDP 是面向应用报文的,对报文既不合并,也不拆分;TCP 是面向字节流的,这也是 TCP 实现可靠传输、流量控制、拥塞控制的基础。

  • 发送方的 TCP 将应用层交付下来的数据看成是一连串的、无结构的字节流TCP 将字节先存储在自己的缓存中,根据发送策略,先发送一部分字节;接收方提取字节,并存储在自己的缓存中;接收方的应用进程必须有能力识别收到的字节流,把它还原成有意义的应用数据。

在这里插入图片描述

  • UDP 向上层提供无连接不可靠的传输服务(适用于 IP 电话、视频会议等实时应用),TCP 向上层提供面向连接可靠的传输服务(适用于要求可靠传输的应用,例如文件传输)

总结:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值