您现在的位置是:首页 >技术交流 >【网络原理】初学网络必备知识网站首页技术交流

【网络原理】初学网络必备知识

一只爱打拳的程序猿 2024-09-18 00:01:02
简介【网络原理】初学网络必备知识

?作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。

?专栏收录于计算机网络原理


本期讲解什么是局域网与广域网,网络通信基础知识之IP地址、端口号、协议、五元组。

目录

1、浅述网络发展史

2、 局域网(LAN)

3、广域网(WAN)

4、网络通信基础

4.1 IP地址

4.2 端口号

4.3 初识协议

4.4 五元组


1、浅述网络发展史

独立模式:刚开始,电脑与电脑之间无任何介质连接,此时进行业务处理是非常繁杂的。

网络互联:随着网络的发展,计算机能够处理的事务越来越多,于是有多个计算机协作完成业务,便有了网络互联。为了区分网络的范围,从而引申出了 局域网 与 广域网。


2、 局域网(LAN)

局域网(LAN),是指覆盖范围相对较小的计算机网络,通常只覆盖一个建筑物或者一组建筑物。它们通常用于企业、学校、办公室等场所内部的数据传输和共享。局域网可以使内部计算机快速互相通信,而且 安全性较高

因此,常见的局域网连接有

1. 通过网线连接

网线指的是用于计算机网络中传输数据信号的电缆。

通常用于连接计算机、路由器、交换机、调制解调器和其他网络设备。 

2. 通过集线器连接 

集线器(Hub)是一种计算机网络设备,主要用于连接多个计算机或其他网络设备,以实现数据通信和共享。

它可以将多个设备的网络线路集中在一起,形成网络总线,从而扩展网络的覆盖范围和连接设备的数量。

3. 通过交换机(switch)连接 

交换机(Switch)是计算机网络中常见的设备之一,主要用于在局域网中传输数据包。

与集线器不同,交换机可以根据MAC地址识别出特定的设备,仅向目标设备传输数据,从而避免了不必要的数据传输和网络拥堵。

4. 通过路由器连接 

区分路由器和“猫” :

路由器:用于将网络数据包转发到不同的网络。它可以连接两个或多个网络,并管理它们之间的数据流量。


:是指Cable Modem,是一种数字调制解调器,用于将电缆系统的电信信号转换成计算机可以识别的数字信号。在家庭网络中,它经常与路由器一起使用,以使多台计算机可以共享同一个互联网连接。


3、广域网(WAN)

广域网(WAN),则是覆盖范围比较大的计算机网络,主要由不同地区或不同国家的计算机连接而成,通常通过互联网进行连接。广域网可以使计算机在不同地点进行数据传输和共享,但是因为覆盖面较广,所以其 安全性相对较低

上图,美、日、英三国进行连接交互就构成了一个比较大的广域网,由于三者之间的距离较远覆盖范围广,因此安全性比较低。 


4、网络通信基础

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。

那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用 IP地址 来标识。


4.1 IP地址

概念:IP地址主要是标识网络主机、网络设备的网络地址。通俗的来说,IP地址用于定位主机的网络地址。

类似于我们收快递的地址需要填写XX省、XX市等信息,这样快递才能邮过来。网络地址也是如此,只有告诉计算机别人主机的网络地址是什么才能传输信息。

格式:IP地址是一个32位的二进制,通常被分割为4个8位二进制(4个字节),通常以点分十进制的格式来描述如 11000000.10101000.00000010.00000000(4个8位二进制形式) 写为192.168.2.0 (点分十进制形式)。而 192.168.2.0 可认为是一个 IP 地址。

特殊IP地址

  1. 127.0.0.1:这是本地回环地址,也称为"localhost"。它指向本地计算机,通常用于测试网络配置和应用程序的运行情况。

  2. 0.0.0.0:这是未指定特定目标地址的通配符地址。它用于创建监听任意地址的服务,如web服务器等。

  3. 10.0.0.0/8、172.16.0.0/12和192.168.0.0/16:这些地址块是私有地址,用于内部局域网私有使用,不会在公共互联网中路由。

  4. 169.254.0.0/16:这是自动分配的私有地址空间。当设备无法从 DHCP 服务器获取 IP 地址时,会自动分配一个本地 APIPA(Automatic Private IP Addressing)地址。

  5. 255.255.255.255:这是广播地址,用于将数据包发送到当前网络上的所有设备。

IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进程来接收这个数据呢?这就需要 端口号 来标识 !


4.2 端口号

概念:在网络通信中,我们直到了 IP地址 是用于标识计算机网络地址的,而端口号可以标识主机中发送数据、接受数据的进程。通俗的来讲,端口号用于定位主机中的进程。

格式:端口号的范围为 0-65535 范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接受网络数据。

例如,Web服务器的默认端口号是80,当用户在浏览器中输入URL时,会自动使用该端口号与服务器建立连接。

常见的端口号有

  • 80: HTTP服务
  • 443: HTTPS服务
  • 21: FTP服务
  • 22: SSH服务
  • 25: SMTP服务
  • 3306: MySQL数据库服务

注意事项:一个进程可以绑定多个端口号,但两个进程不得绑定同一个端口号。

疑问:有了 IP地址 和 端口号 就能定位网络中的某个进程,但有一个问题网络通信是通过 0/1 这样的二进制数据来传输的,如何告诉对方我所传输的是什么格式呢?

假如,我传输的一条信息“你吃饭了吗?”或是一个图片。网络通信如何规定格式呢,需要用 协议 来规范双方之间的通信格式。


4.3 初识协议

概念:协议及网络协议的简称,通俗的来讲就是网络传输过程中按照相关的规则来进行传输,而这套规则就是协议,如不遵守协议则通信不了。协议有三个重点:语法、语义、时序。

语法:语法指的是消息格式的规定,包括消息的所有字段、它们的顺序和长度等。

例如,一个HTTP请求报文的语法规定了方法字段、请求URI字段、协议版本字段等。

语义:指的是消息中包含的信息的意义和含义,也就是消息所要表达的内容。

例如,在一个HTTP请求报文中,方法字段和请求URI字段组合起来表示了客户端请求的服务资源的位置和操作

时序:指的是消息的顺序和时间关系。

例如,在TCP协议中,通信双方需要遵守严格的时序规则来保证消息的可靠传输和顺序。必须按照数据包的序列号顺序进行传输,接收方必须按照先后顺序进行排队缓存并且按顺序组装消息。

为什么需要协议,还是那句话,假如我要进行网络通信给某个人发一句话“你吃饭了吗?”或一张图片。如果没有协议进行约束,将无法进行传输。 


4.4 五元组

五元组是计算机网络中用于描述网络连接的一种基本结构。

五元组

  1. 源IP地址(Source IP Address):指发送数据包的计算机的IP地址。

  2. 目标IP地址(Destination IP Address):指接收数据包的计算机的IP地址。

  3. 源端口号(Source Port Number):指发送方的端口号,用于区分不同的应用程序,使其可以并发地运行。

  4. 目的端口号(Destination Port Number):指接收方的端口号,用于标识接受数据包的应用程序。

  5. 传输协议(Protocol):指传输协议类型,例如TCP、UDP、ICMP等。

在程序猿眼中可认为: 

源IP:标识源主机

源端口号:标识源主机中该次通信发送数据的进程

目的IP:标识目的主机

目的端口号:标识目的主机中该次通信接受数据的进程

协议号:标识发送进程和接受进程双方约定的数据格式

假如我在淘宝上购买物品,卖家发货有以下场景

目的IP:我的地址

端口号:我的名字

源IP地址:卖家地址

源端口号:卖家姓名

协议号:物流(圆通、申通、顺风等等)


为了网络协议的更好的指定,我们往往将网络协议进行分层。如OSI七层模型、TCP/IP五层模型。下期我将详细介绍:协议分层相关知识。

本期博文到这里就结束了,感谢点赞、评论、收藏、关注~ 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。