计算机网络综述+笔记(传输层,应用层,网络安全)

2021-01-23 | Tags: 计算机网络 读书

综述

前后花了大概差不多半年时间,把计算机网络读的差不多了。这本大部头的书还是非常不错的,在书中从重底层的物理传输,到最顶层顶应用协议都有详细的涉及。在书本的叙述结构上大体上采用了TCP/IP参考模型,自底向上从物理层,数据链路层,网络层,传输层直到应用层,然后在中间穿插了大量的额外协议层,网络协议的发展历程,对现有各类协议的详细叙述等内容。使本书成为了一部百科全书式的经典著作。

当初上大学的时候也学过计算机网络,当时觉得课本上的知识很抽象,很难一直读下去。工作了之后接触到了不少现有网络结构和知识术语,与实际的工作有着紧密的联系,然后回过头来看本书的时候,就发现许多实际的网络概念已经在书中有所介绍,并且可以清晰的了解其历史和发展理念。这么一看也是对本书的内容愈发觉得亲切。

但是本书因为涉及了太多的内容,因此对于各个深层次领域描述也是浅尝辄止式的描述,如TCP协议部分,主要还是着重于概念的介绍和较简单的描绘,对于里面的各种细节还是要去看更进一步描述的相关书籍做进一步的研究。

总体来说本书是对计算机网络技术大而全的综述性书籍,对于读者了解整个计算机网络技术的全貌大有裨益,更重要的是,作者非常详细的叙述了许多现有技术的发展历程,和目前的状况及局限,将各种技术拉近读者,使整个技术世界不再神秘。对于特定技术也给出了更深层次的参考书做进一步的阅读。是一本非常棒的技术著作,非常推荐阅读。

笔记

传输层,应用层和网络安全相关笔记如下

传输层

传输层
传输服务
最终目标:向它的用户提供高效的、可靠的和成本有效的数据传输服务
和网络层非常相似,但是网络层的代码运行在路由上,传输层可以运行在用户的机器上,提供更近一步的控制服务,并且向上层应用提供服务
传输协议的要素
传输服务由传输协议实现
过程
寻址:端口监听
连接建立:
为了解决网络中数据丢失的问题——需要拒绝链接建立中可能的网络中重复的段——使用序号作为数据段段标签,使该段在T秒内不被重用。
在连接建立的过程中,需要记录来请求的段的序号,因此使用三次握手机制来建立连接
到达的目标是老的段的任何组合都不能让协议失败,并且不会出人意料的建立一个连接
连接释放:
使用超时机制保证成功断开
和连接建立的区别:
连接建立时可以通过后续发送消息来确认连接是否真正建立成功:如果没有真正建立成功,消息的发送会失败,没有额外风险
连接释放的时候就没有后续发送消息的机会了,因此通过回信的超时机制来决定是否认为连接已经真正断开
差错控制和流量控制:
差错控制确保数据传输过程中的可靠性;流量控制时防止快速的发送端淹没慢速的接收端
传输层保护的是端到端的差错控制和流量控制;与数据链路层对于单链路的保护不同
滑动窗口协议可以支持帧中携带验错码;序号确认和流式停等协议
拥塞控制
指整个网络系统被流量拥塞,而不是单条链路的流量控制
具体传输协议
udp
用户数据报协议-无须建立连接就可以发送数据报
udp没有做的事情:流量控制,拥塞控制,重传机制
udp提供的是:与ip的接口协议,通过端口号可以复用ip,可选的端到端的错误检查
应用
DNS,简单报文,不需要建立连接
RTP,实时传输协议
将实时数据流服用到一个upd数据包中:可以进行单播或者组播
数据包通过编号进行检查处理,因为开销大,没有确认和重传机制。数据通过时间戳同步
tcp
传输控制协议-为端到端字节流提供可靠的传输协议
基本协议-具有动态窗口大小的滑动窗口协议
tcp的确认号的值为接收端期望的下一个接收号
tcp连接管理模型-tcp连接管理状态有限自动机
滑动窗口优化算法的优化目标是:发送端不发送太小的数据段,接收端也不要请求太小的段
计时器管理
重传计时器:未在计时器时间中获取ack,触发数据包重传
使用往返时间值动态更新计时器值
持续计时器(0窗检测):防止因为接收端窗口大小为0导致双发都在等待
保活计时器(keepalive):连接闲置较长时间后检测对方是否在线
结束计时器:等待TIMED WAIT状态超时,值为最大数据包生存期的2倍
针对网络状态的拥塞控制

应用层

应用层:使用传输层服务提供实际的网络应用
DNS域名系统
层次的基于域的命名方案,完成对IP的映射
A记录:IPv4地址;AAAA记录:IPv6地址
采用UDP发送和接收报文
Web(World Wide Web)
W3C(World Wide Web Consortium):对web协议进行标准化
URL统一资源定位符
包括协议(http...),DNS域名,路径名
cookie
标记客户信息,在网站和浏览器之间传递
html和css
网页内容:由http(s)协议传递
JavaScript:为网页提供动态能力
流式视频音频/直播
CDN内容分发
使用DNS照多最近的CDN节点地址,称为DNS重定向
对等网络P2P
bittorrent协议
DHT分布式哈希表
维护一个环,每个机器节点可以加入或者退出这个环,加入后节点维护自己的前任和S和后任
不同key存储在不同的机器节点上,通过环进行依次查询

网络安全

网络安全
主要目标
保密:确保信息不会被未经授权的用户访问
认证:确认用户的身份
不可否认:证明用户的行为,使其不可否认
完整性控制:确定收到的信息未被中途篡改过
现代密码学
非公开密钥算法
DES标准
AES标准
公开密钥算法D(E(P))==P
RSA
三重RSA
数字签名
对文档进行签名,并保证签名不可被伪造
接收方可以验证发送方说声称对内容
发送方不可否认消息的内容
接收方不可能编造消息
对称密钥签名
非对称密钥签名
除D(E(P))==P外也要保证E(D(P))==P
消息摘要
只认证不保密
单向散列函数思想
不可复原原文
公钥分发
证书:将一个公钥与安全个体的名字绑定在一起
也可以绑定到属性上
统一证书分发中心
一挂全挂
公开密钥基层设施PKI
多级CA,假设每个人都知道根CA的公钥