前言

身为一个互联网行业的从业者,如果连互联网internet相关的知识都没有搞明白,有点过分了

要系统学习网络相关知识了,深知不做笔记 = 白学
哈哈,笔记做起来!

公司新换地址,然后新换的办公室有味道,CTO的小办公室也有味道,我们集体搬到一个有两个大窗户的会议上,跟CTO在一个办公室办公。。。
有压力,但是,也能更好的督促自己干活或者学习,也算是好事,加油吧,少年!


端口:类比营业厅的窗口

http://IP地址:端口号/资源路径

127.0.0.1或locahost代表本地

国际标准化组织ISO在1985年制定了网络互连模型
OSI参考模型(open system interconnect reference model),具有7层结构


网络中的基本概念

计算机之间的通信基础

  • 需要得知对方的IP地址
  • 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收
    如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理
    如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理

MAC地址对应的是网卡

在ping的时候,已经获取对方的网卡地址
在发送数据的时候,如果只知道IP地址,不知道对方的网卡地址,则发送ARP广播

计算机之间的链接方式:同轴电缆

基本上被淘汰
半双工通信: 只允许同一时间,某一端给另外一端发送数据。比如在A给B发送数据的时候,B不能给A发送数据。

全双工通信: 在同一时间,允许双方都传输数据。类比打电话

同轴电缆是一根绳上的蚂蚱,怎么理解呢?
A -- B -- C -- D
假如A要传数据给D,而此时C断了不通了,则D接收不到数据,这样,安全性则不好

计算机之间的链接方式:集线器(Hub)


集线器:类比代码管理中的仓库SVN,有一个中心,就是集线器。

  • 半双工通道
  • 容易冲突
  • 不安全
  • 跟同轴电缆一样:没有智商
计算机之间的链接方式:网桥(Bridge)

能够通过自学习得知每个接口那侧的MAC地址
这样,等下次有数据通过的时候,就可以知道是在那边。存在则通过,不存在则拒绝

网桥只能隔绝冲突域
比如网桥两边各有100万台计算机,他只能知道里面有没有A这个MAC地址,但如何在100万台中找到目标A,还是麻烦的。

计算机之间的链接方式:交换机(Switch)

交换机 可以理解为 集线器 + 网桥
交换机可以说是局域网的最优选择
交换机可以知道每一个电脑的MAC地址,可以精准找到对应的电脑

全双工通信
比集线器安全(不会全部发一遍)

交换机连接的是在同一个网段的机器,如果全球都使用交换机连接,则会有IP地址不够用的问题
另外,交换机发广播,则全球人都能收到

以上几种方式,连接的设备必须在同一个网段,连接的设备必须处在同一个广播域

如何理解同一个网段?

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
前三个一样的,可以理解为在同一个网段

192.168.1.5
196.168.1.1
这两个不在同一个网段

严格来说,这种判断是错误的,不准确的,为何这样说?
因为判断是否在同一个网段,不能仅仅靠前几个字节是否一样去判断。
是通过网络ID判断的,而网络ID与子网掩码有关,后面会讲到

计算机之间的链接方式:路由器(Router)

路由器

  • 可以在不同网段之间转发数据
  • 隔绝广播域

同一个网段交换数据,使用交换机
不同网段交换数据,使用路由器

主机发数据之前,首先会判断目标IP地址跟自己是否在同一个网段
如果在同一个网段,则发ARP广播
如果不在同一个网段,则需要通过路由器转发数据

网关(Gateway)
跨网段传输数据,就需要通过网关
路由器里面有网关


MAC地址

每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control Address

全球唯一,固化在了网卡的ROM中,由IEEE802标准规定

当不知道对方主机的MAC地址时,可以通过发送ARP广播获取对方的MAC地址
获取成功后,会缓存IP地址、MAC地址的映射信息,俗称:ARP缓存
通过ARP广播获取的MAC地址,属于动态(dynamic)缓存

ARP

Address Resolution Protocol,地址解析协议(此处的地址,指的是MAC地址)
作用:通过IP地址,获取MAC地址

RARP

Reverse Address Resolution Protocol,逆地址解析协议
作用与ARP相反:用于将MAC地址转换为IP地址
现在已经被BOOTP、DHCP所取代

IP地址

IP地址(Internet Protocol Address):互联网上的每一个主机都有一个IP地址

IPv4版本,32bit(4字节),在2019年已用完
然后,推出了IPv6版本,128bit(16字节)

但,IPv4中,4个字节使用2进制不容易记,因此,转化为10进制,就是我们平时所用、所看的IP地址

IP地址的组成

IP地址由两部分组成:网络标识(网络ID)、主机标识(主机ID)

  • 同一网段的计算机,网络ID相同
  • 通过子网掩码(subnet mask)可以计算出网络ID:子网掩码 & IP地址 (&为按位与)

比如:
IP地址为:192.168.1.10
子网掩码:255.255.255.0
按位与算出的结果,就是网络ID

结果的前3位就是网络ID,最后一位就是主机ID

该例子中前三位是网络ID,但并不能说所有的网络ID都是前三位,也有可能只有前两位是网络ID,而后两位是主机ID

问:192.168.1.0/24中/24是什么?

前面是IP地址,我们是知道的,那后面的/24是什么呢?
/24代表24个1,其实就是子网掩码

子网划分

我们知道,IP地址前面是网络ID,属于网段
后面属于主机ID,主机ID的范围决定了可以接入的主机个数。
假设,现在有一个A类IP地址,但是只有10台电脑接入,这。。。太浪费了
因此,我们可以使用子网划分技术,来最大效率的利用IP地址。

子网划分: 借用主机位作子网位,划分出多个子网

子网划分,可以分为:等长子网划分、变长子网划分
等长子网划分: 将一个网段等分成多个子网,每个子网的可用IP地址数量是一样的
变长子网划分: 每个子网的可用IP地址数量可以是不一样的

如图所示,子网掩码本来24位,现在变为25位。主机位本来是8位,现在变为7位

本来有一个C类网段:192.168.0.0/24
通过上述操作,划分为2个网段:
192.168.0.0/25
192.168.0.128/25

有没有疑问,咋就划分成这样了?想学?继续看

其实正如图所示,第二个网段,最后一个字节的第一位是1,在算网络ID的时候,虽然是1,但是读取的时候不是1,而是1000 0000 正好是128,因此,第二个网段是192.168.0.128
而25标识子网掩码为25个1
原来是24位,现在多了一位,位25位
子网掩码:25个1,表示:
1111.1111.1111.1
255.255.255.128

因此,两个子网掩码都是255.255.255.128

明白了等长子网划分,就很容易理解变长子网划分。
无非就是子网掩码位数的变化,在此不表

超网

跟子网反过来,将多个连续的网段,合并成一个更大的网段

问:原本有200台计算机使用192.168.0.0/24网段,现在希望增加200台设备到同一个网段

192.168.0.0/24,子网掩码24位,运算过后,主机ID位后一位,可供256台主机使用

再加200台,一共400台主机,使用仅支持256台的网段,好像不满足需求,那么,如何解决呢?

方法一:直接使用B类网段
当然,使用B类网络,只使用400台机器,会造成浪费
然后,可以使用分网划分,进行子网划分,避免浪费

方法二: 使用超网
200台在192.168.0.0/24网段,200台在192.168.1.0/24网段
合并192.168.0.0/24网段、192.168.1.0/24网段为一个网段:192.168.0.0/23(子网掩码往左移动一位)


子网掩码往左移动一位,则主机位扩大一倍,变为可容纳600台机器


路由

在不同网段之间转发数据,需要路由的支持
默认情况下,路由器只知道跟它直连的网段,非直连的网段需要通过静态路由、动态路由告诉它

问:什么是静态路由、动态路由呢?

静态路由

  • 管理员手动添加路由信息
  • 适用于小规模网络

动态路由

  • 路由器通过路由选择协议(比如RIP、OSPF)自动获取路由信息
  • 适用于大规模网络

网络学习---基础知识相关推荐

  1. 深入学习网络布线基础知识及子网划分(入门级)

    深入学习网络布线基础知识及子网划分(入门级) 1.信号与传输介质 1.1信号 1.1.1信号的定义 信息:指音讯.消息.通讯系统传输和处理的队形,主要就是表示人类社会传播的一切内容,是一种普遍联系的形 ...

  2. 对于一个网络营销新手,需要掌握哪些网络营销基础知识

    其实,说到网络营销,很多人的脑海里都是一个片面的了解,没有一个很全面,很明确的概念,只是知道一些网络营销技巧和方法,就大言不惭的说自己懂"网络营销"了,马找钱在这里就给一些网络营销 ...

  3. 基于人脸的常见表情识别(1)——深度学习基础知识

    基于人脸的常见表情识别(1)--深度学习基础知识 神经网络 1. 感知机 2. 多层感知机与反向传播 卷积神经网络 1. 全连接神经网络的2大缺陷 2. 卷积神经网络的崛起 卷积神经网络的基本网络层 ...

  4. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  5. java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识

    原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...

  6. 网络服务器最基本的是文件,你可能想知道的15个网络常用基础知识

    原标题:你可能想知道的15个网络常用基础知识 网络是一个复杂的系统,涉及知识很多.现在腾正小超人给大家分享15个常用的网络基础知识: 1) 如何查看本机所开端口 用netstat -a -n命令查看! ...

  7. 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程

    标签:status   传递   windows   返回   修改   队列   _for   响应   关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...

  8. Matrix学习——基础知识

    以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...

  9. 深度学习基础知识(八):神经网络基础之导数

    这个专栏主要是想和大家分享一下深度学习的基础知识,主要是以吴恩达老师深度学习课程内容作为基础,并补充了很多其他内容希望让整体内容更加容易理解和系统化.如果想要了解具体专栏里面有什么内容的话,可以看一看 ...

最新文章

  1. Windows2003服务器不支持FLV视频的解决方法
  2. 巧用Ajax的beforeSend 提高用户体验--防止重复数据
  3. 用jfreechart在JSP页面显示点状分布图+分割线(转载:http://blog.csdn.net/ami121/article/details/2450945)
  4. 工业机器人码垛教学实施_工业码垛机器人存在问题与解决对策
  5. 拉文大学计算机科学,拉文大学
  6. java SWT Browser实现浏览器功能并运行JavaScript代码
  7. php dom 换行,PHP DOM XML不会在标记之后打印掉换行符
  8. Pytorch中的train和eval模式详解
  9. 常用的DIV+CSS网站布局的基本框架结构-完整版
  10. PAIP.MYSQL SLEEP 连接太多解决
  11. Hadoop简介(1)
  12. 浅谈如何设计MySQL索引
  13. Dbgview.exe输出Windows程序调试信息
  14. 四维图新地图坐标_移动端地图技术分享
  15. AAAI 2022 论文列表
  16. 朋友圈评论、点赞测试点
  17. 在编程中常见的一些英语词汇
  18. 计算机网络与协议实验VLAN配置,计算机网络实验三虚拟局域网vlan划分与配置
  19. java期末程序填空_Java后端期末复习
  20. 雪山温泉海螺沟(二):去海螺沟

热门文章

  1. 做软件测试有前途么?
  2. 美国鲨鱼主机使用笔记
  3. 2019已经很冷,2020年Android工作或更难找——进大厂面试必备基础技能
  4. CRM IFD部署更换证书 - adfs证书更换
  5. [转]数码单反和普通数码相机的差别
  6. 01-选择属于自己的相机
  7. 爆肝三天整理!2021年阿里巴巴社招面试题总结,三轮技术面+HR面,总结的明明白白!
  8. [教程]配置青鸟云Web服务器
  9. 锚文本链接用html怎么做,锚文本链接是什么?
  10. prometheus入门实例