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

常用的网络协议

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

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

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

相关推荐
忆挽篱笙歌1 小时前
通信连接,匿名管道
linux·服务器·网络
九英里路6 小时前
protobuf快速上手
网络·c++·中间件·json·谷歌·序列化·protobuf
女神下凡12 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
爱和冰阔落17 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall19 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
我不会插花弄玉1 天前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理1 天前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
xbzb1 天前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理1 天前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习