tcp/udp的并发,一次公开课的收获

简介: tcp/udp的并发,一次公开课的收获

零声学院公开课的一次知识整理:

1: 思考TCP的并发:

如何实现tcp的并发?

1:I/O多路复用是不错的选择。

2:如果是高并发的web服务器,应该怎么考虑?

1:保证连接数量可以达到一定的量。 (重点是文件fd的限制,和网络代码逻辑的设计)

2:保证在连接数的基础上,业务后台处理(数据库,业务,https等)能达到一定的量。

3:可以使用reactor模式进行实现

4:协程处理。

3:可以试试reactor模式的websocket的实现。 (思考reactor模式的设计==》回调函数触发)

4:需要理解Posix api相关的接口及参数。

5:需要了解网络上开源库并发实现(redis, mysql, nginx, haproxy)

2:思考UDP的并发:

1:udp的使用场景:

游戏开发,音视频,高速下载

2:如何实现udp的高并发?

可以模拟tcp的三次握手,当收到一个client的连接,可以新建一个fd进行通信。

在udp协议的基础上,实现应用层协议对udp报文进行控制。

3:网络中相关概念

端口: 实际上操作系统中并没有相对应的硬件,叫做端口。

在网络通信中,端口的概念只是tcp/udp报文头中的一个字段,用来过滤网卡对报文的接收。

socket: 翻译是 插座

这里的socket 是指计算机中fd ==>五元组(源ip,源端口,目的ip,目的端口,协议)

相关的接口调用fd进行发送,实际上是根据对应关系找到五元组进行发送的。

4:作为一个开发人员,如何提升及巩固网络开发能力?

尤其是c/c++,对底层要求和个人积累沉淀很重要。

要向有效提升,需要有意识地对底层需要地技术栈进行积累和沉淀。

在一定地基础和沉淀前提下,可以试着把自己的知识整理成相关的库试试:

例如:

ntyco 协程的开源库

协程用在哪里,原语,切换,调度,性能测试,多核

ntytcp 用户态协议栈

11个状态迁移,sendbuff,recvbuff,epoll

5:衍生需要了解的其他技能:

1:虚拟内存, 如何处理内存泄漏相关问题。

2:rpc的实现及理解

3:云服务器,微服务相关知识

4:分布式,集群相关

5: 项目构思,软技能的积累

目录
相关文章
|
13天前
|
监控 网络协议 网络性能优化
不再困惑!一文搞懂TCP与UDP的所有区别
本文介绍网络基础中TCP与UDP的区别及其应用场景。TCP是面向连接、可靠传输的协议,适用于HTTP、FTP等需要保证数据完整性的场景;UDP是无连接、不可靠但速度快的协议,适合DNS、RIP等对实时性要求高的应用。文章通过对比两者在连接方式、可靠性、速度、流量控制和数据包大小等方面的差异,帮助读者理解其各自特点与适用场景。
|
23天前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
|
2月前
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
79 4
|
2月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
63 3
|
2月前
|
网络协议 算法 网络性能优化
|
2月前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
50 4
|
2月前
|
缓存 负载均衡 网络协议
面试:TCP、UDP如何解决丢包问题
TCP、UDP如何解决丢包问题。TCP:基于数据块传输/数据分片、对失序数据包重新排序以及去重、流量控制(滑动窗口)、拥塞控制、自主重传ARQ;UDP:程序执行后马上开始监听、控制报文大小、每个分割块的长度小于MTU
|
3月前
|
网络协议 前端开发 物联网
TCP和UDP区别?
本文首发于微信公众号“前端徐徐”,详细介绍了TCP和UDP两种传输层协议的核心概念、连接性和握手过程、数据传输和可靠性、延迟和效率、应用场景及头部开销。TCP面向连接、可靠、有序,适用于网页浏览、文件传输等;UDP无连接、低延迟、高效,适用于实时音视频传输、在线游戏等。
77 1
TCP和UDP区别?
|
3月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
81 10
|
3月前
|
网络协议 网络性能优化 C#
C# 一分钟浅谈:UDP 与 TCP 协议区别
【10月更文挑战第8天】在网络编程中,传输层协议的选择对应用程序的性能和可靠性至关重要。本文介绍了 TCP 和 UDP 两种常用协议的基础概念、区别及应用场景,并通过 C# 代码示例详细说明了如何处理常见的问题和易错点。TCP 适用于需要可靠传输和顺序保证的场景,而 UDP 适用于对延迟敏感且可以容忍一定数据丢失的实时应用。
60 1