运输层- 端口号(数据要发给服务端哪个端口)
网络层 - IP地址 (源IP 目标IP)
数据链路层- Mac地址(网卡地址)
路由器:
3.网络层
2.数据链路层
1.物理层
tcp三次握手
tcp四次挥手
我要分手 (FIN = 1)
行呀,那分就分 (ACK = 1)
服务端 也要说 我要分手
客户端 说那就分
两方都要提
计算机之间的通信
- 需要得知对方的IP 地址 和 MAC地址
- 最终是根据MAC地址(网卡地址), 输送数据到网卡,被网卡接收
集线器(Hub)
网桥(Bridge)
arp -a
交换机(Switch) 组建局域网
- 相当于更多接口的网桥 全双工通信
- 连接的设备必须在同一网段
- 连接的设备处在同一广播域
路由器(Router)
可以在不同网段之间转发数据
隔绝广播域
网关Gateway(跨网段发送数据):
网络
Mac地址,IP地址,路由器
交换机 集线器 同轴电缆
Mac地址
每一个网卡都有一个6字节(48bit)的的Mac地址(Media Access Control Address)
https://mac.51240.com/
IP地址
互联网上的每一个主机都有一个IP(Internet Protocol Address)地址
最初是IPv4版本,4字节(32 bit), 2019.11.25日全球IP地址已经用完
后面推出了IPv6版本, 16字节(128bit)
ip地址由2部分组成: 网络标识(网路ID)、主机标识(主机ID)
一个网段的计算机,网络ID相同
通过子网掩码(subnet mask)可以计算出网络ID: 子网掩码&IP地址
IP地址:192.168.1.10
子网掩码: 255.255.255.0
1100 0000. 1010 1000. 0000 0001. 0000 1010
&1111 1111 1111 1111 1111 11111 0000 0000
192.168.1 网络ID
计算机和其他计算机通信之前,会先判断目标主机和自己是否在同一网段
同一网段: 不需要路由器转发
不同网段: 交由路由器进行转发
局域网 (Local Area Network, LAN)
局域网中使用最广泛的网络技术叫: 以太网(Ethernet)
无线局域网: WLAN(Wireless LAN)
上网方式
电话上网
ADSL电话拨号上网(Asymmetric Digital Subscriber Line)
非对称数字用户线路,提供上、下行部队称的传输带宽
猫(Modem),调制解调器,进行数字信号和模拟信号的转换
光猫(Optical Modem), 光调制解调器,进行数字信号和光信号的转换
数据链路层(Data Link)
不同类型的数据链路,所用的通信协议可能是不同的
广播信道: CSMA/CD协议 (比如同轴电缆、集线器组成的网络)
点对点信道: PPP协议(比如两个路由器之间的信道)
封装成帧
帧(Frame)的数据部分, 就是网络层传递下来的数据包(IP数据包, Packet)
最大传输单元MTU (Maximum Transfer Unit)
每一种数据链路层协议都规定了所能够传送的帧的数据长度上限
以太网的MTU为1500个字节
5.应用层
DNS(Domain Name)
顶级域名
通用顶级域名(General Top-Level Domain) .com .net(国际机构) .org(组织域名) .edu(教育) .gov(政府部门) .int(国际组织)等
国家及地区顶级域名(Country Code Top-level Domain) .cn(中国) .jp(日本) .uk(英国)
新通用顶级域名(New Generic Top-level Domain) .vip .xyz .top .club .shop等二级域名
利用DNS协议,可以将域名(比如baidu.com)解析成对应的IP地址
DNS协议可以基于UDP协议,也可以基于TCP协议,服务端占用53端口
- 客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
- 所有的DNS服务器都记录了 根域名服务器的IP地址
- 上级DNS服务器记录了下一级DNS服务器的IP地址
- 全球一共13台IPv4的DNS根域名服务器,25台IPv6的DNS根域名服务器
DHCP(Dynamic Host Configuration Protocol)
DHCP协议基于UDP协议,客户端是68端口,服务器是67端口
DHCP服务器会从IP地址池中,挑选一个IP地址”出租”给客户端一段时间,时间到期就回收他们
4个阶段
DISCOVER: 发现服务器
发广播包(源IP是0.0.0.0, 目标IP是255.255.255.255, 目标Mac:FF:FF:FF:FF:FF:FF)
OFFER:提供租约
服务端返回可以租用的IP地址,以及租用期、子网掩码、网关、DNS信息
REQUEST: 选择IP地址
ACKNOWLEDGE: 确认
被选中的服务器发送ACK数据包给客户端
HTTP(Hyper Text Transfer Protocol)
1996年 HTTP/1.0
支持POST、HEAD等请求方法,支持请求头、响应头等,支持更多数据类型
浏览器的每次请求都需要与服务器建立一个TCP连接,请求处理完成后立即断开TCP连接
1997年 HTTP/1.1
支持PUT、DELETE等请求方法
采用持久连接(Connection: keep-alive)
2015年 HTTP/2.0
RFC(Request For Comments) 请求意见稿
报文格式: