TCP/IP

作者: taobao | 来源:发表于2021-07-15 08:33 被阅读0次

    TCP/IP协议族

    TCP/IP协议族包含:TCP、UDP、IP、FTP、HTTP、SMTP、ICMP

    OSI七层模型:

    应用层:FTP、HTTP、DNS、Telnet、SMTP、
    表示层:无相关协议
    会化层:无相关协议
    传输层:TCP、UDP
    网络层:IP、ICMP、RIP、OSPF、GBP、IGMP
    数据链路层:SLIP、CSLIP、PPP、ARP、RARP、MTU
    物理层:ISO2110、IEEE802、IEEE802.2

    UDP

    • 面向无连接,没有TCP协议的三次握手,不会对数据报文进行拆分和拼接
    • 有单播、多播、广播的功能;一对一,一对多,多对多
    • UDP是面向报文的
    • 不可靠性
    • 头部开销小,传输数据报文时是很高效的

    TCP

    TCP是面向连接的、可靠的,基于字节流的传输层通信协议,

    • TCP连接过程(三次握手)
      第一次握手,客户端向服务端发送连接请求,改报文段中包含自身的数据通讯初始 序号,请求发送后,客户端便进入SYN-SENT状态
      第二次握手,服务端收到客户端的连接请求后,如果同意连接,则会发送一个应答,该应道中会包含吱声的数据通讯初始序号,发送完后,服务端进入SYN-RECEIVED状态。
      第三次握手,当客户端收到服务端同意连接的应答后,还会向服务端发送一个报文,发送完后,客服端进入 ESTABLISHED状态,服务端收到这个应答后也进入ESTABLISHD状态,此时连接建立成功
    • TCP断开链接(四次挥手)
      第一次挥手,客户端A发送完数据后,想服务端B发送链接释放请求
      第二次挥手,服务端B收到释放链接请求后,会告诉应用层释放TCP链接,然后会发送ACK包,并进入CLOSE_WAIT状态,此时表明A到B的链接已经释放,不再接受A发的数据了,但是因为TCP链接是双向的,所以B仍旧可以向A发送数据
      第三次挥手,B此时如果数据没有发送完,可以继续发送,发送完后,会向A发送释放链接的请求,然后B进入LAST-ACK状态
      第四次挥手,A收到B发送的释放请求后,想B发送确认应道,此时A进入TIME-WAIT状态,该状态会持续2MSL(最大段生存期)时间,若该时间没有B的重发请求后,就进入CLOSED状态,当B收到确认应答后,也进入CLOSED状态。

    TCP协议特点

    • 面向链接
    • 仅支持单向传输
      每条TCP传输连接,只能有两个端,点对点进行数据传输
    • 面向字节流
      TCP不像UDP那样一个个报独立传输,而是在不保留报文边界的情况下以字节流方式传输
    • 可靠传输
    • 提供拥塞控制
    • TCP提供全双工通信

    位码

    位码即TCP标志位,共6种标识:

    • SYN(synchronous) 建立连接
    • ACK(acknowledgement)确认
    • PSH(push)传送
    • FIN(finish)结束
    • RST(reset)重置
    • URG(urgent)紧急
    • Seq-num(sequence number)顺序号码
    • Ack-num(acknowledge number)确认号码

    状态

    • 客户端独有:
      1:SYN_SENT 在发送连接请求后等待匹配
      2:FIN_WAIT1 等待远程TCP连接中断请求 或 先前连接中断请求后的确认
      3:FIN_WAIT2 从远程TCP等待连接中断
      4:CLOSING 等待远程TCP对连接中断的确认
      5:TIME_WAIT 等待足够时间确保远程TCP接收到连接中断请求的确认
    • 服务端独有:
      1:LISTEN 侦听来自远方TCP端口的连接请求
      2:SYN_RCVD 在收到和发送一个连接请求后等待对方连接确认
      3:CLOSE_WAIT 等待连接中断的请求
      4:LAST_ACK 等待原来发向远程TCP的连接中断请求的确认
    • 共有:
      1:CLOSED 没有任何连接状态
      2:ESTABLISHED 代表一个打开的的连接,可以发送数据

    三次握手

    三次握手

    四次挥手

    四次挥手

    相关文章

      网友评论

          本文标题:TCP/IP

          本文链接:https://www.haomeiwen.com/subject/cvgypltx.html