当前位置: 首页 > news >正文

计算机网络压缩版

计算机网络到现在零零散散也算过了三遍,一些协议大概了解,但总是模模糊糊的印象,现在把自己的整体认识总结一下,(本来想去起名叫《看这一篇就够了》,但是发现网上好的文章太多了,还是看这篇吧),作为非通信或对网络有特殊要求的专业,理解到这应该也基本足够了。

整体结构

目前主流的分类模型是五层体系结构,分别为
1,应用层,负责主机内报文对应应用的分发,如邮件SMTP,文件共享服务FTP和浏览器的超文本传输协议HTTP;
2,网络层,负责网络内路由器到主机应用的报文寻址,通过端口实现,可靠交付TCP和无连接的UDP;
3,传输层,负责网络内报文在路由间的寻址跳转,实现协议有IP、RIP、OSPF等;
4,数据链路层,正式传输前的最后一次封装,用于对接网卡等设备,与IP地址的映射转换通过ARP实现;
5,物理层,光纤或网线中实实在在的光电信号传输。

整个网络运行图如下:
计算机网络整体结构
但从这个角度看会有割裂,报文传到互联网后数据链路层又对其进行封装,难道报文在网络上的传输是通过MAC地址实现的吗?
是,也不是,再结合设备层面的层级图就更加清晰了:
设备五层结构图
A到B的报文其实要经过多个路由器转发,而这些设备间的直接寻址是通过数据链路层实现,即网卡对网卡的通信,中间需要很多路由设备帮我们不断进行寻址和转发,最终才能实现通信,只是这一步对用户大多是透明的。

详细说明

从上一张整体结构图从上往下解释:

ARP-地址解析协议:实现IP地址和MAC地址的转换,通过在网络中广播报文,发送ARP请求,相当于大喊一声,我要找的IP在哪里,对应IP位置的主机就把自己的MAC地址发给他,以后发报就用该地址即可,详细介绍可见文章,以及MAC地址相关文章。

IP协议:我们常说的192.168.1.1就是一个IP地址,该地址帮我们标记网络中的主机,从而解决网络寻址的问题。具体分为网络号和主机号,IP地址后跟着\24就是划分网络的掩码长度,代表前24位为网络号,这24位指的是二进制下的IP地址,255.255.255.255共32位,更详细的说法可见该文章。

NAT地址转换:IP地址二进制共32位,一共只有2的32次方个地址,大概43亿,平均一个人还分不上一个,现在全世界的手机、电脑、平板、甚至智能家电等远远不止43亿个,为什么还能继续通信呢?这就是用到了地址转换。
RFC1918将10.0.0.0-10.255.255.255172.16.0.0-172.31.255.255192.168.0.0-192.168.255.255这三个范围的地址设置位私有地址,仅能在内部使用不对外分配,逻辑上构成一个局域网,我们在cmd中使用ipcofig查到的IP也就是这些范围内的私有地址,局域网内的用户可以直接通信,NAT通过端口号映射私有地址实现公私网地址的转换,但该过程只能由私有地址发起,目标为公网地址,所以局域网外的私有地址用户无法通信,需要借助公网IP跳转。详细内容可见该文章。

TCP/UDP:该方式通过IP、端口号确定主机上的特定应用进行通信,其中0-1023端口为知名服务端口,如FTP、HTTP等不可随便更改,1024-65535可由用户指定,详细内容可见该文章。
TCP传输控制协议是有连接的,发送后需要主机确认,否则需要重传,确保数据报一定到达且有序,但因为上述原因效率较低;
UDP用户数据报协议是无连接的,用最少的协议机制向目的端口发送信息,发送后什么也不管,可能丢包,一般用于视频和游戏等要求延迟的应用。

HTTP:应用级别的协议就只介绍这一个,超文本传输协议,属于TCP/IP协议族。它的主要作用是允许客户端(如浏览器)通过网络向服务器请求资源,服务器再将资源返回给客户端。浏览器通过URL发起访问请求,比如我们网址中的域名本质就是IP地址(该过程需要了解DNS域名解析服务,这里不作赘述。),后面跟的参数是访问资源在目标主机中的位置和参数等信息,服务器收到请求后进行响应,把对应资源发送给客户端,此外还有安全的超文本传输协议https,详细介绍可见该文章。

总结

本文章大致介绍了计算机网络的整体结构,以及部分实现方法的原理,前期学习作为简单了解暂时够了,以后有需求可以再顺着方向继续研究。

笔者认为计算机网络作为计算机四大原理之一基本算是最简单的了,这门学科让我不得不转换思路看待世界上的一些超前建设,因为计算机网络建立之初就已经算是做了充分准备,但网络世界发展到如今规模还是没预料到的,前瞻性的确很重要,但人又很难跳出时代的局限性,底子没打好想在基础上重构或者整个推翻重来都是很难的,IP v6推到现在也没完全普及,而IP v4早就说要用完了也没见谁现在连不上网,能上路就是好的,别管什么优雅了。

最后贴一个华为总结的各层报文大全,以后抓包可以对比着看,华为IP报文格式大全。

http://www.lryc.cn/news/508501.html

相关文章:

  • 一文了解 gis 相关服务=》及前端地图服务相关总结
  • Brocade G610 配置
  • DuetWebControl 开源项目常见问题解决方案
  • 亚信安全举办“判大势 悟思想 强实践”主题党日活动
  • Go怎么做性能优化工具篇之基准测试
  • vue3国际化,主题切换
  • Linux Shell 脚本编程基础
  • vuex如何进行状态管理?
  • 嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
  • 通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统
  • 评估大语言模型在药物基因组学问答任务中的表现:PGxQA
  • 在本地和远程转储域控制器哈希
  • 基于SSM+Vue的心理咨询问诊系统+LW示例参考
  • 基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发
  • Java爬虫获取1688 item_search_img接口详细解析
  • Java 连接 FTP 服务器全解析
  • 字节跳动C++面试题及参考答案(下)
  • Rabbit MQ知识总结
  • 未来将要被淘汰的编程语言
  • GO环境安装和配置
  • 面试题整理(四)
  • mathtype中如何在公式和序号之间加点
  • 【电源专题】电源芯片的PG(Power Good)管脚是什么?
  • C/C++圣诞树
  • 牛客--求小球落地5次后所经历的路程和第5次反弹的高度,称砝码
  • cad学习 day6
  • Chrome 浏览器插件获取网页 iframe 中的 window 对象
  • 免费线上签字小程序,开启便捷电子签名
  • IT运维的365天--021 服务器上的dns设置后不起作用
  • 深信服企业级数据备份与恢复系统(整机裸机恢复)