网络就是通过一些特殊的通道把分布在不同地理位置连接起来,从而实现信息的传输与共享
计算机认识的是电流,而不是二进制
计算机的转化过程:
1 应用层(人机交互接口):自然语言······>编码
2 表示层:编码······>二进制数
3 介质访问控制层:二进制数······>电信号
4 物理层:电流的输入输出,cpu计算
对等网:两台计算机有线连接在一起
网络扩大方案
增大距离
信号失真:依靠传输介质(磁场)。可读
信号衰减:······中继器······物理层设备······最多延长五倍传输距离
中继器(放大器;信号加压)提供。能量损失过大导致不可读
正常情况网线一百米内正常传输,每超过一百米需加一个中继器(加压不会百分之百恢复,只能增强)。有中继器(纯物理设备,只能看懂电流)后可演出五倍的传输距离。
增加节点
AP:无线······点
网络拓扑结构
-
总线型:多台电脑连接在一条多芯总线上
优点:信道利用率高; 结构简单;
缺点:同一时刻仅允许两个节点进行通讯
-
环型
优点:增加和删除设备操作简单
缺点:成本高,当某一个节点故障,导致整张网络瘫痪。
运营商网络企业用的比较多
-
星型
使用频率最高的拓扑结构
局域网一般使用星型
优点:信道利用率高,结构简单。
缺点:对中心节点要求高,不允许出现故障(不能断电,性能好,设备属于第三方HUB集线器)。同一时刻仅允许两个节点进行通讯(后续已经解决)
-
全网状
广域网一般使用全网状,互联网属于广域网的一部分
优点:从节点到节点有多条链路可以选择 (有备份)
缺点:结构复杂,成本巨高
HUB
第三方设备,RJ-45接口 集线器,只能看懂电流
功能:转发数据----从某一个接口接收到的数据,向其他所有接口进行数据转发
缺陷:
1.安全问题 因为一个节点给另一个节点发送数据时,其他节点可以接收到
2,延时问题 节点会接收到大量不属于自己的数据信息,即垃圾信息
3.地址问题 :MAC地址(出厂烧录在设备本地,无法改变。由48位 二进制bit组成,前二十四位厂商ID,全球唯一 ,不可被打破。后二十四位产品 。十六进制 AAAA-AAAA-AAAA )
4.冲突问题:CSMA/CD机制(载波监听多路访问/冲突检测)--先听后发,冲突停发,随机延迟后重发
---冲突域:连接在同一根导线上的所有工作站的集合
若解决一下问题即完美
-
网络传输距离无限制
-
完全没有冲突
-
网络中存在单播数据,一对一传输
网桥----(升级版--交换机)
特点:属于二层设备,可以将电流转换为二进制数据,并存储在本地内存中
当收到数据包时会启动自学习功能,且在学习时只看源MAC地址。
-
交换机工作原理:
-
交换机存在MAC地址表,该表单中会记录下MAC地址与交换机接口的对应关系。---老化时间5分钟。交换机基于MAC地址表进行数据转发
-
当A给B发送数据时,该数据来到交换机0号接口,交换机会记录下A······>0的对应关系。然后查看目的MAC地址,并与MAC地址表进行对比
1.若MAC地址表中存在B的记录关系,则按照记录关系进行单播数据转发
2.若MAC地址表中不存在B的记录关系,则进行洪泛操作(除流量进入接口外的所有接口复制转发流量)
-
交换机中,一个接口可以对应多个MAC地址,但一个MAC地址只能对应一个接口
-
一般我们将仅仅依靠交换机连接的网络称为交换网络----交换网络最大连接终端数不超过200个
网桥----(升级版---交换机)
在网络当中数据传输是双向通讯 即接收者必须要回复
路由器(三层设备)
广播域:一个数据包的洪泛的范围大小
路由器的接口就是广播域的边界
-
隔离广播域 -----路由器的一个接口就是一个独立的广播域
-
转发数据--依靠路由表进行数据转发
依靠交换机转发数据----同广播域
借助路由器转发数据----跨广播域
PC端称为普通计算机
交换机和路由器属于专用计算机
路由器也可发送ARP请求报文
IP地址---逻辑地址
IPv4:32位二进制组成,点分十进制(给人看的)。
IPv6:128位二进制组成
IP=网络位+主机位
-
网络位--表示该IP所在网段(区域)
-
主机位---表示该区域中的主机编号
192.168.1.1
每一段八位二进制
1===128
1===64
1===32
1==16
1==8
1==4
1==2
1==1
二进制转十进制
:11000010=2+64+128=194
十进制转二进制
:223==11011111
223-128=95,1。
95-64=31,1。
31-32减不掉,0。
31-16=15,1。
15-8=7,1。
7-4=3,1。
3-2=1,1。
1-1=0, 1。
掩码
组成:32位二进制,由连续的1+连续的0组成。使用点分十进制表示。
掩码的每一位比特位都与IP地址相对应,其中掩码的1对应的IP地址的比特位即为网络位
交换机只能看懂MAC地址,无法看懂IP地址
IP不是路由器的是路由器接口的
网关就是路由器的IP地址
同广播域转发更依靠MAC地址,跨广播域转发依靠IP。因为IP逻辑地址可以改变
交换机遇到ARP请求报文 目的MAC地址为FFFF-FFFF-FFFF 则无条件洪泛
ARP应答报文
ARP缓存表 ----老化时间三分钟
ARP协议---地址解析协议
原理:根据已知的地址来获取未知的另一个地址信息。
ARP缓存表---->其中记录着MAC地址和IP地址的对应关---->老化时间180s(在网络设备中)
ARP分类
-
正向ARP--通过IP地址获取MAC地址(网络中最常见的)
-
反向ARP--通过MAC地址获取IP地址
-
免费(无故)ARP---冲突检测和自我介绍
ARP缓存表中 动态地址类型通过ARP请求报文申请来的
静态地址类型是管理员写 的
MAC地址表和ARP缓存表的区别
ARP缓存表(180s)在两种情况下会记录:自己主动申请和别人发来的都会记录
MAC地址表(300s)接收一个数据就会记录一个数据
OSI参考模型
--OSI/RM--开放式系统互联参考模型
ISO提出; 先有模型再有协议
第一列为TCP/IP 的标准模型
第二列为TCP/IP的对等模型
第三列的上三层没有对数据进行改变;下四层会把数据进行增加
OSI参考模型
顺序不能错
-
应用层:用于接受用户数据,是人机交互的接口
-
表示层:逻辑语言----->机器语言;加密,解密。统一格式
-
会话层:针对于传输的每一种数据建立单独连接通道(防止数据之间相互干扰)
上三层:控制层面 (不更改数据本身)
下四层:数据层面(可更改数据内容)
-
传输层:TCP,UDP----->端口号
-
网络层: IP协议--->进行逻辑寻址(IP地址属于逻辑地址可更改)
-
数据链路层:两个层面--->逻辑链路控制层LLC ----->介质访问控制层MAC
-
物理层:定义一些物理特性---->电气电压,接口规范,比特流等
在OSI中这七层有上下关系,无法跳跃传播
报文封装与解封装
PDU---协议数据单元(数据,段,包,帧,比特)
上三层-----数据,
传输层----段,
网络层---包,
数据链路层---数据帧,
物理层----比特流
TCP/IP
美国国防部提出; 先有协议再有模型
物理层
设备:中继器,集线器(HUB)
传输介质
-
同轴电缆---最早期使用
10M
-
双绞线
传输的是电信号
RJ-45水晶头 (常用网线的接口) RJ-11(电话座机)
最早由八根线同时使用,因为有冲突的存在经改良后,只有四根线(1,2,3,6)在使用。1和3是一组。2和6是一组。若1,3发数据,2,6接数据,则对端是相反的1,3接数据,2,6发数据。实现了物理隔离就没有所谓的冲突
屏蔽双绞线,非屏蔽双绞线
类型--->1,2,3,4,5(100兆),超5,6(1000兆),超6,7(10000兆),8类
1,2,3,4没人用了
超5(速率能也能达到1000兆,但是传输频率不如超6),超6和5,6.最常用
做网线一般使用5类线和超5类线
家用5类线
6类,7类,8类线单位节点内所携带的数据量更高,即电流更大。故此三类线的铜轴更粗
-
光缆
传输光信号
企业使用的光纤线有两个根(或多根),其中一根(或多根)做备份。
单模传播的是单光源;多模传播的是多光源
单模传播距离更远,但多模的传播速率更快
长距离传输或传输速率要求较高的地方使用光纤线,而正常情况下使用网线
双工模式
-
半双工-----通信双方都能发送和接收数据,但是不能同时进行---对讲机
-
全双工-----通信双方都能同时发送和接收数据---电话
同一物理链路连接的设备双工模式必须一致
线序---双绞线
-
568A:将568B中的线序 1/3和2/6对调
-
568B----橙白,橙;绿白;蓝,蓝白;绿;棕白,棕
数据链路层
设备:交换机,网桥
MAC地址属于数据链路层
链路类型
-
局域网-----以太网
-
广域网-----PPP, HDLC, FR
数据帧
D.MAC---目的MAC S.MAC---源MAC
0×0800----- 代表 IP 协议
0×0806 -----代表 ARP协议
FCS 帧校验序列(CSC):验证前面序列的完成性
帧的发送方式
-
单播----- 一对一发送数据
-
广播----- 一对所有发送数据,不能作为源地址
-
组播----- 特殊的广播(只能作为目的地址使用),一对一组
网络层
有类分址
A---0xxx xxxx---0.0.0.0-127.255.255.255---掩码为8 真实可使用的范围1-126 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---保留地址(科研地址,军工等)
1.1.1.1为A类
1.0.0.0/8 称为网段
特殊地址
-
主机位全0的地址 ----网段地址
-
主机位全1的地址 ----定向广播地址
-
0.X.X.X--->无效地址 -----> 0.0.0.0(1,代表所有IP; 2,代表本地没有IP)
-
127.X.X.X--->本地测试地址
-
169.254.0.0/16---本地链路地址
私有地址
用于局域网内部,而在互联网和广域网上的所有地址属于公有地址不允许重复。私网内部私有地址也不能重复,重复性体现在。例如两个学校使用同个网段192.168.1.0/24(网段重复了),但学校内部不重复。
-
A类: 10.0.0.0-10.255.255.255
-
一个地址段 (10.0.0.0/8一个网段)
-
-
B类:172.16.0.0-172.31.255.255
-
十六个地址段 (172.16.0.0/16 或 172.17.0.0/16 或 172.18.0.0/16等)
-
-
C类: 192.168.0.0-192.168.255.255
-
256个地址段
-
公网地址=单播地址-特殊地址-私有地址
每一个公有地址都要购买,一个公有IP有上万个人在使用
IP协议报文头部
DS Field:服务类型字段,1字节大小
IP Options 选项字段(需要时可填充)
Total length:整个报文的长度(图中的IP头部加上Data的部分),4字节
Header length:IP头部的长度,4字节
标志位:3bit(0:DF(若为1则代表未分片;若为0则代表分片) :MF(若为0则代表最后一片))
分片:若有个5000个字节的报文而MTU就会把它们分为0-1479的多个片。
每一个报文都有IP头部的分装1480个字节,每个报文都有标识(是一个数值)。
偏移量=1480➗8
TTL--生存时间(最大值为255,一旦数值为0则数据包被丢弃;每经过一个路由器,数值减一) 限制数据包的传输范围
Protocol:协议字段
对应关系: 6-----TCP协议 17---UDP协议
Header Checksum:头部校验和 ,计算整个头部的数据完整性,不包括数据包
1KB=1024字节 1字节=8比特
MTU---最大传输单元(数据包)---在以太网中,该数值为1500字节,即一个数据包最大1500个字节。
一个数据包=IP头部+传输层(TCP,UDP的头部)+真实数据 传输层+真实数据最大为1480
传输层
端口号:0-65535
-
静态端口---1-1023(常见的协议使用)
-
动态端口---1024-65535
静态端口常见协议: http----80-----www代理服务----8080 ssh----22 telnet---23 ftp---20/21 dns-----53
1024-50000 其中的端口称为注册端口
TCP协议----传输控制协议
TCP协议是一种面向连接的可靠传输协议
面向连接:建立专门的通道
无面向连接:自由通道
Source Port:源端口 Destination Port:目标端口 Sequence Number:序列号
Acknowledgment Number:确认序列号
ACK:确认报文
SYN:建立连接
FIN:断开连接
Window:窗口大小,可靠协议中的一些机制
Checksum:校验TCP头部的完整性
可靠性
-
确认机制----每接收到一个数据段,都需要进行一次确认
-
此处的Ackeq有两层意义:此时已经接收到了seq=x的报文;希望接收到的下一个报文为seq=x+1。
-
重传机制
-
排序机制:依靠序列号
-
滑动窗口机制---流控机制
-
Window窗口大小----指无需等待确认就可以连续发送的数据的最大量
-
滑动窗口的好处: 1.接收方一组报文确认一次;2.可以控制流量流速
B的窗口大小为4000字节,此时A发送一组报文,若第三组报文丢失,则B会发送对应的第三组报文Ackeq=丢失的Seq向A索取,而后发送最后的Ackeq=x+4001的报文。
TCP分段依靠MSS(最大传输段)实现, 其最大值为 :MSS=MTU-IP头部的大小=1480-TCP头部的大小=1460
若存在TCP分段,则IP层面不允许分片
面向连接
建立通道时:主动的是客户端,被动的是服务端 数据正常收发过程中没有分别
三次握手
第一次握手:
客户端主动发送建立通道申请给服务端(单向:客---->服):
客户端第一个发送的报文中的Seq=x(X由客户端随机),建立通道请求SYN=1;数据大小DATA=0.
若客户端发送的报文丢失或延时,会重传该报文
第二次握手:
服务端给客户端发送应答报文,表示收到并同意建立单向通道(服---->客)
服务端第一次应答的报文中Ack=Y(Y由服务器随机),确认序列号Ackeq=x+1; 确认标记为ACK=1,建立通道请求SYN=1
第三次握手:
客户端给服务端发送应答报文,
客户端 序列号为Seq=x+1;确认序列号Ackeq=Y+1;确认标记为ACK=1;(客---->服)
若服务器没收到客户端的应答报文,但收到客户端的消息。可以主观的认为双向通道已经建立
三次握手中
-
若第一个报文丢失后:客户端重传第一个报文,服务端不做操作
-
若第二个报文丢后:客户端重发第一个报文,服务端重发第二个报文。但会出现一个问题:当服务端重传第二个报文后,客户端重传的第一个报文接踵而至,服务端又会重传第二个报文,此时已经发送了两个第二个报文。若客户端建立了连接通道,不会回复。反之会回复
-
若第三个报文丢后:服务端重发第二个报文,客户端不做操作
四次挥手
第一次挥手:客户端给服务端发送请求释放连接的报文FIN=1,序列号Seq=w(不是随机数) (客----->服)
第二次挥手:服务端给客户端发送确认报文 ACK Ackeq=W+1(释放请求中没有数据所以+1),Seq=V(不是随机数) (服----->客)
第三次挥手:服务端给客户端发送请求释放报文 FIN=1 , Seq=U(随机数,因为是服务端第一次主动发送给客户端的第一个报文),ACK=1,Ackeq=W+1。(服--->客)
第四次挥手:客户端回复服务端确认报文 ACK=1,Ackeq=U+1(第二个报文属于确认报文,所以不是W+1。确认报文不需要回复) Seq=W+1(客--->服)
第二个报文和第三个报文不可合并的原因:服务端的数据可能没有发送完毕,只是客户端的发送完而已
第二个报文用于确认和客户端断开连接。第三个报文有两层意思:断开服务端与客户端的连接;二次确认第一个报文(因为第二报文可能会丢失)。
四次挥手中:
重传:是自己判断报文丢失后的操作(主动) 重发是被动
-
第一个报文丢后:客户端重传,服务端不做操作
-
第二个报文丢后:客户端重传,服务端不做操作
-
第三个报文丢后:服务端重传,客户端不做操作
-
第四个报文丢后:服务端重传,客户端等待重传
MSL:一个数据包在网络当中所传输的最大时间(2分钟) 2MSL:等待服务端的重传
-
若连接建立完成后,客户端故障后,在TCP中的计时器会开始2h的倒计时,倒计时完成后服务端发送10次探测报文尝试客户端回复(每75分钟发送一次),若10次客户端都没有回复,连接断开
UDP协议----用户数据报协议
是一种非面向连接的不可靠传输协议
源端口和目标端口 ,总共8字节
TCP和UDP 的区别
最大的区别:TCP是面向连接,UDP是非面向连接
TCP是可靠的传输协议, UDP是不可靠的传输协议
TCP有一个流控机制可以控制流量传输大小,而UDP不行。
TCP用途:传输一些不可拆分的数据。 UDP用途:传输数据量非常大,丢失一些并不会对用户产生影响的数据
TCP具备分段机制 ,UDP没有,意味着UDP报文的IP层面可以分片,而TCP不能分片,但可以分段。
VLSM
----可变长子网掩码技术(学名)-----子网划分**(俗称)
子网划分的目的:防止IP地址的浪费
192.168.1.0/24 思路:从主机位借位到网络位。 被借位的主机称为子网位 192.168. 0 000 0000/25------192.168.1.0/25 192.168. 1 000 0000/25------192.168.1.128/25 网络位 子网位 主机位 网络位和主机位表示成网段的时候不能变, 11000000.10101000.00000001.00000000 11000000.10101000.00000001.10000000 11111111.11111111.11111111.10000000 192.168.1.128/25-1.255此时的1.128IP地址不可用,掩码为25刚好卡在主机位全0 一个网段代表一个广播域 192.168.1.0/24 此时某公司需要五个广播域 子网划分时需要借3位,因为2的n次方≥5 n=3 192.168.1. 000 00000/27 -------192.168.1.0/27 192.168.1. 001 00000/27 -------192.168.1.32/27 192.168.1. 010 00000/27 -------192.168.1.64/27 192.168.1. 011 00000/27 -------192.168.1.96/27 192.168.1. 100 00000/27 -------192.168.1.128/27 192.168.1. 101 00000/27 -------192.168.1.160/27 192.168.1. 110 00000/27 -------192.168.1.192/27 192.168.1. 111 00000/27 -------192.168.1.224/27 ---一共八个网段 1.31---00011111主机位全1该IP地址不能用 1.64---00100000主机位全0该IP地址不能用
CIDR
----无类域间路由---子网汇总
无类别域间路由 (CIDR) 是一种 IP 地址分配方法,可提高互联网上的数据路由效率。每台连接到互联网的计算机、服务器和最终用户设备都有一个与之关联的唯一编号,称为 IP 地址。设备通过使用这些 IP 地址相互查找和通信。组织使用 CIDR 在其网络中灵活高效地分配 IP 地址
思路:取相同位;去不同位。 举例:172.16.1.0/24 172.16.14.0/24 172.16.35.0/24 172.16.99.0/24 172.16.0000 0001.0/24 172.16.0000 1110.0/24 172.16.0010 0011.0/24 172.16.0110 0011.0/24 172.16.00000000 00000000/17---->172.16.0.0/17 子网汇总:汇总后的掩码大于主类掩码 超网:汇总后的掩码小于主类掩码 192.168.1.0/24 192.168.2.0/24 192.168.0000 0001.0/24 192.168.0000 0010.0/24 192.168.0.0/22 超网