抽象语言——编码——二进制字符串——生成电信号——处理电信号
osi七层参考模型
应用层:人机交互接口
表示层(编码——二进制字符串):把格式进行统一化
会话层:提供了网络服务中端到端的连接会话
传输层:TCP/UDP;用以标定和区分不同应用层程序;端口号:2字节
端口号:0~65535
著名端口:1-1023
1024-65535其中1024-49151分配出去了,所以从49152-65535中分配
网络层:IP,ARP,ICMP
IP一般称为逻辑地址,根据IP地址和掩码判断是否在一个广播域
ARP协议——地址解析协议
目的:通过一种地址获取到另一种地址信息
正向ARP:通过已知的IP地址获取目标的MAC地址;存在ARP缓存表。老化时间——180s
反向ARP:
免费ARP:1,检测地址冲突 2,自我介绍;利用正向ARP原理请求自己的IP地址
数据链路层(二进制字符串——生成电信号):LLC/MAC————》根据二进制生成电信号;
MAC地址称为目的地址
物理层:电气电压,接口等
TCP/IP协议模型(osi七层参考模式对比)
应用层=应用层+表示层+会话层 数据段
传输层 数据包
网络层 数据帧
网络接口层=数据链路层+物理层 比特流
PDU:协议数据单元
DHCP协议——动态主机配置协议(端口号:服务器端的端口号67,客户机端端口号68)
C/S架构
广播包 Discover报文————》UDP封装;源端口68;目端口:67;源ip:0.0.0.0;目ip:255.255.255.255;
目MAC:全F
单播包 offer报文(携带即将分配给pc的IP地址,掩码,网关,DNS信息)————》目的ip:填充服务器即将分配给pc的ip地址。
广播包 Request报文(携带即将申请的ip地址)——————》源ip:0.0.0.0;目ip:255.255.255.255;目MAC:全F
交换机的转发原理:
1.自学习:根据数据帧中源MAC地址以及接收该数据帧的接口,生成对应关系,并记录在本地MAC地址表中
2.查表转发:根据数据帧中的目的MAC地址,查找本地MAC地址表,若存在记录,则单播转发,若不存在记录,则洪泛
交换机洪泛机制
1.遇到未知的单播数据帧
2.遇到广播数据帧或组播数据帧(01-00-5e
域名:www.baidu.com
URL:资源定位符
http://www.baidu.com:80/news/index.html
^ ^
主机名 文件名及其路径
DNS服务——域名解析服务
基于UDP/TCP的53号端口进行数据传输。UDP一般用于客户端与服务端的查询和响应,TCP用于主从服务器之间的数据传输
DNS的查询过程分为两种方式:递归查询,迭代查询
TCP——传输控制协议
是一种面向连接的可靠传输协议
特点:
TCP是面向虚连接的传输层协议
每一条TCP连接有且只能有两个端点,即每一条TCP连接只能是点对点的
可靠,有序,无丢失,不重复
TCP提供全双工通讯
发送缓存
存放 应用程序发送给发送方TCP准备发送的数据
TCP已发送但是尚未收到确认的数据
接收缓存
存放 按序到达但尚未被应用程序处理的数据
乱序到达的数据
TCP是面向字节流的
TCP连接的四元组:源IP,源端口,目IP,目端口。
套接字————》IP:port
TCP报文段
确认序列号:1,该序列号表示接收方期望收到发送方发送的下一个字节的序号
2,代表接收方已收到该确认序列号之前的所有字节
窗口值:指发送方可以不需要接受确认报文,就可以连续发送的数据最大量
选项字段:MSS,时间戳,时间确认机制,窗口因子:
TCP确认机制被称为累积确认
标记位
确认位ACK:当ACK=1时确认序列号字段有意义
再TCP连接建立后,所有传输的报文段都必须将ACKk置为1
同步位SYN:代表连接请求
终止位FIN:表明次报文段发送方数据已全部发送完毕,代表要求释放连接
复位RST:表明TCP连接出现严重错误,必须释放连接,并重新建立新的传输链接
紧急位URG:当URG=1时,表明此报文中存在紧急处理的数据,是高优先级的数据,应尽快交付应用程序处理。与紧急指针配合使用。
推送位PSH:接收方应尽快交付接收应用进程,不在等待缓冲区填满在向上交付
TCP的可靠性机制
排序机制
MTU:最大传输单元————》包含数据部分,传输层头部,网络层头部————》以太网中默认值为1500字节
MSS(传输层):最大段长度————》仅包含数据部分
在本地设备上,如果进行了分段操作,则无法进行分片操作
确认机制
重传机制
RTT:往返时间,指的是发送方将数据发出后,到他接收到对端反馈的确认报文的完整时间段
RTO:超时重传时间:略大于RTT时间
RTO时间是动态变化的时间。会进行超时间隔时间加倍
超时重传——快速重传机制
客户端通过服务端的反馈信息从而进行数据重传的方式呗称为快速重传机制,此时的重传并非是因为RTO时间到达而触发,而是因为客户端连续接收到三个冗余ACK报文。 ————》快速重传机制会在RTO定时器超时之前重传报文段,从而解决超时重传时间加倍导致的延迟增大问题。
为了加快重传效率,将累积确认机制改为SACK机制(选择确认机制),在TCP首部中的选项内容中携带未收到的数据字段,从而引发客户端重传。
TCP流量控制机制
窗口:指发送方可以在不接收确认报文的前提下,一次性发送的数据最大量。
接收方会在连接建立之前创建一个接收缓存,用以存放发送方发送的数据。而窗口大小在最初等于接收缓存大小。之后,窗口大小等于缓存大小减去已存在缓存中的的数据量(rwnd————接收窗口大小)。
发送方根据每一次收到的确认报文中的窗口字段,及时调整发送缓存大小,确保发送缓存用于小于等于窗口值
滑动窗口
、
TCP连接管理
TCP连接的建立
TCP建立连接的前置条件或需要解决的问题:
1,每一段知晓对端的套接字
2,进行参数协商(MSS,窗口值,是否使用选择确认机制,窗口扩大因子,时间戳)
3,设备对资源进行分配
TCP面向连接体现在三次握手
四次断开
TCP存在一个保活计时器,该计时器2小时时间。若该计时器时间内没有收到任何客户端的数据,服务端会发送一个探测报文段,并每隔75秒发送一次。若连续发送10个探测报文任没有反应,则服务器认为客户端出现故障,关闭连接。
TCP连接的释放
1,是为了释放在之前分配给TCP进程的资源
2,本地所有数据已传输完毕