冰冰学习笔记:初识网络

news/2024/11/23 4:21:22/

欢迎各位大佬光临本文章!!!

还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。

本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬、帅哥、美女点点支持,您的每一分关心都是我坚持的动力。

我的博客地址:bingbing~bang的博客_CSDN博客https://blog.csdn.net/bingbing_bang?type=blog

我的gitee:冰冰棒 (BingbingSuperEffort) - Gitee.comhttps://gitee.com/BingbingSuperEffort



前言

        什么是计算机网络呢?计算机网络专业术语的表达就是链接分散计算机设备以实现信息传递的系统。传递信息?那计算机网络不就是远距离的主机通信吗。是的,在同一个主机中进行通信我们可以使用管道或者共享内存。当两个主机想进行通信的时候,我们就需要网络进行通信。

1.网络的发展

        计算机一开始的发展并没有网络的概念,每个主机之间都是独立执行任务,但是随着时代的发展,人们发现有些任务单靠一个主机是无法进行完成的,每个人都在自己主机上进行任务的执行,但是这些数据无法实时的共享。此时如果想让不同的主机实现数据的共享,那我们就需要将主机之间连接起来进行数据共享。随着主机的数量不断扩大,我们这个小集合需要和其他的集合进行通信,那我们就需要将这些主机统统连起来,那我们就需要交换机和路由器将一些小的集群连接在一起,这就是局域网(LAN)。随着局域网的不断扩大,我们需要将千里之外的主机进行互相连接,这些局域网之间慢慢的都联通了,就形成广域网(WAN)。但是我们要注意,局域网和广域网只是相对的概念,广域网也可以看成大的局域网。

2.初识协议

        什么是“协议”呢?简单来说,协议就是一种约定。例如在我们华夏大地,有多个民族共存,每个民族都有自己的方言,各民族之间如果要进行沟通难度非常大,那么我们如何让这些讲不同语言的民族进行沟通呢?这我们就需要制定一个共同的“约定”,让每个人都遵守,使用这个约定进行沟通,也就是大家都说的普通话。

        对于计算机来说,计算机之间的传输媒介是光信号和电信号,通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。大家都使用共同的协议进行数据的传递,就不会在关注不同操作系统,不同路由器厂商,不同的硬件设备带来的差异了。这个协议就是网络协议

3.网络协议

        那么网络协议是什么样的呢?我们都知道,网络解决的就是远距离主机进行通信的问题。随着距离的增加,通信之间也变得复杂。为了保证通信能够正常进行,网络协议通常都是分层的,网络的分层,可以让我们的功能进行解耦,便于维护

        在我们进行打电话进行交流时,两个人通过电话可以实时的进行沟通。但实际上我们是通过手机对数据的层层传递才将声音数据传递到对面的手机上,对面的手机再通过层层的解析最后转换成我说的内容给对面听。

        实际上的网络通信层数更加复杂,但是每一层之间又相互解耦,无论哪一层发生变化,都不影响其他层。 而网络协议分成了7层。

3.1OSI七层模型

        OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范。该模型把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。但是这个7层模型仅仅是理想状态下的分层状态,实际上在真正实施的时候,有些层次没法明确区分,因此最常用的还是TCP/IP五层协议。

3.2TCP/IP五层模型

        在TCP/IP五层模型中,将应用层、表示层、会话层合在了一起。TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

(1)物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆 (现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

(2)数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。

(3)网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。

(4)传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。

(5)应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

        物理层我们考虑的比较少。因此很多时候也可以称为TCP/IP四层模型。

        一般而言,对于一台主机,它的操作系统内核实现了从传输层到网络层的内容;对于一台路由器, 它实现了从网络层到物理层;对于一台交换机,它实现了从数据链路层到物理层;对于集线器,,它只实现了物理层。

4.网络传输的基本流程

4.1局域网通信原理

        局域网是构成广域网的一部分,两台主机在同一局域网中是可以直接进行通信的。

        每一台主机都有网卡,每一张网卡都有自己的地址,叫做MAC地址,就像我们的身份证一样,标识网卡的唯一性。而MAC地址虽然全球唯一,但是不应用于全球,只是在局域网中标识自己的唯一性。

        我们可以通过ifconfig命令查看主机的MAC地址和IP地址(这里的ip地址指的是ipv4,云服务器中的MAC地址是虚拟地址)。

        在同一个局域网中,通常会包含多个主机,当一个主机想要和另一个主机进行通信的时候,主机1想和主机3进行通信,此时主机1会将信息发送到局域网中,而在同一局域网下的其他主机都会收到这条信息。但是其他主机会发现目标地址(MAC地址)不是自己,因此就会丢弃掉这些报文,最终只有主机3会收到信息。

        通常主机之间的局域网通信技术为以太网,其通信方式:发出的消息所有人都能收到,但当MAC1想把消息发给MAC3,MAC2想把消息发给MAC4,但是它们不能同时发消息(数据覆盖)。以太网发送消息的原则是只允许一个主机在任何一个时刻在局域网中发消息。否则就会发生碰撞,如果发生了碰撞就把消息作废然后重发。

        如何去看待局域网中的网络资源:站在系统的角度看待网络资源就是临界资源。

        而令牌环的传输方式是谁有令牌谁发送,这就类似与锁。

4.2网络传输过程

        当两个主机想要进行通信时,在同一网段的两个主机之间不需要路由器就可以直接通信,主机A 将信息打包逐层向下交付,直到链路层将数据通过以太网交付给另一个主机,另一个主机在层层解包向上交付。

        但是在这个过程中,AB两台主机每一层的协议都会以为自己在和对面同一层进行交互,两边的分装和解包都是一样的协议。 

        如果要跨网络进行传输,就需要路由器来实现两个 不同网段之间的连接,这也就决定了,路由器至少要具备不同网络之间的转换协议。

4.3数据包封装与分用

        前面提到的报文实际上是报头和有效载荷的统称,那报头又是什么呢?报头实际上就是每一层的协议规则,对应每一层依据这个规则解析数据包和封装数据包。

        不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装。

        在这个过程中,每一层都在和对面的同层进行通信,规则都一样,因此可以通过报头来进行数据包的封装和分用。

5.IP和MAC地址

        IP协议有两个版本, IPv4和IPv6,提到IP协议, 如果没有特殊说明的, 默认都是指IPv4。IPv4采用4个字节表示,IPv6采用16个字节表示。

        MAC地址通常在局域网使用,IP地址通常在广域网使用。

        MAC地址用来识别数据链路层中相连的节点;长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)。

        那么两个有什么区别呢?

        IP地址代表一个数据的起始地址和目标地址,即谁发出的,最终发给谁,表示起点和终点。在从起点走到终点的过程中总需要一些中转站,而MAC地址就是中转站的地址。例如我从山东到重庆,这是我的起点和终点。但在行走的过程中,我需要途径河南,安徽,湖北,湖南,最终到重庆。河南,安徽就是MAC地址。
 


http://www.ppmy.cn/news/766457.html

相关文章

ps4怎么用html,ps4新手入门怎么用 ps4新手入门教程简介-游侠网

ps4新手入门怎么用?ps4是性能强大的游戏主机,玩家可以在ps4上玩到很多制作精良的游戏。新手刚买到PS4的时候可能会有很多疑问,下面就来介绍一些基础使用方法。 连接方法 按下机器上的开关开启机器后,按照提示注册/登陆账号后就可以…

PS4游戏机相比以前有什么创新吗?

除了电脑端游戏和手机游戏之外,主机游戏也是受到很多人的喜爱而当中索尼PS4游戏机则是当前的主流选择之一,而索尼PS4也在现有的基础上不断创新,让用户可以有更好的体验,那索尼PS4游戏机相比以前有哪些创新呢? 1、全新…

支持ps4html5,PS5支持PS4游戏吗 PS5可以玩PS4买过的游戏吗

10月8日夜间,索尼PlayStation在其官方博客中正式宣布了下一代主机就叫PlayStation 5,并确定会在2020年底圣诞季发售。消息一出,马上引起了全球粉丝的欢呼。 与此同时,也有部分玩家开始担心PS5游戏兼容性问题。不知道PS4支不支持PS…

Spring FrameWork从入门到NB - BeanPostProcessor

Spring框架之所以NB,BeanPostProcessor功不可没。BeanPostProcessor通过生命周期回调实现对Bean的增强比如,其实Spring的AOP功能主要就是通过BeanPostProcessor实现的,以及,Spring重要的自动装配功能,也是通过BeanPost…

YoloV8改进:原创独家首发 | 可变形自注意力Attention,暴力涨点 | 即插即用系列

💡💡💡本文属于原创独家改进:当你停留在可形变卷积上(DCNV1,DCNV2,DCNV3等),可形变Attention助力检测,创新性十足,不仅增强了 sparse attention 的表征能⼒,同时具有线性空间复杂度。

备忘录模式的学习与使用

1、备忘录模式的学习 当您需要在不破坏封装性的前提下保存和恢复对象的状态时,备忘录模式是一种有用的设计模式。备忘录模式允许您将对象的状态保存到备忘录对象中,并在需要时从备忘录中恢复状态。这种模式分离了状态的保存和恢复逻辑,使得对…

实现一个周选择器组件

1、需求: 默认每个月的第一个周一为该月的第一周开始,规则如图所示 2、使用到的工具: vue2vant2momentjs 3、父组件: data中定义涉及到的参数 minDate: new Date(this.$moment().subtract(12,month)) maxDate: new Date(),…

设计师都在找的在线SVG编辑工具!赶快收藏

为了方便设计师编辑和修改SVG图形,本文将介绍5款易于使用的在线SVG编辑工具,一起来看看吧! 1、即时设计 即时设计是一款强大的在线SVG编辑工具,它可以支持路径编辑、形状编辑、填充和边框编辑、文本编辑等多种编辑需求&#xff…