• jQuery火箭图标返回顶部代码



    # Coursera-Note: Internet History, Technology and Secure ## 第一周

    极其冗长的计算机起源:
    用于军事解密->创造了计算机->发展到超级计算机


    ## 第二周

    数据交换:

    • 从私人专线(铜线,私人租赁,成本随距离变化而变化,造价极高)->
    • 到专门建立一条公用数据线并应用数据的存储和转发技术(store and foward networking)

    Packet switching技术:

    • 结合网关(gateway)和路由(router)
      • 路由:一种只能转发不能存储的电脑
    • 包(packet):带有包大小、序号、源地址和目的地址的标签。数据被拆分成各种包,通过不同路径并最后到达目的电脑中,重新组合
    • 主要技术疑难:链路路径循环(loop)或者堵塞问题

    ## 第三周
    • 解释了WWW万维网的形成和物理实验室的关系:
      • 1、建立一个集中性数据库存储300000份左右的物理资料;
      • 2、使用网络和链接,以连接到所需要的电脑读取文件,从而实现文件共享;
      • 3、任何人可以访问、创建、编辑
    • 安装了网络服务器(web server),结合database和网络,以方便查询(query)(也无意中发明了第一个网络搜索引擎)
    • 早期web浏览器:难以工作、安装、下载、编译等等->对www的开源和公开,并建立第一个有意义的网络浏览器(web browser):Mosaic浏览器

    创造http

    • 将文档中的超链接组合在一起,作为用户界面导航和检索文档->未来可能会对那些试图以分布式方式管理文档的人非常有用
    • 应用于X windows box上->93-94可以应用于多个平台包括windows、Unix、mac
    • 微软对于浏览器的大量开发->增强了驱动标准和功能的多样性

    ## 第四周

    JS和mozilla、firefox的起源

    • Netscape与microsoft进行竞争-> 决定开源->重造核心技术
    • 经过艰苦长时间的重建工作、netscape的失败产品,发布mozilla
    • 发明搜索框(web search box)
    • 与谷歌等搜索引擎合作,插入广告的搜索+点击收入模式

    JS的发明:

    • 与java毫无关系。。
    • 可塑性可拓展需求、多范式编程模式、onclick、一等函数及原型继承
    • 易学、易操作
    • 加入一些有别于java、oop的功能,以防止太像java(?):closure模式等
    • 被后来人标准化并且多样化


      Microsoft将免费将浏览器和操作系统捆绑->导致netscape的闭源策略被削弱

    World Wide Web Consortium

    对互联网进行标准的高质量制定、保护互联网安全,防止互联网私有化

    Jeff bezos:amazon创始人之一

    - 完美利用了互联网的技术便利和网络使用量的迅速增长等优势,用书本的在线销售启动了他的商业计划
    - 这是一次面向使用者的真正的创新商务模式,完美Capture the attention,得到了足够好的用户口碑和宣传力度(不需要广告)->电子商务的兴起
    

    1990s:网络带来了经济增长以及过度投入的建设资金
    ## 第五周 the link layer



    • 简化中间的数据包hop过程:分层网络模型(不止一个)
      • 四层的TCP/IP:互联网协议套件模型internet protocol suite model
      • 七层的OSI网络模型:又称open system interconnection model

    分层模型——链路层

    • 只负责数据的传输即可(如何共享?如何传输?不用管)
    • 确认目的地:物理地址(mac address,一串生产序列号【series number】)和网络地址(IP address)


    链路层




    • Carrier-sense multiple access with collision detection (具有冲突检测的载波感知多路访问技术)
    • Packet Encoding
    • One Hub to plug/tap into is easy and enough, linked to internet

    Ethernet

    • Ethernet起源:第一个本地计算机网络
      • 受到启发:无线共享分布式网络, 应用 随机重新传输机制 进行 冲突检测
      • 当许多终端在传输过程中发生碰撞时,这些终端就会在未来的某个随机时间重新传输数据。这样一来,如果它们在这里重叠它们以后就不会再重叠了,因为它们会选择不同的随机数来进行计数。这就是随机传输,多重访问。
      • 对数据包进行曼切斯特编码, 并使用移位计数器收集数据包->在340纳秒内感知判断是否有数据包即将同时传递->载波感知(carrier sense)(与阿帕网的第一个区别)
      • 曼切斯特编码的On/off特征(简单的编码调制方案)->判断是否即将和其他数据包发生collision(第二个feather)
      • 拥有两个地址(The address of the destination and the address of the source. And each of these would be 8 bits),并添加循环冗余校验码(cyclic redundancy checksum)(硬件实现)->判断数据包是否损坏
      • Rat’s nest problem——需要每台电脑有一条线实现互连
      • 使用加工(打孔)后的同轴电缆(coax)->可实现 24小时任意时刻接入网络 和 仅需要一条主线即可


        以太网网速:2.94MG开始逐渐到10G为主流

    IP

    • IP:Internet Protocol
      • 一大特征:当数据传输有误,可以丢弃数据包


      • IP地址仅仅与 所在地的连接点有关
      • IP分为两个部分(16位):前六位network number,后六位computer number within network
      • 由于处于相同区域的电脑network-number相同,当数据包发送时,优先考虑network-number,大大优化中间的传输过程
      • IP core:对于数据最短的正确传输路径选择、 router对于邻接router的感知 和network对于错误传输路径的纠正
      • Router tables:每个router记录到达其他router的最佳出站路由,动态更新,一种索引

    DHCP:dynamic host configuraton protocol

    • 动态主机配置协议:被其他计算机赋予一个真实的临时地址,但是无法真实运行于互联网网络中,仅仅适用于本地网络,192.168.xxx.xxx等,属于不可路由的网址。
    • Home router:拥有一个独特的可路由IP地址,接入时会取走本地电脑真实IP地址并赋予一个新的不可路由本地地址。在家庭网络中建立的每个连接映射远程地址。(network address translation,NAT技术)(在基站内转换)
    • 在同一个wifi作用范围内,接入电脑皆使用被赋予的本地地址,进而转换成真实的接入电脑地址

    route path

    • Time to live(TTL):控制数据包的hop次数(缺省为255),每hop一次相应减一,到0时被自动丢弃(大概率进入循环或者进入到错误路径或者数据包发生异常)
    • 使用一种名为“traceroute”的技术来跟踪数据包。




    ## 第六周 transport layer



    TSP层

    • 解决拥有IP的link layer,在传输过程中底层网络速度的控制、传输数据可靠性以及对于数据包异常的解决(补偿被丢弃等的错误,使数据包被充分利用)
    • 数据包的长期和短期存储:在外部计算机中 长期存储,内部计算机在中间传输过程临时存储。
    • 流程:
      • Res存储数据,拆分为包,保存副本!(copy),并发送,并接收反馈
      • 状况一:->desti得到确认(acknowledged)->res丢弃已确认的数据包
      • 状况二:->desti未得到确认->res继续发送直至确认->继续丢弃
    • Van Jacobson:invent "slow start algorithm"(float control)
      • 问题起源:56KB的电缆和10MB的校园网混用导致超载(带宽bandwidth的变化)
      • 当数据包在bandwidth上被压缩,时间线上就会spread out,并等待通过,并且不存在操作使其重组
      • ACK:确认字符(acknowledgement character)
        • ->返回ACK数据包,告知sender 所需要通过bottleneck所需的空间
        • ->按照正确的时间间隔发送数据包,以保证数据包安全通过bottleneck(slow)
      • 问题所在:ACKclock机制的不确定启动(突然打开容易进入重复传输失败模式),网关Buffer突然饱和以至于一直丢包
      • 解决方案:慢启动,用足够时间控制,使backlog保持在buffer的可用范围内,继而获得所有包的ack clock
      • TCP内核模块:环形缓冲区,从内核读取(read the kernel memory)并pull the buffer out(?)[驱动、I/O控件]
      • 对于Core dump:修正,研究了算法进行微调
      • 植入TCP/IP协议中(implementation)

    DNS(domain name system)



    - Domain name让用户更容易记住(user-friendly),而IP更适用于Internet(network-friendly)【都是从不具体到具体,DN更像是组织名称,IP更依赖地理位置】
    - Router中将domain name 转换为 IP(映射)
    - DNS是一个分布式数据库,缓存很快
    - IP从左往右读取;domain name从右往左读取


    - DN:从右到左都是被拥有层级结构关系,最右边是最大的权威组织授权的顶级主域名(top),然后拥有者可以开设子域名(可以自己拥有也可以授权卖给其他组织)

    总结

    • 都是一串串数据流的交互
    • IP负责实际移动,TCP负责移动的可靠性

    ## 第七周 application layer

    review

    • Client-server machanism:two applications
    • Client->make a request->server->make a response back

    应用层

    • 端口和协议的重要性
      • 端口:允许一个IP、一个计算机、一个服务器,同时提供多种服务接口,client拨号即可连接到该服务。若要选择需要的服务,还需要知道相应的通信协议(protocol which talks to it).
      • 进一步细化与目标主机的对接:与某个指定IP下的某个应用程序对话
      • 如何通信:application protocol->包含规范化的通信规则
        • 常用AP:http协议——www的主要协议之一
        • http请求/响应周期:
          • Client->点击链接发送HTML文档请求->生成到server的连接->发送HTML文档请求->server查找并返回->回显至显示屏上
    • others thing:
      • http hack:假装为web server并发送正确的规范化请求命令,由于http为公共协议安全级别不高所以比较容易hack
      • Telnet:古老的、不安全的协议

    summary



    One technology in the future------Content-Centric Networking


    ## 第八周 Secure——confidentiality and integrity confidentiality and integrity:机密性和完整性
    • confidentiality, encryption and decryption
      • Key —— 一些数据加上算法
      • Secret key && public key
        • 用相同的密钥(secret key)加密解密,则是 对称加密(symmetric-key)
        • 用不同的密钥(secret key)加密解密,则是 非对称加密(asymmetric-key)
      • 凯撒密码:
    • Integrity and Signatures
      • Cryptographic Hash:SHA1、SHA256、MD5
        • 将任意长度输入转换成固定长度的字符串或者信息摘要(digest)
          • 好的hash function:变动其中任意一个字母,都能使整个digest变化
          • 差的hash function:对于两个不同的输入,容易得到相同的摘要,产生冲突(在hash算法上进行完善)
      • 带有hash加密的密码系统,可使用hash函数计算出的digest进行判断(不直接存储密码 否则容易被泄露),且难以可逆。
    • Inntegrity

      • 来自所认为的发送方,数据保证中间过程没有被修改
      • SHA1->使用shared secret,贴到消息后面->生成新的hash->比较digest


    密钥的不安全性:传输过程中容易被拦截并破解(密钥分发【distribute】不安全)


    ## 第九周 secure web connection

    公私钥


    • Public key:对外开放,用于加密
    • Private key:用于解密,私人拥有
    • 知悉公钥,理论上可以暴力破解,但是在实际中电脑的性能不可能破解。(并非绝对安全,公私钥系统的算法也可能会被攻破)
    • 知悉私钥,可以简化解密过程。因此公钥可以任意分发不用保护,而私钥保护在电脑或者服务器中,进行解密

    SSL /TLS /HTTPS

    • 安全套接字层(SSL):

      • 位于应用层和传输层之间
      • 由于分层结构,下层结构只需要负责传输密文即可(并不知悉传输的是密文还是明文)
    • 可进一步保证了数据的完整性(integrity)
    • 威胁:
      • 1、电脑内植入的监测病毒
      • 2、被重定向到伪造的未知的服务器进行通信(需要身份确认)

    Integrity and Certificate Authorities

    • The third-party certification authorities:
      • Give the public key,并且进行认证(网页上的安全连接证书信息),保证通信时,对方身份的真实性与准确性
      • 将组织或者其他信息以数字签名的形式,与公钥捆绑在一起,称为 公钥证书
  • 相关阅读:
    OS + Multipass
    服务器间文件实时双向同步(rsync+inotify)
    全链路追踪 & 性能监控工具 SkyWalking 实战
    TCP Dup ACK linux kernel 3.2
    Ns3.35 errata Compilation on Python 3.10 systems
    LeetCode 108. Convert Sorted Array to Binary Search Tree
    LeetCode 98. Validate Binary Search Tree
    LeetCode 701. Insert into a Binary Search Tree
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
    LeetCode 783. Minimum Distance Between BST Nodes
  • 原文地址:https://www.cnblogs.com/fzu2018-clf-bky-blog/p/10669886.html
Copyright © 2020-2023  润新知