正式班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. ...
随机推荐
- GET请求和POST请求的request和response的中文乱码问题
GET请求(request)中文乱码解决方案: 在Services的server.xml的配置文件的第一个Connector标签中添加属性URIEncoding="UTF-8" P ...
- ELK入门及基本使用
预备知识-Restful 起源 在没有前后端分离概念之前,一个网站的完成总是“all in one”,在这个阶段,页面.数据.渲染全部在服务端完成,这样做的最大的弊端是后期维护,扩展极其痛苦,开发人员 ...
- Java获取Linux上指定文件夹下所有第一级子文件夹
说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...
- h5内嵌微信小程序,调用微信支付功能
在小程序中不能使用之前在浏览器中配置的支付功能,只能调用小程序专属的api进行支付. 因为需要在现在实现的基础上,再添加在小程序中调用微信支付功能,所以我的思路是这样的 1.在点击支付按钮时,判断是不 ...
- Mybatis动态SQL配置
使用 if where foreach标签对映射配置文件中sql语句进行动态配置 1.首先在dao接口中设置两个查询方法 package sun.dao; import sun.domain.Quer ...
- 蓝奏网盘API
蓝奏云网盘API 2.0 基于Python3实现,最强的蓝奏云API~ 蓝奏云注册 更新说明 修复了登录时 formhash 错误的问题 解决了多次上传大文件被限制的问题 #3 细化 API 接口的功 ...
- docker启动容器报错 Unknown runtime specified nvidia.
启动docker容器时,报错 问题复现 当我启动一个容器时,运行以下命令: docker run --runtime=nvidia .... 后面一部分命令没写出来,此时报错的信息如下: docker ...
- [LeetCode]Mysql系列5
题目1 1112. 每位学生的最高成绩 编写一个 SQL 查询,查询每位学生获得的最高成绩和它所对应的科目,若科目成绩并列,取 course_id 最小的一门.查询结果需按 student_id 增序 ...
- Vue+SpringBoot项目实战(一) 搭建环境
GitHub 地址: https://github.com/dongfanger/sprint-backend https://github.com/dongfanger/sprint-fronten ...
- Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)
12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...