day2 网络基础
网路基础
网络OSI模型七层:
物理层:
定义特性:机械,电器,功能,过程;
定义接口标准:双绞线,光纤,同轴电缆;
相关协议:无;
数据链路层:
定义帧的开始结束,封装成帧,差错校验,透明传输(防止误认结束帧而数据断裂);
负责尽力的数据帧的传输,错误即丢,不负责丢失重传以及顺序,点到点的mac地址传输;
相关协议:ATM,PPP,HDLC;
网络层:
端到端的包IP寻址传输,负责尽力发送数据包,不负责丢失重传以及顺序,
相关协议:IPV4,IPV6;
传输层:流量控制,可靠传输,udp,tcp;
会话层:控制会话的开始结束,木马防范等;
表示层:定义数据格式加密等;
应用层:http,snmp,ftp,telnet;
网络故障分层排错:
物理层:网线拔插,数据接收发送,物理介质损毁,
数据链路层:MAC地址冲突,工作模式协商失败,ADLS欠费,
网络层:地址冲突,掩码网关错误,无路由,选路错误,
应用层:应用程序错误,
网络分层安全保证:
物理层安全:接口shutdown;
数据链路层安全:ADSL账号密码,划分vlan,端口绑定MAC地址;
网络层安全:防火墙,ACL;
应用层安全:应用程序无漏洞;
网络性能指标:
速率:b/s ,kb/s ,Mb/s ,Gb/s;
带宽:信道最大承载流量大小;100mbps,1000mbps;
吞吐量:单位时间内通过某个网络的数据量;
时延:发送,传播,处理,排队的时间差;
时延带宽积:时延x带宽;
往返时间:来回时间周期‘(如ping延迟查看);
利用率:带宽使用程度;
数据通信基本知识:
数据(data):运送消息的实体;
信号(signal):数据的电气或电磁的表现;
数字信号:参数连续,如比特流(0110010..)之类;
模拟信号:参数离散,如电磁波,超声波;
码元(code):拥有时间域的数字波形的基本单位,不同的离散数据的基本波形;
信道:向一个方向传送信息的媒体,工作模式分为:
单向通信:单工;
双向交替通信:半双工;
双向同时通信:全双工;
基带信号:基本频带信号,来自信源的信号,通常用于较近的传输(PC到监视器,打印机之类的);
带通信号:将基带信号进行载波调制后加强到更高频率进行更远的传输防止衰减;
基本的载波调制方法:
调幅(AM):振幅改变;
调频(FM):频率改变;
调相(PM):初始相位波形改变;
编码方式:
单极性不归零;
双极性不归零;
单极性归零;
双极性归零;
曼彻斯特编码;
差分曼彻斯特编码;
奈氏准则:无干扰下信道的极限容量有上限;码元的传输速率有上限;
香农公式:有信号干扰的情况下,无差错传输速率:C=W log2(1+S/N) b/s;
ps:S为信道内信号平均功率;N为信道内的高斯噪声功率;S/N即为信噪比;
物理层传输介质:
无屏蔽双绞线
屏蔽双绞线
同轴电缆
单模光纤
多模光纤
非导向传输媒体:无线传输,电磁波,微波等;
集线器(HUB):无导向传输能力,产生巨大冲突域;
ps:网线:
直通线:不同类设备之间一般用直通线
白橙,橙,白绿,蓝,白蓝,绿,白棕,棕色(568B);两头一致;
用于PCx交换机/集线器,路由器x交换机/集线器;
交叉线:同类设备之间一般用交叉线;
白橙,橙,白绿,蓝,白蓝,绿,白棕,棕色(568B);
白绿,绿,白橙,蓝,白蓝,橙,白棕,棕色(568A);两头不一致;
用于PCxPC,交x交,路x路,集x交,路xPC;(集线器同交换机为同级,路由器同PC同级);
宽带接入技术:
ADSL:利用电话线传输数据,流量不对称,
HFC:有线电视线路传输,光纤同轴混合网;
数据链路层的信道模式:
点到点信道:
ppp协议,HDLC协议;
对比:ppp协议更通用,尽管HDLC更安全,但是链路层出错可能性较少不必要使用;
ppp协议简述:
简单,MTU,网络地址协商 ,数据压缩协商,多类型链路 检查链接状态,封帧透传差检 由三部分组成:NPC(网络控制),LPC(链路控制),PPP(数据封装);
认证方法两种:PAP(两次握手),CHAP(三次握手);
广播信道:信道共享通用,CSMA/CD协议;
静态划分信道:频分,时分,波分,码分;(较麻烦)
多点接入:随机接入(目前全网都是这种),受控接入;
CSMA/CD:带碰撞检测载波监听多路访问协议;
多点接入:计算机多台链接一根总线;
载波监听:发数据之前要检测是否有信号在发送是否占线;
碰撞检测:一边发数据一边检测信道的电压大小;
以太网:不可靠交付(尽最大努力交付);要求无差错接收,不纠错,错了就丢,然后要求重传;
标准:DIX Ethernet V2以及IEEE定义802.3都可以作为标准
ps:只要满足能载波监听的多路访问(CSMA/CD)都可以作为以太网;
子层:
LLC:逻辑链路控制子层(目前大部分厂商不添加在网卡上)
MAC:媒体接入控制子层;
底层标准:
高速以太网:速率达到100Mb/s;可以进行全双工无冲突(不使用CSMA/CD协议),且帧间隔从9.6μs降低到0.96μs;
吉比特以太网:速度达到1Gb/s,向下兼容百兆十兆,基于光纤组网;
10Base-T:10兆,base数字信号,T5类双绞线;一般不超过100m;
100Base-FX:FX光纤;
100Base-T4:用4对5类线;
1000Base-SX:SX短波长,距离275,或550;
1000Base-LX:LX长波长,距离550或5000;
1000Base-T:4对5类线;
MAC:48位,16进制表示,前3字节(前24位)厂家固定;
ps:windows看设备mac,命令行内ipconfig /all,
MAC帧格式:不小于64字节,固定字节为18,IP报文数据大小为46-1500字节(不足46的话要凑足);
帧间最小间隔:9.6μs(微秒),空闲后要等9.6μs才可以再发数据,为保证缓存清理;
FCS:校验和;计算不正确会丢弃;
类型:代表封装数据的协议格式(如ip包为0x0800);
扩展优化以太网:
距离扩展:电信号转换为光信号(光模块,光转电模块),利用光纤来传输;
数量扩展:
集线器级联(冲突域扩大,效率降低);
网桥,交换机(带宽独享,安全,能自行学习记录MAC地址表,按表转发),路由器;
网络通信的模型:
传数据前的准备:
发送端:
应用程序准备文件→
传输层分段并编号→
网络层添加目标IP地址,源IP地址→
数据链路层根据自己的掩码,判断自己所在网段以及目的地址的网段,
如果同网段,ARP广播请求目标的MAC地址,添加源MAC,目标MAC后转发;
如果异网段,ARP广播请求网关的MAC地址,添加源MAC,路由器MAC后转发;
数据传输过程和接收:
ARP协议:
ARP欺骗:
源主机对未知主机请求MAC地址时,发出广播,黑客电脑接收到后模拟目标主机发送一份ARP回应消息,并将目标主机的MAC地址换成自己的,这样对目标主机的流量会发送到黑客主机,相反流程操作可以让目标主机对源主机的流量也引流到黑客主机。这样实现了黑客主机对源主机个目标主机的流量监控和转发,甚至断流;
若欺骗网关地址的话,可以控制整网段的流量来限制网络的流量;
ps:windows上可以通过arp -a查看arp的解析情况来杜绝arp欺骗;
arp -s可以添加静态arp表象,通过修复网卡可以清除arp静态条目;
ICMP协议:
ping命令:
time:局域网的延迟最好小于10ms;
TTL:存活时间;
ps:默认系统发送TTL:linux: 64,windows:128,Unix:255
参数:放前放后都一样;
-t 一直发送请求;
-a 带原地址的ping;
-l 指定包的大小发送请求;
-i 指定ttl;
ps:可以检测数据吧的途径路由器;
ip地址分类:
A类地址:0x... 1.0.0.0---126.255.255.255 255.0.0.0 16000000
B类地址:1x... 128.1.0.0---191.254.255.255 255.255.0.0 60000
C类地址:10x... 192.0.1.0---233.255.254.255 255.255.255.0 254
D类地址:11x... 224.0.0.0---239.255.255.255 225.255.255.0 254
E类地址:111x... 预留
ps:特殊IP地址,用于局域网;
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
掩码计算方式:
2 4 8 16
-1
1=1,11=3,111=7,1111=15
24 0000 0000 0
25 1000 0000 128
26 1100 0000 128+64=192
27 1110 0000 128+64+32=224
28 1111 0000 255-15=240
29 1111 1000 255-7=248
30 1111 1100 255-3=252
31 1111 1110 255-1=254
32 1111 1111 255
VLSM:变长子网掩码,掩码右移,标准网格分割更小网络;
CIDR:无类域间路由,路由汇聚,掩码左移,标准网格合成更大网络;
子网主机算法:
172.168.34.56/20,一共划分为了多少个子网,各子网可以包含多少台主机。
172.168.34.56是一个B类地址,B类地址用16位表示网络ID,题目中20位表示网络ID,则子网位数为4位,那么子网就有16个(即从0000、0001到1111的16种变化)。
由于IP地址是32位,用20位表示网络ID,则主机ID的位数为12位,则每个子网可以包含2^12-2个IP地址,即可以包含4094个IP地址。
注意:为什么计算IP地址时要减2,而计算子网数目时不减2呢?IP地址减2的原因是主机ID不能全为0也不能全为1;子网就不存在这个问题。
路由汇聚算法:
192.168.9.0/24 192.168.10.0/24 192.168.11.0/24 192.168.12.0/24 192.168.13.0/24
192.168.14.0/24 192.168.15.0/24 汇总以上路由条目
192.168.00001 001.0
192.168.00001 010.0
192.168.00001 011.0
192.168.00001 100.0
192.168.00001 101.0
192.168.00001 110.0
192.168.00001 111.0
192.168.00001 000.0/21 即 192.168.8.0/21
day2 网络基础的更多相关文章
- 前端学HTTP之网络基础
× 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...
- 开发人员必读openstack网络基础
云计算中的网络非常复杂,需要对网络的基础理论有一定的认识和了解,转载网上针对openstack中涉及到网络概念的文章 开发人员必读openstack网络基础1:什么是L2.L3 开发人员必读opens ...
- iOS网络基础知识
iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...
- 网络基础:NetBIOS
网络基础小补. 利用 NetBIOS 名称与其他计算机通信 网络中的计算机之间必须知道IP地址后才能相互通信.但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆.当计算机使用 NetBIOS ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- Day2 - Python基础2 列表、字典、集合
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- Linux网络基础配置
这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...
随机推荐
- koa-router
为了处理URL,我们需要引入koa-router这个middleware,让它负责处理URL映射. 我们把上一节的hello-koa工程复制一份,重命名为url-koa. 先在package.json ...
- Python_匿名函数_47
匿名函数 Eva_J 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc ...
- rest-framework序列化
快速实例 Quickstart 序列化 开篇介绍: ---- 一切皆是资源,操作只是请求方式 ----book表增删改查 /books/ books /books/add/ addbook /book ...
- 多线程系列之五:Balking 模式
一,什么是Balking模式 如果现在不合适执行这个操作,或者没必要执行这个操作,就停止处理,直接返回.在Balking模式中,如果守护条件不成立,就立即中断处理. 二,例子: 定期将当前数据内容写入 ...
- 【学习总结】Git学习-参考廖雪峰老师教程九-使用码云
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- marMariaDB & MYSQL flexviews
Using Flexviews - part one, introduction to materialized views - Percona Database Performance Bloght ...
- C#实现,C++实现,JS实现 阿拉伯数字金额转换为中文大写金额
推荐在线编译器 ideone 1. C#实现 :带有负数处理 //把数字金额转换成中文大写数字的函数 //带有负值处理 function changeNumMoneyToChinese(money) ...
- React-Native之截图组件view-shot的介绍与使用
React-Native之截图组件view-shot的介绍与使用 一,需求分析 1,需要将分享页生成图片,并分享到微信好友与朋友圈. 二,react-native-view-shot介绍 1,可以截取 ...
- Object.defineProperties()与Proxy对象代理
Object.defineProperties() 了不起啊..vue.js通过它实现双向绑定的 Object.defineProperties(obj,props) 方法直接在一个对象上定义新的属性 ...
- NIO和经典IO
NIO未必更快,在Linux上使用Java6完成的测试中,多线程经典I/O设计胜出NIO30%左右 异步I/O强于经典I/O:服务器需要支持超大量的长期连接,比如10000个连接以上,不过各个客户端并 ...