ARP协议与RARP协议:
ARP:地址解析协议(将网络层IP31位地址转化为数据链路层MAC48位地址)
该包含有IP地址对应的MAC地址时,ARP直接将其MAC地址告知下一站,当没有MAC地址时,ARP会将要转发的IP地址以广播的形式播放,所有附近的端口接收并检查是否是自己的IP,是就回传一个MAC地址给ARP,ARP再发送MAC地址.
ARP缓存表的记录并不是永久有效
ARP -a命令,查看本机ARP缓存表
RARP:逆地址解析协议
IP地址网络号是IP地址和子网掩码的与运算
网络地址转换NAT技术:解决IP地址不够用的问题
内网地址:内部机构使用
外网地址:全球范围使用
NAT技术用于多个主机通过一个公有IP访问互联网的私有网络中
CIMP协议:网际控制报文协议
ICMP协议发现异常会报错
网络层的路由概述:
通过路由算法计算出最优的路径,算法实时发生变化(某个路由可能发生故障)
**自治系统:**是处于一个管理机构下的网络设备群
自治系统内部路由的协议称为:内部网关协议(RIP、OSPF)
距离矢量(DV)算法:
每一个节点会根据与相邻的节点交换信息来更新自己的路径为最短路径
RIP协议的过程:
RIP协议使用DV算法,把网络的跳数作为DV算法的距离
每隔30s交换一个路由信息
RIP协议认为跳数>15的路由为不可达路由
缺点:故障信息传递慢(无条件相信相邻节点,有可能超出允许的最远跳数)
Dijkstra(地杰斯特拉)算法:
可以求出路由间最短路径
内部网关路由协议之OSPF协议:
链路状态(LS)协议:
- 向所有的路由器发送消息
- 消息描述该路由器与相邻路由器的链路状态(距离 时延 带宽等)
- 只有链路状态发生变化时,才发送更新信息
RIP协议与OSPF协议的差别:
RIP:
- 从邻居看网络
- 在路由器之间累加距离
- 频繁、周期更新、收敛很慢
- 路由间拷贝路由信息
OSPF: - 整个网络的拓扑看网络
- Dijkstra算法计算最短路径
- 状态变化更新,收敛很快
- 路由间传递链路状态,自行计算路径
外部网关路由协议(BGP协议):
BGP协议是运行在AS之间的一种协议
BGP能够找到一条比较好的路由,而不是最好的路由
BGP不关心内部网络拓扑
可以人为配置策略
AS之间通过BGP发言人交流信息
原因:
- 互联网的规模太大
- AS内部使用不用的路由协议
- AS之间需要考虑网络特性以外的一些因素(政治、安全)
传输层:
UDP协议:
- 是一个非常简单的协议
- 是无连接协议
- UDP不保证可靠的交付数据
- UDP是面向报文传输的
- UDP没有拥塞控制
TCP协议: - TCP是面向连接的协议
- TCP是一个点对点通信
- 提供可靠的传输服务
- 提供全双工的通信(两端都可以向对方发送数据)
- 是面向字节流的协议
TCP的可靠传输的基本原理:
停止等待协议:
发送方在发送消息出去后,等待接收方的确认,接收方确认消息后返回一个确认,至此,发送方可以再发送另一个消息,如此循环(发送的时候一段时间接收方都没有接收到,出现超时重传;确认的消息发送方没有收到,出现超时重传,或者很久才发送确认消息,也算作超时,发送方会选择重传)
连续ARQ协议(自动重传请求):
将要发送的所有报文看作是一个队列,批量发送前几个报文(例如:发送前六个报文,收到了第五个报文的确认消息后,默认认为前五个报文都接收成功,则开始发送7-11个报文,先不管第六个报文)
- TCP的可靠传输基于连续ARQ协议
- TCP的滑动窗口以字节为单位
- 选择重传
TCP协议(传输层)的流量控制:
- 让发送方发送速率不要太快
- 使用滑动窗口实现
TCP为什么使用三次握手而不是两次握手?
防止已经过期的链接请求传回给服务器,使发送端和接收端能够同步序列号,发送端能够清楚的记得接收端接收到了哪些包,有哪些包是需要重发的,所以有了第三次握手,同步序列号
套接字与套接字编程:
一个套接字(socket)代表TCP的一段连接,所以可以用两个套接字表示TCP连接.一个套接字又可以表示为一个IP加上一个Port
**注意:**一个IP可以有多个套接字,因为一个IP可以与不同的Port组合成不同的套接字
应用层:
传输层中UDP和TCP的应用场景:
UDP:应用于视频,语音,实时信息 (多媒体信息分发)
TCP:应用于金融交易,可靠通讯,MQ (可靠信息传输)
应用层概述:定义应用间通讯的规则
DNS(域名系统):
由点、字母和数字组成
点分割不同的域:www(三级域).baidu(二级域).com(顶级域)为三级域
DNS存在的意义:IP地址太难记忆
DHCP(动态主机设置)协议:
DHCP是一个局域网协议
DHCP是应用UDP协议的应用层协议
DHCP:在网络连接属性中,勾选自动获得IP地址时就是使用DHCP协议,DHCP会给主机一个临时的IP地址以便随时随地的连接不同的网络
租期:DHCP给的IP地址有时间限制,超过时间可以续租
HTTP(超文本传输)协议:
- HTTP是可靠的数据传输协议
Web服务器:
接收客户端连接 ->接收请求报文->处理请求->访问Web资源->构造应答->发送应答
1.客户端向服务器发送请求:
GET:获取指定的服务端资源
POST:提交数据到服务端
DELETE:删除指定的服务端资源
UPDATE:更新指定的服务端资源 - 在地址中指定
- 在请求数据中指定
HTTPS协议:
为什么使用HTTPS:HTTP是明文传输
- HTTPS是安全的HTTP协议
- https://<主机>:<端口(443)>/<路径> 新增了http后面的s和端口
- 由对称秘钥和非对称秘钥解锁
数字证书:是可信任组织颁发给特定对象的认证
SSL(安全套接层):
- 数据安全和数据完整
- 对传输层数据进行加密后传输
HTTPS步骤
1.443端口的TCP连接
2.SSL安全参数握手:客户端生成随机数1、协议版本、支持的加密算法发送给服务端(明文)->服务端确定加密算法、发送数字证书、生成随机数2给客户端->客户端确认证书是否有效、生成随机数3、使用服务器数字证书里的公钥加密随机数3给服务器->两端根据随机数1、2、3 和相同的算法生成对称秘钥->使用对称秘钥进行加密通信(前2步骤使用非对称加密,后面步骤使用对称加密)
3.客户端发送数据
4.服务端发送数据