【计算机网络】Internet原理与技术3 — 端口及套接字、用户数据报协议UDP、传输控制协议TCP

  • 熟知端口

其数值一般为 0~1023。这些端口号是 TCP/IP 体系确定并公布的。

  • 一般端口

数值范围是 1024~ 65535。用来随时分配给请求通信的客户进程。

2、套接字(socket)


在这里插入图片描述

3、无连接服务和面向连接服务


在这里插入图片描述

二、用户数据报协议UDP

===============================================================================

在这里插入图片描述

UDP协议格式


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

【例】校验UDP报文


在这里插入图片描述

  • f0 1f af 67 52 a7:目的MAC地址

  • e4 d3 32 0e 41 66:源MAC地址

  • 08 00:类型

  • 45:IPv4数据报首部,IP首部20个字节

00

  • 00 30:IP数据报总长度48个字节(包括IP数据报首部20个字节)

这里开始是 UDP 协议格式

  • 11:传输层UDP协议

  • 27 a8 d4 d4:源IP地址

  • c0 a8 01 65:目的IP地址

  • 73 a6 11 72 00 1c:UDP首部(8字节)

  • 73 a6:源端口是29606

  • 11 72:目的端口是4466

  • 00 1c:UDP长度

  • 4a 73:校验和

  • 4b 55 00 01 24 00 00 08 00 00 00 08 00 00 01 1a 00 00 01 20:UDP数据(20字节)

计算校验和:

在这里插入图片描述

UDP小结


  • UDP 不保证可靠交付

  • UDP 比 TCP 的开销要小很多

  • 实时应用(如IP电话、实时视频会议等),以及广播或者多播,则必须使用 UDP 协议。

UDP实例:

在这里插入图片描述

三、传输控制协议TCP

==============================================================================

在这里插入图片描述

TCP报文格式


在这里插入图片描述

在这里插入图片描述

标志位的含义:

在这里插入图片描述

Wireshark 软件中查看 TCP 报文:

在这里插入图片描述

TCP 连接管理


建立连接 - 三次握手

在这里插入图片描述

在这里插入图片描述

释放连接 - 四次握手

在这里插入图片描述

TCP可靠传输


序号确认机制

若收到的报文段无差错,只是未按序号,那么应如何处理?

  1. 将不按序的报文段丢弃;

  2. 先将其暂存于接收缓冲区内,待所缺序号的报文段收齐后再一起上交应用层。

在这里插入图片描述

在这里插入图片描述

超时重传机制

超时重传时间RTO公式:RTO = RTT + 4 × RTTD

往返时延RTT公式:

  • RTTnew = RTTsample (第一次测量得到的RTT样本值)

  • RTTnew = α × RTTold + (l - α) × RTTsample(第二次以后的测量)

【例题】RTT 估算

如果 TCP 来回路程时间 RTT 的当前值是 32ms,随后应答在 40ms 时候到来,如果取 α=7/8,那么新的 RTT 估算值是多少。

答:根据上面的公式,RTTnew = α × RTTold + (l - α) × RTTsample,可以计算出 RTTnew = 40 * 7/8 + 32 * 1/8 = 33。

定时器

  1. 重传定时器

  2. 持续定时器、

  3. 保活定时器

  4. 时间等待计时器

TCP流量控制(大小可变滑动窗口)


采用大小可变滑动窗口的方式进行流量控制;

在这里插入图片描述

TCP拥塞控制


拥塞控制的基本功能是避免网络发生拥塞,或者缓解已经发生的拥塞

  • 为了进行有效的拥塞控制,需要通过拥塞窗口cwnd(congestion window)来进行衡量网络的拥塞程度

  • 发送窗口的取值依据拥塞窗口和接收窗口中的较小的值,即 Min[rwnd,cwnd]

  • rwnd 在流量控制中已阐述,在下文中将只关注 cwnd。

拥塞控制的四种方式:

  • 慢启动

  • 拥塞避免

  • 快速重传

  • 快速恢复

在这里插入图片描述

【例】TCP协议综合例题


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

解:

在这里插入图片描述(1)IP数据报中,哪几个是由主机H发送的?

答案:1、3、4 由主机发出,2、5、6 由服务器发出。

在这里插入图片描述

(2)根据默认端口,请问该南京邮电大学服务器开通的是什么应用服务?

答案:根据 协议 06 可知是 TCP,目的端口 00 50 (80端口)默认 HTTP 服务。

在这里插入图片描述

(3)前三个IP数据报的内容完成了TCP协议的什么功能?

答案:完成了 TCP 的三次握手。

在这里插入图片描述

(4)题表中的IP数据报,主机H和服务器分别发送了应用层数据字节数是多少?如果第 7 个报文段是对第 6 个报文段的确认,那确认号应该是多少?

答案:主机H 发送了 536 字节,服务器S 发送了 491 字节。

在这里插入图片描述

(5)TCP报文段的窗口值有什么变化?表示什么意思?

在这里插入图片描述

知识点总结

========================================================================

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

更多:Java进阶核心知识集

包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等

image

高效学习视频

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
g" alt=“img” style=“zoom: 33%;” />

更多:Java进阶核心知识集

包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等

[外链图片转存中…(img-9jLWAtQg-1713553812965)]

高效学习视频

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值