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

常用的网络协议

首先我们输入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,然后在原路返回。

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

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

相关推荐
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
以太浮标5 小时前
华为eNSP模拟器综合实验之- VLAN终结实践案例分析
网络·计算机网络·华为·智能路由器
Trouvaille ~7 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
柱子jason7 小时前
使用IOT-Tree Server模拟Modbus设备对接西门子PLC S7-200
网络·物联网·自动化·modbus·西门子plc·iot-tree·协议转换
Arvin6279 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
Trouvaille ~9 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
酣大智9 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
小义_9 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
REDcker10 小时前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
阿猿收手吧!10 小时前
【C++】异常处理:catch块执行后程序如何继续
服务器·网络·c++