Py003-02-01网络

网络协议

os七层:

  • 应——应用层
  • 表——表示层
  • 会——会话层
  • 传——传输层
  • 网——网络层
  • 数——数据链路层
  • 物——物理层

也叫五层协议

把 应用层/表示层/会话层 统一表示为——应用层

五层协议详解

数据报:有报头和报文 报头代表头信息 报文是实际的数据内容

  • 物理层

物理设备,负责发电信号——形如01010101的二进制内容通过网线

  • 数据链路层

以太网协议:一组数据帧称为一个数据报,基于mac地址以广播的形式(只能在局域网里)

  • 网络层

以太网通过mac只能表示同一局域网的一台机子

而ip地址可以标识一个子网的地址

IP协议:也是数据报的形式:形如 ip头+data

最后ip+mac就可以标识全世界独一无二的一台机器

  • 传输层

tcp/udp

  • 应用层

各种软件自己的协议 http/ftp

1
2
3
4
5
6
7
8
9
10
11
12
13
14


客户端: 服务端:
应用层 http头 + data 应用层 http头 + data
↓封包 ↑解包
传输层 tcp头 + (http头 + data) 传输层 tcp头 + (http头 + data)
↓封包 ↑解包
网络层 ip头 + (tcp头 + (http头 + data)) 网络层 ip头 + (tcp头 + (http头 + data))
↓封包 ↑解包
数据链路层 以太网头 + (ip头 + (tcp头 + (http头 + data))) 数据链路层 以太网头 + (ip头 + (tcp头 + (http头 + data)))
↓ ↑
物理层 物理层
↓ ↑
→→→→→→→→→→→→→→→→→→→→→→→→网络→→→→→→→→→→→→→→→→→→→→→→→→

tcp三次握手

  1. 客户端:我能连接你吗?
  2. 服务端:我准备好了,你连接吧!
  3. 客户端:好!我连接你了

tcp协议/udp协议

tcp协议

  • 可靠的:面向连接,双向通道
  • 传输速度慢

生活的实例:你往水里扔石头看见了浪花

udp协议

  • 不可靠:不面向连接
  • 直接发送数据是否收到数据未知,数据可能丢
  • 传输速度快

生活的实例:你往草里扔石头没啥反应