day27 网络基础 (day 27)

因特网层协议

TCP和UDP的概念说明
TCP:(Transmission Control Protocol)传输控制协议,是一种面向连接的,可靠的的控制协议,TCP协议效率低,安全性高。(比如,在qq上发送文件,发送在线文件就是运用了tcp协议,在送离线文件就是运用了UDP协议。)
UDP:User Datagram Protocol 用户数据报协议,是一种面向无连接的,不可靠的传输控制协议,UDP协议效率更高,安全性欠佳。

tcp三次握手
三次握手的原理

三次握手示意图:



image.png

三次握手的原理:
Syn:请求序列号,0为无效 1为有效
Ack:确认请求序列号 0为无效 1为有效
第一次握手:主机A作为客户端向主机B服务端发送请求连接,此时seq=0,syn=1
第二次握手:主机B向主机A发送确认信息,说“我收到了”!,seq=0,ack=1
第三次握手:主机A向主机B再次发送确认信息,确认主机B已经收到,此时seq=1 ack=1
Tcp 三次握手进行的状态


  • 三次握手所设及到的5种状态
    第一次握手:主机A和主机B一同处于关闭状态,但是主机B作为服务端不会一直保持关闭状态,会打开一个socket进行监听从closed变为listen监听状态。主机A向主机B发送请求连接的信息。主机A这时处于syn_sent状态,表示请求建立连接。
    第二次握手:主机B收到主机A 的请求连接信息之后,会发送一个ack和syn的tcp报文给主机A,此时主机B的状态为syn_rcvd状态,表示在收到和发送的请求连接后,请求等待对连接请求的确认。
    第三次握手:主机A向主机B发送确认信息,表示说明主机A 已经收到主机B的确认消息了,双方建立连接
  • 三次握手常见的问题
    (1) 为什么是三次握手,而不是两次握手?
    采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
tcp四次挥手的原理

Tcp四次挥手原理图示


image.png

Tcp四次挥手原理说明:
第一次挥手:主机A和主机B 发送断开请求,此时fin=1,ack=1
第二次挥手:主机B向主机A发送接收到确认请求,ack=1
第三次挥手:主机B向主机A 发送结束连接的请求和确认数据已经全部接收,fin=1,ack=1
第四次挥手:主机A向主机B发送ack确认信息,表示回复主机B的确认而确认 ack=1
tcp四次挥手所设及到的状态:


image.png
  • 原理详细说明:
    第一次挥手:主机A和主机B共同处于established状态,主机A向主机B发送断开连接的信息,此时主机A进入fin_wait1状态,等待远程tcp的连接中断请求。
    第二次挥手:主机B接收到主机A的请求之后,并发送主机Atcp报文信息,此时主机B为close_wait状态 (被动端接收到fin后,就会发出ack回应。)
    第三次挥手:主机A 收到主机B的确认信息,并进入fin_wait2状态,主机B向主机A 发送结束中断的请求信息,和接收数据完成之后的确认信息。
    第四次挥手:主机A 收到主机B的fin和ack信息之后,会向主机B发送tcp报文再次确认信息,双方连接结束。
tcp连接的11种状态
image.png
网络重要协议原理

DNS原理:
ip地址和域名的对应关系;
解析过程:
本地查询;
递归查询;
迭代查询;
顶级域名服务器:
.com .cn .gov .edu .net等等
ARP协议
原理:建立ip和mac地址的对应关系;
说明:发送arp请求和回复信息获取访问主机的MAC地址;
构建ARP表,构建IP-MAC记录信息;
实现减少广播包的产生;

你可能感兴趣的:(day27 网络基础 (day 27))