zoukankan      html  css  js  c++  java
  • python-day3笔记

    1.通信是软件(计算机)与软件(计算机)之间的通信

    2.网络指的是:

    一:计算机与计算机之间通过物理连接介质(网络设备)连接到一起;光纤--物理连接介质,和网线一样。

    二:计算机与计算机之间基于网络协议通信(网络协议就相当于计算机界的英语)

    3.互联网协议的划分

    1)物理层发送电信号10110101二进制

    2)数据链路层--把一串二进制数字进行分组。(enthernet以太网协议--head+datamac地址) ,以太网的工作方式: 广播

    3)网络层(IP协议),IP地址形式:点分十进制。Ip地址+子网掩码(暗位语运算)算出网络地址,通过网络地址算出计算机是否在一个局域网内,然后采用以太网协议通信或者采用网关。(网关与网关走的是路由协议)                      ps:二进制与十进制的互换。

    4)Arp协议:先分析两台机器的网络地址是否一样--判断是否在一个局域网,通过ip地址找到mac地址。再次发送时就指定目标mac地址发送(交换机学习)。

    ##一台机器要和另外一台机器通信,首先要知道对方机器的IP地址,arp协议通过IP地址和子网掩码判断两台机器是否在一个局域网内,如果在一个局域网内将通过arp协议获得另外一##台机器的mac地址,然后通过以太网协议进行通信;交换机已知mac地址后,再次发送时就会指定目标mac地址发送(交换机学习),不再采用广播形式;如果判断不在一个局域网##内,首先要把数据包发给网关,那就要知道网关的IP地址和子网掩码,通过arp协议获取网关的mac,再通过以太网协议将数据包发给另一个网关。

    #服务端与客户端通信:  要明确知道客户端在哪=》通过IP地址找到客户端再哪个子网=》通过mac地址找到客户端在子网的具体位置

    5)传输层:tcp/udp协议 ,端口号0-65535(操作系统占用0-1024)    =》ip+mac+端口确定位软件位置

    4.软件与软件通信:通过IP地址找到客户端在哪个子网=》通过mac地址找到客户端在子网的具体位置=》通过端口号确定软件的具体位置

    总结: ip+mac地址可以定位任何一台机器

          =》 ip+mac+端口可以确定任何一个软件

          =》 ip+端口可以确定任何一个软件

    5.网络基础之网络协议篇

              1.封包解包过程分析

     

              2.传输层

    Tcp三次握手,目的:建立双向通信链路    (请求syn=1→同意ack=1)

       四次挥手,目的:断开通信链路(谁先传完谁先断)  (fin       →      ack)

    tcp协议传完数据后会向对方询问是否接到数据,可靠传输

    扩展:SYN洪水攻击:客户端给服务器传输请求后,就离开了,这样服务器的就一直在回复地在请求

              3.网络通讯实现

    通过dhcp:自动分配ip地址、子网掩码、网关、dns

    Dns协议:domain name server  (域名)  

    URI地址:协议部分+域名+资源

    6.python基础:

    机器语言:

    特点:用计算机能看的懂的01去写程序

    优点:程序运行速度快

    缺点:开发效率低

                           (站在计算机的角度来表达你的意思)

    汇编语言:

    特点:用一些英文标签代替一串二进制数字去写程序

    优点:比机器语言好一点,操作系统内大量使用汇编语言

      比如关于进程的调度代码,就是用汇编写的

    缺点:开发效率低

                          (站在计算机的角度来表达你的意思)

    高级语言:

    特点:用人能读懂的(英文) 字符去写程序

    优点:开发效率高

    缺点:必须经过翻译才能让计算机识别,导致运行速度慢运行速度慢

    (站在人的角度来表达,但是需要中间翻译)

    按照翻译的方式分为:

    编译型:一次翻译,拿着编译后的结果直接给机器运行

    c语言:

    编译器:gccglibc

    开发效率低

    运行效率高

    解释型

    python语言:

    解释器:Cpython

    开发效率高

    运行效率低

    总结:

    运行效率从高到低

    开发效率从低到高

    学习难度从难到易

  • 相关阅读:
    线行代数的本质-通俗易懂的讲解
    线行代数的本质-通俗易懂的讲解
    Java学习——Applet菜单
    Java学习——Applet菜单
    Java学习——用户电话输入显示
    Java学习——用户电话输入显示
    Java学习——多线程例子:银行
    Java学习——多线程例子:银行
    畅通project
    IOS写一个能够支持全屏的WebView
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/7161134.html
Copyright © 2011-2022 走看看