作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。
专栏收录于:计算机网络原理
本期讲解什么是局域网与广域网,网络通信基础知识之IP地址、端口号、协议、五元组。
目录
1、浅述网络发展史
2、 局域网(LAN)
3、广域网(WAN)
4、网络通信基础
4.1 IP地址
4.2 端口号
4.3 初识协议
4.4 五元组
独立模式:刚开始,电脑与电脑之间无任何介质连接,此时进行业务处理是非常繁杂的。
网络互联:随着网络的发展,计算机能够处理的事务越来越多,于是有多个计算机协作完成业务,便有了网络互联。为了区分网络的范围,从而引申出了 局域网 与 广域网。
局域网(LAN),是指覆盖范围相对较小的计算机网络,通常只覆盖一个建筑物或者一组建筑物。它们通常用于企业、学校、办公室等场所内部的数据传输和共享。局域网可以使内部计算机快速互相通信,而且 安全性较高。
因此,常见的局域网连接有:
1. 通过网线连接
网线指的是用于计算机网络中传输数据信号的电缆。
通常用于连接计算机、路由器、交换机、调制解调器和其他网络设备。
2. 通过集线器连接
集线器(Hub)是一种计算机网络设备,主要用于连接多个计算机或其他网络设备,以实现数据通信和共享。
它可以将多个设备的网络线路集中在一起,形成网络总线,从而扩展网络的覆盖范围和连接设备的数量。
3. 通过交换机(switch)连接
交换机(Switch)是计算机网络中常见的设备之一,主要用于在局域网中传输数据包。
与集线器不同,交换机可以根据MAC地址识别出特定的设备,仅向目标设备传输数据,从而避免了不必要的数据传输和网络拥堵。
4. 通过路由器连接
区分路由器和“猫” :
路由器:用于将网络数据包转发到不同的网络。它可以连接两个或多个网络,并管理它们之间的数据流量。
猫:是指Cable Modem,是一种数字调制解调器,用于将电缆系统的电信信号转换成计算机可以识别的数字信号。在家庭网络中,它经常与路由器一起使用,以使多台计算机可以共享同一个互联网连接。
广域网(WAN),则是覆盖范围比较大的计算机网络,主要由不同地区或不同国家的计算机连接而成,通常通过互联网进行连接。广域网可以使计算机在不同地点进行数据传输和共享,但是因为覆盖面较广,所以其 安全性相对较低。
上图,美、日、英三国进行连接交互就构成了一个比较大的广域网,由于三者之间的距离较远覆盖范围广,因此安全性比较低。
网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。
那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用 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地址:
127.0.0.1:这是本地回环地址,也称为"localhost"。它指向本地计算机,通常用于测试网络配置和应用程序的运行情况。
0.0.0.0:这是未指定特定目标地址的通配符地址。它用于创建监听任意地址的服务,如web服务器等。
10.0.0.0/8、172.16.0.0/12和192.168.0.0/16:这些地址块是私有地址,用于内部局域网私有使用,不会在公共互联网中路由。
169.254.0.0/16:这是自动分配的私有地址空间。当设备无法从 DHCP 服务器获取 IP 地址时,会自动分配一个本地 APIPA(Automatic Private IP Addressing)地址。
255.255.255.255:这是广播地址,用于将数据包发送到当前网络上的所有设备。
IP地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进程来接收这个数据呢?这就需要 端口号 来标识 !
概念:在网络通信中,我们直到了 IP地址 是用于标识计算机网络地址的,而端口号可以标识主机中发送数据、接受数据的进程。通俗的来讲,端口号用于定位主机中的进程。
格式:端口号的范围为 0-65535 范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接受网络数据。
例如,Web服务器的默认端口号是80,当用户在浏览器中输入URL时,会自动使用该端口号与服务器建立连接。
常见的端口号有:
- 80: HTTP服务
- 443: HTTPS服务
- 21: FTP服务
- 22: SSH服务
- 25: SMTP服务
- 3306: MySQL数据库服务
注意事项:一个进程可以绑定多个端口号,但两个进程不得绑定同一个端口号。
疑问:有了 IP地址 和 端口号 就能定位网络中的某个进程,但有一个问题网络通信是通过 0/1 这样的二进制数据来传输的,如何告诉对方我所传输的是什么格式呢?
假如,我传输的一条信息“你吃饭了吗?”或是一个图片。网络通信如何规定格式呢,需要用 协议 来规范双方之间的通信格式。
概念:协议及网络协议的简称,通俗的来讲就是网络传输过程中按照相关的规则来进行传输,而这套规则就是协议,如不遵守协议则通信不了。协议有三个重点:语法、语义、时序。
语法:语法指的是消息格式的规定,包括消息的所有字段、它们的顺序和长度等。
例如,一个HTTP请求报文的语法规定了方法字段、请求URI字段、协议版本字段等。
语义:指的是消息中包含的信息的意义和含义,也就是消息所要表达的内容。
例如,在一个HTTP请求报文中,方法字段和请求URI字段组合起来表示了客户端请求的服务资源的位置和操作
时序:指的是消息的顺序和时间关系。
例如,在TCP协议中,通信双方需要遵守严格的时序规则来保证消息的可靠传输和顺序。必须按照数据包的序列号顺序进行传输,接收方必须按照先后顺序进行排队缓存并且按顺序组装消息。
为什么需要协议,还是那句话,假如我要进行网络通信给某个人发一句话“你吃饭了吗?”或一张图片。如果没有协议进行约束,将无法进行传输。
五元组是计算机网络中用于描述网络连接的一种基本结构。
五元组:
源IP地址(Source IP Address):指发送数据包的计算机的IP地址。
目标IP地址(Destination IP Address):指接收数据包的计算机的IP地址。
源端口号(Source Port Number):指发送方的端口号,用于区分不同的应用程序,使其可以并发地运行。
目的端口号(Destination Port Number):指接收方的端口号,用于标识接受数据包的应用程序。
传输协议(Protocol):指传输协议类型,例如TCP、UDP、ICMP等。
在程序猿眼中可认为:
源IP:标识源主机
源端口号:标识源主机中该次通信发送数据的进程
目的IP:标识目的主机
目的端口号:标识目的主机中该次通信接受数据的进程
协议号:标识发送进程和接受进程双方约定的数据格式
假如我在淘宝上购买物品,卖家发货有以下场景:
目的IP:我的地址
端口号:我的名字
源IP地址:卖家地址
源端口号:卖家姓名
协议号:物流(圆通、申通、顺风等等)
为了网络协议的更好的指定,我们往往将网络协议进行分层。如OSI七层模型、TCP/IP五层模型。下期我将详细介绍:协议分层相关知识。
本期博文到这里就结束了,感谢点赞、评论、收藏、关注~