web学习---mooc计网学习笔记

web安全——基础知识(计算机网络part1)_啦啦啦啦啦啦啦噜噜的博客-CSDN博客_web安全基础知识

宏观: 
一、一些基本概念

计算机网络、网络协议
计算机网络结构、Internet结构
电路交换、多路复用
报文交换和分组交换(分组交换更好)
速率、带宽、延迟、时延带宽积、丢包率、吞吐量

二、OSI七层模型

OSI七层模型及各层功能概述_Java小白白又白的博客-CSDN博客_osi参考模型分为哪几层?各层的功能是什么?

OSI七层模型详解_小鹏_加油的博客-CSDN博客_osi七层模型

整体结构:

  • 物理层:实现每一个比特的传输
  • 数据链路层:相邻网络节点间传递(组帧,物理寻址,流量控制,差错控制,访问接入控制)
  • 网络层:源主机到目的主机的数据分组交付(逻辑寻址,路由-选路径,分组转发)
  • 传输层:源-目的 端-端 进程间 完整报文传输(分段与重组,SAP寻址,连接控制,流量控制,差错控制)
  • 会话层:对话控制-建立维护、同步(薄所以不单独存在)
  • 表示层:处理交换信息的语义语法问题(数据表达转化,加密解密,压缩解压缩,非独立)
  • 应用层:支持用户通过用户代理(如 浏览器)或网络接口使用网络(服务)
    (典型服务:文件传输-FTP    电子邮件-SMTP    Web-HTTP)

TCP/IP参考模型:架构在IP之上(能封装、传输IP分组就能成为网络的一部分)实用

5层参考模型:实际上的~

三、网络应用:

  应用层体系结构:

  • 客户机/服务器结构(Client-Server, C/S)   --web
  • 点对点结构(Peer to peer, P2P)   --文件共享
  • 混合结构(Hybrid)   --文件传输P2P 文件搜索C/S

  网络进程间通信:

  • 利用套接字 Socket 发送/接收消息
  • 寻址进程:进程的标识符 ~ IP地址(寻址主机)+  端口号
  • 遵循应用层协议(公开协议 / 私有协议)
  • 传输服务的需求:Internet 提供的传输服务 -- TCP服务、UDP服务

微观:

四、Web:

1.概述:

  • 构成:网页、网页互相链接
  • 网页:包含多个对象:HTML文件、JPEG图片、视频文件、动态脚本等
               每个网页会有一个基本的HTML文件(包含对其他对象引用的链接)
  • web对象的寻址(区分网页):URL统一资源定位器
               格式:(协议): //(主机的域名或IP地址):(端口号)/(path路径)
  • 遵循HTTP协议(超文本传输协议HyperText Transfer Protocol),C/S结构, 使用TCP传输服务
  • HTTP传输协议特点:无状态(对事物处理没有记忆能力)
                                       无连接(每次连接只处理一个请求)
                                       媒体独立(任何类型的数据都可以通过HTTP发送)
    (从学长视频中摘抄的)

2.HTTP连接类型:<TCP连接>

  非持久性连接过程:

  1. 客户端发起TCP连接请求->服务器接受请求并通知客户端->
  2. 客户端将HTTP请求消息(包含表示客户端需要对象的URL地址)通过TCP连接的套接字发出->
  3. 服务器收到解析再通过套接字发回响应信息->
  4. 服务器关闭TCP连接->
  5. 客户端收到响应信息,解析html文件,显示html文件->
  6. 为每一个jpeg对象重复步骤1-5

  持久性连接:发送响应后服务器保持TCP连接的打开,后续HTTP消息仍可以通过这个连接发送
       无流水的持久性连接(客户端只有收到前一个响应后才发送新的请求)
       带有流水机制(只要遇到一个引用对象就尽快发出请求)

 ps. RTT:从客户端发送一个很小的数据包到服务器并返回所经历的时间。

3.HTTP消息格式:请求消息/响应消息

  • 请求消息:ASCII码
                     结构:(请求行)    GET / POST / HEAD +  URL  +  HTTP的版本
                                (头部行 可拓展的)主机地址// 浏览器// 连接// 接受的语言//(名:数据 空行结束)
                                消息体
  • 上传输入的方法:POST方法:使用post会把表格填写的数据放在消息体中
                                 URL方法:使用GET方法  通过请求行的URL上传
  • 响应消息:第一行状态行:~~~200 OK、404Not Found (查RFC)

4.Cookie技术:

某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据

5.web缓存 / 代理服务器技术

不访问服务器的前提下满足客户端的HTTP请求

五、Email应用:

构成:邮件客户端、邮件服务器、SMTP协议

SMTP协议:

  • 握手、消息的传输、关闭
  • 命令/响应交互模式:  命令:ASCII文本、响应:状态代码和语句
  • 交互实例

Email消息格式:

  • 基本格式:头部行header(To From Subject)+消息体body(ASCII字符) 
  • 多媒体文件扩展:MIME(在邮件头部增加额外的行来声明MIME的内容类型)
  • 邮件访问协议:POP、IMAP、HTTP
  • POP3协议:认证阶段:客户端~user:用户名~pass:密码  服务器~+OK~-ERR
                        事务阶段:List列出消息数量 Retr用编号获取消息 Dele删除消息 Quit退出
                        模式:下载并删除模式、下载并保持模式
                      (POP3是一个无状态协议)
  • IMAP协议:所有消息保存在服务器上
                       允许用户利用文件夹组织消息
                       支持跨会话的用户状态
                      (IMAP是有状态协议)

六、DNS服务:

  • DNS:Domain Name System 域名解析系统(把域名翻译成IP地址)
  • 解决互联网上主机/路由器的识别问题:IP地址、域名
  • DNS采用分布式、层级式服务器
  • 域名服务器:最高层
    顶级域名服务器TLD:顶级域名和国家顶级域名
    权威域名服务器:组织的域名解析服务器
    本地域名服务器:不严格属于层级体系 每个ISP有一个本地域名服务器(默认域名解析服务器)
                                 作为代理将DNS查询转发层级式域名解析服务器
  • 迭代查询:被查询服务器返回域名解析服务器的名字
  • 递归查询:将域名解析的任务交给所联系的服务器
  • DNS记录和消息格式:资源记录 (name, value, type, ttl )
    Type=A  Name:主机域名  Value:IP地址
    Type=NS  Name:域   Value:该域权威域名解析服务器的主机域名
    Type=CNAME  Name:某一真实域名的别名  Value:真实域名
    Type=MX  Value:与name相对应的邮件服务器
  • DNS协议:查询和回复 消息格式相同
    消息头部:identification:16号查询编号,回复使用相同的编号
                      flag:查询或回复,期望递归,递归可用,权威回答
  • 注册域名:在域名管理机构注册域名 提供你的权威域名解析服务器的名字和IP地址
    域名管理机构向com顶级域名解析服务器插入两条记录:
    (域名,域名解析服务器的名字,NS)
    (域名解析服务器的名字,IP地址,A)

 七、P2P架构

  • 特点:没有服务器,任意端系统之间直接通信,节点阶段性接入Internet,节点可能更换IP地址
  • 文件分发比C/S架构更快
  • 典型例子BT协议:BitTorrent
    torrent:交换同一个文件的文件块的节点组
    tracker:跟踪参加torrent的节点
    文件划分为256KB的chunk
    节点加入torrent:没有trunk但会逐渐积累 向tracker注册以获得节点清单 与某些节点“邻居”建立联系
    下载的同时,节点需要向其他节点上传chunk
    节点可能加入或离开
    获取chunk:给定任意时刻,不同的节点持有文件的不同chunk集合 节点(Alice)定期查询每个邻居所持有的chunk列表 节点发送请求获取缺失的chunk
    发送chunk:tit-for-tat   Alice向速率最快的4个邻居发送chunk 每10秒重新评估top4 每30秒随机选择一个其他节点发送chunk
  • 索引技术:消息到节点位置的索引
    集中式索引:节点加入时通知中央服务器IP地址和内容  某个节点查找文件建立连接请求文件
    内容和文件传输是分布式的,但是内容定位是高度集中式的
    问题:单点失效问题、性能瓶颈、版权问题
    泛洪式查询:完全分布式架构 每个节点对且只对它共享的文件进行索引
    覆盖网络:节点X和Y之间如果有TCP连接,那么构成一个边。所有的活动节点和边构成覆盖网络,边是虚拟链路。
    查询消息通过已有的TCP连接发送 节点转发查询消息 如果查询命中则利用反向路径发回查询节点
    层次式覆盖网络:结合上面两种的优点
    每个节点或者是一个超级节点,或者被分配一个超级节点,相互之间通过TCP连接
    超级节点负责跟踪子节点的内容
  • P2P案例应用:Skype

传输层:

传输层服务:

  • 本质上:为运行在不同主机(端系统)上的进程提供了一种逻辑通信机制(端到端的 进程之间
  • 发送方:将从应用层接收的消息分成一个或多个的segment,并向下传给网络层
    接收方:将从网络层接收到的segment组装成消息,并上交给应用层
  • 提供多种传输层协议:Internet上的TCP(可靠)和UDP(尽力而为)

多路复用和多路分用: 

  • why:某层的一个协议对应上层的多个协议(实体),则需要复用(分用)
  • 分用是有多个接收端,复用是发送端

UDP协议

  • 特点:基于IP协议(复用/分用 + 简单的错误校验)
    在传输层进行错误检测:端到端的原则
    没有错误恢复,尽力而为的原则
    无连接:发送方和接收方不需要握手 每个UDP段的处理独立于其他段
  • 与TCP优点:无需建立连接(减少延迟)实现简单(无需维护连接状态)头部开销少
                          没有拥塞控制(可以更好地控制发送时间和速率)
  • 应用:常用于流媒体应用(容忍丢失 速率敏感)还用于DNS SNMP
               在UDP上应用层能实现可靠数据传输
  • 报文段格式:

  • UDP校验和(checksum):检测UDP段在传输中是否发生错误(如位翻转)
    方法
    发送方:将段的内容视为16比特的整数,计算所有的整数的和,进位加在和的后面,将得到的值按位取反,得到校验和
    接收方:计算收到的段的校验和比对,不相等出错,相等未检测出错误(不一定无错)

可靠数据传输原理(rdt):

  • 特点:不错、不丢、不乱 
  • 可靠数据传输协议基本结构:接口
  • 利用状态机(FSM)刻画传输协议(每一个状态之间的变迁都会被准确的定义)
  •  Rdt1.0 可靠信道上的可靠数据传播:
  • Rdt2.0 产生位错误的信道(比特错误):ACK NAK
  • Rdt2.1-2.2 解决重复 增加序列号:
  • Rdt3.0 丢失分组->定时器 等待合理时间

流水线机制滑动窗口协议:

从Rdt3.0提高资源利用率


 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值