网络相关协议要点

TCP协议:(3次连接,4次释放)

    TCP协议是面向连接,可靠的传输层协议,是基于全双工通信,并且是基于字节流的。

(1)保证传输数据可靠性机制:

     a:定时器:当TCP发出一个报文段,会启动一个定时器,等待目的端确认收到报文段,若一段时间之后,没有收到确认信息,就会重传报文段。

     b:确认:当TCP收到发自TCP连接另一端的数据,将会发送一个确认信息。

     c:检验和:检验数据在传输的过程中任何变化,若收到报文段的检验和有错,TCP将会丢弃报文段和不进行确认收到报文段。

     d:流量控制:TCP连接的两个地方都有固定大小的缓冲空间,TCP的接收端只能允许另一端发送接收端缓冲区所能容纳的数据,防止缓冲区溢出。

     e:拥塞控制:——加性增,乘性减

                             ——慢启动

                             ——对超时事件做出反应

(2)TCP和UDP协议的区别:

       1.TCP面向连接,UDP非连接(TCP3次握手,4次挥手)

       2.TCP传输速度慢,UDP传输速度快(进行确认,拥塞控制)

       3.TCP保证数据顺序,UDP不保证传输顺序(对接收的数据进行排序->IP)

       4.TCP保证数据正确性,UDP不保证可能丢包(重传,检验和)

       5.TCP对系统资源要求多,UDP要求资源少(TCP检验必须,UDP检验可选,流量控制,需缓冲区)

(3)why不能两次连接必须进行三次连接?

       第1,2次连接是保证服务器端能够接收到客户端的信息,并能够做出正确的应答,第2,3次连接为了保证客户端能够接受到服务器的信息,并能够做出正确的应答。

(4)TCP连接

(5)TCP释放


(6)下面是常见的计算机中网络相关设备:


ARP协议(地址解析协议)

      在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,源主机会发出ARP请求,将这个请求广播到本地网段,目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。

(1)什么是ARP缓存?

      ARP cache是个用来储存(IP、MAC)地址的缓冲区。当ARP被询问一个已知IP地址节点的MAC地址时,先在ARP cache中查看,若存在,直接返回MAC地址,若不存在,才发送ARP请求。

(2)ARP和RARP都是属于网络层的协议。

(3)ARP与RARP协议的区别?

      RARP是逆地址解析协议,将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。

IP协议(互联网络协议)

(1)IP地址:A              B                 C               D               E

                     (0)     (10)        (110)    (1110)  (11110)

                         0            128             192            224            240

           特殊地址:本机地址:127.0.0.1

                             内部广播:255.255.255.255

                             主机号全为0的地址:如:192.168.10.0(子网掩码:255.255.255.0)

(2)路由器:目的网络地址、子网掩码、下一跳地址、发送接口、缺省条目(都不匹配时)

(3)IP分片:

       数据链路层,用MTU(最大传输单元)来限制所能传输的数据包大小,MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头,当发送的IP数据报的大小超过了MTU时,IP层就需要对数据进行分片,否则数据将无法发送成功。

(4)子网掩码:

       默认:A:255.0.0.0

                  B:255.255.0.0

                  C:255.255.255.0

HTTP协议(超文本传输协议)

      HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,HTTP是一个无状态的协议,默认HTTP端口号位80。HTTPS端口号为443.(HTTP协议承载于TCP协议之上,HTTP承载于TLS/SSL协议上(称HTTPS))

(1)一次HTTP操作称为一个事务,过程如下:

      a:客户机与服务器需要建立连接

      b:建立连接后,客户机发送一个请求给服务器,请求格式为:统一资源标识符(URL)协议版本号,请求修饰符,客户机信息等。

      c:服务器接到请求后,给予相应的响应信息,格式为一个状态行,包括信息的协议版本号,一个成功或者错误的代码,服务器信息等。

      d:客户端接收服务器所返回的信息通过浏览量显示在显示屏上,然后断开连接。

(2)HTTP1.0和HTTP1.1的区别?

      a:可扩展性:HTTP1.1中增加了option方法,允许客户端提取一个服务器支持的方法列表,在请求消息中包含了upgrade头域,可以让服务器知道支持其他备用通信协议。

      b:cache  HTTP1.1中在头域增加cache特性。

      c:宽带优化:压缩传送数据。

      d:持久连接:HTTP1.1中支持持久连接,一个连接可以发多个请求,而HTTP1.0的每次请求都需要与服务器建立一个TCP连接。

      e:错误提示:HTTP1.1中引入一个warning域,增加对错误或者警告信息的描述。

(3)HTTP的请求方法(8种)

      a:OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。

      b:HEAD:向服务器索要与GET请求相一致的响应。

      c:GET:向特定资源发出请求

      d:POST:向指定资源提交数据进行处理请求

      e:PUT:向指定资源位置上传奇最新内容

      f:DELETE:请求服务器删除,Request_URI所标识的资源

      g:CONNECT:HTTP1.1协议中预留能够连接改为管道方式的代理服务器

      h:PATCH:用于将局部修改应用于某一资源

(4)GET和POST方法的区别?

      a:GET提交的数据会放在URL之后,POST提交的数据放在HTTP包的Body中。

      b:GET提交的数据大小有限制最多1024字节,POST提交数据没有限制

      c:GET需使用Request.QueryString来获取变量值,POST通过Resquest.Form.

      d:GET提交数据,用户名和密码会出现在URL上,会带来安全问题。

(5)HTTPS传输协议原理

      a:HTTPS的安全基础是SSL

       优点:客户端产生的密钥只有客户端和服务器端能够得到,加密的数据只有客户端和服务端才能够得到明文,客户端到服务器的通信是安全的。

(6)I/O多路复用机制:select、poll、epoll(都是同步IO,读写事件就绪后,自己负责进行读写,读写过程是阻塞的)

       select的几大缺点:

           a:每次调用select,都需要把fd集合从用户态拷贝到内核态,开销比较大。

           b:每次调用select都需要在内核遍历传递进来的所有fd,开销比较大。

           c:select支持的文件描述符数量太小了,默认是1024.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值