- 计算机网络体系结构
- OSI体系结构,由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
- TCP/IP体系结构,但是应用最广泛的四层体系结构,由低到高依次是网络接口层、网际互联层、传输层和应用层。
![](https://i-blog.csdnimg.cn/blog_migrate/49758cf8affc1ccfcf75d17f83c09977.png)
![](https://i-blog.csdnimg.cn/blog_migrate/068a553b0e99f173cf2dfc7f65026a20.png)
![](https://i-blog.csdnimg.cn/blog_migrate/56f16bd4cf2e89ec80223a3ca2bcd67d.png)
传输层位应用层提供网络支持
在传输层中会有两个传输协议:TCP和UDP
网络层(IP层)负责找到具体的网络
物理层(考虑的是怎么才能在连接各种计算机的传输媒体上传输数据比特流){连接各种计算机的媒体}
在物理层变成比特流传递
物理层为数据链路层屏蔽了各类传输媒体的差异(屏蔽不同应用的差异)
- HTTP
数据链路层与物理层成为网络接口层
应用层:解决应用进程的交互来实现网络应用问题
HTTP基本概念
HTTP(超文本传输协议)分以下三部分
![](https://i-blog.csdnimg.cn/blog_migrate/d0a3f424f09f177a18ed6dc4e2b52f9f.png)
- 超文本
HTTP是一个在计算机世界里专门在两点之间传输文字、图片、视频数据的约定和规范
- 传输
HTTP是双向协议
HTTP是一个在计算机世界里专门在两点之间传输数据约定和规范
- 协议
HTTP请求响应
![](https://i-blog.csdnimg.cn/blog_migrate/7df15f956b699ac092e0455cddaf919e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c80caf7935e27e733e79c6615e72ef70.png)
先请求DNS服务器
HTTP运行在应用层
上述是非持久性连接
持久性连接和非持久性连接
非持久性连接
请求响应是非持久性连接
持久性连接
HTTP/1.1(基于常链接,也就是持久性连接)提出长连接的通信方式持久连接
![](https://i-blog.csdnimg.cn/blog_migrate/5850712aea2ba1f1291811c70e36f9f2.png)
HTTP明文传输是不安全的
HTTPS在HTTP 的基础上再加一个协议
HTTP报文格式
HTTP协议主要由三部分组成:
![](https://i-blog.csdnimg.cn/blog_migrate/812f507a32eb3f3a7e8ba0214f306341.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd911645468d252fcb6ed82807da5217.png)
响应报文
![](https://i-blog.csdnimg.cn/blog_migrate/8501684377fb90e7497c4b53f00580ea.png)
HTTP的报文请求传给TCP(运输层)
- TCP
概述
物理层、数据链路层、网络层实现了主机与主机的通信
TCP基本认识
TCP是面向连接的、可靠的、基于字节的传输层通信协议
![](https://i-blog.csdnimg.cn/blog_migrate/9b8b57a388bc4603008b7ab272d41365.png)
TCP头部格式
![](https://i-blog.csdnimg.cn/blog_migrate/77eef87b880e2e3f33741b147e0496b3.png)
什么是UDP
UDP无需建立连接就可以发送封装的IP数据包的方法
UDP协议头部只有8个字节(64位)
![](https://i-blog.csdnimg.cn/blog_migrate/c98927e798bfa75d843f3c8974d50cd7.png)
TCP和UDP区别
![](https://i-blog.csdnimg.cn/blog_migrate/95de09a0cc1a78efbde2bf98df44124e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b66f3f4032a409a294131179cd6e38b5.png)
TCP三次握手和四次挥手
TCP连接建立
TCP三次握手过程和状态变迁
TCP是面向连接的协议,所以使用TCP前必须先建立连接,而建立连接是通过三次握手而进行的
![](https://i-blog.csdnimg.cn/blog_migrate/42a0e2cfbd070fec3fe6a11c11c2a91b.png)
为什么是三次握手?
![](https://i-blog.csdnimg.cn/blog_migrate/e665ae41f819c0110fcb8533244fac8f.png)
TCP连接断开
![](https://i-blog.csdnimg.cn/blog_migrate/822cd640863999e826f14ad65271b881.png)
等待时间为2MSL (报文最大生存时间,网络中可能存在发送方的数据包)
主动关闭连接的,才有TIME-WAIT状态
需要TIME-WAIT状态主要原因:被动关闭连接的一方能被正确关闭,即保证最后ACK能让被动关闭方接收,从而帮助其正常关闭
TCP可靠性连接
(在传输过程中数据的破坏、丢包、重复、顺序混乱)
重传机制、滑动窗口、流量控制、拥塞控制
流量控制
![](https://i-blog.csdnimg.cn/blog_migrate/22b1f0f097c1804c44ae7d116b1994db.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fd83711e820ca087b9d5e716b9c7a7cc.png)
TCP通过控制使用一个接收窗口的变量来提供流量控制
拥塞控制
拥塞窗口cwnd变化的规则:
只要网络中没有出现拥堵,cwnd就会增大;
出现拥堵,cwnd就减少。
TCP拥塞控制算法包括主要三个部分:慢启动、拥塞避免、快速恢复
慢启动
![](https://i-blog.csdnimg.cn/blog_migrate/ed099eb3953f23f84875e28b8d7fd8f5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/62b5354ab2da2ce3dc1bc9535205c697.png)
重传机制
![](https://i-blog.csdnimg.cn/blog_migrate/79c2fb4b29a4ea79a1abeb1e9e75dbde.png)
超时重传
多次重传就用快速重传(三次触发重传机制)
不知道为了解决不知道重传那些TCP报文,于是有了SACK方法
SACK选择性确定(只传丢失的)
D-SACK主要使用SACK来告诉发送方有哪些数据被重复接受了
- IP
IP在TCP/IP参考模型中处于第三层,也就是网络层
网络层的主要作用:实现主机之间的通信,也就是点对点通信。
![](https://i-blog.csdnimg.cn/blog_migrate/d207e7617103b88ee7f68f0b16996a78.png)
运输层:端口与端口
网际层:主机与主机的通信
数据链路层有一个物理地址(MAC物理地址),每一个电脑都有一个MAC物理地址
IP地址由32位正整数来表示,在计算机是以二进制的方式处理的
人类为了方便十进制
IP地址的最大值2的32次方+4294967296,也就是最大允许43亿台电脑连接到网络
可以更换IP地址的技术NAT,使得可连接计算机数超过43亿台
![](https://i-blog.csdnimg.cn/blog_migrate/de58f4b0fab75263e8b0ec69a4f38865.png)
IP地址分类
IP地址的分类分五类A、B、C、D、E类(了解)
![](https://i-blog.csdnimg.cn/blog_migrate/d01fe852ceacca70e428e04618e1f912.png)
ABC中
![](https://i-blog.csdnimg.cn/blog_migrate/786abcf989561c5912c967b51d39a4d8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bba742fdc9697d893e564b661e81d517.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b747c85837aa8036fa77fa5a2cdaef8.png)
主机号全是1用于广播
主机号全是0指定某个网络
IP分类的缺点:
ABC类不能很好的与现实网络匹配
无分类地址CIDR
32位比特的IP地址分为两部分,前面是网络号后,后面是主机号
![](https://i-blog.csdnimg.cn/blog_migrate/6c420bf4f0dd6970ebb3f2ac937e5f49.png)
![](https://i-blog.csdnimg.cn/blog_migrate/294628df34635944b11b2d2f6a38860e.png)
公有IP地址与私有IP地址
![](https://i-blog.csdnimg.cn/blog_migrate/90ec97beb88f9b65e81e3235639d1bf3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7d104a0b66d543a3dadb9d2e3f93dffb.png)
IP地址与路由控制
IP地址的网络地址这一部分是用于进行路由控制。
![](https://i-blog.csdnimg.cn/blog_migrate/4da8192ee37ee98de494db39eca631c5.png)
IP分片与重组
![](https://i-blog.csdnimg.cn/blog_migrate/c2c403fd6883f9708f21c8330b16c3ba.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2d637d0569113436132abd9cde9cf821.png)
IPv6可以保证地球上分配完
IPv4已经在2011分配完了
IP协议相关技术
DNS协议
DNS域名解析
![](https://i-blog.csdnimg.cn/blog_migrate/cbaf0898d1c558093955ce81a645cadd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/18c1cf853bab14b53ed2c14a3641a8bf.png)
ARP协议
ARP协议,求下一跳的MAC地址
![](https://i-blog.csdnimg.cn/blog_migrate/040d5c7f781df9fc0bf280e967ddf805.png)
DHCP动态获取IP地址
![](https://i-blog.csdnimg.cn/blog_migrate/117e5d22d4f0d6a1f476c834b8bcb24e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/366cad3060a853d8db6c2cc58e158203.png)
![](https://i-blog.csdnimg.cn/blog_migrate/da9aff769698bff045fac004f00c3e0b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9396a43ac3eca9d351972d318de073cb.png)
NAT网络地址转换
NAT缓解IPv4地址耗尽的问题
![](https://i-blog.csdnimg.cn/blog_migrate/19d45a5d4b735ecd7e893fde3ffcd0a4.png)
- 数据链路层
链路是从一个节点到相邻节点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件和软件
![](https://i-blog.csdnimg.cn/blog_migrate/86ba7fc387872b3dba4228d040390561.png)
MAC地址和ARP协议
MAC地址
MAC地址是网络上以太网或网络适配器的唯一标识符。
MAC地址也成为物理地址
MAC地址成为物理地址【全球唯一的 】
MAC地址长48bit
![](https://i-blog.csdnimg.cn/blog_migrate/e5a757442830adc248a3fd3365fea152.png)
ARP协议
ARP协议(地址解析协议)它是一个通过用于实现从IP地址到MAC地址的映射,即询问目标IP对应的MAC地址的一种协议。ARP协议在IPv4中极为重要。
ARP工作机制
![](https://i-blog.csdnimg.cn/blog_migrate/071a0d4f3183f3d9b36d931dd8544058.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4e01816ccc33e6b2791114a067d6924f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a46fff5b5e99a6ada4de61e11a4cb7d7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/699af24fd834c8b374413da52ba7a1fd.png)
- 计算机网络综合
![](https://i-blog.csdnimg.cn/blog_migrate/37c8da3135348b2cf91b7b0282c65c47.png)
![](https://i-blog.csdnimg.cn/blog_migrate/650a06eb06fe6a6badb620cec065be20.png)