所有设备称为 端系统或者主机
端系统是通过通信链路和分组交换机组成。端系统是通过因特网服务提供商ISP接入Inter网
交换机:路由器和链路层分组交换机。
网络核心是 电路交换和分组交换:电路交换在通信期间会保留资源,但是在分组交换期间不会被保留。
电路交换:多路复用 频分多路复用,时分多路复用。静默期会占用资源。
分组交换:源主机将长报文切割成短报文进行发送,在使用存储转发传送。输出缓冲与输出队列。
分组交换网的时延,丢包和吞吐量
时延包括:处理时延,排队时延,传输时延,传播时延。
丢包是指分组存储发现是一个满队列无法储存导致丢弃该包。
吞吐量:通过网络传输的真实数据量。
协议层次和他们服务的类型:
tcp/ip:应用层,运输层,网络层,数据链路层,物理层
osi参考模型:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层。
应用层:HTTP.,SMTP,DNS 称为报文。
运输层:tcp,udp 可靠性,流量控制,拥塞控制 称为报文段
网络层;ip协议和选路协议 IP数据报
链路层:ppp协议,mac协议等 帧传输
物理层:比特进行传输
DOS攻击(拒绝服务攻击)
弱点攻击,带宽洪泛,连接洪泛。
客户/服务器体系结构,p2p对等体系结构。
程序通信指的是进程通信,进程通信使用套接字实现。
运输层提供的保障:1可靠的数据量2吞吐量3定时4安全性
1、可靠的数据传输: 分组会在传输中丢失比如路由器缓冲溢出,分组在比特损失后可能丢弃。如果传输层能保证数据可靠传输,应用层只需要通过socket 套接字把信息传递给传输层即可。
2、吞吐量 两个进程在实际传输过程中的真实传输速度
3、定时
4、安全性 数据加密,完整性,端点鉴别
TCP 服务 面向连接服务三次握手,四次挥手 可靠数据传输服务 拥塞控制
拥塞控制协议,不一定能为进程通信带来什么好处,但是可以为整个网络带来好处。
UDP服务 无连接的,没有拥塞控制
HTTP TCP 80
https://blog.csdn.net/fjxcsdn/article/details/85754488?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242
SMTP TCP 25
FTP(控制,数据) TCP 21 20
HTTP协议 是一个无状态协议 非持久连接和持久连接 确定每个请求、相应是经过单独的TCP连接,还是同一个连接区分。因为每次经过TCP连接是需要话费时间的。
HTTP:请求报文包括请求行,首部行,空行,实体主体
响应报文:状态行,首部行,空行,实体主体
请求行上字段:方法字段,URL字段,HTTP协议版本号
用户交互cookie,session等
文件传输协议:FTP (控制20,数据21)常见命令 USER username ,PASS password ,LIST,RETR filename(get文件),STOR filename(put文件)
SMTP(put),POP3(get):用户代理,邮件服务器,简单的邮件传输协议
DNS:因特网的目录服务
单机的缺点:单点故障,通信容量,远距离的集中式数据库,维护
分布式DNS ,根DNS服务器,顶级域TLD服务器,权威DNS服务器(IP映射到域名),本地服务器(可以直接访问权威DNS服务器) (递归查询,迭代查询)。
DNS 报文
首先,讨论运输层和网络层的关系
其次,两个实体怎么样才能在一种会丢失或损坏的数据的介质上可靠的通信。
最后,讨论控制运输层实体的传输速率一避免网络中的拥塞,或者从拥塞中恢复过来。
UDP 用户数据宝协议 不可靠,无连接 TCP 传输控制协议 可靠,有连接 都是依靠网络层的IP协议 尽力而为的交付 但不保证可靠运输层的多路复用和多路分解靠的是套接字socket实现
TCP socket 源IP 端口号 目的IP 端口号 四元组识别
UDP 提供检验和与差错检测
停等协议,流水线协议
停等协:议接收一个分组必须ACK才能发送下一个分组。
流水线协议:多个分组一起发送,多个ACK一起接收
解决流水线协议的差错控制:回退N步GBN,选择重传SR。
回退N步协议 就是滑动窗口协议把窗口分为四部分 1.已被确认2.发送未被确认,3可用还未被确认,4不可用 回退N步会丢弃正常接收的数据因为向上层必须按序交付。这样接收方就不需要缓存失序数据
选择重传:就是重传已经丢失或者错误的分组,缺点就是接收方需要缓存更多的失序数组
可靠数据传输机制 检验和,定时器,序号,确认,否定确认,窗口,流水线。
TCP协议只是在端系统中存在,且可靠传输是选择协议
流量控制:对发送方的遏制,通过确认接收窗口的大小来进行端到端的流量控制
拥塞控制原理;TCP拥塞控制算法 1加性增,乘性减,2慢启动3对超时时间做出的反应。
总结:TCP 包含连接管理,流量控制,往返时延估计以及可靠数据传输。
主要的功能转发和选路 转发根据路由表,路由表的数据更新依赖于选路算法自治的内部系统(RIP,OSPF,IS-IS),系统与系统之间BGP协议
转发:当一个分组到达某路由器的一条输入链路,该路由器必须将该分组移动到适当的输出链路。
选路:网络层必须决定这些分组所采用的路由或者路径。
连接建立:要求从源到目的地沿着所选择的路劲彼此握手,以便在网络层数据分组能够开始流动跟之前建立起状态,
网络层提供的服务 尽力而为服务
IPV4有标识,标志,片偏移
路由器转发:使用最长前缀匹配原则
路由器结构:输入端口,输出端口,交换结构,选路处理器
网络层:路径选择,RIP,OSPF,BGP,转发表,
IP协议:编址规则,数据报格式,分组处理规则
ICMP协议:差错报告,路由器信令
IP数据报分片操作,最大传输单元MTU
DHCP 动态主机配置协议
NAT网络地址转换协议。隐藏局域网的细节,路由器向DHCP获得IP地址,然后路由器自己在运行一个DHCP服务器。
ICMP:控制报文协议最主要的功能是差错报告
选路算法说到底就是 最短路劲算法 BFS,Dijkstra,floyd算法等等
链路状态与距离向量算法
链路层协议交换的数据单位是帧,帧封装了网络层的数据报。
链路层协议所采取的动作包括差错检测。重传,流量控制和随机接入。
链路层的特征数据报在不同的链路层协议所承载。比如PPP,WAN,以太网。
链路层可以提供的服务。
封装成帧,在链路层上进行传播。
链路接入 可靠交付(确认,重传),流量控制采用有限容量的帧缓存
差错纠正,差错检测 半双工,全双工
链路层的主体部分是网络适配器
差错检测和纠错技术:比特级差错检测和纠错,奇偶检验,前向纠错,检验和方法,循环检测CRC
多路访问协议:点对点链路,广播链路。
点对点链路室友链路的一端的单个发送方和链路另一端的单个接收方组成。 PPP协议,HDLC协议。
广播链路:能够让多个发送和接收节点都连接在同一个相同的单一的,共享的广播信道上。
多路访问协议:信道划分协议,随机接入协议,轮流协议。
信道划分协议 时分多路复用,频分多路复用,码分多址
时分多路就是每个发送方在规定的时间内才可以发送信息,就导致如果发送方在该自己发送的时间,而没有发送信息而导致资源的浪费。
频分多路也是限制传输速率。
码分多址CDMA使用唯一的编码来对它发送的数据进行编码。这样就可以一一对应。
随机接入协议 1ALOHA协议 当要发送的时候先检测是否有碰撞,如果有以P的概率 在后续重传她的帧。
CSMA 载波监听多路访问。 CSMD载波监听碰撞检测
轮流协议(顺序的传送),令牌传递协议(根据令牌在哪里就可以传输数据)
局域网LAN以太网LAN 基于随机接入,第二类LAN技术是由令牌传递技术 令牌环
链路层编址 MAC地址物理地址每个MAC是唯一的 还有广播地址
ARP地址解析协议 只为同一个子网的节点解析IP地址。ARP分组 包括发送和接收的IP地址,MAC地址。
ARP查询分组的目的是询问子网上所有的节点,已确定要解析的IP地址的MAC地址。
安全通行的特性 机密性(对数据要进行加密和解密),报文的完整性(发送方和接收方可以互相鉴别发送内容是否被篡改),端点鉴别(确保通信是彼此双方而不是其他人截胡),运行的安全性
密码学的原则 明文---》加密算法---》密文
SSL 通过采用机密性,数据完整性,服务器鉴别和客户机鉴别来强化TCP