zoukankan      html  css  js  c++  java
  • 计算机网络基础

    1.OSI(open System Interconnection)开放式系统互联参考模型。分为应用层(SMTP)、表示层、传输层(TCP)、网络层(IP)、数据连接层,物理层 。

    2.TCP/IP网络通信协议,传输控制协议TCP是一种面向连接的可靠的基于字节流的运输层通信协议,Internet是由几千万台计算机互联而成,确认网络上的每一台计算机靠的就是唯一能识别它的Ip。

    3.域名:是Internet上用于标识网络服务器位置的名字,DNS是计算机域名系统的缩写,它由解析器和域名服务器组成。

    4.域名服务器:是指保存有该网络中所有主机的域名和对应IP地址,并且有将域名转换成IP地址功能的服务器。

    5.网络互联设备:集线器,交换机,路由器,调制解调器,网关等仅仅用于网络互联。

    物理层,数据链路层用的设备有:集线器,交换机:用mac地址来确定转发数据的目的地址,其中交换器可以分隔冲突域。

    网络层用的设备有:路由器,可以分隔冲突域和广播域。

    调制解调器:用于将模拟信号和数字信号之间的转换。

    网关:用于传输层以上。

    6.Internet物理地址和IP地址转换采用的协议是:地址解析协议ARP(Address Resolution Protocol)。

    7.IP地址的编码分为哪两个部分:网络号和主机号,要与子网掩码按位与后就知道主机号和网络号分别是什么。

    8.TCP超时重传,是保证数据可靠性的重要机制,发送某一数据后开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。超时时间计算是超时重传的核心部分:a.定时长照成网络利用率低,b.短的话造成多次重传,使得网络阻塞。

    9.TCP与UDP的不同:TCP是可靠的,要连接,有流量控制,有拥塞机制,而效率低的传输协议。

                                 UDP是不可靠的,无连接的,无流量控制和拥塞机制,而效率高的传输协议,可以随便丢包。

    10.TCP连接时全双工(每个方向单独关闭):三次握手,四次挥手。(TCP的有六种标示:SYN建立联机,ACK确认,PSH传送,FIN结束,RST重置,URG紧急)

    所谓的三次握手是指建立TCP连接,需要服务器和客户端总共发送3个包。3次握手的目的是连接服务器指定的端口,建立TCP连接并且同步连接双方的序列号和确认号并交换TCP窗口大小信息,在socket编程中客户端执行connect连接操作的时候就会触发三次握手。请求——应答——再次确认。

    第一次握手:请求建立连接,客户端向服务器发送请求SYN包,等待服务器确认。发送序列号seqNum=200,SYN=1.客户端进入SYN_SEND状态。

    第二次握手:服务器收到SYN包,必须确认客户端的SYN(ack=201),同时发送自己的SYN包。发送序列号seqNum=500,ackNum=201,SYN=1,ACK=1.服务器进入SYN_RECN

    第三次握手:客户端收到了服务器的SYN+ACk包,向服务器发送确认包AcK(ack=501),发送序列号seqNum=201,ackNum=501,ACk=1.客户端和服务器进入ESTABLISHED状态。
    TCP连接的拆除需要发送四个包,客户端和服务器都可以主动发起挥手。所谓的四次分手是指TCP的连接是全双工的,因此每一方都必须进行单独关闭。这个原则就是当一方完成了他的发送任务就会发送一个FIN来终止这一方的连接。另一方被迫终止连接。在socket编程中任何一方执行colse()操作,就会执行四次挥手操作。

    第一次挥手:客户端发送一个FIN包,用来关闭客户端到服务器端的数据传递报文。seqNum=200,ackNum=500,ACK=1,FIN=1.

    第二次挥手:服务器收到FIN,发回一个ACk,确认这个序号比收到的序号加1。seqNum=500,ackNum=201,ACK=1.

    第三次挥手:服务器端关闭与客户端的连接,发送一个FIN给客户端。seqNum=501.ACk=1.FIN=1.

    第四次挥手:客户端发回ACK报文,并确定一个ack序列号比收到的序列号加1.seqNum=201,ackNum=502.ACK=1.

     11.http协议:是一种应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,http可以通过传输层的TCP协议在客户端和服务器之间传递数据,http协议主要用于web浏览器和web服务器之间的数据交换。

    http请求有三个部分组成:A.请求行:METHOD(表示请求方法)/path to resource(请求资源) HTTP/vesion-number(http协议的版本号)。

                                      B.消息报头(请求报头,响应报头,实体报头):Header_name_1:value(格式为:名字+“:”+空格+值)(包含的内容有,指定客户端接收哪些消息,字符集,

                                         内容编码,至少定义一种自然语言,指定请求资源的主机号和端口号(eg:host: www.baidu:8080),浏览器名称和版本号)。

                                      C.请求正文:optional request body。

    12.https协议:(Secure Hypertext Tranfer Protocol)安全超文本传输协议,它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换。总的来说,https有两个部分组成:http+SSL/TLS,也就是在http上面又加了一层处理加密信息的模块,服务器和客户端的信息传输都会通过TLS进行加密,所以传输数据是加密的数据。并且采用https协议服务器端必须要有一对数字证书。这套证书就是一对公钥和私钥(公钥加密,私钥解密)。

    13.http和https的不同点:

    • http的URL以http://开头而https的URL以https://开头。
    • http是不安全的,https是安全的,即使有第三方抓到了取了传输过程中的包,也没有办法解析数据。
    • http的标准端口是80,而https的标准端口号是443。
    • 在OSI网络模型中http是工作在应用层,而https是工作在传输层。
    • http无需加密,而https对传输的数据必须加密。
    • http无需证书,而https需要证书。

    14.GET和POST方法的区别:安全性,提交数据限制,传输数据放的地方,获取变量值的方法不同。

    http协议定义很多与服务器交互的方法,最基本的有4种:分别是GET,POST,PUT,DELETE.一个URL地址用于描述一个网络上的资源,而Http中的四个方法分别对应着对这个资源的查,改,增,删。GET一般用于获取/查询资源信息。而POST一般用于更新资源信息。

    • get提交的数据放在URL之后,以?分隔URL和传输数据,如:edit.aspx?name=test&id=123456,post方法是把提交的数据放在http包的body中。
    • get提交的数据的大小有限制(因为浏览器对URL的长度有限制),post方法提交数据没有限制。
    • get方式需要使用Request.QueryStirng来取得变量的值,post方式通过Request.From来获取变量的值。
    • get方式提交数据,会带来安全问题,以如一个登陆页面,通过get方式提交数据时,用户名和密码都将出现在URL上,如果页面被缓存或者其他人可以访问这台机器,就可以从历史记录中获取改用户的账号和密码。
  • 相关阅读:
    pipelinewise 学习二 创建一个简单的pipeline
    pipelinewise 学习一 docker方式安装
    Supercharging your ETL with Airflow and Singer
    ubuntu中使用 alien安装rpm包
    PipelineWise illustrates the power of Singer
    pipelinewise 基于singer 指南的的数据pipeline 工具
    关于singer elt 的几篇很不错的文章
    npkill 一个方便的npm 包清理工具
    kuma docker-compose 环境试用
    kuma 学习四 策略
  • 原文地址:https://www.cnblogs.com/hupp/p/4680534.html
Copyright © 2011-2022 走看看