大白话:网络上各个节点如何连接……是不是这样的?
有点乱,但宏观上来说,可能真这样的,不然怎么叫“网(web)”呢?^_^
但细分到内部,大体上来说,有以下一些常见的连接方式:
@想一想@:以上连接方式的优劣?
因为每种连接方式都各有利弊,所以早期的网络连接是“八仙过海各显神通”,我想怎么连就怎么连。
所以就出现了这种情况:A公司用环形,B公司用星型,C公司用总线……
现在问题来了:怎么把ABC这三家(以及后面有可能加入的)公司网络连在一起?
应运而生:
举个例子,网关就相当于某些保密单位的“传达室”,
另外:由于互联网的普及,很多很多局域网也按互联网这种模式组织。所以小局域网又可以组成大局域网,大局域网再组成超大局域网……“局域”是相对的,可以是一个家庭,也可以是一个公司,或者一个小区,甚至一个城市一个国家!
PS:飞哥能查到的(应该很老旧的)中国3个国家级网关:教育网、高能所和公用数据网
IP本身是一种协议,Internet Protocol,互联网协议。IP地址,就是基于这种协议所生成/产生的地址。
协议
通信双方达成的一致,共同遵守的规范(体会:规范和协议之间所体现的价值观差异),就是协议。
协议(以及接口)在计算机应用中占有非常重要的地位。没有(一个广泛遵守的)协议,通信就会变得非常困难(甚至不可能):
这些都需要用协议规范。
#cmd演示#:通过ipconfig查看本机ip地址:
IPv4 地址 . . . . . . . . . . . . : 192.168.1.10
本地链接 IPv6 地址. . . . . . . . : fe80::b572:c277:ec4e:dda3%7
直观来看,IP6和IP4相比,区别在于:
但本质上来说,
@猜一猜@:为什么要引入IP6?@想一想@:容量是不是32位的4倍?
但是, IPv6 在国内至今未得以大规模应用,所以我们主要讲IP4。
根据IP4协议,网络上所有节点地址以32位的二进制表示,为了便于人眼识别,每8位(一个字节的长度)为一截,转成十进制后用小数点分割。比如:
但很多局域网内部也使用IP协议搭建,所以局域网内部节点也有IP地址。
根据IP地址是否能直接用于互联网访问,可分成:
PS:就是为了照顾局域网的IP地址使用,以下IP地址被预留,不会用作公网地址:
所以基本上你一眼就能看出哪些IP地址是公网的,哪些是私网的。
公网IP地址是要(花钱)申请的。而且,截止2019年11月26日,全球所有43亿个IPv4地址已分配完毕!
但IP6并没有被广泛的使用,IP4好像仍然活得挺滋润,为什么呢?
因为不同的内网之间,IP地址可以重复。比如:局域网A里面可以有一个192.168.1.10,局域网B里面也可以有一个192.168.1.10,因为它们处于不同的局域网中,所以是互不影响的。
也OK的?就类似于公司/我家有个(公共的)门牌号就行了,部门/卧室就不需要。所以,不是网络上每一个节点都需要一个公网IP(地址)。
复习:局域网内部所有的节点,和外部(互联网)交互都需要通过网关
网关使用了NAT(Network Address Translation,网络地址转换)技术解决内网节点和外网交互的问题。
但NAT只能内网访问外网,不能外网访问内网
演示:飞哥的电脑在一个网关IP地址为192.168.1.1的局域网内
默认网关. . . . . . . . . . . . . : fe80::1%7
192.168.1.1
那我对外交互时的IP地址是多少呢?
演示:浏览器上IP地址查询:
注意:不是说一个节点有一个公网地址,就不能被放置在局域网中。
演示:服务器拥有公网IP,但ipconfig仍显示私网IP地址
@想一想@:假如请求同一局域网中的另一个节点(cmd演示ping),比如:
会发生什么?计算机应该只会在当前局域网中查找?但是,怎么界定这个“当前”局域网?(局域网可以一层套一层)
演示ipconfig中,除了网关,还有:
子网掩码 . . . . . . . . . . . . : 255.255.255.0
子网掩码(和IP地址一样)也是一个32位地址,比如255.255.255.0就是111111111.11111111.11111111.000000000
子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址:
通常把子网掩码设置成:
再8位一段8位一段,配合小数点分割,这样就一目了然。比如,子网掩码255.255.255.0,就会截取IP地址的前三段做网络地址,最后一段做主机地址。
@想一想@:使用255.255.255.0的子网掩码能容纳多少个节点?
所以子网掩码还有一个作用:确定网络中最大节点数。当网络比较复杂节点过多不能浪费的时候,子网掩码就要精打细算,不会255这样明确……
IP地址,实际上分为两个部分:
网关通常由路由器充当。
路由器的英文单词就是router:路径(机)器,在网络中,能决定由一个点到另一个点路径的机器。
PS:用尽了洪荒之力吧路由两个字带出来了,翻译出来背锅……
你想象中的互联网是咋样子的?是不是这个样子的:
互联网是一个网状结构,所以网络中两个节点之间就可以有很多条路径可以到达(就像我们的交通系统一样)。
如前文图片,我们要从①到⑥,是不是有很多路径?
究竟选择哪一条路径呢?这个工作就交给路由器了。
所谓wifi,其实就是无线路由器。
使用ipconfig找到默认网关的IP地址
默认网关. . . . . . . . . . . . . : 192.168.1.1
在浏览器中输入该IP地址,进入路由器管理界面。理解:
路由器:
PPPoE:一种使用用户名和密码上网的方式
MAC地址:
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,简单来说,就是路由器会自动的为所有接入的设备、动态的分配内网IP地址,不再需要我们手动设置。这就是为什么现在路由器可以开机即用的原因。
可以在路由器上根据网址和MAC地址等,按黑名单/白名单进行监控过滤等……
一个cmd命令,trace route的缩写,可以用于追踪从本地/机到某个IP地址的行经路径/节点
通过查询IP地址演示,从源栈教室路由器到沙坪坝到重庆再到上海……的过程。
除了IP协议,网络上还要很多协议,这些协议可以被分成4层(或更细的7层):
我们的使用是从上到下的,比如先HTTP,HTTP再调用TCP,TCP再调用IP……
@想一想@:为什么要分层?
TCP/IP协议(簇):实际上不仅仅指TCP和IP两个协议,而是囊括了相关一系列(如图所示)协议的合集
#常见面试题:TCP和UDP的区别,以及什么几次“握手”#
背景知识:
区别:
建立连接(3次)
关闭连接(4次)
所以,握手,其实就是一种确认。
@想一想@:为什么要这么麻烦?(确保数据传输的完整性)
多快好省!前端后端,线上线下,名师精讲
更多了解 加: