*对等网*
应用层----抽象语言→编码
表示层-----编码→二进制
介质访问控制层------二进制→电信号
物理层-----处理电信号
*对等网面对的问题*
*1.增加网络节点数(难解决)*
星型拓扑-----集线器(hub)
集线器面对的新问题
地址问题:使用MAC地址---由48位二进制,前24位由厂商标识,后24位由给厂商自己为自己的商品标识,MAC地址是物理地址
冲突问题:CSMA/CD----冲突检测----核心思想:排队
[冲突问题] 不能完全解决
安全问题
延时问题
[以上两个问题] 相比起来没有前面的重要
*2.延长传输距离(容易解决)*
出现的现象:信号衰弱,信号畸变(波形失真)----放大器(可以延长5倍)
[放大器] 信号衰弱可以缓解,不能无限延长距离,原因:虽然能使信号变强,但同时也能将失真的信号变强。
[地址类型] 分为两大类:一类是物理地址-----不可变------MAC,还有一类是逻辑地址----可变----IP
*交换机:二层设备*
*解决的问题*
1.无限延长传输距离
2.完全解决冲突(所有节点可以同时收发数据)
3.实现单播(一对一)
4.可以增加端口密度
*交换机的工作原理*
可以将电信号转换为二进制,再将二进制转为电信号,以此来将电信号先转换为二进制保存下来,以防电信号畸变
数据包来到交换机,交换机会先看数据包中的源MAC地址,将源MAC地址和进入接口的对应关系记录在本地MAC地址表。
之后,看数据包中目标MAC地址,根据 目标MAC地址查看MAC地址表,如果MAC地址表中存在记录,则直接按照记录转发,实现单播。如果没有记录,则进行泛洪。
[泛洪] 除了进入的接口外,剩余的所有接口都发送一遍
[泛洪范围] 一个交换机泛洪则全部交换机都会泛洪
[交换机的MAC地址表] 一个接口可以对应多个MAC地址,一个地址只能对应一个接口
[MAC地址表的老化时间] 300s
*路由器:三层设备*
应用层----抽象语言→编码
表示层-----编码→二进制
网络层
介质访问控制层------二进制→电信号
物理层-----处理电信号
*路由器的作用*
1.隔离泛洪范围(路由器的一个接口对应一个泛洪范围)
2.转发
*两种通信方式*
1.跨范围通信(不在一个交换机上通信,依靠交换机和路由器通信)
2.范围内通信(在一个交换机上通信,依靠交换机通信)
*IP地址(逻辑地址:可变)*
IP----互联协议,为了区分路由器连接的不同范围
IPv4---由32位构成---采用点分十进制分成4段
IPv4=网络位+主机位
IPv6---128位二进制构成
*子网掩码*
255.255.255.0---32位里有24位1,1对应网络位,0对应主机位
可表示如:192.168.118.34/24,后面那个24指子网掩码为255.255.255.0
*广播地址*
全F
作用是逼交换机泛洪,广播域就是泛洪的范围
[广播泛洪和交换机泛洪的区别] 在于主动和被动,广播泛洪是主动,交换机泛洪是被动
*ARP协议----地址解析协议*
[ARP协议出现的原因] 交换机是通过MAC地址来找寻对应的pc,但是在路由器的范围内,是通过IP地址来找寻对应的pc
作用:通过一种地址获取另外一种地址
*ARP协议的工作原理*
ARP发送广播报文进行请求,所有收到广播报文的pc都会将源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中,之后再看看请求的IP地址,如果不是本地的IP地址,则直接丢弃数据包;如果是本地的IP地址,则回复arp应答报文,之后,在数据的传输中,优先查看arp缓存表,如果表中存在记录,则直接按照记录转发。如果没有,则再发送arp请求报文。
[查看缓存表的方法:] 命令行界面arp -a
arp的老化时间----180s
*arp欺骗*
在arp请求的时候,有别的pc冒充------一种窃听行为的欺诈
*arp协议分类:*
正向arp:通过IP地址获取MAC地址
反向arp:RARP,通过MAC地址获取IP地址
免费arp:利用正向的arp的工作的原理,只不过请求的IP地址是自己本地的IP地址------1.相当于自我介绍 2.检测地址冲突
*IPv4地址分类:A,B,C,D,E*
*A,B,C类地址*
单播地址----既可以做源IP使用也可以做目标IP地址使用
单播----一对一通信
A类----0xxx xxxx----0~127
B类----10xx xxxx----128~191
C类----110x xxxx----192~223
*D类地址*
组播地址----只能做目标IP地址使用
组播----一对多
D类----1110 xxxx----223~239
*E类地址*
保留地址
E类----1111 xxxx----240~255
[广播地址的特点] 一对所有
*特殊的IP地址*
127.0.0.1 - 127.255.255.255 ------- 环回地址:用来自检和测试
255.255.255.255 ------ 受限广播地址,只在自己广播域内转发(受路由器的限制)
主机位全1----直接广播地址,路由器转发,跨区域转发----只作为目标IP地址使用
主机位全0-----网段或者网络号,指一个范围
0.0.0.0 --- 1.可以代表没有地址;2.可以代表所有地址
169.254.0.0/16-----代表一个网段(169.254.1.1~169.254.255.255),自动私有地址/本地链路地址
*VLSM---可变长子网掩码*
将172.16.0.0/16分成8个网段
• 172.16.0.0/19 172.16.0.1~172.16.31.254
• 172.16.128.0/19 172.128.1~172.16.159.254
• 172.16.192.0/19 172.16.192.1~172.16.223.254
• 172.16.224.0/19 172.16.224.1~172.16.255.254
• 172.16.64.0/19 172.16.64.1~172.16.95.254
• 172.16.96.0/19 172.16.96.1~172.16.127.254
• 172.16.32.0/19 172.16.32.1~172.16.63.254
• 172.16.160.0/19 172.16.160.1~172.16.191.254
*CIDR---无类域间路由*
方法:“取相同,去不同” ----针对二进制
[目的] 查看几个IP地址在那个网络域
例子:
192.168.0.0000 0000
192.168.0.0000 0001
192.168.0.0000 0010
192.168.0.0000 0011
192.168.0.0/22
*OSI/RM ---- 开放式系统互连参考模型*
ISO --- 国际标准化组织
核心思想-----分层/分治
应用层----抽象语言→编码
表示层-----编码→二进制
会话层----维持网络应用和服务器之间的会话联系(不一定有,取决于应用)
传输层----端到端的传输---端口---用来区分和标定不同应用---16位二进制构成---0~65535 --- 其中1~1023为知名端口号
(常见端口号:http---超文本传输协议--80,https---http+ssl/tls(安全传输协议)---443,dhcp---动态主机配置协议---53,ftp --- 文本传输协议 --- 21或20,tftp---简单文件传输协议----69,dns---域名解析协议---53,telnet ---- 远程控制协议----23,ssh --- telnet + ssl/tls---22)
网络层----基于IP地址形成一个逻辑寻址
数据链路层----介质访问控制层(MAC),LLC(逻辑链路控制层)
物理层-----处理电信号
*TCP/IP模型----TCP/IP协议簇*
[协议和模型的关系] 先有协议再有模型
TCP/IP的两种模型
TCP/IP标准模型(4层)
1.应用层
#将osi参考模型中的应用层和会话层还有表示层合成了应用层
2.传输层
3.网络层
#和osi有区别,osi是network,针对所有的网络类型,tcp/ip是互联网层 internet(主要包含IP协议)
4.网络接口层
#将osi的数据链路层还有物理层合成了网络接口层
[osi和TCP/IP两种模型的区别]
*TCP/IP对等模型(5层)*
1.应用层
2.传输层
3.网络层
4.数据链路层
5.物理层
*PDU----协议数据单元*
L1PDU
L2PDU
....
L7PDU
*5层数据模型单位*
应用层---报文
传输层--段
网络层--包
数据链路层---帧
物理层---比特流
*封装和解封装*
任务:为了把某一层的的数据添加到信息中
应用层-----是否封装取决于应用的协议
传输层-----要把端口号添加到信息内---还是取决于协议,最重要的两个协议TCP/UDP
网络层----IP地址----IP协议
数据链路层----MAC地址----以太网协议
物理层----是处理电信号,不用封装
[注意] 主要由协议决定是否封装
*以太网Ⅱ型帧*
destination address----DMAC
source address --- SMAC
type----上层使用的协议类型,对于解封装十分关键
FCS----帧校验序列----检验数据的完整性----CRC循环冗余算法
preamble---前导符,为了查看哪里是完整的数据帧
[信息里有前导符怎么办] 会自动有转义字符
*TCP/UDP*
TCP适用于可靠性高效率低的场景,UDP适用于可靠性要求较低,效率高的场景1,TCP是面向连接的协议,UDP是无连接的协议
#面向连接:在正式传输数据之前,适用预备协议建立点到点的连接(建立一 个双向会话)
#无连接:不建立会话
2,TCP协议传输时可靠的,UDP协议的传输“尽力而为”
3,TCP可以实现流控(流量控制),UDP不行
4,TCP可以分段,UDP不行
5,TCP的传输速率较慢,占用资源较大,UDP传输速率快,占用资源少
#TCP和UDP的应用场景:TCP适用于可靠性高效率低的场景,UDP适用于可靠 性要求较低,效率高的场景
[TCP和UDP特点的记忆图]
[什么是面向连接] 在正式传输数据之前,适用预备的协议建立点到点的连接
*TCP协议头部---最短20字节*
#可变长头部
URG---紧急标记位,对应紧急指针,优先处理的数据
ACK---确认标记位,激活确认序号
PSH---分段,不在缓存区内,直接处理的数据
RST
SYN---请求建立连接
FIN---断开连接
检验和---确保数据的正确和完整性
窗口大小---为了流控
*UDP头部----8字节*
TCP三次握手:建立连接的过程
TCP四次挥手:连接断开的过程
三次挥手还是四次挥手取决于A,B他们的数据是否发完
有可能A发完之后,B还有数据要发
FIN之后的ACK不代表面向连接全部断开,只是不再发送数据
[TCP可靠性保证的特点] 确认,重传,排序,流控
[流控] TCP协议在建立TCP连接之后,会建立一个缓存区,将数据包收集齐,排好序之后陆续处理,由于每次传输之后都要接收确认,为了提高效率------一次多发几个数据包,一次性确认,流控就是为了控制每次发的数据量----滑动窗口。