【网络协议】聊聊网络分层

常用的网络协议

首先我们输入www.taobao.com,会先经过DNS 进行域名解析,转换为59.82.122.115的公网IP地址。然后就会发起请求,一般来说非加密的使用http,加密的使用https。上面是在应用层做的处理,那么接下来就是到传输层,传输层主要是无连接协议UDP以及连接协议TCP,TCP可以通过重传保证数据不丢失。到这一层主要就是两个端口,一个是客户端发起的端口,另一个是服务端一直监听的端口比如80等。传输层传输完毕后,会交给操作系统的网络层,有源IP地址和目标IP地址。

一般都要请求外部服务,需要通过网管,而DHCP 以及MAC地址、ARP协议等就在这里,路由协议,常用的有OSPF和BGP。

网络分层

一个比较好的比喻就是 两个楼梯之间没有天桥连接,想要从A到B ,就必须先从A下去然后爬上B,然后在原路返回。

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。

分层其实主要解决的问题还是问题的复杂度, 因为网络程序世界硬怼的不仅仅是软件层面 还有各种硬件设备,要想将复杂的数据格式按照不同的方式进行传输,就需要进行分层处理,主要还是硬怼程序复杂度。

相关推荐
!chen19 小时前
k8s-Pod中的网络通信
网络·docker·kubernetes
悲伤小伞1 天前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
学网络的APang1 天前
Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)
运维·网络
FreeBuf_1 天前
SesameOp 恶意软件滥用 OpenAI Assistants API 实现与 C2 服务器的隐蔽通信
运维·服务器·网络
tt5555555555551 天前
Transformer原理与过程详解
网络·深度学习·transformer
翻斗花园牛图图-1 天前
Linux网络——传输层协议UDP&&TCP
网络
yeapT1 天前
网络传输协议的介绍——SSE
网络·websocket·http
quant_19861 天前
【教程】使用加密货币行情接口 - 查询比特币实时价格
开发语言·后端·python·websocket·网络协议
QT 小鲜肉1 天前
【QT/C++】Qt网络编程进阶:UDP通信和HTTP请求的基本原理和实际应用(超详细)
c语言·网络·c++·笔记·qt·http·udp
闲人编程1 天前
用Python和Telegram API构建一个消息机器人
网络·python·机器人·api·毕设·telegram·codecapsule