字节一面:“为什么网络要分层?每一层的职责、包含哪些协议?”
01 为什么网络要分层?
Repository(数据库操作) Service(业务操作) Controller(前后端数据交互)
「各层之间相互独立」:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)「。这个和我们对开发时系统进行分层是一个道理。」 「提高了整体灵活性」 :每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。「这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。」 「大问题化小」 :分层可以将复杂的网络间题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 「这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义。」
「计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决,计算机整个体系从上到下都是按照严格的层次结构设计的。」
02 OSI七层模型


OSI的专家缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力 OSI的协议实现起来过分复杂,而且运行效率很低 OSI制定标准的周期太长,因而使得按OSI标准生产的设备无法及时进入市场(20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来,但基于TCP/IP的互联网已经抢先在全球相当大的范围成功运行了) OSI的层次划分不太合理,有些功能在多个层次中重复出现。
03 TCP/IP 4层模型
应用层 传输层 网络层 网络接口层

04 TCP/IP 4层模型网络协议概览
HTTP 协议(超文本传输协议,网页浏览常用的协议) DHCP 协议(动态主机配置) DNS 系统原理(域名系统) FTP 协议(文件传输协议) Telnet协议(远程登陆协议) 电子邮件协议等(SMTP、POP3、IMAP) ......
TCP 协议 报文段结构 可靠数据传输 流量控制 拥塞控制 UDP 协议 报文段结构 RDT(可靠数据传输协议)
IP 协议(TCP/IP 协议的基础,分为 IPv4 和 IPv6) ARP 协议(地址解析协议,用于解析 IP 地址和 MAC 地址之间的映射) ICMP 协议(控制报文协议,用于发送控制消息) NAT 协议(网络地址转换协议) RIP 协议、OSPF 协议、BGP 协议(路由选择协议) ......
差错检测技术 多路访问协议(信道复用技术) CSMA/CD 协议 MAC 协议 以太网技术 ......
应用层(Application layer)
HTTP:超文本传输协议

SMTP:简单邮件传输(发送)协议
电子邮件的发送过程 如何判断邮箱是真正存在的?
通过 「SMTP」 协议,我将我写好的邮件交给163邮箱服务器(邮局)。 163邮箱服务器发现我发送的邮箱是qq邮箱,然后它使用 SMTP协议将我的邮件转发到 qq邮箱服务器。 qq邮箱服务器接收邮件之后就通知邮箱为“xiaoma@qq.com”的用户来收邮件,然后用户就通过 「POP3/IMAP」 协议将邮件取出。

https://verify-email.org/ http://tool.chacuo.net/mailverify https://www.emailcamel.com/
POP3/IMAP:邮件接收的协议
FTP:文件传输协议
FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接(其它客户服务器应用程序一般只有一条 TCP 连接):
控制连接:用于传送控制信息(命令和响应) 数据连接:用于数据传送; 这种将命令和数据分开传送的思想大大提高了 FTP 的效率。

DNS:域名系统

IP 地址是一个网卡再网络世界中的通讯地址,我们可以把它理解为我们现实世界中的家庭地址。

Telnet:远程登陆协议
SSH:安全的网络传输协议
传输层(Transport layer)
「传输控制协议TCP」(Transmisson Control Protocol)--提供「面向连接」的,「可靠的」数据传输服务。 「用户数据协议UDP」(User Datagram Protocol)--提供「无连接」的,尽最大努力的数据传输服务(「不保证数据传输的可靠性」)。
网络层(Network layer)
网络接口层
数据链路层(data link layer)通常简称为链路层( 两台主机之间的数据传输,总是在一段一段的链路上传送的)。「数据链路层的作用是将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。」 「物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异」

Reference
https://medium.com/@james_aka_yale/the-4-layer-internet-model-network-engineers-need-to-know-e78432614a4f https://www.guru99.com/tcp-ip-model.html https://www.freeccnastudyguide.com/study-guides/ccna/ch1/1-4-tcpip-model/ OSI 七层模型与 TCP/IP 四层模型— https://wsgzao.github.io/post/osi/
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️
评论