通过简单的演示理解TCP/IP网络

文章目录

    • 1.MAC地址
    • 2.IP地址
        • 2.1.IP地址存在的意义
        • 2.2 子网掩码(Subnet Mask)
        • 2.3DHCP(动态主机设置协议)服务器
        • 2.4路由器是数据传输的指路人
          • 2.4.1 路由器是什么
          • 2.4.2路由器的路由过程
        • 2.5DNS服务器
        • 2.6 IP地址和MAC地址的对应关系

首先需要明白一些概念:

  • 局域网(Local Area Network-LAN)和广域网(Wide Area Network-WAN)是什么: 把一个办公室或者一个楼里的小规模网络叫作LAN。相对来说,整个互联网的大规模网络就是广域网。

  • 路由器(Router):是负责将LAN连接到WAN上的设备。(路由器一端会先连接到互联网服务提供商的路由器上)

  • 服务提供商(Provider):继续将他们的路由器连接到其他路由器上,通过这种方式最终接入到互联网主干线缆上。

  • TCP/IP协议:是互联网所使用的一套标准协议,要想用互联网传递和接收信息就必须遵守这个规则。类似于你开车上马路就必须遵守所有的交通规则,要是大家都不遵守那路上车辆混乱驾驶,就乱套了。

1.MAC地址

几乎所有网卡都会在上市前被分配一个不可变更的MAC地址。

CSMA/CD机制:在LAN中的每台计算机传输之前都要确认网线上其他的计算机有没有正在传输电信号,也就是说确保没有人占用网络,然后才能发送自己想传输的电信号。如果遇到多台计算机同时都想发送电信号的情况,只需要让计算机等待一段长度随机的时间后再发送。

  • CS(career sense)载波监听:监听网络是否正在使用电信号。
  • MA(multiple access)多路复用:多个设备可以同时访问传输介质。
  • CD(collision detection)冲突检测:检测因同一时刻的传输而导致的电信号冲突。

在网中,发送给一台计算机的电信号可以被其他所有的计算机收到,一台计算机收到了电信号以后会做判断,如果是发送给自己的就接收,反之则忽略。
那计算机应该用什么去判断是不是发送给自己的电信号呢?这个时候可以用每个计算机的唯一的MAC地址区分。接收时可以用MAC地址的编号来指定电信号的接受者。因为MAC地址是由网卡的ROM预先烧录的唯一的编号,所以可以用这个去区分不同的计算机。

获取MAC地址:打开Windows的cmd(背景全黑的命令提示符窗口),输入ipconfig/all查看。

2.IP地址

2.1.IP地址存在的意义

MAC地址虽然可以在硬件层面上区分,但是全世界的计算机只用MAC地址是很不方便的。因为MAC地址的前三位是制造商的代号,就算在一个网络区域中大家也都会用不同的网卡设备,所以无法将前面的几位统一起来,不统一的话发送电信号时寻找毫无规律的MAC地址就需要花费大量的时间。
因此在TCP/IP网络中,除了硬件上的MAC地址,还需要为每台计算机设定一个软件上的编号——IP地址
在TCP/IP网络中,传输的数据都会携带MAC地址和IP地址两个地址。

IP地址是一个32bit的整数,每8bit为一组,用"."分隔为4段,范围为0.0.0.0~255.255.255.255。通过IP地址就可以轻松地对计算机进行分组管理了。比如用1~3段的数表示公司(当前的LAN),第4段数值表示公司内部的计算机,这样通过看前3段就能区别这是哪一个区域的计算机。

大家千万不要把自己的IP地址泄漏了,不然会被不法分子利用

通常把IP地址中表示分组(LAN)部分称为网络地址,表示各台计算机(也叫主机)的部分称为主机地址。下面大家通过ipconfig/all查看自己的IP地址了。

2.2 子网掩码(Subnet Mask)

在IP地址附近有一个名为子网掩码的东西。子网掩码的作用是标识出32位bit的IP地址中,从哪一位到哪一位是网络地址,哪一位到哪一位是主机地址。
在这里插入图片描述
以我的子网掩码为例255.255.255.0用二进制表示就是11111111.11111111.11111111.00000000

  • 1对应IP地址中的网络地址,0对应主机地址,所以通过子网掩码可以得出我的IP地址里前3段(前24位)是网络地址,后1段(8位)是主机地址。
  • 8位二进制数表示主机地址,那么00000000~11111111可表示的范围(十进制)是256个数,除去00000000 11111111地址有特殊用途,除去路由器占用一个IP地址,在我这里的LAN里最多可连接253台计算机。

2.3DHCP(动态主机设置协议)服务器

IP地址和子网掩码都是在软件上设置的参数。
通过简单的演示理解TCP/IP网络_第1张图片
虽然可以手动设置IP地址和子网掩码,但是一般还是选择自动获得IP地址。这个选择使得计算机在启动时会去从DHCP服务器获取IP地址和子网掩码,并自动配置它们。DHCP服务器上记录着可以被分配到LAN内计算机IP地址范围和子网掩码的值。

2.4路由器是数据传输的指路人

2.4.1 路由器是什么

在分组管理下,IP地址中的网络地址部分可以代表一个LAN中的全部计算机。互联网就是用路由器把多个LAN连接起来所形成是一张大网。

路由器就是决定数据传输路径的设备。当一个LAN向另一个LAN的计算机发送数据时,由于IP地址会被附加到数据的发送目的地字段上,这样的数据会被LAN内计算机忽略但是不会被路由器忽略。
路由器的工作原理就是查看附加到数据上的IP地址的网络地址部分,只要发现这个数据不是发送给LAN内计算机就把它发送到LAN外,即互联网的世界中。

路由表:分布在世界各地的LAN中的路由器相互交换着信息,互联网正是由于这种信息才得以联通。这种信息就是路由表,用来记录应该把数据转发到哪里。在一台路由器的路由表中,只会记录通往与之相邻的路由器的路径,而不会记录世界范围内的所有传输路径。

在CMD中执行route print指令查看路由表。
网络目标、网络掩码、网关、接口这四列记录记录着数据发送的目的地黑人路由器的IP地址等信息。跃点数记录路径的权重,这个值由某种算法决定,比如数据传输过程中经过的路由器数量。

2.4.2路由器的路由过程

假设大家在浏览我的博客主页,博客里的web服务器的数据,要经过若干个路由器的转发才能到达大家的计算机上。通常把这种数据经过路由转发的过程称为路由(Routing)
tracer 地址,可以查看路由的过程。
通过简单的演示理解TCP/IP网络_第2张图片
从当前LAN到百度,左侧1-2的顺序列出了数据前进道路上途经的IP地址。经过两次路由到达baidu官网。

2.5DNS服务器

DNS(Domain Name System,域名系统)可以把主机名解析成IP地址。
在互联网中,本应使用IP地址来标识计算机,但是刚才使用www.baidu.com来标识百度的web服务器。这就是因为DNS将www.baidu.com这样的域名解析为IP地址,
FQDN(完全限定域名):计算机主机名+所在LAN的域名。这个可以算作世界范围内独一无二的名字。
域名解析:只需要使用FQDN,DNS服务器就可以自动把它解析为IP地址。
DNS服务器部署在LAN中,记录着FQDN和IP地址的对应关系表。世界范围内的DNS服务器是通过相互合作运转起来的。如果一台DNS服务器无法解析域名,它会去询问其他的DNS服务器。

在CMD中输入hostname,查询计算机主机名。ipconfig/all查询,Windows IP这一栏会显示主机名,DNS后缀搜索列表显示的是域名。
输入nslookup,显示默认服务器是当前LAN的DNS服务器的FQDN,下面Address是DNS的IP地址。查询完后记得ctrl+c退出nslookup

2.6 IP地址和MAC地址的对应关系

虽然传输的数据都附带IP地址,但是最终能够确定谁为数据接受者的还是MAC地址。于是**ARP(Address Resoltion Protocol,地址解析协议)**产生,用于实现IP地址到MAC地址的转换。
广播(broadcast):ARP通过广播询问“谁的IP地址是2.2.2.2222?把你的MAC地址告诉我”。如果有某台计算机回应了MAC地址,那么这台计算机的IP地址和MAC地址的关系就对应上了。
ARP缓存功能:当各个计算机都询问一轮后,就会把得到的MAC地址和IP地址的对应关系缓存起来。这样查询效率会提高。

CMD中输入arp -a查询当前ARP的缓存表。

你可能感兴趣的:(前端)