图解TCP&IP

图解TCP/IP

NAT/ NAPT技术: 本地通信时采用私有IP, 与互联网通信时使用该技术转成公有IP

  • 起因: 解决IPv4 IP地址不够用

IP隧道技术: 这种在网络层的首部后面继续追加网络层首部的通信方法

  • 起因: IPv4和IPv6不兼容
  • 扩展应用: IP隧道转发多播消息

Mobile IP: 在主机所连接的子网IP发 生变化时,主机IP地址仍保持不变。

  • 起因: 与移动设备进行通信时,所连接的子网一旦发生变化,则无法通过 TCP继续通信。

第3章 数据链路

  1. MAC地址: Media access control

第6章 TCP与UDP

TCP: 面向有连接, 是一对一可靠性传输

  1. 校验和
  2. 序列号
  3. 确认应答
  4. 重发控制
  5. 连接管理
  6. 窗口控制

以上, 实现了可靠性传输.

三次握手, 四次挥手

三次握手: 验证各自的接收能力和发送能力

  1. 第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。

    首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。

  2. 第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。

    在确认报文段中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。

  3. 第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。

    确认报文段ACK=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。

四次挥手:当连接处于半关闭状态时,TCP 是允许单向传输数据的.

  • 第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。
    即发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。
  • 第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。
    即服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。
  • 第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。
    即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。
  • 第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。
    即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。

第七章: 路由控制

  1. 动态路由和静态路由

  2. 路由协议IGP 和 EGP(Internal Gateway Protocol, External Gateway Protocol)

  3. 路由算法: 距离向量算法, 链路状态算法

  4. RIP, RIP2, OSPF

  5. BGP

RIP(Routine Information Protocol)

是距离向量型的一种路由协议, 广泛应用于LAN口.

采用RIP进行路由控制的范围内必须注意两点

  1. 因IP 地址的分类而产生不同的网络地址
  2. 构造网络地址长度不同的 网络环境时

RIP中路由变更时的处理:

  1. 将自己所知道的路由信息定期进行广播。
  2. 一旦认为网络被断开,数据将无法流过此路由器,其他路由器也就 可以得知网络已经断开。

以上两点存在一些问题, 解决办法

  1. 最长距离不超过16
  2. 规定路由器不再把所收到的路由消息原路返还给发送端。这也 被称作水平分割(Split Horizon)
  3. “毒性逆转”(Poisoned Reverse)
  4. “触发更新”(Triggered Update)

OSPF:(Open Shortest Path First)

是链路状态型路由协议, 生成网络拓扑信息再生成控制表.

BGP: (Border Gateway Protocol)

属于EGP

MPLS: (Multi Protocol Label Switching)

标记交换技术

第八章: 应用协议

  1. 登录协议: TELNET SSH
  2. 文件传输: FTP协议
  3. 电子邮件: SMTP(Simple Mail Transfer Protocol) 和POP/IMAP协议
  4. Web HTTP协议 JavaScript Cookie CGI规范 RSS数据格式
  5. 网络管理 SNMP (Simple Network Management Protocol)

图解TCP&IP
https://messenger1th.github.io/2024/07/24/Internet/TCP&IP/图解TCP&IP/
作者
Epoch
发布于
2024年7月24日
许可协议