网络学习---基础知识
前言
身为一个互联网行业的从业者,如果连互联网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)——深度学习基础知识
基于人脸的常见表情识别(1)--深度学习基础知识 神经网络 1. 感知机 2. 多层感知机与反向传播 卷积神经网络 1. 全连接神经网络的2大缺陷 2. 卷积神经网络的崛起 卷积神经网络的基本网络层 ...
- Java 网络编程基础知识
Java 网络编程基础知识 基础概念 计算机网络的基本概念 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. 网络设备:集线器(HUB),路由器,交 ...
- java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识
原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...
- 网络服务器最基本的是文件,你可能想知道的15个网络常用基础知识
原标题:你可能想知道的15个网络常用基础知识 网络是一个复杂的系统,涉及知识很多.现在腾正小超人给大家分享15个常用的网络基础知识: 1) 如何查看本机所开端口 用netstat -a -n命令查看! ...
- 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程
标签:status 传递 windows 返回 修改 队列 _for 响应 关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...
- Matrix学习——基础知识
以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...
- 深度学习基础知识(八):神经网络基础之导数
这个专栏主要是想和大家分享一下深度学习的基础知识,主要是以吴恩达老师深度学习课程内容作为基础,并补充了很多其他内容希望让整体内容更加容易理解和系统化.如果想要了解具体专栏里面有什么内容的话,可以看一看 ...
最新文章
- Windows2003服务器不支持FLV视频的解决方法
- 巧用Ajax的beforeSend 提高用户体验--防止重复数据
- 用jfreechart在JSP页面显示点状分布图+分割线(转载:http://blog.csdn.net/ami121/article/details/2450945)
- 工业机器人码垛教学实施_工业码垛机器人存在问题与解决对策
- 拉文大学计算机科学,拉文大学
- java SWT Browser实现浏览器功能并运行JavaScript代码
- php dom 换行,PHP DOM XML不会在标记之后打印掉换行符
- Pytorch中的train和eval模式详解
- 常用的DIV+CSS网站布局的基本框架结构-完整版
- PAIP.MYSQL SLEEP 连接太多解决
- Hadoop简介(1)
- 浅谈如何设计MySQL索引
- Dbgview.exe输出Windows程序调试信息
- 四维图新地图坐标_移动端地图技术分享
- AAAI 2022 论文列表
- 朋友圈评论、点赞测试点
- 在编程中常见的一些英语词汇
- 计算机网络与协议实验VLAN配置,计算机网络实验三虚拟局域网vlan划分与配置
- java期末程序填空_Java后端期末复习
- 雪山温泉海螺沟(二):去海螺沟