网络协议

网络协议

网络七层协议

  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
  • 会话层
  • 表示层
  • 应用层

TCP/IP五层模型的协议

  • 应用层
    网络的应用层,表示层,会话层在TCP/IP协议中是一个应用层。应用层决定了向用户提供应用服务时通信的活动,HTTP协议也处于这一层。
  • 传输层
    TCP,UDP协议就在传输层,由MAC地址,IP地址,端口号组成,建立端口到端口的通信。
  • 网络层
    IP网际协议在网络层,由MAC地址和IP地址组成。IP协议的作用就是把数据包传送给对方,要确保传送正确,就需要IP地址和MAC地址
  • 数据链路层
    链路层主要是以太网,为网络层提供数据传送服务。
  • 物理层
    为数据端设备提供传送数据的媒介,包括控制操作系统,硬件的设备驱动,网卡等物理可见的部分。

TCP三次握手

TCP协议位于传输层,提供可靠的字节流服务,将大块数据分割成以报文段为单位的数据包进行管理,传输。能够确认数据最终是否送达到对方。
TCP协议:三次握手,需要确认数据是否送达,握手过程使用了TCP标志 ——SYN和ACK。

第一次握手

客户端向服务端发送连接请求报文段,报文段的头部中SYN=1,ACK=0,seq=x。请求发送成功,客户端便进入SYN-SENT状态。

  • SYN=1,ACK=0 表示该报文段为连接请求报文。
  • x为本次TCP通信的字节流的初始序号。

第二次握手

服务端收到连接请求报文段后,如果同意连接,则会发送一个应答:SYN=1,ACK=1,seq=y,ack=x+1。该应答发送完成后进入SYN-RCVD状态。

  • SYN=1,ACK=1表示该报文段为连接同意的应答报文。
  • seq=y表示服务器端作为发送者时,发送字节流的初始序号。
  • ack=x+1表示服务端希望下一个数据包发送序号从x+1开始的字节。

第三次握手

当客户端收到连接同意的应答后,还要向服务端发送一个确认报文段,表示服务端发来的连接同意应答已经收到。报文段的头部为:ACK=1,seq=x+1,ack=y+1。客户端发完这个报文段后便进入ESTABLISHED状态,服务端收到这个应答后也进入ESTABLISHED,此时连接建立完成。

TCP与UDP区别总结:

1、TCP面向连接需要三次握手才能建立连接;UDP是无连接的,发送数据之前不需要建立连接。
2、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
3、TCP面向字节流;UDP是面向报文的。
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

负责域名解析的DNS服务

DNS位于应用层的协议,提供域名和IP地址之间的解析。
通过域名查找ip,或者反查询

你可能感兴趣的:(网络协议)