一、物理层
信号转换问题
一个数据称之为一个bit流
01010101000101
二、数据链路层
mac地址
以太网协议Ethernet
一组数据称之为一个数据帧,一个数据帧分为两部分
(发送者mac,接收者mac,类型)+(数据:网络层所有内容)
工作方式:广播(Broadcast)
三、网络层
ip地址:(由ip地址和子网掩码组成)
ipv4
00000000.00000000.00000000.00000000(最小的ip地址) => 0.0.0.0
11111111.11111111.11111111.11111111(最大ip地址) => 255.255.255.255
ipv6(cmd ipconfig)
nat技术(网络地址转换)
snat(源地址转换)
dnat(目标地址转换)
内网ip段:
10.0.0.0 ~ 10.255.255.255 一千六百多万
172.16.0.0 ~ 172.31.255.255 104万
192.168.0.0 ~ 192.168.255.255 65536个
127.0.0.0 ~ 127.255.255.255
ipv6(cmd ipconfig)
子网掩码:(用来划分不同的网段/划分不同的局域网)
公网ip — 世界唯一
内网ip — 局域网唯一
IP协议
一组数据称之为一个数据包,一个数据包分为两部分
(发送者ip,接收者ip,类型)+(数据:传输层所有内容)
TCP/IP协议
协议:头部 + 数据
抓包软件 :Wireshark (ip.addr == ‘ip地址’ )
cmd (ping + 网址)(探测本机和目标计算机的网络是否通畅)
ARP协议(地址解析协议,作用于网络层和数据链路层之间)
把ip地址解析成mac地址
cmd arp -a 查看当前计算机的arp表
arp -d * 清空当前的arp表
两台计算机要进行通信,得先知道对方的ip地址
,在发数据之前,通过ip地址和子网掩码进行计算,判断对方是否和我们在同一个子网内:
1.如果两者在同一个子网内,通过arp协议拿到对方的mac地址,然后把数据通过交换机传给它
2.如果两者不在同一子网内,则是通过arp协议拿到网关的mac地址,通过网关把数据传给对方
四、传输层
tcp协议: 可靠,速度慢 适合长距离传输(丢包率大)
tcp头部+数据
头部包含 源端口和目标端口,数据段的序列号
(Seq:序列号 Ack:确认序列号)
探测功能(三次握手:[SYN],[SYN,ACK],[ACK])
(四次挥手:[FIN,ACK],[ACK],[FIN,ACK],[ACK])
tcp标识(6种: 握手包标识SYN,挥手包标识FIN,数据包标识PSH,确认包标识ACK,重发包标识RST,紧急包标识URG)
udp协议: 不可靠,速度快 适合短距离传输(局域网)
udp头部+数据
头部包含 源端口和目标端口
socket抽象层(位于传输层和应用层之间,对传输层及以下做了一个封装)
(套接字) import socket
五、应用层
1.会话层
决定什么时候发,什么时候断开
2.表示层
描述文件类型