陈鑫
第一章:网络发展史,TCP/IP-1
HCIA---数通
HCIA---华为认证初级ICT工程师
HCIP---华为认证ICT高级工程师
HCIE---华为认证ICT专家级工程师
网络是什么:
1.需要有一个通道
2.需要有两个节点
3.都有载体(数据)
通过一些特殊的通道把分布在不同地理位置的物品连接起来,从而实现信息的传输和共享。
网络作用:
1.数据通信
2.资源共享
3.分部处理
计算机网络基础
世界上第一台计算机---1946年---计算导弹弹道---分时操作系统
二进制语言 (机器语言)
*自然语言---编码
*编码---二进制
*介质访问控制层:控制硬件;将二进制装换为电流,并控制物理层输出电流
*计算---CPU
整个过程先向下再向上
对等网
*升级硬件资源
*增加电脑数量
继续扩大网络
*增大距离
信号失真(模糊)
网线
仅仅减小失真
信号衰减 (能量损耗过大)
*中继器 (在原来的信号加深,还是模糊)
*增加节点
网络拓扑结构
总线型:由一条多芯网线向四周延展,连接各个节点
#优点:信道利用率高,结构简单,成本低
#缺点:同一时刻,仅允许两个节点进行通讯
环型:由节点与节点连接的线路组成闭合环。
#优点:增加和删除设备简单
#缺点:当某一节点故障时,会影响全网,导致整张网络瘫痪。 单向传递
星型:由中央节点和通过链路连接到中央节点的节点组成。 (用的最多)
#优点:结构简单,扩展性强,连接方便
#缺点:信道利用率低,对中心节点要求高
网状:实际上是由星型拓扑扩展而来,使用全连接的方式,网状中任意一个节点都属于中心节点
#优点:稳定,从节点到节点有多条路径可选 ----运营商网络
#缺点:结构复杂,成本高
集线器---HUB
*纯物理层设备
*缺点:
1.安全问题
2.延时问题---产生大量的垃圾信息
3.地址问题---MAC地址---48位二进制---12位十六进制表示(全球唯一)
4.冲突问题---载波侦听多路访问/冲突检测机制---- CSMA/CD (先听后发、边听边发、冲突停发、随机延迟后重发)---仅仅减小了冲突,并没有完全解决冲突
冲突域:连接在同一根导线上的所有工作站的集合
出现了一台设备,网桥 (二层设备---处理二进制信号) ---交换机
网络无限传输距离
完全没有冲突 ---网桥
存在单播传输数据 ---交换机
交换机(在接收到信号的时候,相当于重新纪录一遍)(依靠MAC地址表进行转发)
*识别MAC地址---MAC地址自学习
MAC地址自学习功能:交换机在接收一个数据报文后,根据数据报文中的源MAC地址,与接收该报文的接口形成对应关系,并记录在MAC地址表中。
然后,交换机根据数据报文的目的MAC地址,查询MAC 地址表项,若有匹配项,则根据匹配项的指示直接进行单播转发。
若无匹配项,则进行 洪泛操作 (除了数据的进入接口外,均发送一份数据)
MAC地址表不是永久记录,而是存在老化时间--5min
交换网络---仅仅由交换机连接各个节点形成的网络---仅具备十几个节点,最多不超过200个节点
广播域---洪泛的范围
作业:录屏 画图解释交换机,路由器,
路由器 (依靠路由表进行转发)
*隔离广播域
路由器的一个接口就是一个独立的广播域
*转发数据
依靠路由表进行转发
*依靠交换机进行数据转发---同广播域 (掩码相同)
*借助路由器进行数据转发---跨广播域
IP地址
IPv4: 32位二进制构成,42亿 点分十进制
IPv6:128位二进制
IP地址分为两部分:
网络位:表示IP所在的网络 前 ...位 (在掩码相同的前提下判断是否是同一个网络域)
主机位:表示主机位 后....位(一般是来查看数据报文是不是找自己的)
掩码
*掩码是32位二进制组成,用以判断IP地址的网络位位数
*连续的1+连续的0组成
*掩码中的数字1所代表的含义位IP地址的比特位为网络域
IP: 11110000.00001111.10101010.00000001 掩码:11111111111100000000000 11110000.00001111.10101010.00000001 11111111.11111111.11111111.00000000 |
11110000.00001111.10101010.00000001/24 11111111.11111111.11111111.00000000
11110000.00001111.10101010.00000010/21 11111111.11111111.11111000.00000000
11110000.00001111.10101011.00000001 11111111.11111111.11111111.00000000
192.168.1.1/24 |
网关
被称为一个广播域的门户,也就是路由器与该广播域所连接的接口,这个接口的IP地址称之为网关IP
1.判断是否为同一广播域
2.若为同一个广播域则将数据发送给交换机,由交换机进行洪泛或单播形式转发数据
(IP是目的,MAC看路由表)(看到MAC地址为全F,是广播侦,会进行洪泛操作给网关)
3.若为不同广播域
被称为一个广播域的门户,也就是路由器与该广播域所连接的接口,这个接口的IP地址称之为网关IP。
1. 判断是否为同一广播域
2. 若为同广播域,则将数据发送给交换机,由交换机进行洪泛或单播形式转发数据
3. 若为不同广播域,则将数据发送给路由器,即网关IP所在设备,再由路由器进行数据转发
4. 目的主机接收到该数据后,重复前三步操作进行数据发送
个人感悟:
路由器有两个接口---两个广播域
这张图中的网络是一个新建的网络,所有PC的ARP 表示空的,所有交换机的MAC地址表也是空的
目的:用PC1去访问PC3,也就是跨广播域访问的通讯
整个过程会调用两次ARP协议:第一次是请求网关(路由器接口)的MAC地址,发送者为PC1;第二次是请求PC3的MAC地址,发送者为网关 注:两个过程的目的MAC地址是不会变化的
首先构造一个数据包:四层(PDU) ,首先是应用层数据,然后到传输层(数据段),加上传输层的一个头部,再到下一层网络层(数据包)---添加源末IP地址,再把数据包传送到到数据链路层(数据帧)--添加MAC地址(源MAC,目的MAC)(MAC地址算二层,最底下 物理层是一层)
例: HCIP
TCP头部信息
192.168.1.1 192.168.2.1
AAAA.AAAA.AAAA ????.????.......
由于不知道目的MAC地址,所以此时就要用到ARP协议
又要构造一个数据包
ARP请求报文
192.168.1.1 192.168.1.254
AAAA.AAAA.AAAA FFFF.FFFF.FFFF
(PC1发送一个广播帧,源IP和源MAC是PC1的,目的IP是网关,目的MAC是FFFF:FFFF:FFFF)
发送给交换机,交换机会做一个自学习,学习 AAAA.AAAA.AAAA 0/0/2(接口) MAC地址,然后开始查表,看看有没有对应的MAC地址 ---FFFF.FFFF.FFFF,发现这是个广播帧,直接跳过查表这个阶段,直接发送广播报文(开始进行洪泛操作),将数据包给0/0/1 0/0/3接口发一份(除了接入口0/0/2)注:洪泛操作是对于同一个广播域
此时,当数据包来到PC2时,首先拆二层看MAC地址(不能跳层),看到目的MAC地址是FFFF.FFFF.FFFF(代表着这个网络的所有设备),所以PC2认为这个数据包可能是找自己的,所以此时会对这个数据报文进行一个解封装的操作,把二层的侦头,也就是数据报文数据链路层的数据帧拆除解封装,然后交给IP层面,也就是上一层网络层,然后网络层看目的IP地址:主机位为254,不是找自己的,所以丢弃这个报文
当报文发送给AR1时,同理 ....... ,在网络层看IP地址,是找自己的,把三层IP地址继续拆开删掉,然后看到里面应用层信息---ARP,所以网关就知道了这是个ARP请求报文,找我要MAC地址,然后重新构造一个数据包给他回复
ARP回复报文
192.168.1.254 192.168.1.1
QQQQ.QQQQ.QQQQ AAAA.AAAA.AAAA
提:交换机转发就是看MAC地址与自己MAC地址表的记录情况选择单播或广播,而对于解析设备来说,永远都是先拆二层看MAC在拆三层看IP,所以如果MAC不是自己或者不是广播形式就会直接被丢弃。 而对于路由器来说,也是一样的,先查看MAC是自己才会选择读取三层的IP分析是否转发。 ARP说直白就是用一种地址获得另一种地址的协议,因为是获取地址,所以都是以广播的形式去要,这一点很重要。
ARP协议
原理:根据已知的地址来获取与其对应的另一种未知地址
ARP工作过程:
发送者PC1
PC1发送一个广播帧,源IP和源MAC是PC1的,目的IP是网关,目的MAC是FFFF:FFFF:FFFF
该数据包会被通广播域内所有主机接收,并且该报文内容是(ARP请求报文)
谁是某某某IP,请回复我
非目的主机PC2:
由于该广播帧是网络中所有主机均可接受的报文,故PC2会接收这个数据帧,提取IP地址,发
现并不是找自己的,所以会丢弃该数据包(并不是直接抛弃,先对这个数据报文解封装)
目的主机(网关):
网关接收到该报文后,会发现目的IP地址是本接口IP,故会查看报文内容,并打包一个数据报
文进行回复,其中,包含了本接口的MAC地址。
实际上,设备在进行ARP请求之前,会先查找本地的ARP缓存表,若本地存在对应关系,则直接按
照本地ARP缓存表中描述的MAC地址进行数据封装。若没有对应关系,则会发送ARP请求报文,接 收方会回复ARP应答报文,当发送方接收到ARP应答报文后,会将该报文的内容填充到ARP缓存表 中。
ARP缓存表的老化时间-----180s
ARP分类
正向ARP----通过IP获取MAC (网络中最常见的)
反向ARP----通过MAC获取IP
免费ARP----无故ARP-----用于自我介绍和冲突检测
代理ARP---- 由网关设备代替主机查询MAC地址
TCP/IP
美国国防部开发
OSI参考模型
开放式系统互联模型------国际化标准组织ISO提出----协议组(协议模型)
应用层:接收用户数据,人机交互的接口
表示层:将编码转换为二进制(加密、解密) ---统一格式
会话层:针对传输的每一种数据建立一条连接(防止不同数据之间相互干扰)
控制层面:上三层
数据层面:下四层
传输层:区分流量、定义数据传输方式; TCP、 UDP
网络层:通过IP地址进行逻辑寻址(看IP地址网络位---是否处在同一个广播域,主机位---目的是不是找自己的)
数据链路层:通过MAC地址进行物理寻址
LLC----逻辑链路控制层
MAC----介质访问控制层
物理层:定义协议物理特性(电压、电气、接口规范);传输比特流
报文的封装和解封装
PDU
协议数据单元-----数据在不同层面的表现形式 上三层----数据 传输层----数据段 网络层----数据包 数据链路层-数据帧 物理层----比特流 |
TCP/IP---互联网使用
四层标准模型(一般面试回答)
五层对等模型
物理层
规定了一些物理特性(数据传输速率、传输模式、电气电压)
代表设备:中继器、集线器
介质
同轴电缆----淘汰
10BASE5----粗同轴电缆----500m
10BASE2----细同轴电缆----185m
速率极低
双绞线
分为屏蔽双绞线(STP),非屏蔽双绞线(UTP)
类型: 1、2、3、4、5、超5、6、超6、7、8
光纤
双工模式
全双工:通讯双方都能同时发送和接收数据
半双工:通信双方都能发送和接收数据,但是不能同时进行
同一条物理线路上的设备双工模式必须相同。
线序
568A
568B
橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
直连线、交叉线
作业:讲解交换机,路由器,ARP
数据链路层
•代表设备---网桥、交换机
•链路类型
*局域网---以太网(MAC地址)
*广域网
•MAC地址----物理地址----二层地址
*前24位:表示厂商ID
*后24位:表示产品ID
•数据帧
*以太网-2格式、IEEE 802.3格式。
•帧发送方式
*单播、广播(目的MAC=FFFF:FFFF:FFFF)、组播
网络层
•IP地址----逻辑寻址---全网唯一
•IP地址的有类分址-----根据IP地址前八位二进制的数字特征分类
*A:0XXX XXXX-----0.0.0.0-127.255.255.255----掩码为8。
*B:10XX XXXX-----128.0.0.0-191.255.255.255---掩码为16。
*C:110X XXXX-----192.0.0.0-223.255.255.255----掩码24。
*D:1110 XXXX-----224.0.0.0-239.255.255.255
*E:1111 XXXX------240.0.0.0-255.255.255.255
A\B\C三类--->单播地址----可以做源地址,也可以做目的地址
D----->组播地址----只能当做目的地址使用
E----->保留地址(科研地址)
•特殊地址---不能手工配置在电脑上
*0.0.0.0-----网络地址(代表所有地址,或代表没有地址)
*255.255.255.255----受限广播地址
*192.168.1.0/24----主机位全0------代表该广播域------网段
*192.168.1.255/24---主机位全1-----定向广播地址
*127.X.X.X----本地测试地址
*169.254.0.0/16-----本地链路地址
•私有地址-----可重复
*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----256个地址段
•公有地址
*除了上述私有地址和特殊地址外的所有单播地址。
IP报文头部 (TTL--生存时间,单位:路由器)
•IP分片-----MTU(最大传输单元)---以太网中MTU=1500字节
*标识位----给每一个分片的数据报文分配一个序列号,从小到大,一次加一,用于让接收方重
组数据
*标志位---3bit
■第一位----无意义,用0填充
■第二位----DF位----若该位置为1,则代表未分片;若为0,则代表分片。
■第三位----M位-----表示该报文是否是最后一片。若为1,则代表后续还有报文。
*片偏移----计算数据报文在源数据报文中的相对位置,单位为8字节。
传输层
• 端口号---标识进程----16位二进制
0-65535
■1-1023---著名端口(静态端口)
■1024-65535---动态端口----某些协议自动随机生成的
常见端口号
telnet-----23
■ ftp-----20/21
■ http----80
■ https----443
■ DNS----53
TCP协议----传输控制协议(传输层)
是一种面向连接的可靠性协议
可靠性
• 确认机制:传输确认,每收到一个数据段,均需要进行一次确认
• 重传机制:当一个数据段中的某个报文丢失,会提醒要求重新传输该丢失报文
• 排序机制:传输一个数据段,被分为多个报文,从不同路径传输,最终到达目的地的顺序会被打
乱,需要重新排列组合恢复原始报文内容
• 流控机制(滑动窗口机制):调节窗口大小来对流量进行控制
* 窗口大小:指无需等待确认就可以连续发送的最大数据量
TCP分段
TCP协议封装的数据不允许在IP层面(网络层 )进行分片操作。
MSS(最大传输段)= MTU-IP头部-TCP头部
补:
什么是MTU(Maximum Transmission Unit)?
最大传输单元MTU,是指网络能够传输的最大数据包大小,以字节为单位。
MTU是数据链路层的概念,指数据链路层对帧的数据部分长度的限制,即限制三层IP数据报的最大长度。
实际上,不同的厂商,甚至同一厂商的不同产品型号对MTU的定义也不尽相同
TCP MSS与MTU
TCP MSS(Maximum Segment Size)是指TCP协议所允许的从对方收到的最大报文长度,即TCP数据包每次能够传输的最大数据分段,只包含TCP Payload,不包含TCP Header和TCP Option。
为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往根据MTU值来计算(需要减去IP包头20字节和TCP包头20字节),所以通常MSS为1460=1500(MTU)- 20(IP Header) -20 (TCP Header)。
PMTU---路径MTU发现协议
面向连接
三次握手
四次挥手
个人感悟
三次握手
①客户端向服务器发送建立连接请求(SYN=1,seq=x(随机生成))
②服务器向客户端发送回复(ACK=1 , ACKeq=ack=X+1 , seq=Y , SYN=1 (随机生成))
③客户端向服务器发送回复(ACK=1 , ACKeq=ack= Y+1 , seq=X+1)
四次挥手
①客户端向服务器发送释放连接请求(FIN=1 , seq=M(服务器所发送的最后一个值))
②服务器向客户端发送回复(ACK=1 , ACKeq=ack=M+1 , seq=N(客户端所发送的最后一个值))
③服务器向客户端发送确认(FIN=1 , ACK=1 , seq=W(随机生成),ack=M+1)
④客户端向服务器回复 (ACK=1 , seq=M+1,ack=W+1)
UDP----用户数据报协议
是一种非面向连接的不可靠传输协议
VLSM技术----可变长子网掩码(无类分址)---子网划分
实现方法---通过从主机位借位到网络位的方式,达到将一个大的网段划分为多个小的网段。而借出去
的位称为子网位,决定了能划分的网络个数
192.168.1.0/24--------256个
192.168.1.0 0000000/25------192.168.1.0/25--128个
192.168.1.0 0 000000/26---192.168.1.0/26
192.168.1.0 1 000000/26---192.168.1.64/26
192.168.1.1 0000000/25------192.168.1.128/25--128个
192.168.1.1 0 000000/26----192.168.1.128/26
192.168.1.1 1 000000/26----192.168.1.192/26
10.0.0.0/8 划分为15个网段
10.0 0000000.00000000.00000000/9
10.0 0 0 00000.00000000.00000000/11
10.0 0 1 00000.00000000.00000000/11
10.0 1 0 00000.00000000.00000000/11
10.0 1 1 00000.00000000.00000000/11
10.1 0000000.00000000.00000000/9
10.1 0 000000.00000000.00000000/10
10.1 1 000000.00000000.00000000/10
CIDR技术(无类域间路由)
将小的网段汇聚成大的网段
方法:取相同位,去不同位。
满足条件
母网相同
掩码一致
10. 0000 0000.00000000.00000000/12---10.0.0.0/12
10. 0001 0000.00000000.00000000/12---10.16.0.0/12
10. 0010 0000.00000000.00000000/12---10.32.0.0/12
10. 0011 0000.00000000.00000000/8----10.48.0.0/12
10. 0100 0000.00000000.00000000/8----10.64.0.0/12
10. 0101 0000.00000000.00000000/8 10.80.0.0/12
10. 0110 0000.00000000.00000000/8 10.96.0.0/12
10. 0111 0000.00000000.00000000/8 10.112.0.0/12
10. 1000 0000.00000000.00000000/8 10.128.0.0/12
10. 1001 0000.00000000.00000000/8 10.144.0.0/12
10. 1010 0000.00000000.00000000/8 10.160.0.0/12
10. 1011 0000.00000000.00000000/8 10.176.0.0/12
10. 1100 0000.00000000.00000000/8 10.192.0.0/12
10. 1101 0000.00000000.00000000/8 10.208.0.0/12
10. 1110 0000.00000000.00000000/8 10.224.0.0/12
10. 1111 0000.00000000.00000000/8 10.240.0.0/12
CIDR技术(无类域间路由)
将小的网段汇聚成大的网段
方法:取相同位,去不同位。
满足条件
*母网相同
*掩码一致
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
172.16.0000 0001.0
172.16.0000 0010.0
172.16.0000 0011.0
172.16.0000 0100.0
172.16.0000 0000.0/21---172.16.0.0/21-----子网汇总(汇总后的掩码>主类掩码)
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
192.168.4.0/24
192.168.0000 0001.0/24
192.168.0000 0010.0/24
192.168.0000 0011.0/24
192.168.0000 0100.0/24
192.168.0000 0000.00000000/21--192.168.0.0/21---超网(汇总后掩码<主类掩码)
练习:
10.1.1.0/24
10个网段,但是其中8个网段要求容纳主机数为12台,2个网段容纳22个
ICMP---网络中的哨探
ping
用于检测网络连通性
ping IP地址或www.baidu.com
-a ----指定ping包中的源IP地址
ping -a 源IP 目的IP
-c ----指定发送报文的次数,缺省情况下发送5次
-h ----指定TTL值
tracert
用于逐跳跟踪报文的转发路径