1. 物理层
网线, 光缆, 无线电波
负责传输 0 和 1 负责传输电信号
2. 数据链路层: 负责给新号分组, 确定分组的方式
以太网:
1. 规定一组电信号组成一个数据包 一部分叫 head 一部分叫 data
2. 必须以网卡链接网络, Mac 地址就是网卡地址, 发送者和接受者都以 Mac 地址的形式保存在 head 中
每个网卡的 Mac 地址是独一无二的, 长度是 48 个 2 进制位
3. 以广播形式发送. 在网络中的所有设备都可以接受这个包, 但只有 head 中规定的接受者才能收到并做进一步处理
3. 网络层
单单依靠以太网的广播形式和 Mac 形式不能满足互联网的发展, 需要有一种方式, 怎么样辨别两个 Mac 地址是不是同处于一个网络
IP 协议:
1. 规定设备在网络的地址, ipv4 ipv6
ipv4:
32 个 2 进制位组成, 4 段十进制, 每一段最大是 0-255
- 0.0.0.0 - 255.255.255.255
- ipv6:
更长, 对应更多的情况
2.IP 地址前半段代表网络, 后半段代表主机
子网掩码的作用:
为了区分网络和主机的分布
使用子网掩码和 IP 地址, 进行按位与运算 (ip and 子网掩码) 就能得到网络地址
如果两个 ip 地址按同样的子网掩码运算之后, 得到同样的结果, 那么两个 ip 就在同一个局域网里
3.ip 规定的数据包:
就是在链路层包的基础上, 再加一层 head;
这次添加的 head 中, 包含版本 长度 ip 地址等等
4. 传输层
1. 端口: 端口对端口
应用程序访问网络需要占用一个端口
那每一台设备提供了 65536 个端口, 从 0-65535
0-1023 端口, 被系统占用
这样规定之后, 主要确定 ip 和端口, 就可以实现应用程序之间的网络通信
在 Unix 里, 把主机 + 端口叫做一个 Socket
2. 常见的传输层协议
1.UDP
优点:
数据包结构简单, 容易实现, 适用于连接可靠性要求不高的场合
缺点:
不能知道对方是否收到数据
2.TCP
优点:
可靠性高, 能够知道对方是否收到数据, 并能及时补包
缺点:
协议复杂, 消耗较大, 实现比较困难
TCP 通过三次握手来确保一次连接的可靠性
5. 应用层
是一个非常开放的一层, 比如邮件 (STJP), 文件传输 (FTP), 万维网 (www).....
这一层直接面向用户
常见名词解释:
域名: baidu.com
DNS: 域名解析服务器
DNS 劫持:
HTTP:
请求 + 响应
请求:(request)
GET: 请求的参数会附带在请求地址之后
POST: 请求的参数会在 DATA 中
GET/POST 请求
响应:(response)
响应码:
200: 一切正常
404:not found
403: 没有访问权限
502: 服务器错误
来源: http://www.bubuko.com/infodetail-2999155.html