计算机网络原理
第一章 第4节-第二章 第2节
第一章第三节
吞吐量:从源到目标穿过整个路径的bit速率(bps)
瞬间吞吐量:小的时间颗粒度统计的速率 平均吞吐量:长的时间颗粒度统计的速率

第一章第四节
分层协议:我们给网络协议的设计提供结构,每种功能只属于每一层,各自独立,但是这一层的具体实现方式需要依靠下一层的服务来提供服务


这个总结已经相当清楚,也就是按我自己的话来说比如说我们要访问一个服务器的数据,我们只管在应用层方面的交互,也就是我们发出报文然后请求响应,对方回应后传给我们数据,具体这个数据是怎样传送的方式那需要看运输层是TCP还是UDP的协议我们不管。然后这个运输层怎么实现他是如何找到对方的IP地址,我们也不管,交给网络层去找他的IP,我们只负责在应用层请求他的域名,具体之后实现的方式不是我们本层的内容。

数据单元:1)部分ICI信息变换成头部内容,而部分ICI可以接着往下传 •封装在第n层的头部,当成控制信息 实现第n层功能,2)源端封装过程 3)接收方解封装过程

也就是说每一层在往下一层传时都会加上自己的报文序列,每一层来看都是PCI加上SDU的整体,比如说运输层收到的就是一个数据块M1,他加上自己的报文头PCI之后往下传,之后网络层收到的是另一个数据块M2,他对于M2不做操作,加上自己的PCI报文头之后成为数据块M3往下一层传,直到发送到另一端的物理层链路层一层层往上反向再解封开。
第一章第五节
看看网络的具体协议栈

OSI是古早有七层的雏形

第二章 第一节
应用层:应用层简单来说就是应用程序之间的通信服务
首先来看应用层的结构:第一种是CS结构,第二种是P2P结构
首先看第一种
服务器: 在主机系统中始终运行 固定IP地址,部署在数据中心,方便扩展
客户端: 与服务器进行联络和通信,可能与互联网有间歇性的连接,可能是动态IP地址,客户端之间通常不直接通信 例子:HTTP, IMAP, FTP,经典web程序就是其中一种
第二种:(几乎)没有一直运行的服务器 ,任意端系统之间可以进行通信 ,peer请求其它peer的服务,同时也 向其它peer提供服务,有自扩展性:新peer节点带来带来新的服务请求,同时也带来新的服务能力 Peers具有间歇性连接且可能有变化的IP地址,管理复杂

那么是怎么实现的呢:进程通过套接字socket的软件接口向网络发送,套接字也称为网络和应用程序之间的编程接口(API),他是在应用层上实现的,

下面来看我解释:API是提供任何程序员调用的函数类协议,socket是一套通讯领域的标准API,具体我们编写程序是如何实现在网上进行交互的,看我的例子,发送程序

客户端构造HTTP请求报文,然后交给套接字API,我的springboot框架中的yml文件将本地端口8123设置构造请求行,也就是程序的server那里,作为TCP协议的目的端口号,是写入PCI协议控制的字段,path那个是url请求路径。也就是我设置的yml文件是配置好协议之后交给我本地的套接字,之后再返回发回来信息
Maven下载的PCI流程也是这个道理,我在xml文件里写好之后,maven客户端构造http请求下载jar包,所以对我们来说我不需要关注下载时依赖的PCI细节,maven和springboot帮我做了,我只需要写好依赖的配置,配置好本地的端口,调用我需要的API,其他会程序自动帮我做


第二节
我们来看一下运输服务的具体区别:TCP服务和UDP服务


TCP需要建立三次握手才可以正常通讯也就是,C发出之后S受到算一次,S再返回发给C收到又算一次,C再发给S确认收到第三次,之后建立持续通讯,而UDP不需要三次握手,直接开始通讯。

用原生IP,没有端口无法区分应用,UDP引入了源端口和目的端口,把数据交给正确的程序,而且提供校验位等并且UDP速度较快,再一定程度也可以理解,UDP存在的理由是在IP提供的不靠主机间交付的基础上,以最小代价增加了端口复用能力。
快速浏览一下web和HTTP协议:Web网页包含了一些对象,每个对象可以被存储在不同的 (也可以相同的)Web服务器上对象可以是HTML文件,JPEG图像,Javaapplet, 音频文件 ,… Web网页包含一个base HTML-file(对象),该文件包含了若 干个被引用对象的URL地址…

这个访问http链接里面包含着主机的域名,以及端口和路径名
HTTP: hypertext transfer protocol 支持Web的应用层协议 Client/Server模式: •Client:浏览器,请求(使用HTTP 协议)和接收对象,解释和“显示 ”对象(该步骤与协议无关,属于Web应用中的HTML格式定义Server: Web服务器响应Web浏览器的请求,用HTTP报文给出回应

http1.0版本是无记忆的,也就是我每建立一次联系都要经过三次握手这几个步骤, 非持久HTTP连接 :1.建立TCP连接 2.在该TCP连接上传送一 个对象 3.关闭TCP连接 请求多个对象需要多个 TCP连接
持久HTTP连接 :建立起来和服务器的TCP 连接 在该TCP连接上可以传输 多个对象 关闭TCP连接,我们默认都是持久的http 链接,比如建立连接后一次性传送10给jpeg
持久http链接有流水线方式:客户端在遇到每 被引用的对象时立即在TCP连接上发出请求 ,流水线方式:所有的被引用对象 会在一个RTT(往返)时间内被获取(减少一半的响应时间)也就是不用一次一次请求,我们都是在一个工作周期内按顺序进行,然后http持久链接在空闲一段时间后会被自动断开,目的是释放服务器资源避免长期连接占用。
http报文的结构:

http请求报文的第一行叫做请求行,其余的部分叫做首部行


先先……到这里吧,小赖的大物作业还没写……燃尽了
