Web学习之网络通信

一、网络通信

  • 互联网中主机和主机连接必须遵守待定的要求,这个要求成为协议
  • OSI(Open System Interconnection)开放式系统互联,定义了计算机互联时网络通信的7层
  • 目前大规模使用的是TCP/IP协议
    • 应用层
      • 合并OSI中5,6,7层(会话层,表示层,应用层)
      • 常用协议:HTTP,FTP,SMTP,POPD3,SSL,RPC
    • 传输层
      • OSI中第4层
      • 常用协议TCP、UDP
    • 网络层
      • OSI中第3层
      • 常用协议:IP、IPv4.IPv6
    • 网络接口层
      • OSI中第1、2层

二、IPv4、IPv6

  • IP(Internet Potocol)网络协议,互联网上任何操作系统只要遵守IP协议就可以与互联网互通
  • IPv4和IPv6中的v是Verison,即版本的意思
  • IP本质就是给连接到互联网上的计算器分配32位地址,由于二进制32位地址比较难记,所以用十进制表示,为了更方便记忆使用"点"拆分法,分成四段,每段8位,即每段最大255
  • 随着互联网的发展,接入网络的计算机在增多,IPv4逐渐无法满足大量计算机数量,IPv4的下个版本IPv6就出现了
  • IPv6是128位,是IPv4的4倍,且以16位进制表示

三、TCP和UDP

  • 英文全称Transmission Control Protocol

  • 中文全称 传输传输控制协议

  • 是TCP/IP中传输层协议,一种面向连接、可靠的、基于字节流的协议

  • TCP协议每次连接/关闭都需要"确认",也就是来连接三次握手,断开连接四次握手

  • TCP中几个术语

    • SYN 同步标识
    • FIN 结束标识
    • ACK 确认标识
    • PSH 有DATA传输
    • RST 连接重置
    • SEQ 数据包
    • FIN 结束标识
  • 三次握手

    • 客户端发送SYN=1,SEQ=number(随机数字)报文给服务器端,客户端进入SYN_SEND状态
    • 服务器收到SYN报文,SYN=1知道客户端要建立连接,响应ACK NUMBER(客户端SEQ+1),SYN=1,ACK=1,SEQ=随机数字,连接状态SYN_RECV状态
    • 客户端收到SYN,检查ACK,NUMBER和ACK=1是否正确,如果全部正确,向服务器发送ACK,NUMBER=服务端SEQ+1和ACK=1,服务器接收到后检查是否正确,正确后建立连接,连接状态进入ESTABLISHED
  • TCP关闭连接需要四次握手,包含一次角色转换(以客户端主动发起关闭请求举例)

    • 主机A(主动方,Acitve Close)向主机B(被动方)发送FIN表示数据发送完成ACK=z,SEQ=x,主机A进入FIN_WAIT1状态,这个状态非常短暂,之后等待对方确认ACK过程自己进入FIN_WAIT2状态,如果超时没有收到ACK直接进入CLOSED状态
    • 主机B收到FIN后返回主机A内容ACK=x+1,SEQ=z,主机B进入CLose_wait状态
    • 主机B关闭连接发送非主机A内容ACK=x,SEQ=y,主机A进入到TIME_WAIT状态,处于这个状态后等待2个报文最大存货周期后激怒人CLOSED状态,此时主机B进入LAST_ACK状态
    • 主机A收到后返回ACK=y+1,SEQ=x
  • UDP

    • User Datagram Protocol 用户数据协议
    • 是一种无连接的协议
    • 基于UDP协议主机包数据包发送给网络后就不管了,是一种不可靠协议
  • TCP和UDP的主要区别

    • TCP是安全可靠的,UDP是不安全的,不可靠的

    • UDP的速度要高于TCP

相关推荐
复利人生 复利日知录 赋能循环13 分钟前
2026年复利精进:我的每日觉醒与成长密码
学习·思维模型·知识复利·复利·独立
sakiko_38 分钟前
UIKit学习笔记4-使用UITableView制作滚动视图
笔记·学习·ios·swift·uikit
晓梦林1 小时前
MAZESEC-X1靶场学习笔记
笔记·学习
我的xiaodoujiao2 小时前
API 接口自动化测试详细图文教程学习系列15--项目实战演练2
python·学习·测试工具·pytest
TImCheng06092 小时前
职场人AI学习周期评估:不同学习路径的时间成本
人工智能·学习
周末也要写八哥2 小时前
C4D/Cinema 4D 2026超详细下载与安装教程(附资源包)
学习·数学建模
xinzheng新政2 小时前
openclaw dashboard报错 internal server error
学习
nashane3 小时前
HarmonyOS 6学习:RichEditor宽度“暴力”计算与富文本截图避坑
学习·harmonyos 5
鹿鸣悠悠4 小时前
【AI学习】全链路、并发、响应时间
学习
PNP Robotics4 小时前
领军军者|PNP机器人包文涛:以具身智能定义机器人的“生命直觉”
人工智能·深度学习·学习·机器学习·机器人