什么是网络

电子设备通过有线或无线的方式连接起来叫做网络

设备用什么连接

那么,我们靠什么来连接这些网络设备呢?

  • 计算机使用网卡, 网课接上网线和其他计算机传输数据

    每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)接入网络的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址

  • 交换机(Swicher) 配合线缆,即可实现设备间的互连互通。

交换机

WIFI

设备之间是怎样传输数据的?

无论通过哪种方式进行连接,我们的最终目的,是要将信息从一台设备发送到另一台设备,因此,发送方和接收方必须相互理解才行,这就需要它们在网络中说相同的语言。虽然我们并不需要担心这个问题,毕竟设备之间基本都知道该如何组织数据并进行处理和发送。究其根本,就是因为他们都遵循了同一套规则,我们称这套规则为「协议」。

设备和设备之间的语言叫协议

协议,就是「给双方制定的通讯规则」,这意味着双方想要默契配合,就必须遵循这些协议,也正因如此,若一方出现问题,我们可以快速准确的定位到问题所在位置。在计算机网络中,那些设计网络软件和硬件的工程师会严格遵循这套 「协议」,这样才能保证它们再网络中的畅通无阻!大家可能听说过诸如 「以太网」 之类的协议,你也可能听说过 「TCP(用于发送和接收数据)」协议,或「HTTP(用于访问网络)」协议,或「SMTP(用于邮件收发)」协议,后续章节会详细讲解…… 无论哪种协议,其最终目的,都是为了完成数据交互。

通常,我们都会将几种协议结合使用以完成一项任务。

协议

网络类型

网络节点

连接到网络中,并且能够通过通信通道发送、接收或转发信息的设备,我们都可以称其为一个「网络节点」。比如交换机、路由器、电脑、打印机、手机等,都属于网络中的一个节点。

SOHO网络

只有几个节点的小型网络,我们可以称之为「soho网络」,小型办公室或家庭办公室中构建的网络都属于「soho网络」。通常是只有几台电脑,打印机,几部手机和平板电脑的小范围内的网络环境。

soho

值得一提的是,人们经常把「交换机」说成是「中央集线器",也确实,」交换机「长得的确像」集线器「,但是这里大家请记住,交换机和集线器是完全不同的东西!集线器真的是很老的技术了,我们现在基本上见不到。而交换机是现在非常常用的网络设备,一定要分清楚哦。

在soho网络中,我们通常使用路由器来完成网络连接,因为现代的路由器大多集成了路由器、交换机的功能,但通常因为路由器的接口很少,因此我们只能接入少量节点设备实现网络共享。

路由器

局域网

但其实在一个公司企业里面,很明显光有一台路由器,一台交换机是远远不够的!例如,一个地方银行企业,他们的网络设备可能遍布几个楼层、甚至跨越多栋楼房,此时,将此规模的网络设备连接在一起的网络,我们称之为 「局域网(LAN)」。

LAN

其实」soho网络「也属于局域网,只不过」soho网络「连接了少数设备。而在企业网络中,我们将需要使用多台交换机与路由器的链接,我们可以理解为,就是将多个」soho网络「连接在一起的较大的网络结构。

广域网

局域网技术「可以让一个较大区域内的网络节点实现互连互通与信息共享,但如果这个区域再扩大,跨越了城市,跨越了地区该怎么办呢?就比如一个跨地区的银行企业,通常不会只在一个地区有办公楼,可能在全国各个地区都会有自己的办公楼,此时银行网络变得非常巨大,即使距离遥远,银行企业也想实现让所有的这些网络都连接在一起,此时,我们需要使用到新的网络构建技术 「广域网(WAN)」。

WAN

  • soho网络:通常适合家庭或小型办公室
  • 局域网LAN:适合多个楼层的网络架构
  • 城域网MAN:适合10~100km范围内的网络架构
  • 广域网WAN:适合100km以上,通常是跨越国家与地区的大型网络架构

一台设备怎样知道另外一台的mac地址

通过ARP(Address Resolution Protocal),即地址解析协议。用于将IP地址解析为以太网的MAC地址的协议。

ARP的通信过程:

ARP

A查本地ARP表发现B的IP和MAC映射关系不存在

A通过ARP广播的形式向局域网发出消息,询问某IP对应的MAC地址是多少。比如A此时知道B的IP,但并不知道B的MAC地址是多少,就会尝试在局域网内发起ARP广播,询问局域网下所有机器,哪个机器的IP与B的IP一致。

B收到这个ARP消息,发现A要问的IP与自己的IP一致,就会把自己的MAC地址作为应答返回给A。

此时A就知道了B的MAC地址,顺便把消息记录到本地ARP表里,下次直接用表里的关系就行。

什么是IP地址

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,ip地址分为网络号和主机号两部分

ipv4和ipv6:简单来说,就是ipv4已经不够用了,出现了ipv6这种东西,IPv6具有比IPv4大得多的地址空间。这是因为IPv6使用了128位的地址,而IPv4只用32位。

什么是子网掩码

子网掩码,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址192.166.0.105,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

有了子网掩码,我们就可以判断两台设备是否是处于同一子网络了

子网掩码

OSI七层模型和TCP/IP

OSI

TCPIP

网络协议按照功能不同分为osi七层或tcp/ip五层协议

其中osi是概念协议,我们平常使用的最多的还是tcp/ip协议

越网上越靠近用户,我们越容易感知到。越往下越靠近硬件

数据的传输

数据传输

数据封装

数据封装

1.应用层

应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式

应用层功能:规定应用程序的数据格式。

2.传输层

网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,那么传输层就是帮助我们找到开启的应用程序,也就是端口号

传输层就是建立端口到端口的通信(0-65535,其中0-1023为系统占用端口)

tcp协议(常用):

可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

TCP

udp协议:

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

3.网络层

首先来看一下ip报头,大概了解一下源ip地址和目的ip地址就可以了,我们在下面数据解封的时候会讲

IP

4.数据链路层

依旧是来看一下mac报头是啥样的,了解源mac地址和目的mac地址,知道该层添加了该报头即可,后面细讲

数据链路

  • 一组电信号构成一个数据包,叫做‘帧’
  • 每一数据帧分成:报头head和数据data两部分

head包含:(固定18个字节)

  • 发送者/源地址,6个字节
  • 接收者/目标地址,6个字节
  • 数据类型,6个字节

data包含:(最短46字节,最长1500字节)

数据包的具体内容: head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

5.物理层

到了物理层,数据会被转为01比特流,然后通过网线传输

数据拆封

1. 物理层

物理层就是基于电器特性发送01串传输信息。假如我们有两台电脑,我们可以通过接网线的方式,使他们能够实现信息交互。如果电脑再多一点,我们可以使用集线器来连接(如果接网线的话浪费巨大)。

HUB

这个时候,计算机之间的通信基本靠吼。 也就是说,如果A想给B发消息,首先A会把消息通过网线输入集线器端口上,集线器再把信息输入到中继电路,然后中继电路会把收到的消息广播到集线器所有的端口上。简单来说,就是A发出的消息会无脑复制N份,发送给所有设备,所有设备收到消息后会把消息拆开看,通过比对数据报头里的mac地址,判断是否是发给自己的,如果是就查看,如果不是就丢掉

2. 数据链路层

我们上面说到,集线器是通过广播的形式分发数据包,如果设备少一点的话还是可以的,但是如果设备过多,一台设备发消息,全世界的人都能收到,岂不是大灾难。于是交换机(switch)登场了,他的基本构造和集线器几乎是相同的。此时,A还是想给B发消息,A就会把数据发送给交换机, 交换机通过目的地址的mac地址和自己内部维护的mac地址表比对,发现目标地址连接在了2号端口,于是数据就从2号端口成功输出,到达B

交换机工作

可是如果交换机发现自己的mac地址表里没有目的地址记录,则会通过集线器广播的方式,对所有的设备发送信息,B收到信息后发现mac地址是自己的,则会返回消息,此时交换机便知道了B在哪个端口,并维护mac地址表。这里再扯一个细节问题,就是电信号,是会受噪声干扰,导致信号形变出错的。 但就算是错了,也还是会原封不动的广播出去,也就是接收方收到的是错误信息。那么接收方收到消息后需要校验这就是报文末尾FCS的作用了

FCS里存放的是发送方通过循环冗余校验CRC计算得到的值,接收方用收到的数据算一次CRC,与FCS里的值进行对比。如果一致,那证明数据没问题。如果出错,则直接丢弃,数据包重新传输。

3.网络层

上面我们说到,交换机会记录一张mac地址表,但是全世界这么多设备,记住每一台设备mac地址或广播到每一台设备都是有点不现实的。

路由

于是路由器出现了,他的作用是连接世界各地的局域网

此时,A还是想发消息给B。

首先A发出的消息会通过交换机到达路由器(后面我们会深究过程),路由器会通过路由表(类似于交换机维护的mac地址表)找到目的地所在的端口,然后就像交换机一样把他转发出去

路由器内会发生这样的事:

  • 判断目的ip和源ip是否是同一个局域网
  • 如果通过路由表没找到目的ip,就会发给默认网关,也就是问问其他路由器知不知道

网络基础教程

网络是现代社会中不可或缺的一部分,它使得人们能够在世界各地互相交流和连接。本教程将介绍网络的基础知识,包括网络的定义、组成、分类以及常用协议。

网络的定义

网络是指通过通信线路连接起来的计算机系统之间的相互联系。它可以让人们在远距离之间进行数据和信息的传输,从而实现了全球信息的共享和交流。

网络的组成

网络由多个计算机和设备组成,这些计算机和设备通过物理线路(例如电缆或光纤)或无线信号(例如Wi-Fi)相互连接。每个计算机都可以发送和接收信息,这使得网络成为一个分布式系统。

网络还包括一些重要的设备,如路由器、交换机和防火墙。这些设备帮助控制和管理网络流量,并确保数据安全。

网络的分类

根据其范围和规模,网络可以被分为以下几类:

  • 局域网(LAN):局域网是一个小区域内的网络,如家庭或办公室。它通常由一些计算机和设备组成,这些设备被直接相连并共享资源。
  • 城域网(MAN):城域网是一种覆盖城市或大型区域的网络。它可以连接多个局域网,并提供更广泛的服务和资源。
  • 广域网(WAN):广域网是一个分布在不同位置和地区的计算机之间的网络。它使用公用的通信设施,如电话线、光纤或卫星,以实现远程访问和通信。

常用协议

网络通信需要使用协议来规定信息传输的格式和方式。以下是一些常用的网络协议:

  • TCP/IP:TCP/IP是互联网上最广泛使用的协议。它定义了数据如何在网络中传输,如何寻址和路由,并确保数据包的传递和完整性。
  • HTTP/HTTPS:HTTP/HTTPS是用于Web应用程序通信的协议。HTTP用于在Web服务器和客户端之间传输数据,而HTTPS则加密了这些数据以提高安全性。
  • FTP:FTP是文件传输协议,用于将文件从一个计算机传输到另一个计算机。它是一种常用的协议,可用于上传和下载文件。

网络是一个复杂的系统,但它也是我们日常生活中必不可少的一部分。通过理解网络的基础知识,我们可以更好地了解网络如何工作,并更有效地使用它。