- OSI分层和TCPIP分层
OSI分层
应用层
表示层
会话层
传输层 - 报文段或用户数据报
网络层 - 数据报
链路层 - 帧
物理层 - 比特
TCP/IP分层
应用层
传输层
网际层
网络接口层
- 物理层方式
- 电路交换
- 报文交换
- 分组交换(数据报、虚电路)
- 物理层设备
- 中继器
- 集线器
- 数据链路层(组帧,差错控制,流量控制,可靠传输,介质访问控制)
滑动窗口:
- 停止-等待协议
- 后退N帧协议
- 选择重传协议
- 介质访问控制(MAC):争用信道,对应MAC地址,即物理地址(6B)
- ALOHA协议
- CSMA协议
- CSMA/CD协议(有线网)碰撞检测
- CSMA/CA协议(无线网)碰撞避免
- 数据链路层设备(隔离冲突域)
- 网桥
- 交换机(多端口网桥)
-
网络层:异构网络互联,路由与转发,拥塞控制
-
路由算法(静态路由,动态路由)
距离-向量路由算法;链路状态路由算法。 -
IPv4
首部:20B
版本:4位
首部长度:4位
总长度:16位
标识:16位
标志:3位(MF后面还有分片,DF允许分片)
片偏移:13位(以8B为单位)
首部校验和:16位
TTL:8位
协议:8位(TCP:6,UDP:17)
源地址:32位
目的地址:32位 -
最大传输单元MTU
链路层的MTU限制着IP数据报的长度,不同链路层协议对应不同的MTU。
超过MTU时需要把IP数据报分片。 -
IPv4地址和NAT
A、B、C、D、E五类地址;
主机号全0:网络本身;
主机号全1:广播地址;
127.0.0.0:环路检测;
32位全0:本主机
32位全1:整个TCP/IP网络的广播地址
NAT:内网地址转为外网地址,根据端口映射,工作在传输层
路由器有多个IP地址,也有多个硬件地址 -
子网划分,子网掩码,CIDR
子网:对A、B、C类网络进行子网划分
子网掩码:用子网掩码表示对原网络主机号的借位
路由表:(目的网络地址,子网掩码,下一跳地址)
CIDR:路由聚合,将网络前缀相同的连续IP地址组成“CIDR地址块” -
ARP协议(地址解析协议)
ARP高速缓存,存放局域网上各主机和路由器的IP地址到MAC地址的映射表,工作在网络层 -
动态主机配置协议(DHCP)
动态分配IP地址,工作在应用层,基于UDP -
网际控制报文协议(ICMP)
让主机或者路由器报告差错和异常情况,ICMP差错报告报文和ICMP询问报文
PING:应用层,使用网络层的ICMP
Traceroute:网络层 -
路由协议
自治系统:由一个单位管辖
- 内部网关协议:RIP和OSPF
- 外部网关协议:BGP-4
路由信息协议(RIP):距离向量算法,慢收敛,应用层协议基于UDP
开放最短路径优先(OSPF):洪泛法,网络层协议
边界网关协议(BGP):路径向量路由选择,应用层协议基于TCP
-
IP组播
使用IGMP协议,仅需发送一份数据 -
传输层套接字 = (主机IP地址,端口号)
-
无连接服务和面向连接的服务
TCP:文件传输协议FTP(21),超文本传输协议HTTP(80),远程登录TELNET(23)
UDP:小文件传输TFTP,DNS(53),SNMP(161),实时传输协议(RTP) -
UDP
源端口:16位 目的端口:16位
UDP长度:16位 UDP校验和:16位 -
TCP报文
源端口:16位
目的端口:16位
序号seq:32位
确认号ack:32位
首部长度:4位
保留字段:6位
紧急位URG:1位
确认位ACK:1位
推送位PSH:1位
复位位RST:1位
同步位SYN:1位
终止位FIN:1位
窗口字段:16位
检验和:16位
紧急指针:16位
选项字段:即最大报文段长度MSS,长度可变 -
TCP建立连接
客户 服务器
CLOSED CLOSED
主动打开 被动打开
LISTEN
SYN-SENT SYN-RCVD
ESTABLISHED ESTABLISHED -
TCP断开连接
客户 服务器
ESTABLISHED ESTABLISHED
主动关闭
FIN-WAIT-1 CLOSE-WAIT(通知应用进程关闭)
半关闭
FIN-WAIT-2 LAST-ACK
TIME-WAIT
等待2MSL CLOSED
(保证无残余报文,双方能正常关闭)
CLOSED -
TCP可靠传输
序号,累积确认,重传 -
TCP流量控制
发送窗口和接收窗口rwnd,拥塞窗口rwnd
发送窗口上限 = min[rwnd, cwnd] -
TCP拥塞控制
重传计时器发生超时:
慢开始 → 拥塞避免(加法增大)→ ssthresh减半,cwnd置1 → 慢开始
3个冗余ACK,丢包:
慢开始 → 拥塞避免 → 快恢复(快重传,ssthresh减半,cwnd=ssthresh)→拥塞避免 -
网络应用模型:C/S,P2P
-
DNS(层次域名空间,域名服务器,解析器)
使用UDP,递归与迭代相结合查询;DNS缓存 -
FTP
控制连接:21 数据连接:20 -
电子邮件
MIME:多用途网络邮件扩充
SMTP(25)、POP3(110)拉取、IMAP -
HTTP
HTTP:无状态,Cookie跟踪用户活动,非持久连接
HTTP1.1:持久连接(流水线、非流水线)
GET:请求读取URL标识的信息
POST:给服务器添加信息