IPV4版本地址:32位
eg.192.168.124.10
00000000.00000000.00000000.00000000
11000000.10101000.01111100.00001010
子网掩码:32位构成,1代表网络位和,0代表主机位(二进制)
eg.255.255.255.0 24
192.168.1.2 24
192.168.00000001
192.168.00000010
192.168.2.2 24 前二十四位的网络位不同所以不是同一个网段
172.16.1.2 16
172.16.2.2 16
网络位是前十六位,相同,同一网段
ARP地址解析协议:通过IP地址去获得Mac地址
工作原理:ARP服务器会先发送一个广播包给所有的PC,这个包里携带了它的源Mac和源ip,收到这个广播包的设备会将包中携带的源Mac和源ip记录到自己本地的ARP缓存表中,然后查看包中的目标ip是不是自己,如果是则单播发送一个ARP应答,如果不是则直接丢弃。在后续的数据传输中,先查看自己本地的ARP缓存表,如果表中有记录,则直接发送,如果没有则发送ARP请求。
反向ARP:通过Mac去获得IP地址
免费ARP:自我介绍,冲突检测
IPV6版本地址:128位(现在还未普及)
A类:网络位是8位,1-126
B:网络位是16位,128-191
C类:网络位是24位。
单播地址:一对一。
D:组播地址,不分网络位和主机位。
E:保留地址,美国军方留给自己用的地址。
特殊地址:
- 环回地址:127.0.0.0-127.255.255.255.ping环回地址没有问题,代表软件没有问题,ping自己电脑的地址没有问题,代表自己的网卡没有问题。
- 受限广播地址,255.255.255.255,受路由器的限制,只能作为目标IP去使用。
- 主机全为1的地址,直接广播地址,只能作为目标IP去使用
- 主机全为0的地址,网段地址。
- 0.0.0.0 ,一个是代表没有地址,一个是所有地址。
- 自动私有地址:169.254.0.0/16
192.168.1.0/24
直接广播地址:192.168.1.255/25
主机可用地址:192.168.1.1-1.254
网关地址:192.168.1.1/24 192.168.1.254
剩下的:1.2-1.254 1.1-1.253
VLSM(可变长子网掩码划分)
借主机位。
192.168.1.0/24 (借位)
192.168.1. 00000000
192.168.1. 0 0000000/25
网段:192.168.1.0/25
直接广播地址:192.168.1.127
网络范围:192.168.1.1-126
192.168.1.1 0000000/25
网段:192.168.1.128/25
直接广播地址:192.168.1.255/25
网络范围:192.168.1.129-254
192.168.1.00 /26
网段:192.168.1.0/26
直接广播地址:192.168.1.63/26
网络范围:192.168.1.1-62
192.168.1.01 /26
网段:192.168.1.64/25
直接广播地址:192.168.1.127/26
网络范围:192.168.1.65-126
192.168.1.10 /26
网段:192.168.1.128/25
直接广播地址:192.168.1.191/26
网络范围:192.168.1.129-190
192.168.1.11 /26
网段:192.168.1.192/25
直接广播地址:192.168.1.255/26
网络范围:192.168.1.193-254
CIDR无类域间路由(子网汇总):取相同,去不同
192.168.1.0 0000000/25
192.168.1.1 0000000/25
192.168.1.0/24
通信双工模式
(单向通行)半双工:一个时间段只能有一个动作进行
(双向通行)全双工:可同时接受和发送
OSI七层模型
ISO国际标准组织:OSI/RM开放式互联参考模型。七层
分层的依据:
1、将具有相同或者相似目的的不同功能划分同一层。
2、每一层在每一层的基础去提供更高层的服务
分层的目的:
1、便于学习、
2、每一层对每一层是相互独立的。
应用层:为应用程序去提供接口
表示层:进行数据格式的转化(编码、二进制转化)
会话层:在通信双方之间建立、管理终止会话
传输层:建立、维护、取消一次端到端的数据传输过程。
端口号:区分进程和服务,0-65535 特殊的端口号的取值范围1-1023
网络层:将数据包根据IP地址进行转发,(数据寻址的过程)
数据链路层:二进制转为电信号的过程
介质访问控制层:
逻辑链路层LCC :FSC,利用CRC冗余算法,去验证数据的完整性
物理层:电流传输。
TCP/IP
TCP/IP四层:将上三层合为应用层,是因为上三层都与应用程序有关;将数据链路层和物理层划分为网络接口层,是因为这两层都做了数据传输。
TCP/IP五层:后两层分开是因为数据链路层是对物理层进行控制。
应用层:
http:(超文本传输协议):80
https:(http +ssl安全传输协议)443
DNS:域名解析协议 53
TELNET:远程登录协议 23
传输层协议:
TCP(传输控制协议):传输控制协议 面向连接的
UDP(数据报协议):用户数据包协议 非连接的
区别:
TCP头部:
源端口号:16位,发送方将数据从应用程序的那个端口发出去。
目标端口号:16位,接收方将数据从应用程序的哪个端口接收回去。
序号:32位,排序,tcp分片后将数据重组的时候会用到序号。
确认号:目的是让发送方知道接收方已经将数据接收到。
数据偏移(首部长度):1字节=8位,五行一共20个字节。最少是20字节,最多是60字节。
URG:紧急标记位,表示这段数据是比较紧急的,有优先处理。
ACK:确认标记位
PSH:推标志,表示当前的数据要很快的从tcp的缓冲区移出去
RST:重发
SYN:请求标记位
FIN:结束标记位
窗口:(滑动窗口):控制当前一次性能发多少数据
TCP
建立,排序,重传,滑动窗口
建立(TCP三次握手)
第一次握手:客户端向服务器区发送请求标记syn,seq=x.
第二次握手:服务器向客户端先发送一个确认标记位ack=x+1,发送请求标记位syn,随机生成序号值y,向客户端去建立连接。
第三次握手:客户端向服务器发送一个确认标记位ack=y+1,seq
排序:
确认:
重传:
滑动窗口:(调节窗口大小去对流量进行控制)
MTU(最大传输单元1500字节),mss=1460字节
- 窗口大小:指无需等待确认就可以连续发送数据的最大量。
- 分段传输:传输较大数据时按照MTU(最大传输单元,默认1500字节)值进行分段传输
这里要提到一个最大数据分段长度mss,它的长度是1460字节,然后我们的MSS是基于MTU双方进行协商的一个最大长度,也就是1460字节。这个值是要在三次握手的前两次握手过程中就要协商的,如果两边的值是不一样的,则以小的为准。
断开(TCP四次挥手)
(全连接)
第一次我们客户端给服务器发了一个结束标记位FIN,序号随机设置为u,就相当于你和你的小伙伴说我要睡觉了,今天不聊了。
第二次服务器给客户端发了一个确认标记位ACK,值为u+1,然后说我收到你说你要睡觉的消息了,序号为v。(半连接)
第三次,服务器给客户端发了一个结束标记位FIN,说我也要睡觉了,晚安,序号值为w。
第四次,客户端给服务器发了一个确认标记位ack,其序号值为w+1,说好的,晚安。
至此,TCP的双向连接完全断开。
UDP
源端口号:
目的端口号:
头部长度:
校验和:检验UDP在传输数据的过程中是否有出错,出错的话就丢弃。
IP头部
版本号:ipv4版本
头部长度:最少是20字节,最多是60字节,1字节=8位
IP分片
MTU 最大传输单元 1500字节,
标识符:序号
标志位:第一位不管,第二位是DF代表是否被分片,如果分片=0,没有分片=1
生存时间ttl:每经过一次路由器的转发,ttl的值减一,减为0的时候就丢弃。
头部校验和:用来检测头部的正确性,不包括数据部分。
ICMP