前言

本篇介绍网络的一些基本概念,认识IP地址,端口号,协议;了解常用的网络协议模型,知道数据如何封装与分用的;为以后学习计算机网络其它知识做铺垫,如有错误,请在评论区指正,让我们一起交流,共同进步!

文章目录

前言1. 局域网 与 广域网2. IP地址 与 端口号3. 协议3.1 介绍协议3.2 常见网络协议的分层

4. 了解数据的封装与分用4.1 了解什么是封装,分用4.2 数据传输 - 使用封装分用

总结

本文开始

1. 局域网 与 广域网

局域网:把一些设备通过交换机 / 路由器 连接起来; 广域网:把许多局域网相互连接,形成很大的网络规模;

2. IP地址 与 端口号

IP地址: 标识一台主机在互联网中的位置; IP地址:是一个32进制数;通常用点分十进制来描述;

什么是点分十进制? 使用3个点,把IP地址分成4份,每份一个字节范围 0-255; 例如:本机地址:127.0.0.1

端口号:区分一个主机上的程序;

3. 协议

3.1 介绍协议

协议:通过一些规则与约定,让通信双方理解才能进行正常通信; 比如发送方约定发送数据的格式,接收方能够理解这个格式,双方就可以进行正常通信了;

协议不能太复杂: 面对复杂的网络环境,为了适应复杂环境,协议也会很复杂,但协议也不能太复杂,可以把协议 拆分 成很多份协议并把它们 分类 ,分层(TCP/IP五层模型)使用; 【注】分类:相似的协议;分层:不同类再进行分层,约定了层与层之间的调用关系;

图示层级间协议:

层与层之间使用协议的规则: 上层协议调用只能下层协议,下层协议给上层提供支持; 【注】不能跨层调用协议;

协议分层的优点? ① 协议分层后,层次之间的耦合程度比较低; ② 方便对某一层协议进行替换;(层与层之间协议影响较低)

3.2 常见网络协议的分层

1.OSI 七层网络模型 OSI 七层协议比较复杂,不实用,所以一般都使用五层网络模型;

2.TCP / IP五层网络模型 a) 认识五层网络模型各层特点

① 应用层: 关注传输的数据是什么,在哪用与应用程序之间沟通; ② 传输层: 两个主机之间传输数据,只关注起点与终点,不关注中间路径; 比如:去旅行,从北京到西藏;不管中间你中间乘坐汽车,飞机,高铁等交通工具,最后到达目的地即可; ③ 网络层: 负责两个节点之间路径的规划; 比如:从北京到重庆;可以走很多路径(这里只是写了3条),可以任选合适的路径; 北京 -》天津 -》南京 -》重庆 北京 -》 重庆 北京 -》 河北 -》重庆 ④ 数据链路层:主要关注两个相邻节点之间的传输; 比如:要从北京到重庆;假设从北京到天津再到重庆; 先做高铁:北京 -》 天津;再做飞机 天津 -》重庆; 只关注相邻的两个节点之间的传输,传输方式可以不同(这里是先高铁再飞机); ⑤ 物理层: 传输数据的方式;例如网络通信的设施网线,光纤等;

图示:

4. 了解数据的封装与分用

4.1 了解什么是封装,分用

封装: 发送方发送数据,需要把数据从上到下,依次交给对应的层次的协议,进行封装; 分用:接收方收到数据,需要把数据从下到上,依次交给对应层次的协议,进行解析;

前提:数据封装成应用层数据包,本质就是字符串拼接,如下图; 数据报:报头部分 + 载荷(上一层封装好的数据报,作为下一层的载荷)

【注】简单说明上述 封装过程:

1.用户数据 -》应用层: 拿到用户数据,封装成应用层数据包; 2.应用层 -》传输层: 例如:使用UDP协议封装,给应用层数据报再加上UDP报头,其中包含一些重要属性例如 源端口(发送方程序的端口号)和 目的端口(接收方程序的端口号); 3.传输层 -》 网络层: 再给上述UDP数据报 加上 IP协议的报头,包含 源IP 和 目的IP等属性; 4.网络层 -》 数据链路层: 给IP数据报 加上 以太网帧头和帧尾; 以太网帧头包含主要属性:源mac 和 目的mac地址; mac : 用来描述数据链路层中,两个相邻节点的传输;-》是动态的可以变化的;(每次走两个相邻节点,源mac与目的mac都会改变地址,直到最后到达目的IP) 5.数据链路层: 通过网络设备,把二进制0101等转换为电信号 / 光信号传输;

发送时候封装:从上到下,新增报头; 接收时候解析:从下到上,去掉报头;- 分用

分用与封装相反,就是把上述图从下到上,去掉报头; 分用过程:

1.信号 -》物理层: 物理设备完成:收到电信号、光信号等对信号解析,还原为二进制序列; 2.物理层 -》数据链路层: 把上述还原的二进制序列当成一个以太网数据帧;去掉帧头帧尾,把载荷交给网络层; 以太网数据帧头中有一个消息类型,从而找到网络层的ip协议; 3.数据链路层 -》网络层: IP协议解析数据报:去掉IP报头,取载荷交给传输层; ip数据报,报头中有标识传输层使用的那个协议,从而找到传输层; 4.网络层 -》传输层: UDP解析,去掉报头,载荷交给应用层; 使用端口号找到应用程序; 5.传输层 -》应用层 程序解析应用层数据报,显示在界面中;

4.2 数据传输 - 使用封装分用

实际的网络环境中,数据需要经过很多交换机,路由器通过它们的转发进行数据的传输;

每次数据 / 消息的传输都会涉及到封装分用,通过图来感受一下; 图示:

【注】交换机:分用到数据链路层后会重新封装到物理层,源mac 与 目的mac都会更新;- 封装分用到数据链路层; 路由器:解析到网络层后也会再次封装到物理层,此时经过数据链路层也会更新mac地址;同时根据目的ip进行下一步路径规划;- 封装分用到网络层;

总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个赞鼓励一下吧!! 感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

查看原文