目次
一、网络的认识
1.网络界说与发展
2.局域网
3.广域网
二、协议
三、网络分层模子
1.分层的概念明白
2.OSI七层模子
3.TCP/IP五层(四层)模子
四、网络传输基本流程
1.传输流程
2.协议参与数据包封装和分用
3.局域网通信原理
五、网络的地址管理
1.初步认识IP地址
2.初步认识MAC地址(以太网地址)
一、网络的认识
1.网络界说与发展
在好久之前,我们必要在异地举行语言沟通,都是以飞鸽传书,大概是写信的方式举行。到后来的座机电话,链接一根电话线,就能举行通信,随着时代的发展,到现在的网络,直接两部手机,可以在全球各地实时举行通信,也就是今天要学习的网络。那么什么是网络呢?网络是指将多个计算机大概设备通过通信线路、传输协媾和网络设备链接起来,形成的一个相互通信和共享资源的体系。那么我们继承明白网络的基本模式发展过程如下图:
早期的数据协作依赖于物理介质的拷贝传输,当跨设备协作需求出现时,人们通过软盘、光驱等载体将数据写入存储设备后携带至其他计算机读取,这种基于实体介质的数据交换方式虽然实现了基本的离线协同功能。
但由于介质容量有限、传输速率极慢且操纵繁琐,严峻制约了数据流通服从,成为数字化协作发展初期的重要技术瓶颈。 为了解决如许的问题,于是就有了一个新的思绪,能不能把所有的计算机通过某种物质链接在一起举行互相协作功能呢?可以提高服从,举行实时的数据的共享和交互。于是就有了下面这种结构:
如许所有的电脑都链接在了一起。随着时代的发展,大家都要举行通信,如果全部电脑都要举行链接,全球这么大,举行如许的方式来链接,毫无疑问,成本相称高。以是就提出了局域网和广域网的概念举行解决这一问题。我们的方法都是建立于问题之上的,有了新的问题就会有新的方法,有了新的方法就会有新的问题。
2.局域网
局域网 LAN 主要是指在相对较小的范围内的计算机互联网络。这个 “小范围” 可以是覆盖一个宿舍,一个办公楼、一所学校等。局域网的主要特点是:传输速率快、延迟低,并且用于连接同一组织内部的计算机和设备。例如,一家公司内部的多台电脑通过路由器或交换机连接在一起形成的网络就是局域网。
3.广域网
广域网 WAN 就是我们通常所说的 Internet,是指凌驾较大地理范围的计算机网络,它通常由多个局域网或城域网互相连接而成,是一个遍及全天下的网络,将远隔千里的计算机都连在一起。广域网可以覆盖多个城市、省份甚至国家之间的分支机构或办公地点,并且利用互联网等公共网络举行数据传输。广域网允许远程地点的计算机和用户之间实现高速、可靠的连接,以满足远程办公、数据共享和协作等需求。
二者有啥区别:
- 公网、外网,即广域网(WAN)
- 私网、内网,即局域网(LAN)
所谓 “局域网” 和 “广域网” 只是一个相对的概念。比如, 我们有 “天朝特色” 的广域网,也可以看做一个比力大的局域网。如果硬要区分的话可以看路由器,如果没有路由器就是局域网,必要路由器横跨就是广域网。固然这两种方式是一种抽象出来的表达方式,但不管怎么说,这两种都可以体现网络的概念,以实现了数据的交互功能。
二、协议
协议的本质:
我们用最朴素的方式去明白协议这个概念,协议就是双方约定好的一种通信方式,比如我们看电视剧的名局面,大哥叫小弟去站哨,如果有人来了,你学狗叫,如果大人物来了你学鸡叫。那么他们两个就告竣了一种协议来表示另外一层信息。这就是协议的体现。但是,计算机生产厂商有很多,计算机操纵体系也有很多,计算机网络硬件设备也有很多。他们可能各自有自己的协议。以是,为了让他们之间生产的计算机可以或许相互顺畅的通信,还必要计算机对应的硬件厂商以同样的规范来处理处罚 0/1 问题。必要约定一个共同的标准,让大家都遵守,这就是网络协议(TCP/IP)。协议的本质是一层软件层,是为了让双方通信的本质更高效。
计算机的内部有很多组件,比如 CPU、显卡、网卡… 而它们在计算机内部是用线连接起来的。以是,一台计算机的内部本质上也是一个小型的网络结构,计算机内部设备和设备之间也存在协议,比入驱动程序访问硬件就得通过协议。假设这些线充足长,将硬盘放到几百公里之外,那么现在我们再去存储数据就由原来的写入本地酿成通过网络写入远端了,再把 CPU 等都放到远处,就相称于我们把一台计算机的各个功能用多台计算机构建起来,通过网络来举行连接。
以是可以得出结论:在计算机中,体系结构中有网络,网络中有体系结构。
而我们今天要去学习的计算机协议,就必须要去明白计算机通信会产生哪些问题,以及我们要去解决什么问题,进而去引入到协议的概念中去:
- 如何处理处罚发送以及吸取的数据
- 长距离间传输的数据丢失问题
- 如何定位主机(怎么确定是谁发给谁的)
- 如何包管发送以及吸取能准确达到
上面提出了四个问题,这四个问题为了能更好的得到解决,那么肯定也有对应的方法,观察得知,这四个问题互不影响,进而得知,某一个问题的产生并不会影响另外一个问题。以是就得出了网络分层的概念!每一层都设置一些相应的协议来通过数据交互解决对应的问题,比如在协议中有各种各样的字段,表示这个数据就是发送给某人的,比如说把主机的ip地址写进去,表示就是给某个特定的ip地址写的,以是每台机器都有对应的ip地址,可以对应到远端主机上,那其他的问题也有对应的协议方法,例如有https,http,ftp等等协议,这些协议都可以来解决对应产生的问题和方法。以是在日常的网络通信当中,单纯转达一个字符串是不可以的,它通常必要伴随一些包裹的信息,比如这是谁发的,这是谁写的,什么时间发的,这些管理数据是肯定要有的,而这些多出来的部分就叫做协议,依据这些协议可以更好地举行通信,每次发送信息多出来的那一部分就是协议的内容。那在内核的实现是如何实现的呢?实在很简单,把对应的内容放到一个结构体当中,再把结构体转达出去就可以。
三、网络分层模子
1.分层的概念明白
我们通过操纵体系的学习知道,在操纵体系中是存在分层的概念的,比如说从硬件到驱动,再到操纵体系,再到体系调用,这些都是分层的概念。
那在网络的知识体系中,分层的概念也是肯定存在的,为什么也存在呢?
1.网络规模大
在网络举行通信的时间,整个模块的规模是一个非常巨大的规模,那为了解决如许的问题,于是提出了网络分层的概念,想办法把一个一个的模块之间举行解耦,如许就必须要首先辈行分层
2.协议问题
协议自己是要用来解决问题的,那如果要是设计为分层的结构,协议举行不断的向下或向上转达,如许就可以更好的解决问题,这也是解决问题的一种方式,那如许的方式用来解决问题是比力优秀的,如许就可以解决很多问题,比如说两台设备之间想要实现通信,那么就肯定意味着这两个设备的底层内部会有一系列的转换,最终实现了设备数据的交互,那如果借助了分层的结构,那么解决如许的问题就会方便很多。
通过上图打电话的举例:两个人用电话联系。站在人的角度,是人与人之间在沟通,而站在电话的角度,是电话与电话之间在沟通,这就叫做分层。 并且,不管你用中文,英文,日语交流都是一样可以举行通信的,上层的改变,并不会影响下一层的改变。
层状结构的利益:谈及到层状结构的利益,就必须要谈及到解耦的利益了,解耦带来的最大的利益就是互不影响,那分层的一个比力大的特点就是非常方便的举行维护,一层出现问题只会影响一层,而不会影响其他层,如果A和C的电话出现了问题,那么就只必要更换电话即可,而电话底层的内部信息没有出现问题,同理,如果把每一层的协议都看成一层,那么总共就拥有着上层中层下层如许的条理结构,因此可以很好的低落维护的成本。下一个问题是,网络是如何举行分层的?
2.OSI七层模子
OSI把网络从逻辑上分为了七层,每一层都有相关的物理设备。
- OSI(Open System Interconnection,开放体系互连)七层网络模子称为开放式体系互联参考模子,是一个逻辑上的界说和规范;
- 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
- OSI 七层模子是一种框架性的设计方法,其最主要的功能使就是资助不同范例的主机实现数据传输;
- 它的最大优点是将服务、接口和协议这三个概念明白地区分开来,概念清楚,理论也比力完整. 通过七个条理化的结构模子使不同的体系不同的网络之间实现可靠的通讯;
但是, 它既复杂又不实用; 以是我们按照TCP/IP四层模子来讲解
3.TCP/IP五层(四层)模子
在谈TCP模子之前,我们先思索一个问题,网络协议栈和操纵体系有关系吗?前面的分层中,举例举的都是操纵体系的分层的概念,那么落实到TCP中,该如何明白这个过程呢?
那下面给出的图,就展示了网络协议栈和操纵体系之间的关系:
上图所示的就是网络协议栈的基本图示,那下面要增补的一个小结论是,所有的操纵体系内部实现都是一样的,只要想通信,全部都是一样的。
该如何明白这句话?再操纵体系的内部,不同的操纵体系可能会有不同的实现方式,例如有内存管理,进程管理,文件管理,驱动管理,这些管理的方式是五花八门的,不同的操纵体系有不同的管理方式,但是不管怎么说,只要符合操纵体系的理论就可以,但是到了网络这一块却并不是如许,从网络的角度来看,网络协议栈必须是一样的,每一个操纵体系只要想要举行数据通信,那么它内部所搭载的网络协议栈结构必须要是一样的,否则就无法举行入网的操纵,具体的原因后续会继承举行增补,这里只必要知道,不管是安卓还是Windows还是其他的操纵体系,它们的网络协议栈必须是一样的。有了上图的结论,我们输出的下一条结论是,网络通信的本质,就是贯穿协议栈的过程。
该如何明白贯穿协议栈这件事呢?再看下面的图:
现在有两台设备,一台手机一台电脑,依据上面的原理,网络协议栈拥有雷同的结构,那么这也就意味着每一层的结构体对应的协议等信息都是要认识的,界说的字段等,不管哪一个操纵体系都是要认识这些字段的,这是提前规定好的,那在实际的网络通信的原理中,也确实云云,从用户层想要发送给另外一个设备的用户层,必须要全部把网络协议栈都穿透一次,贯穿硬件,必须从硬件上才气发送已往,以是说有如许的结论:网络通信的本质就是贯穿协议。
四、网络传输基本流程
1.传输流程
局域网中同一个网段内的两台主机是可以直接举行通信(文件传输)的。
两台计算机通过TCP/IP协议通讯的过程如下所示:
跨网段的主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。前面讲到的层状结构,每一层都会有协议,而每一个协议的最终体现就是报头。举个生活中的例子,网购时,商家必要将物品送到我们手上,但并不是他们亲自派送,而是交给快递公司,这就体现了分层的思想:
我们收件的时间不会单单只收到物品,另有快递盒和快递单。这个多出来的快递单就叫做报头。同样,现在我们必要发数据,发送的数据可能比我们想要的要多一点,那么这多出来的一部分就是报头。那这个快递单号又是给谁看的呢?是给快递员看的,这个快递单就是快递公司自己定的协议,这个快递票据在它们的物流体系中都可以或许被识别。以是,协议通常是通过协议报头来表达的,每一份数据在每一层都要有自己的报头。客户在应用层发送数据,为了数据的安全、完整和网络之间的路径选择等问题,必须自顶向下经过应用层、传输层、网络层、链路层,再通过局域网发送给对方。每层都有自己的协议定制方案,每层协议都要有自己的协议报头,从上到下交付数据时时,都会添加对应的报头。如何去明白呢?
一个设备至少要横跨两个网络,才气实现数据包跨网络转发,以是路由器必须要横跨两个网络,也就是必须有两张网卡。
2.协议参与数据包封装和分用
假设现在有两个人在用 QQ 举行聊天,站在他们的角度,他们会以为他们是在用户层直接举行聊天,而实际上却是数据向下交付(封装)在向上解包(分用)才实现的聊天。
- 数据包封装:在向下交付的时间每一层都会添加自己的报头,再把报文向下交付。
- 数据包分用:在向上解包时,因为同一层有雷同的协议,以是能识别报头,它会解开报头,把有用载荷在向上解包。如许就形成了对称的结构。
在本文之前的内容中讲到,对于协议的明白可以简单明白为多余的部分,那在此重新对于协议有一个明白:报文 = 报头 + 有用载荷,那如何明白报头,说到底,报头就是双方都约定好的一个结构体对象,那在应用层当中把用户真正的内容再带上报头组合起来,就组成了报文,之后这个报文就能继承转达,然后再继承带上报文,再继承转达…
当转达到另外一个端口举行剖析的时间,就对于这个报文举行剖析,找到其中有用的有用载荷,就能对于内容举行剖析,进而取出真正必要的内容,我们用下图来表示这么一系列的过程:
可以看到同层报头和有用载荷完全一样,左边如何发的,右边就是如何收到的,那么就可以以为是在同层协议中直接通信,也可以明白为向下交付。
而对于不同网段的两台计算机通讯过程略有不同,不同的地方就在路由器部分:
它的流程图是如许,在路由器部分转达给令牌环驱动程序的时间,加上的报头就是令牌环协议(重新封装),如许就跟左边不一样了,但是不影响上面的对称性。
可以得出 IP 层的作用就是屏蔽底层网络的差异。将自顶向下举行交付的过程称为封装,封装就是添加报头的过程。解包的本质就是去掉报头,睁开分析。
令牌环网的解决方式就是谁持有令牌环谁发送数据。没有令牌的主机就不能发送消息。就类似于体系中的锁。
3.局域网通信原理
上图展示的是一个最为基本的通信原理,有一个包中包含的内容是,M1到M10,数据信息紧随其后,那么只要是在同一个局域网内的网卡设备都有接受信息的能力,但是不同的是,当非M10的网卡接受到信息之后,会辨别到这个信息不是给我的,那么就会把这个包举行丢弃,直到当M10检测到这个包,说这个包是转达给我这个当前网卡的,那么就对这个包举行使用。
可以明白成:在教室,老师上课的时间问张三,为什么没有交作业,全班同学都听到了,但是不会回应,因为这句话是将给张三听的,张三听到名字(报头)后,立马回应老师,这就是通信的原理。
3.1数据碰撞
如果此时有好多设备同时举行数据传输,那么在举行传输的过程中就会造成数据碰撞的问题,光电信号会举行互干系扰最终导致波形图混乱等问题,以是依据这个原理,如果想要对于一个局域网举行毁坏,其中一个方法就是可以向局域网中发送大量的垃圾信息,如许就可以使得和正常信息举行碰撞,使得这个局域网出现破坏。那如许岂不是乱套了,对此,以太网自然会有自己的解决措施,因此以太网就有一个对应的蒙受范围,在这个范围内可以制止如许碰撞的产生,可以举行延迟发送等操纵。
五、网络的地址管理
1.初步认识IP地址
在Linux命令行显示器上输入ifconfig,就能看到,inet后面显示的就是IP地址,ether后面显示的就是MAC地址。
IP 地址(Internet Protocol Address)是用于在互联网上唯一标识和定位设备的一组数字。由 32 位二进制数或 4 个八位二进制数组成的十进制数表示。它分为两部分:网络地址和主机地址,网络地址用于标识所连接的网络,而主机地址则用于标识具体的设备。IP 地址用于在网络上举行数据包的传输和路由选择。
当你连接到互联网上时,你的设备会被分配一个 IP 地址,以便在网络中唯一标识和定位你的设备。IP 协议有两个版本,IPv4 和 IPv6。后面凡是提到 IP 协议,没有特殊阐明的,默认都是指 IPv4。以下是两个示例 IP 地址的表明:
- IPv4 地址:192.168.0.1 这是一个常见的 IPv4 地址格式。对于 IPv4 来说,IP 地址是一个 4 字节,32 位的整数。它由四个八位二进制数组成,通过 “点分十进制” 的字符串表示。在这个示例中,192.168.0.1 是一个 IP 地址,其中 192.168.0 表示网络地址部分,而 1 则表示主机地址部分。其中,用点分割的每一个数字表示一个字节,范围是:0~255。这个 IP 地址可能用于一个局域网中的路由器或计算机。
- IPv6 地址:2001:0db8:85a3:0000:0000:8a2e:0370:7334 IPv6 地址是下一代 IP 地址标准,是一个 16 字节,128 位的二进制数,并使用冒号分隔。在这个示例中,2001:0db8:85a3:0000:0000:8a2e:0370:7334 是一个 IPv6 地址,它包含了网络地址和主机地址信息。IPv6 地址的主要目的是扩展互联网的地址空间,以支持将来更多的设备连接。
上面这些是示例 IP 地址。实际上,每个设备在网络中都有一个唯一的 IP 地址,以便举行通信和数据传输。在使用 TCP/IP 协议的网络中,IP 及其向上的协议看到的报文都是一样的。
2.初步认识MAC地址(以太网地址)
MAC 帧地址(Media Access Control Address)也称为物理地址或硬件地址,用来识别数据链路层中相连的节点。它是一个用于在局域网中唯一标识网络适配器(如:网卡)的长度为 48 位(即 6 个字节)的二进制数。一般用 16 进制数字加上冒号的情势来表示(例如:08:00:27:03:fb:19)每个网络适配器都有一个唯一的 MAC 地址(虚拟机中的 mac 地址不是真实的 mac 地址,可能会冲突,也有些网卡支持用户设置 mac 地址),它由厂商在生产时烧录到适配器中,在网卡出厂时就确定了,不能修改。MAC 帧地址用于在局域网中寻找目的设备,它是数据链路层的一部分,用于将数据包从源设备传输到目的设备。在以太网中,MAC 地址是数据包在局域网中传输所必须的信息。 举例阐明 MAC 帧地址的结构和作用,假设有两台计算机 A 和 B 举行通信:
计算机 A 的网卡上设置了 MAC 地址为 00:11:22:33:44:55,计算机 B 的网卡上设置了 MAC 地址为 AA:BB:CC D:EE:FF。当计算机 A 盼望将数据包发送到计算一个以太网帧,并包含以下字段:
- 目的 MAC 地址:设置为计算机 B 的 MAC 地址(AA:BB:CC
D:EE:FF)。
- 源 MAC 地址:设置为计算机 A 的 MAC 地址(00:11:22:33:44:55)。
- 其他帧头字段(例如帧范例等)和数据。
计算机 A 将该帧发送到网络,经过交换机等设备转发,最终到达计算机 B 的网卡。计算机 B 吸取到该帧后,会检查目的 MAC 地址与自己的 MAC 地址是否匹配。如果匹配,则以为该帧是发给自己的,继承剖析帧中的其他字段和数据。
通过这个过程,MAC 帧地址起到了两个重要的作用:
- 唯一标识设备:每个网络设备(如网卡)都有一个唯一的 MAC 地址,用于在局域网中识别和寻址设备。这是因为以太网是一个共享介质的网络,通过 MAC 地址可以准确地将数据包传送到目的设备。
- 确保交付:通过将目的MAC地址设置为吸取方的 MAC 地址,数据包可以被有针对性地转发到正确的设备,确保数据包的正确交付。
既然这两个都能表示地址,那么为什么要搞两个地址呢?
举个例子资助明白:在西游记中,唐僧每经过一个国家的时间,会跟当地的人说:贫僧从东土大唐而来,去往西天拜佛取经。当地人就会问他从哪里来的,再告诉他接下来要去哪(这个过程就叫作路由的过程,路由的本质就是根据目的地来选择下一站去哪)。比如说,上一站是江西,下一站要去湖南。这里的东土大唐和西天就是源 IP 地址,自始至终都不会改变,而湖南(下一站地址)是源 MAC 地址,一直在变化。
- IP 地址提供的是方向。
- MAC 地址提供的是可行路径。
注意:这里的 MAC 两个地址肯定是挨着的,以是是同一个局域网。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |