正式班D8
2020.10.15星期四 正式班D8
一、上节课复习
OSI七层协议
socket
- socket是对传输层以下的封装
- IP+port标识唯一一个基于网络通讯的软件
TCP与UDP
TCP:因为在通信之前必须建立双向链接,通常都是客户端主动连接服务端的
所以必须先启动服务器才能启动客户端
UDP:不需要先启动服务端
DHCP
IP地址
子网掩码
网关
dns服务器所在的IP地址
获取方式:
静态配置:手动
动态获取:DHCP
dns
将域名解析成IP
浏览器DNS缓存-》本地操作系统DNS缓存-》本地HOSTS缓存-》本地DNS缓存-》递归或迭代查询
二、今日内容
IP地址的结构与分类
- A类:0NNNNNNN.Host.Host.Host
- B类:10NNNNNN.Network.Host.Host
- C类:110NNNNN..Network.Network.Host
特殊IP地址
网络地址:网络号部分正常,主机号部分全为0。如172.16.45.0就是一个B类网络地址
广播地址:网络号部分正常,主机号部分全为(即255),用于向网络所有设备进行广播
如172.16.45.255就是B类的广播地址
有限广播地址:指32位全为1(即255.255.255.255)的IP地址,用于本网广播
回送地址:地址中数字127保留给系统作诊断用,称为回送地址,如127.0.0.1用于回路测试
私有地址:只能在局域网内使用,不能再Internet上使用的IP地址称为私有IP地址
- 10.0.0.0~10.255.255.255表示一个A类地址
- 172.16.0.0~172.31.255.255表示16个B类地址
- 192.168.0.0~192.168.255.255表示256个C类地址
- 这些地址不会被Internet分配,也不会被路由。虽不能直接与Internet网连接但可与Internet通讯。
- 在Internet上,不需要与Internet通讯的设备,如打印机可使用这些地址以节省IP地址资源
0.0.0.0表示所有不清楚主机和目的网络,不是真正意义上的IP地址。
(不清楚是指在本机路由表里没有指定条目指明如何到达)
子网掩码
- 作用:识别IP地址中的网络地址和主机地址
- 32位二进制,网络部分全为1,主机部分全为0
- 表示方法:
- 网络前缀:即"/<网络地址位数>"
- 十进制:如255.255.255.0表示C类地址默认的24位子网掩码
子网划分
指通过借用IP地址中若干主机位充当子网地址,而将原来的网络分为若干个彼此分离的子网
子网划分与vlan都可以做到隔离广播域,只是子网划分是三层隔离,而vlan是二层
C类子网划分
子网划分步骤
- 确定要划分的子网数以及每个子网的主机数
- 求出子网数目对应的二进制的位数N及主机数目对应的二进制数的位数M
- 对该ip地址的原子网掩码,将其主机地址部分的前N位置1(其余全部置0)或后M位置0(其余全置1)即得出该ip地址划分子网后的子网掩码
子网地址
- 减少网络流看
- 提高网络性能
- 简化管理
- 易于扩大地理范围
子网划分与vlan
处于同一个局域网LAN之内的网络节点之间可以直接通信
处于不同局域网段的设备之间的通信则必须经过路由器才能通信。
vlan的特点
- 可以不用通过路由器来隔离不同广播域
- 可以突破地理位置的限制,在逻辑上划分出不同的广播域
带vlan交换机的端口分类:
Access port:这些端口被打上了 VLAN Tag。离开交换机的 Access port 进入计算机的以太帧中没有 VLAN Tag,这意味着连接到 access ports 的机器不会觉察到 VLAN 的存在。离开计算机进入这些端口的数据帧被打上了 VLAN Tag。
Trunk port: 有多个交换机时,组A中的部分机器连接到 switch 1,另一部分机器连接到 switch 2。要使得这些机器能够相互访问,你需要连接两台交换机。 要避免使用一根电缆连接每个 VLAN 的两个端口,我们可以在每个交换机上配置一个 VLAN trunk port。Trunk port 发出和收到的数据包都带有 VLAN header,该 header 表明了该数据包属于那个 VLAN。因此,只需要分别连接两个交换机的一个 trunk port 就可以转发所有的数据包了。通常来讲,只使用 trunk port 连接两个交换机,而不是用来连接机器和交换机,因为机器不想看到它们收到的数据包带有 VLAN Header。
vlan的类型
基于端口的vlan(untagged VLAN - 端口属于一个VLAN,数据帧中没有VLAN tag)
这种模式中,在交换机上创建若干个VLAN,在将若干端口放在每个VLAN 中。每个端口在某一时刻只能属于一个VLAN。一个 VLAN 可以包含所有端口,或者部分端口。每个端口有个PVID (port VLAN identifier)。这种模式下,一个端口上收到的 frame 是 untagged frame,因此它不包含任何有关 VLAN 的信息。VLAN 的关系只能从端口的 PVID 上看出来。交换机在转发 frame 时,只将它转发到相同 PVID 的端口。
连接两个交换机的同一个 VLAN 中的两个计算机需要通信的话,需要在两个交换机之间连两根线
Tagged VLANs (数据帧中带有 VLAN tag)
这种模式下,frame 的VLAN 关系是它自己携带的信息中保存的,这种信息叫 a tag or tagged header。当交换机收到一个带 VLAN tag 的帧,它只将它转发给具有同样 VID 的端口。一个能够接收或者转发 tagged frame 的端口被称为 a tagged port。所有连接到这种端口的网络设备必须是 802.1Q 协议兼容的。这种设备必须能处理 tagged frame,以及添加 tag 到其转发的 frame。
一根线就可以了实现跨交换机的同VLAN 内的计算机互相通信
vlan的不足
- VLAN 使用 12-bit 的 VLAN ID,所以 VLAN 的第一个不足之处就是它最多只支持 4096 个 VLAN 网络(当然这还要除去几个预留的),对于大型数据中心的来说,这个数量是远远不够的。
- VLAN 是基于 L2 的,所以很难跨越 L2 的边界,在很大程度上限制了网络的灵活性。
- VLAN 操作需手工介入较多,这对于管理成千上万台机器的管理员来说是难以接受的。
二层交换机
- 功能
- MAC 地址学习:当交换机从它的某个端口收到数据帧时,它将端口的 ID 和帧的源 MAC 地址保存到它的内部MAC表中。
- 数据帧转发:交换机在将从某个端口收到数据帧,再将其从某个端口转发出去之前,它会做一些逻辑判断
- 加 VLAN 标签/去 VLAN 标签
- 功能
正式班D8的更多相关文章
- 正式班D5
2020.10.10星期六 正式班D5 一.上节课复习 1.硬盘分类 1.机械磁盘 io时间=平均寻道时间+平均延迟时间 buffer:写缓冲区 cache:都缓存 2.固态硬盘 ...
- 正式班D7
2020.10.13星期二 正式班D7 一.上节课复习 Linux发展 批处理系统 多道技术 分时操作系统 multics->Unix->minix->Linux(如Redhat.c ...
- 正式班D9
2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...
- 正式班D11
2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...
- 正式班D12
2020.10.21星期三 正式班D12 一.目录结构 系统目录结构 目录 文件夹:存放的是具体有哪些文件 文件:存放的就是具体的数据 需要记住的 /dev/cdrom # 光盘设备,光盘里存放的内容 ...
- 正式班D13
2020.10.22星期四 正式班D13 修改文件内容 vim编辑 vim基础 可理解为Windows下的文本编辑器 vim可用来修改配置.写脚本 三种模式(命令模式.输入模式.末行模式) 命令模式按 ...
- 正式班D14
2020.10.23星期五 正式班D14 9.5 文件处理三剑客(支持|) 9.5.1 sed流式编辑器 事先制定好编辑文件的指令,让sed自动完成对文件的整体编辑(同一时间内存中只有文件中一条) # ...
- 正式班D16
2020.10.27星期二 正式班D16 目录 9.9 字符处理命令 9.9.1 sort排序 9.9.2 uniq去重 9.9.3 cut处理规律文本 9.9.4 tr替换 9.9.5 wc统计 9 ...
- 正式班D20
2020.11.02星期五 正式班D20 目录 11 软件包管理 11.1 软件包介绍 11.1.1 编程语言分类 11.1.2 三种安装包 11.2 rpm包管理 11.2.1 rpm包简介 11. ...
随机推荐
- Java中的String字符串及其常用方法
字符串(String) 文章目录 字符串(String) 直接定义字符串 常用方法 字符串长度 toLowerCase() & toUpperCase()方法 trim()方法去除空格 判空 ...
- java安全编码指南之:Number操作
目录 简介 Number的范围 区分位运算和算数运算 注意不要使用0作为除数 兼容C++的无符号整数类型 NAN和INFINITY 不要使用float或者double作为循环的计数器 BigDecim ...
- 提升开发幸福度-IDE配置
插件 vscode插件 Settings Sync Atom One Dark Theme Bracket Pair Colorizer Code Runner Dracular Official E ...
- 部署zabbix监控服务器,部署主动监控
1.1部署服务运行环境 LNMP#yum -y install gcc pcre-devel zlib-devel openssl-devel #tar -zxvf nginx-1.12.2.ta ...
- 痞子衡嵌入式:IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link / CMSIS-DAP)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致. 做Cortex-M内核MCU嵌入式软件开发,可用的集成开发环境( ...
- 1. Linux系统优化
1. 系统安装 本着纯净系统的原则,我们在安装系统时,应选择minimal install选项,来执行最小化安装,以便有需要时,安装我们需要的安装软件包. 操作系统为CentOS7.3 1611 下载 ...
- python的运算符及数据类型的转换
python 目录 python 1.算术运算符 2.比较运算符 3.赋值运算符和复合赋值运算符 4.位运算符 5.逻辑运算符 6.成员运算符 7.身份运算符 8.常见的数据类型转换 1.算术运算符 ...
- treemap使用了解
参考了https://www.jianshu.com/p/d9ad7f6d75a0 https://www.zhuxiaodong.net/2018/collection-in-java-treema ...
- hystrix文档翻译之配置
Hystrix使用Archaius作为配置的默认实现,下面介绍的是HystrixPropertiesStrategy的默认实现,你也可以通过插件方式重新实现. 每一个配置有四个级别: 全局默认 当下面 ...
- java Synchronized集合
在Collections存在相关"Synchronized"支持同步的集合, 在java1.0 也存在"Vector"; 为什么会选择放弃"Vecto ...