一.网络基础
1.什么是网络?
网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。
2.网络基础
基本工作原理:抽象语言---电脑(加工)----二进制---抽象语言
应用层:
跟人进行交互(人机交互)--我们给他输入抽象语言-----编码--后台程序
表示层:
将“编码”--转化为电脑可以识别的二进制
介质访问控制层:
将二进制转换为电信号
物理层:
处理电信号
3.人类最早的网络----对等网
随着时代的发展,人们有更多的需求,于是有增大网络的两种手段:
1.人数增加---节点增加
2.使用距离延长---距离增加
网线---RJ-45双绞线 (最长距离100M)
线长过长,会导致波形失帧,用一下拓扑方法来进行加帧 :
直线型拓扑(总线型拓扑)
环型拓扑
树状拓扑
波环型(全网状)拓扑
星型结构
节点增加---HUB集线器
会有安全,地址,延时,冲突等问题
地址------唯一 格式相同 MAC地址 48位二进制构成以16进制显示
冲突 ---解决方案:CSMA/CD 载波侦听多路访问/冲突检测机制
机制解析:
- 首先使用监听功能,当发现有消息在传播时,停止自身发送,进行监听排队,随时准备进入下一个阶段
- 当前消息完成,监听到完毕状态后,立刻发送。
- 当消息相撞时,会互相给彼此发送一个阈值,因为是随机发送,所以会有大小区分,达到阈值时发送消息,这样就规避了冲突的问题。
结论:虽然解决了一定的冲突问题,但是大大增加的了延时。
提高要求:
- 无限的传输距离
- 没有冲突---所有节点均可同时收发消息
- 形成单播 --- 一对一的数据传输
4.网桥---------交换机
交换机--------工作在介质访问控制层
- 无限的传输距离-----读写功能,相当于重新写信
- 没有冲突-------交换机可以转换电流并储存二进制数据
- 形成单播------运用转发储存的原理,储存一批转发一批,实现一对一的识别一对一的发送。
速率公式:约等于(带宽/8)85%
交换机的工作原理:
- 当数据帧进入交换机之后,交换机会先查看数据的源MAC地址,之后将该数据进入的接口与MAC地址映射到本地的MAC地址表中;之后查看目标MAC地址,根据目标MAC地址查询本地MAC地址表,若存在记录,将直接从该表所记录的接口进行发送。
- 若没有目标MAC地址接口记录,则泛洪该数据。
泛洪:除了进入的接口之外,转发给所有其他的接口
MAC地址表的老化时间:300s
5.ip
互联网协议----使用地址---IP地址
ip:逻辑地址 临时使用 在某个范围内使用的地址
IPV4地址:32位二进制构成 存在网络位和主机位的区分;网络位用于标识所在的范围;选用点分十进制表示。
子网掩码:通过连续的1和连续的0构成,连续的1所在位置即为网络位,连续的0即为主机位。
6.ARP协议:
ARP:地址解析协议:通过一个地址找到另一个地址
过程:源IP MAC 出去, 目标, 全F 广播发送
广播域:泛洪区域
广播:在一个泛洪范围内,迫使交换机将一个数据进行泛洪
ARP缓存表老化时间:180s
免费ARP:无故ARP 不同于一般的ARP请求,它并非期待的想要得到MAC地址或者IP地址,而是当主机启动时,发送一个免费ARP包,请求自己的IP地址和MAC地址。 一般情况下就两个作用 1.验证IP是否冲突 2.更换物理网卡
7.ipv4地址
32位二进制构成 存在网络位和主机位的区分;网络位用于标识所在的范围;选用点分十进制表示。为了方便人看,所以采用8位一分形式。
子网掩码:
通过连续的1和连续的0构成,连续的1所在位置即为网络位,连续的0即为主机位。
IPV4地址:使用子网掩码进行网络位和主机位的区分
存在ABCDE五类地址:
ABC类为单播地址 D类为组播地址 E类为保留地址
ABC类为单播地址----既可以当做源IP使用,也可以当做目标IP使用,每一个单播地址都标识着一个唯一的节点;只有单播地址可以作为源IP。
D类:为组播地址----只能作为目标IP使用
E类
基于IP地址的第一个8位进行分类:
A类:1-126 前8位为网络位
B类:128-191 前16位为网络位
C类:192-223 前24位为网络位
D类:224-239 不分网络位和主机位
E类:240-255
A类地址地址子网掩码:255.0.0.0
B类地址地址子网掩码:255.255.0.0
C类地址地址子网掩码:255.255.255.0
特殊地址:
一: 127 环回地址 127.0.0.1-127.255.255.255
用作排错历程分析
二:255.255.255.255 受限广播地址
三:主机位全0
192.168.1.0 255.255.255.0 不是单播地址,不能被设置为IP地址,代表一个网段。 网络号
四:主机位全1
192.168.1.255/24 不是单播地址,不能被设置为IP地址,
直接广播地址
五:0.0.0.0 代表没有地址 代表所有地址
六:169.254.0.0/16 本地链路地址 自动私有地址
二.OSI七层模型与网络协议
1.OSI七层模型
OSI/RM------开放式系统互联参考模型
数据链路层:介质访问控制层MAC+逻辑链路控制层LLC
逻辑链路控制层LLC:对数据惊醒校验,只保障数据完整性;同时增加FCS(校验核),校验数据完整性。
应用层:抽象语言----编码
表示层:编码---二进制
网络层:IP 互联网协议
数据链路层:介质访问控制层MAC+逻辑链路控制层LLC
物理层:物理硬件
应用层 表示层 会话层:都是对数据进行加工处理的
传输层 网络层 数据链路层 物理层 :对数据的运输 到达对端做出工作
会话层:提供会话号,同软件不同进程的程序在同时接收发消息时,他们会拥有相同的IP地址MAC地址,此时,就需要会话层分别给予不同的会话号去区分。
传输层:TCP/UDP 1.分段(受到MTU限制)2.端口号
- MTU:最大传输单元 默认1500字节
分段:当数据包过大时,连续发送可能会使数据在传输途中插入别的数据造成损坏,所以需要对数据包进行分段处理,从而保证数据包的完整性。
- 端口号:使用电脑可能会同时访问多个服务器,这多个服务器在进行回复的时候,回复目标都是相同IP/MAC,为了不分配错误,所以在该程序启动时,电脑会在1024-65535随机分配端口号给这个程序,在服务器回包时也会带着这个端口号,这样电脑就能做出正确的数据分配。
端口号:0-65535 1-1023 注明端口 1024-65535高端口/动态端口
TCP/IP 协议簇
1.分层不均 2.分层太多
PDU:协议数据单元 对不同层封装的数据单元标识
应用层-----数据报文
传输层-----数据段
网络层-----数据包
数据链路层------数据帧
物理层------比特流
TTL:生存周期
最大255 推荐64 常见128
以太网II型帧
封装/解封装
HTTP tcp 80 超文本传输协议
HTTPS TCP 443 (HTTP+SSL(TLC)) 安全传输协议
FTP tcp 20/21 文件传输协议
TFTP udp 69 简单文件传输协议
Telnet tcp 23 远程登录标准协议
SSH tcp 22 安全外壳
DNS UDP/TCP 53 域名解析协议
DHCP UDP 67/68 动态主机配置协议
2.TCP----传输控制协议----面向连接的可靠协议
在完成了传输层的基本工作的同时,还需要保证传输的可靠性。
面向连接---3次握手 4次挥手 建立端到端的虚链路
SYN:发起一次连接,并告知自身状态 ACK:标识确认
特殊情况:RST重连 TCP 严重错误并重连 FIN 断开
PSH 紧急加收 URG紧急指针
四次挥手:
可靠性----4种可靠性机制-------确认 排序 重传 流控(滑动窗口)
UDP-----用户数据报文协议------非面向连接的不可靠协议 仅完成传输的基本工作--分段 端口号
TCP与UDP的区别
IP的包头
TCP的分段和IP的分片
IP分片的原因:受到二层 数据链路层 MTU的限制,最大传输单元不能超过1500字节
数据到达网络层大于MTU则会分片,为了提高传输效率减少分片,TCP在装载数据时如果能做到封装后的数据不引起三层分片则是一种最佳选择,MSS值的目的就是基于双方的MTU协商出一个最大传输承载长度。