网络编程-基础篇02(一些重要的协议简介)

ARP协议
  ARP协议是一个工作在网络层的地址解析协议,负责通过IP地址解析出MAC地址。它是网络层与链路层的重要中枢,当主机发送数据时通过ARP协议将IP地址解析成MAC地址,然后通过网卡将数据发送出去。为了实现这种转换引入了储存IP地址到MAC地址的映射关系的ARP缓存表,通过控制台的arp -a指令可以查看本机的ARP缓存表。ARP缓存表每条记录还有一个TTL(缓存时间),到了时间就会将记录删除,这个时间可以自行设置。
  ARP协议的具体工作内容就是建立、查询、更新、删除ARP表项。具体参照>ARP协议的具体工作内容就是建立、查询、更新、删除ARP表项。具体参照这个地址
IP协议
  IP协议(网际协议)位于网络层,作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址。IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会改。使用ARP协议凭借MAC地址进行通信。IP间的通信依赖MAC地址。
TCP协议
  TCP 位于传输层,提供可靠的字节流服务。字节流是指由于网络传输的特性,不可能一次性将所有需要的数据发送出去,为了方便传输,大块数据会被分割成以报文段为单位的数据包进行管理。为了准确的将数据准确送达目标处,TCP采取了三次握手,四次分手的策略,在这两个过程中使用了TCP的两个标志SYN(连接请求)和ACK(确认返回)。具体过程如下图:

有关三次握手和四次挥手的介绍和分析参照这里

UDP协议
  UDP协议(用户数据报协议)也工作在传输层。它是一种无连接的协议,不保证数据可靠传输,但是传输速度快,数据包小。现在常用的qq、微信的聊天用的就是这个协议。 UDP协议只在IP协议的数据报服务之上增加了复用和分用的功能以及查错检测的功能。其具体内容走这

DNS协议
  DNS协议工作在应用层,基于UDP运输层协议实现。它提供了从域名到IP地址的转换服务,每台主机上存在一个DNS客户端,该客户端接受其他应用的域名解析请求,并向DNS服务器发送该请求。具体看这里

HTTP协议
  HTTP为超文本传输协议,是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。HTTP协议是互联网应用最为广泛的一种网络协议。最主要的两个特点是①无连接无状态②一般构建于TCP协议之上,默认端口号是80。主要工作是对客户端提供请求和响应服务。具体

HTTPS协议
  HTTPS协议解决了HTTP协议明文传输不安全的问题,现在所有的网站基本采用的都是HTTPS协议。它通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密,默认端口是443。传送数据流程如下:
https数据传输流程

  HTTPS协议的多次握手导致了页面的加载时间延长近50%,增加了数据的开销和功耗。申请SSL证书也需要一定的费用,越安全的证书费用越贵,而SSL证书采用的算法消耗cpu资源会对服务器性能有一定的影响。因此一些对信息安全要求不高的网站也会采用HTTP协议。

posted @ 2019-10-11 11:13  __冫冫  阅读(194)  评论(0编辑  收藏  举报