传输层协议介绍(TCP/UDP)

目录

TCP 和UDP协议

TCP协议

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

TCP断开连接的四次握手

 UDP协议

UDP报文的首部格式


TCP 和UDP协议

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

  • TCP (Transmission Control Protocol)
    • 传输控制协议
  • UDP(User Datagram Protocol)
    • 用户数据报协议

TCP协议

TCP是面向连接的,可靠的进程到进程通信的协议

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

TCP报文

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

TC报文段

源端口号:发送方进程的端口号,16位字段。
目标端口号:接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送个哪个应用程序的进程,16位字段。
序号:发送端为每个字节进行编号,便于接收端正确重组。
确认号:对发送端的确认信息。接收端响应消息时将会用它来告诉发送端这个序号之前的数据段都已经收到,如确认号是X,就时表示前X-1个数据段都已经收到。
首部长度:用它可以确认TCP首部数据结构的字节长度。一般情况下TCP首部是20字节,但首部长度最大可以扩展到60字节。
保留:这部分保留位作为今后的扩展功能用,现在还没有使用到。


控制位:
 URG-紧急位。紧急指针有效位。
ACK-确认为。只有当ACK=1时,确认序列号,字段才有效,ACK=0时,无效。
PSH-急迫位。标志位为1时,要求接收方尽快将数据段送达到应用层。
RST-重置位。当RST值为1时,通知重新建立TCP连接。
SYN-同步(连接)位。同步序号位,TCP需要建立连接时,值设为1。
FIN-断开位。当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1。


窗口值:说明本地可接收数据段的数目,这个值大小可以变化,当网络通畅时将这个窗口值变大可加快传输速度,当网络不稳定时可减小这个值保证网络数据的可靠传输。TCP协议中的流量控制机制就是依靠变化窗口值的大小实现的。
校验和:用来做差错控制。字段检验的范围包括首部和数据这两部分。数据段在发送时和到目的地时会进行校验和计算,若这两次的检验和一致,说明数据基本是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。
紧急指针:和URG配合使用,当UGR=时有效。
选项:在TCP首部可以有多达40字节的可选信息。eg:最大报文段长度MSS(Maximum         Segment Size)。MSS告诉对方TCP:“我的缓存所能接收的报文段的做大长度时MSS个字节。”
 

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

1.第一次握手,发送SYN报文
PC1使用一个随机的端口号(Seq=x)向PC2发送建立连接请求(SYN=1)

2.第二次握手,发送SYN+ACK报文
PC2收到了PC1的消息,向PC1回复一个确认信息(Seq=y,Ack=x+1),然后再向PC2发送一个建立连接的请求(SYN=1,ACK=1)

3.第三次握手,发送ACK报文
PC1收到了PC2的回复(包括请求和确认),也要向PC2再发送一个确认信息,Seq=x+1(第一次握手时是x,所以这次是x+1),Ack=y+1,ACK=1=
列如:pc1问pc2:你在吗,pc2回应一句在,然后问pc1你有什么事啊,pc1接收到pc2的回答,pc1就吧事情告诉给pc2,pc2就知道了

TCP断开连接的四次握手

 第一次挥手:PC1向PC2发送报文(FIN=1,ACK=1)
第二次挥手:PC2收到后回复确认ACK报文(AKC=1)
第三次挥手:PC2向PC1也发送FIN/ACK报文(FIN=1,ACK=1)
第四次挥手:PC1收到后,最后向PC2发送确认报文(ACK=1)

常用的TCP端口号及其功能

端口协议说明
21

TFP

FTP服务所开放的控制端口
23TELNET用于远程登录,可以远程控制管理目标计算机
80HTTP超文本传输协议
443HTTPS用SSL/TLS对数据进行加密和解密,Http进行传输
25SMTPSMTP服务器开放的端口,用于发送邮件
110POP3用于邮件的接收
53DNS域名解析

 UDP协议

无连接,不可靠的传输协议

花费的开销

UDP报文的首部格式

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

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

常用的UDP端口号及功能

端口协议说明
69TFTP简单文件传输协议
111RPC远程过程调用
123NTP网络时间协议
161SNMP简单网络管理协议
53DNS域名解析

TCP和UDP的区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值