因特网协议概述
常用协议 | |
---|---|
应用层 | HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)、DHCP(动态主机配置协议)、SNMP(简单网络管理协议) |
运输层 | TCP(传输控制协议)、UDP(用户数据报协议)、SCTP(流控制传输协议)、DCCP(数据报式传输协议) |
网络层 | IP(Internet Protocol) 、ICMP(Internet Control Message Protocol)、ARP(地址解析协议)、RAR(逆地址解析协议)、OSPF(开放最短路径优先)、BGP(边界网关协议) |
链路层 | PPP(点对点协议)、HDLC(高级数据链路控制)、Ethernet(以太网)、Wi-Fi(无线局域网)、ATM(异步传输模式)、FDDI(光纤分布式数据接口) |
物理层 | IEEE 802.3(以太网)、IEEE 802.11(Wi-Fi)、SONET(同步光纤网络)、DSL(数字用户线路)、USB(通用串行总线)、HDMI(高清晰度多媒体接口) |
键入网址到网页
解析url
url实际是请求服务器的文件资源
生成HTTP请求信息
参见《计网之应用层》的HTTP请求报文、响应报文
DNS查询IP地址
参见《计网之应用层》的DNS域名系统
OS的协议栈
- ICMP用于告知网络包传送过程中产生的错误以及各种控制信息
- ARP用于根据IP地址查询相应的以太网MAC地址
TCP精简版
TCP报文头部
- 序号:解决包的乱序
- 确认序列:解决丢包
- 窗口大小:流量控制、拥塞控制的缓存大小
状态位
- SYN:发起连接
- ACK:回复
- RST:重新连接
- FIN:结束连接
- URG:指示紧急数据的存在,通常与紧急指针字段一起使用
- PSH:指示数据的即时传输和处理
数据部分为HTTP报文
三次握手
保证双方都发送和接收的能力
查看TCP的连接状态
若HTTP请求信息超过MSS长度,TCP将其拆解为块
- MTU(Maximum Transmission Unit)(最大传输单元):一个网络包的最大长度
- MSS(Maximum Segment Size)(最大分段大小):除去IP和TCP头部后,一个网络包容纳TCP数据的最大长度
IP精简版
路由表规则:判断哪个网卡作为源地址IP
- 第一条目的目标地址和子网掩码都是0.0.0.0,表示默认网关,若其他条目都无法匹配,则自动匹配这一条目,并且Gateway是路由器的IP地址
- 假设Web服务器的目标地址是192.168.242.10,按序与每一条目的子网掩码进行与运算,并与目的地址匹配,第三条目匹配成功,所有使用ens33网卡的IP地址作为IP包头的源地址
MAC
发送方的MAC地址:网卡生产时写入ROM
接收方的MAC地址:ARP协议在以太网中广播IP地址,获取MAC地址
查看ARP缓存内容
网卡
数字信号转化为电信号
本身具有MAC地址,核对包的接收方是不是自己
FCS(Frame Check Sequence)帧校验序列:检查包是否损坏
交换机(链路层)
电信号转化为数字信号
本身不具有MAC地址,不核对,直接接收
内部有映射表,将MAC地址映射为网线端口
路由器(网络层)
路由器的端口具有MAC地址,只接收地址匹配的包
接收包后,去掉包的MAC头部,使用路由表根据IP头部转发,发送时添加新的MAC地址
服务器和客户端
除去MAC头部、IP头部、TCP头部,得到HTTP数据