1. 学习开始
- 计算机网络分为六个章节内容进行学习。
- 计算机网路不会因为设备的不同而不同,大家都是遵循这一套规则来通信的,这套规则为TCP/IP协议。
- 主要学习:网络层(IPv4),传输层(TCP,UDP)和应用层(HTTP,HTTPs)的网络协议。
2. 计算机网络的分层
2.1 模型分类
- 七层OSI模型
- 四层TCP/IP体系模型
- 五层教学模型
2.2 五层教学模型作用:
- 物理层:解决使用何种信号来传输比特问题
- 数据链路层:在同一个网络(链路)下,解决分组传输问题
- 网络层:在多个网络下,解决分组传输问题
- 传输层:在多个网络下,解决进程之间基于网络通信问题(比如同一台主机的QQ和浏览器如何进行进程选择)
- 应用层:解决通过应用进程的交互来实现特定网络应用问题。
2.3 网络层具体要解决问题
- 物理层:
1)使用怎样的信号表示比特0和1 - 数据链路层
1)如何标志网络中的各主机(主机编址问题,例如MAC地址,即物理地址)
2)如何从信号所表示的一连串比特流中区分地址和数据
3)如何协调各主机争用总线问题 - 网络层(点对点)
1)标志各网络以及网络中的各主机(网络和主机共同编址问题,例如IP地址,即逻辑地址)
2)路由器如何转发分组,如何进行路由选择。
3)协议种类::IPv4协议 - 传输层(端对端,端口到端口)
1)如何解决进程之间基于网络的通信问题
2)出现传输错误时,如何处理
3)协议种类:TCP和UDP协议 - 应用层:
1)如何通过应用进程间的交互完成特定的网络应用。
2)协议种类:HTTP,SMTP和FTP
2.5 每一层的介绍
-
应用层:
1)应用软件都是在应用层实现的
2)应用层专注为用户提供应用功能,工作在用户态;传输层以下工作在核心态。 -
传输层:
1)TCP协议:传输层控制协议,大部分应用基于此。比UDP功能体现:流量控制,超时重传,拥塞控制,保证数据可靠传输。
2)UDP协议:只负责发送,不保证可靠;实时性好,但是传输效率高,但是可靠性不强;
3)TCP段:如果数据很多,需要将数据打包分块(避免一次传输错误,从头开始)
4)端口:一个设备不同应用可能在同时接受和传输数据,通过端口加以区分。 -
网络层:负责将数据从一个设备传送到另一个设备
1)IP协议:将传输层的报文作为数据部分,加上IP包头组装成IP报文。
2)IP地址两层含义:网络号+主机号
3. 为什么需要分层
一般会将系统分为三层:Repository层(数据库操作),Service(业务操作)和Controller(前后端数据交互操作)
- 各层之间相互独立
- 提高整体的灵活性
- 大问题化小
文章参考:
https://www.bilibili.com/video/BV1c4411d7jb?p=8