TCP / UDP

目录

一、前言

二、TCP与UDP区别

2.1 头部格式

2.1.1 TCP头部格式

2.1.2 UDP头部格式

2.2 连接管理

2.2.1 TCP

        TCP三次握手

        TCP四次挥手

2.2.2 UDP

2.3 可靠性

2.3.1 TCP可靠性

2.3.2 UDP可靠性

2.4 服务对象

三、Wireshark抓包

3.1 TCP抓包

3.1.1 TCP三次握手抓包

3.1.2 TCP四次挥手

3.2 UDP抓包

四、总结


一、前言

        两台主机间通信,通常是指两台主机间的进程进行通信。在TCP/IP模型中,运输层的目的就是为应用进程之间提供端到端的逻辑通信,运输层通过端口号区分不同的应用进程,并提供一些运输层协议。其中,运输层最常见的两种协议便是TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。

        TCP 和UDP是传输层的两个重要协议,我们平常浏览网页,手机聊天,观看视频都是通过这两种协议进行传输的。本文将从头部格式、连接管理、 可靠性等角度分析两者区别。

二、TCP与UDP区别

2.1 头部格式

2.1.1 TCP头部格式

源端口号(16位) 目标端口号(16位)
序列号(32位)
确认应答号(32位)

首部长度

(4位)

   保留

(6位)

U

R

G

A

C

K

P

S

H

R

S

T

S

Y

N

F

I

N

窗口大小(16位)
校验和(16位) 紧急指针(16位)
选项(长度可变)
数据

        由上图可以看出,TCP头部字段最少为20字节,其中核心字段如下所示。

        序列号:在建立连接时由计算机生成的随机数作为其初始值,通过 SYN 包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。用来解决网络包乱序问题。
        确认应答号:指下一次「期望」收到的数据的序列号,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收。用来解决丢包的问题。
        控制位
               • ACK:该位为 1 时,「确认应答」的字段变为有效。
               • RST:该位为 1 时,表示 TCP 连接中出现异常必须强制断开连接。
               • SYN:该位为 1 时,表示希望建立连接,并在其「序列号」的字段进行序列号初始值的设定。
               • FIN:该位为 1 时,表示今后不会再有数据发送,希望断开连接。当通信结束希望断开连接时,通信双方的主机之间就可以相互交换 FIN 位为 1 的 TCP 段。

2.1.2 UDP头部格式

        由于UDP 不提供复杂的控制机制,UDP 协议也非常简单

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值