网络原理:自顶向下方法的读书总结

这一本书的主要阅读的部分至网络层结束,其他暂时不看。
1.绪论
(1)TCP/IP模型
TCP/IP模型总共有5层,物理层,数据链路层,网络层,传输层,应用层。
应用层:HTTP 超文本传输协议,SMTP简单邮件传输协议 ,FTP文件传输协议,TELNET远程控制协议,SSH安全外壳。
传输层:
TCP:流量控制,拥塞控制,差错控制。
UDP:不提供上述的控制。
网络层:主要是IP协议。
地址:
需要四对地址,物理层不需要。
多路复用,多路分解:
源段进行多路复用,目的端进行多路分解。
多路复用主要是指一个协议能够封装来自上层的多种协议,多路分解值的是一个协议能够分解,然后投递至多个上级协议。
(2)OSI模型
OSI模型中主要由7层组成。
应用层 表示层 会话层 这三层对应TCP/IP中的应用层。
传输层
网络层
数据链路层
物理层
2.应用层
(1)应用层简介
传统模式:用户-服务器模式
1.服务器进程不断运行,一直等待用户进程建立连接,然后提供服务。
2.服务器必须一直开启且处于运行状态,在服务要求多时,可能无法支持。对硬件性能要求较高,要较高的运维成本,同时几乎必须要对客户端以及服务器分别单独开发。

新模式:对等模式
1.一台计算机既能接受服务又能提供服务,可以再这一次接受服务,下一次提供服务。不需要一个永远在运行的客户端。
2.问题就是安全没有办法保证。

当然现在还出现了混合模式。

(2)用户-服务器模式
进行接触的两者实际上的是两个进程。

应用程序接口
为了使下级四层能够完成相应的工作,所以需要程序的接口 API.套接字接口,传输层接口,以及STREAM。
下面主要介绍套接口:
套接字本质上是一个能够被用户以及客户端创建和使用的数据结构。
套接字首先需要一对地址,本地套接字地址以及远程套接字地址。
一台计算可以用IP地址确认,一个程序可以通过端口确认,所以套接字是由IP与端口组合而成。
客户端和用户的本地套接字地址在两者进程开始使用网络之前就已经分配好了。
客户端的远程套接字地址要在用户进行链接的时候由用户给出。
客户的远程套接字地址可能知道,可能不知道。知道可以直接访问服务器,不知道的话需要通过DNS(域名系统,这也是一个用户-服务器模式的应用)获取查询并获取。
然后可以通过传输层的协议获取服务。TCP/UDP/SCTP.

(3)标准客户端-服务器应用
www与HTTP
www的主要特点有两个,第一个是分布式,第二个是连接的。
结构:
每一个用户都能通过浏览器获得服务,但是这些服务是分散在多个站点上的。可以通过连接获取。
网络用户
可以被认为是各种各样的浏览器,由控制程序,客户协议,解释程序组成。
网络服务器
URL:统一资源定位符
我们需要四个标志才能确定同一个网站:协议,主机,端口,路径。
协议主要是http,也有一部分是FTP。
主机可以是服务器的IP地址或者是被指定的唯一名称(通过DNS查询对应的IP地址)。
端口一般省略不写,HTTP的端口是80.
路径就是存放在哪个目录下面。
万维网上的文档
静态文档,动态文档,活动文档。
静态文档的内容是固定的,动态文档需要通过脚本语言进行编译获得,动态文档需要使用在网页上运行对应的程序。
HTTP协议
有两种连接方式:非持续连接和持续连接。
非持续连接主要流程是:1.用户发起TCP连接并发起请求。
2.服务器发送 相应然后关闭连接。3.用户读到文件末尾直接断开连接。
持续连接就是一直保持连接直到要求提出或者是超时,再断开。

HTTP报文
请求报文的第一行叫请求行,状态报文的第一行叫状态行。
请求报文
请求报文第一行有三个部分,第一部分为方法,表示要进行的动作,第二部分是URL,第三部分为使用的http协议的版本。
中间有空格。
第二行是首部行,是做相关设定的。由首部:设定值的键值对组成。当然还有一种特殊的首部:if-modified-since用于表示如果文档在给出的时间之后genxing,才会返回。被称为选择请求。
第三部分是主体,与上面的有一个空行。

状态报文
状态行中第一个字段位HTTP版本,第二字段位状态码,第三部分短语用来解释状态码的。
状态码:
1XX只代表一个报告,2XX代表成功,3XX代表客户端已经重定向到另外一个URL,4XX代表客户端出现错误,5XX代表用户出错
第二行是首部行,是做相关设定的。
第三部分是主体,与上面的有一个空行。

Cookie
Cookie的创建和存储
1.当服务及接收到请求之后,将用户的信息存储到Cookie中,包括域名,时间戳等信息。
2.服务器在响应中给出客户端的cookie。
3.浏览器根据cookie的来源分类并记录。
当客户在发送信息时,查询对应的存储结构,如果在结构中有cookie信息,则附带发送。这样服务器接受到之后可以确定这是已经访问过的用户,可以进行没有进行完的操作。比如网络购物,用户在第一次操作中创建了购物车,之后的购物过程中服务可以按照cookie,查询用户创建的购物车直接在后面添加,而不是在重新创建一个购物车。

代理服务器
代理服务器是服务器又是客户端。作为服务器要向用户发送反馈,又要接受来自目标服务器的反馈。
××××××××××××××××××××××××××××××××
FTP
FTP主要用于传送大型文件,这样的传送方式比HTTP更好。
客户端主要有三个接口,第一个是用户进程,用于与客户连接。第二个是控制进程,第三个是数据传输进程。
服务器主要有两个部分控制进程和数据传输进程。
控制连接是在控制进程之间构筑,数据传输连接是在数据传输进程之间构筑。
连接寿命
控制连接在FTP会话开始时创建,在回话结束时断开。
数据传输连接传文件就构筑,不传文件就关闭。
端口21用于控制连接,端口20用于数据传输连接。
控制连接
控制连接使用的是ASCII字符集。与远程桌面连接类似的方式。
FTP命令主要使用的是大写的ASCII字母,这样的命令可以带或不带参数。
FTP命令的响应是一段文本后面跟随一个三位的数字,分别代表命令状态,状态对应的区域以及额外信息。
数据传输连接
首先,客户发起一个被动打开,然后使用PORT命令发送端口号,最后服务器在收到之后通过20端口发送主动打开信号。
用户必须定义对应的数据结构,文件类型,以及传输方式。
数据结构有三种文件结构,记录结构,页面结构。
文件结构没有固定的结构,只是通过单纯的文字流记录信息。
记录结构是以一条记录的进行处理的。
页面结构是分页的,每一页有每一页的页头和每一页的页尾。
文件类型:ASCII文件,EBCDIC文件以及图像文件。
传输方式:流方式,块方式,压缩方式。
×××××××××××××××××××××××××××××××××××××××××
电子邮件传输
使用三种不同的代理方式:用户代理 报文传输代理 报文访问代理
用户代理
发送邮件时,用户代理发送的电子邮件由三部分组成:
信封:主要是投递地址
头部:基本信息
主体:用户编辑的信的内容
当检测到有来信的时候,通知用户。
地址
分为两个部分:本地部分@域名
本地部分特异的代表着用户的邮箱地址,域名是主机的地址。
报文传输代理
邮件的传输是三组用户-服务器模式。
用户-发送邮件服务器 发送服务器-接收服务器 这两者被称之为MTA。使用的协议是SMTP协议。
MTA客户发送消息给MTA服务器的是命令,命令的形式是一个关键字,后面跟随若干个参数。
MTA服务器发给MTA客户的是响应,响应的形式是一个三位数字,代表当前的状态。
传输一个邮件需要经过三个状态:连接建立,邮件传输、连接终止。
前面的协议主要是push,从用户到服务器。剩下的协议主要是pull,从服务器到目标服务器。
这里有一部分省略,建议阅读原文。P45
报文访问代理
主要使用的是POP IMAP

下一次开始P55
#######################################
远程登录 TELNET
网络虚拟终端 NVT
在应用的过程中,可能在两端的系统是不一样的,字符集之间可能会不同。所以这里我们就需要定义NVT字符集。用户将自己的命令转换成NVT格式,然后客户端再从NVT转换到客户端的模式。
主要有控制字符集和数据字符集。
这种方式已经基本被取代了,换为SSH
#######################################
安全SHELL SSH
SSH可以实现远程登录以及文件传输。
SSH组件
因为TCP不是安全的传输层协议,所以我们需要在TCP上端建立相关SSH协议,称之为SSH TRANS,主要是分为三种不同的协议,提供下述的服务:
1.保密性2.数据完整性3.服务认证4.报文压缩
SSH-AUTH SSH认证协议主要是用来认证客户端的。
SSH-CONN连接协议允许创建多个信道,可以用于不同的目的和SSH传输协议。
#####################################################
域名系统
主要原因是IP地址不好记,同时还可能被改变,所以我们只需要记住网站的名字,再通过DNS查询就可以了。
主要步骤有以下六步:
1.用户传送主机名到文件传输客户端。
2.文件传输客户端传送到DNS客户端。
3.DNS客户端查询对应的IP地址,或者向其他的DNS客户端查询对应的IP地址。
4.DNS客户端响应,将IP地址传输到文件传输客户端。
5.文件传输端将IP通过响应传给客户。
5.客户通过IP地址来访问对应的网站。
这里有一部分省略,建议阅读原文。P59-p62
解析的过程主要有两种递归解析以及迭代解析。
递归解析主要特征是当一个DNS服务器接收到域名的时候,由该DNS向其他的DNS服务器查询需要的IP地址,直到查到为止,再沿路径依次返回直至用户。
迭代解析主要特征是当用户向DNS服务发送查询申请,DNS服务器没有保存对应的IP,直接响应用户表明没有查询到。之后,由用户向下一个DNS服务器查询对应的IP地址.
高速缓存主要是将经常访问的信息放到缓存之中,然后对每一个连接映射设置生存时间TTL,如果在缓存中存放的时间超过TTL,则舍弃对应的连接。
资源记录主要是通过域名来标示对应的服务器的信息。其形式为五元组(域名,类别,类型,TTL,数值)
DNS报文主要是查询报文和响应报文。这两者有一样的结构。
标示字段用来匹配对应查询的响应。
标记定义了报文是查询报文还是响应报文。
头部包含下列四个字段:
查询部分包含着查询报文中查询的问题,在响应报文中也同样重复一遍。
响应部分包含一个或者是多个资源记录。
授权部分给出一个或者多个负责查询的服务器信息。
额外信息给出了能够帮助解析的额外服务器信息。
(4)对等模式
p2p
下一次开始P66

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值