草庐IT

计算机网络基础知识这一篇就够了

爱敲代码的三毛 2023-10-10 原文

文章目录


一、常见的网络设备

1. 集线器(HUB)

集线器器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上

集线器的特点

  1. 扩大网络的传输范围,而不具有定向传送能力,是一个标准的共享式设备,增加网络的节点数目
  2. 所有端口都是共享一条宽带,在同一时刻只能有两个端口传送数据,其它端口只能等待,传输效率低。如果是8口的HUB,那么每个端口得到的带宽就只有1/8的总带宽了
  3. HUB只与它的上联设备(如上层HUB或交换机)进行通信,第一步是将信息上传到上联设备,第二步是上联设备再将该信息广播到所有端口上
  4. 不能保证数据传输的完整性

2. 交换机

交换机一般用于局域网中,主要功能是根据MAC地址来进行数据的交换和转发

交换机的特点:

  1. 交换机的每一个端口所连接的网络都是独立的,也就是独享带宽
  2. 交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播
  3. 交换机根据MAC地址进行转发进行数据转发,因此说交换机是工作在数据链路层的网络设备

3. 路由器

路由器是一类网络互联设备,它基于OSI第3层地址在网络间传递数据分组。路由器能作出决定为网络上的数据分组选择最佳传递路径,因此路由器根据网络地址转发数据,路由器的目的是检查每一个进来的分组(第3层数据),为它们选择穿过网络的最佳路径,然后将它们交换到适当的出口。在大型网络中,路由器是最重要的通信调节设备。实际上,路由器可以使任何种类的计算机与世界上任何地方的其他计算机进行通信。

路由器的特点;

  1. 适用于大规模的网络
  2. 为数据提供最佳的传输路径
  3. 安全性高
  4. 隔离不需要的通信量
  5. 节省局域网的频宽
  6. 安装和设置复杂
  7. 价格较高

4. 路由器和交换机的区别

  1. 交换机工作在OSI第二层,路由器工作在第三层,交换机的工作原理相对比较简单,而路由器具有更多的智能功能,比如选择最佳路径
  2. 交换机利用物理地址来确定是否转发数据,路由器是使用IP地址,由网络网管理员来分配
  3. 传统的交换机只能分割冲突域,而无法分割广播域,而路由可以分割广播域

汇总

  1. 单从组建局域网来说,交换机的速度最快,其次是路由器,最后是HUB。而价格是路由器最贵,然后是交换机
    和HUB
  2. 集线器和交换机的作用可以简单的理解为将一些机器连接起来组成一个局域网;但是两者在性能上有区别:
    线器采用的式共享带宽的工作方式
    ,而交换机是独享带宽。这样在机器很多或数据量很大时,两者将会有比较
    明显的区别;
  3. 路由器的作用在于连接不同的网络并且找到网络中数据传输最合适的路径
  4. 交换机与路由器的区别在于
  • 交换机属于OSI第二层即数据链路层设备。它根据MAC地址寻址
  • 路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生

5. 网关

网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互
连。基本功能是实现不同网络协议之间的转换。


特点:

  1. 将两个或多个在高层使用不同协议的网络段连接在一起的软硬件。
  2. 网关从一个网络收到数据包,重新打包成目的网络能接收并处理的格式。
  3. 理论上说,有多少种通信体系结构和应用层协议的组合,就可能有多少种网关。

6. 常见的网络连接介质

1)双绞线

  1. 双绞线俗称网线,每条双绞线通过两端安装的RJ-45连接器(俗称水晶头)将各种网络设备连接起来。 多
    用于主机到集线器或交换机的连接

2)双绞线中两种标准

  • 568A标准:绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8
  • 568B标准:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8
  • 直通线:双绞线两边是一样标准,比如网线两头都是 568B
  • 交叉线:双绞线两边标准不一样,比如网线一头是568A,另一头是568B

3)网络设备连接

  • 直通线:交换机到路由器、计算机到交换机、计算机到集线器等不同设备互联
  • 交叉线:交换机到交换机、交换机到集线器、集线器到集线器、路由器到路由器、计算机到计算机、计算机到路由器等相同设备互联

4)光纤

与其它传输介质比较,光纤的电磁绝缘性能好、信号衰小、频带宽、传输速度快、传输距离大。主要用于要求
传输距离较长、布线条件特殊的主干网连接。具有不受外界电磁场的影响,无限制的带宽等特点,可以实现每
秒万兆位的数据传送,尺寸小、重量轻,数据可传送几百千米,价格昂贵。

二、IP地址基础知识

1. IP和MAC地址

  1. 以太网上的两台计算机之所以能够交换信息就是因为每个设备都有一块网卡,并且每块网卡拥有唯一的物理地址(称为MAC地址)和唯一的逻辑地址(称为IP地址)。
  2. MAC地址是由生产厂商烧录好的,一般不能改动,并且全球唯一;IP地址需要绑定在网卡上,并且同一个IP地址不能绑定在多个网卡上。

2. IP 地址和MAC地址的区别

  • MAC地址和IP地址长度不一样
    • MAC地址是48位的十六进制数,IPv4地址是32位的二进制数,IPv6地址是128位,通常写成8组,每
      组为四个十六进制数的形式。

    • IPv4地址使用**“点分十进制"法表示;IPv6地址使用"冒分十六进制”**法表示

    IPV4地址:192.168.1.1 十进制数
    IPV6地址:FE80:0000:0000:0000:AAAA:0000:00C2:0002
    MAC地址:00-E1-8C-D8-EC-FE 十六进制

    • MAC地址和IP地址在OSI模型中寻址层不同

      IP地址应用于OSI第三层,即网络层
      MAC地址应用在OSI第二层,即数据链路层

    • MAC地址和IP地址分配方式不一样

      MAC地址分为前24位(称为组织唯一标志符,是由 1 的注册管理机构给厂商分配)和后24位(称为扩展标
      识符,由厂家自己分配)
      P地址是由网络拓扑结构决定分配

3. IP地址

为了便于根据IP地址寻找到该地址所代表的主机,这个32位的二进制数被分为2个部分:
192.168.10.1——>网络号+主机号
网络ID(网络号)和主机ID(主机号)

  • 网络号:区分网络是否在同一区域(网段),说明可以分为几个网络或区域
  • 主机号:区分同一个网络中的主机,说明网络里有多少个主机

注意:互联网这里所说的互联网是有两个或者两个以上的网络进行互联

4.子网掩码

每个IP地址都分割成网络号主机号两部分,目的是便于IP地址的寻址操作;那么IP地址的网络号和主机号各是多少位呢?如何确定?

子网掩码的特点:

  1. 子网掩码不能单独存在,它必须结合IP地址一起使用
  2. 子网掩码只有一个作用,就是将某个IP划分成网络地址主机地址两部分,用来判断两个IP是否子同一个网络下
  3. 子网掩码是一个32位的二进制整数,用点分十进制表示,其对应网络地址的所有位置都为1,对应于主机地址的所有位置都为0

5. IP 地址分类

范围(公网地址)分类私有IP网络类型备注
0.0.0.0 ~ 127.255.255.255A类10.0.0.0~10.255.255.255大规模
128.0.0.0 ~ 191.255.255.255B类172.16.0.0~172.31.255.255中型规模
192.0.0.0 ~ 223.255.255.255C类192.168.0.0~192.168.255.255小型规模
224.0.0.0 ~ 239.255.255.255D类广播地址
240.0.0.0 ~ 247.255.255.255E类保留

1)A类地址

  • A类IP地址有1个字节的网络地址和3个字节注解地址组成,网络地址的最高位必须是0
  • 地址的标识范围为0.0.0.0~127.255.255.255默认子网掩码为255.0.0.0/8

255.0.0.0 = 11111111.00000000.00000000.00000000
因为255转2进制有8个比特位是1所以可以表示为/8

  • 网络号全0表示保留不能用
  • 网络号全为1的IP:127.x.x.x/8表示保留,用于本机回环测试,比如127.0.0.1。
  • 主机号全为0代表本主机所在网络地址,主机号全为1代表网络上所有主机,所以这些IP地址不能分配

    比如 113.0.0.0113.255.255.255

总结

  1. A类地址可用网络数量为 27-2,126个(减去全为0和全为1)
  2. A类地址每个网络能容纳的主机数为224-2,16777214台(减去主机号全求和全0)
  3. A类地址一般分配给规模比较大的网络使用

2)B类地址

  • B类IP地址由2个字节的网络地址2个字节的主机地址组成
  • 地址范围是128.0.0.0191.255.255.255,默认子网掩码为:255.255.0.0/16
    255.255.0.0 = 11111111.11111111.00000000.00000000(一共16个比特位上有1
  • 网络号全为0现在可用,老版本计网教材说保留
  • 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机.故不能分配

总结

  1. B类地址可用网络数为214-1,16383
  2. B类地址每个网络能容纳的主机数为216-2,65534
  3. B类地址一般分配给中型的网络使用

3)C类地址

  • C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是110;
  • 地址范围是192.0.0.0223.255.255.255;默认子网掩码为:255.255.255.0或/24
  • 网络号全为0表示一般保留(老版教材),现在可以用;
  • 主机号全为0代表本主机所在的网络地址;主机号全为1代表该网络上的所有主机.故不能分配

总结

  1. C类地址可用的网络数为221-1,2097151
  2. C类地址每个网络能容纳的主机数为28-2,254台;
  3. C类地址一般分配给小型的网络使用。

特殊IP地址说明

IP地址说明备注
0.0.0.0表示整个网络可表示本机源地址,也可以表示特定主机
255.255.255.255一个特殊的广播地址,意味着所有主机x.255.255.255/x.x.255.255/x.x.x.255
127.x.x.x回环测试地址,默认127.0.0.1127.0.0.2 127.1.1.1都可以代表本机回环地址

三、子网划分

1. 子网划分核心

借用主机位来制造新的网络
IP地址=网络号+主机号(子网位+主机位)
IP地址 = 网络位 + 子网位 + 主机位

2. 子网划分方法

IP = 网络号 + 主机号
主机号 = 子网位(n) + 主机位(m)

假设子网位为n,主机位为m,则子网数为2n个,主机数为2m-2个
子网掩码都是由一串连续的0和连续的1组成,这里可以将n看作后面有多少个1m看做后面有多少个0
由于主机位全0表示本网络,全1留作广播地址,减掉2
子网掩码:网络位为全为1,主机位全为0

示例

示例1:
根据子网掩码判断主机数

子网掩码为255.255.255.0时,可以容纳多个台设备?

分析:

  1. 子网掩码由连续的1和连续0组成;
  2. 用于判断IP地址网络位+主机位
    255.255.255.0
    11111111.11111111.11111111.0000000
    主机数:28-2
    255.255.248.0这个子网掩码可以最多容纳多少台电脑?
  3. 将子网掩码转成二进制数
    11111111.11111111.11111000.00000000
  4. 判断有多少个连续的0
    主机数:211-2=2046
    255.255.128.0
    11111111.11111111.10000000.00000000
    215-2

示例2:
根据主机和子网判断子网掩码

有一个B类网络145.38.0.0需要划分为20个能容纳200台主机的子网网络,子网掩码设置多少合适?

2^n=子网数=20
2^m-2=主机数=200
子网掩码=n个连续的1和m个连续的0 11111111.11111111.11111000.00000000
分析:

  1. B类网络 255.255.0.0 /16

  2. 网络数大于等于20个子网;主机数大于等于200个主机
    网络数:
    11111111.11111111.11111000.00000000=255.255.248.0
    2n>=20 n=5,m=11
    主机数:
    11111111.11111111.11111111.00000000=255.255.255.0

    2m-2>=200 m=8,n=8

示例3:

已知192.168.0.0/255.255.255.128网络,请问最多可以划分几个子网,每个子网范围分别是多少?

思路:
1.根据IP分类和子网掩码判断出向主机号借了几位(子网位)
2.根据所借的子网位数算出子网数和主机IP范围
步骤:

  1. 子网掩码转成二进制
    C类默认: 11111111.11111111.11111111.00000000
    实际掩码:11111111.11111111.11111111.10000000
    结果:对比判断,当前IP向主机位借了1位;当前IP最多可以划分2^1个子网
    2.判断每个子网的IP范围
    x=0
    192.168.0.0-------
    192.168.0.0~192.168.0.127
    有效的IP范围:
    192.168.0.1~192.168.0.126/255.255.255.128
    广播地址:192.168.0.127
    x=1
    192.168.0.1-------
    192.168.0.128~192.168.0.255
    有效的IP范围:
    192.168.0.128~192.168.0.254/25
    广播地址:192.168.0.255

有关计算机网络基础知识这一篇就够了的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  4. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  5. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  6. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  7. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  8. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  9. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  10. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

随机推荐