OSI(Open System Interconnection)七层模型
-
物理层:传输介质(同轴电缆,光纤,双绞线/网线,串口线,无线电波,电)
-
数据链路层:MAC
-
网络层:IP,ICMP,ARP
-
传输层:TCP/UDP
-
会话层:建立、管理会话
-
表示层:加密等
-
应用层:电脑端的应用
TCP/IP模型:
- 网络接口层:–Frame/祯+Bit/比特
- 网络层:单位–Packet/数据包
- 传输层:单位–Segment/段
- 应用层:单位–PDU单位
传输介质:
网线/双绞线:传输距离上限–100米
同轴电缆:现不多见,之前的有线电视就是用的同轴电缆
光纤:传输距离在300米~2000米左右
▲-----光纤----》光猫(将光信号转换为数字信号)—1000M—本地Router(WiFi的话分为2.4G和5G两个频段)
串口线:用于接入广域网/互联网
无线电波:2G/3G/4G/5G
▲:不同的传输介质:线路编码方式不一样,传输速率和传输距离等也不一样
冲突域:在一个范围,任何时刻只能由一台设备发送或者接受
▲一个冲突域里面的设备越少越好
双工模式:半双工(对讲机)和全双工(打电话)
▲全双工比半双工好
以太网/局域网/LAN:
广域网:WAN
帧格式:
- Ethernet_Ⅱ
- IEEE802.3
▲若目标的mac地址为FF-FF-FF-FF-FF-FF则为广播包
IP协议:
TTL:用于防止路由循环,max=255
▲电脑而言默认的TTL值为128,服务器、路由器而言默认TTL值为64
127.0.0.0-127.255.255.255—loopback地址表示自己的电脑
0.0.0.0—代表全网
255.255.255.255—代表全网广播
变长子网:充分利用IP地址
无类域间路由/CIDR:聚合子网,减少路由器的负载
互联网控制消息/ICMP协议:
作用:用于收集各种网络信息、诊断和排除各种网络故障等引起的故障
▲依赖IP协议
ICMP重定向
ICMP差错检测:ICMP Echo Request(type=8;code=0)----ICMP Echo Reply(type=0;code=0); cmd上的ping命令即为ICMP差错检测(该命令返回的是Echo Reply包)
▲tracert/tracerouter:ping命令的升级版,可以准确的显示路由器的跳转信息([-d]参数能设置不解析主机地址,一定程度上能加快速度)
▲202.97.X.X–为中国的骨干网
ICMP 差错报告
数据包格式:
tracert的原理:
- tracert故意设置数据包的TTL值为1,然后开始发送
- 第一台路由器收到该包后进行TTL的减一计算,得出判断并舍弃该数据包
- 第一台路由器随后发送丢弃数据包的回应(type=0;code=1)
- 此时tracert收到这条命令就知道这是第一台路由器了
- 之后故意设置数据包的TTL值为2
- …
- 当到达目的地设备/终端设备(PC/Server)时,因为TTL值不会减一,故能得到该信息;但是会返回消息:UDP端口不可达
原理概况:利用了TTL和UDP端口不可达
ARP:
位置:处于OSI第二层和第三层之间 || 第二层 || 第三层(似乎有很多说法,一般认为在第三层)
作用:将IP地址解析成mac地址
▲ARP是个广播包,而路由器不会转发广播包的,因此ARP报文不会穿越路由器
步骤:
- 发送arp请求包(源mac和源ip为本机的mac和ip;目标mac为00-00-00-00-00-00;目标ip为广播地址ip;操作类型为request)(在第二层的以太网/链路层数据报上的目标mac填写成ff-ff-ff-ff-ff-ff)(为广播包)
- 发送arp相应包(源mac和源ip:本机的mac和ip地址;目标mac和目标ip:发送arp请求包的机器的mac和ip地址;操作类型:reply)(不为广播包)
▲cmd中键入arp-a----显示本机的arp缓存表
DHCP:
报文类型:
- DHCP DOSCOVERY:第一步,用于寻找DHCP服务器(若不能发送,则检查"DHCP Client"服务)
- DHCP OFFER:第二步,DHCP服务器用来相应DHCP DOSCOVERY报文,该报文携带了各种配置信息(若收不到,则检查路由器的配置)
- DHCP REQUEST :第三步,客户端请求配置确认,或续借租期
- DHCP ACK:第四步,服务器对REQUEST报文的确认相应
- DHCP NAK:服务器对REQUEST报文的拒绝相应
- DHCP RELEASE:客户端要释放地址时用来通知服务器
▲ipconfig /renew
▲ipconfig /release
FTP:
传输模式:
- ASKII码模式
- 二进制模式
Telnet:
远程登陆协议:
- Telnet:明文:tcp的23端口
- ssh:密文:tcp的22端口
端口扫描工具:
- Nmap:(其SYN半开扫描[即在建立tcp三次握手时不进行第三步的握手而直接结束会话],相对速度快,相对安全)
- Portready:基于tcp三次握手,若对未授权的网站进行扫描可能造成违法行为
DNS:
使用的是UDP的53端口
集线器和交换机:
首先,集线器和交换机的功能类似,都是传输局域网内的数据
交换机/switch:现流行的设备,工作在osi第二层(即能读懂数据链路层的数据),相对于hub更智能,能根据mac地址发送数据包而不是广播给该局域网的其他机器
集线器/hub:年代较古老,现基本被淘汰,工作在osi第一层(即只能读懂物理层的数据),收到一个机器的消息后即广播给该局域网的其他机器,导致了效率低安全性低
▲nslookup----查看本机dns地址,并可以测试该dns对其他域名的解析[server 8.8.8.8–暂时更换dns为8.8.8.8,可对该dns进行测试]