Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • HTTP

  • TCP

    • 网络模型模型
      • 什么是TCP
      • TCP/IP网络模型
        • 4层模型
        • 7层模型
    • TCP三次握手&四次挥手
    • 重传机制
    • 流量控制
    • 拥塞控制
    • TCP与UDP区别
    • TCP和UDP可以使用同一个端口吗?
    • 如何解决粘包?
    • 一个服务端进程最多支持多少条TCP连接?
  • UDP

  • IP

  • 网络安全

  • 计算机网络
  • TCP
Nreal
2023-11-23
目录

网络模型模型

# 什么是TCP

面向连接的,可靠的,基于字节流的传输层协议;

如何保证可靠?

重传机制,流量控制,拥塞控制;

# TCP/IP网络模型

# 4层模型

  • 应用层

    为用户提供应用功能,如:HTTP、FTP、Telnet、DNS、SMTP...

    应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态;

  • 传输层

    为应用层提供网络支持的,两个传输协议:TCP、UDP

    TCP比UDP多了很多特性:流量控制、超时重传、拥塞控制等;

    当传输层的数据包大小超过MSS(TCP最大报文段长度),会将数据包分块,每个分块称为TCP段;

  • 网络层

    IP协议,将 传输层的报文作为数据部分+IP包头 组装成IP报文,如果IP报文大小超过MTU,会再次分片;

    寻址能力:IP地址分为网络号+主机号,配合子网掩码计算得出 IP 地址 的网络号和主机号;

    路由能力:找到目标地址的子网,找到后进而把数据包转发给对应的网络内;

    寻址更像在导航,路由更像在操作方向盘;

    IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走;

    路由则是根据「下一个目的地」选择路径;

  • 网络接口层

    主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备;

# 7层模型

物理层:网络的基础结构,如电线、光纤、无线信号等;

数据链路层:负责在两个相邻节点之间可靠地传输数据帧,包括错误检测、帧同步、地址识别以及介质访问控制(MAC);(如同一房间内两个人通过特定的握手方式传递信息)

网络层:负责将数据包从源主机传输到目标主机,通过IP地址进行寻址,并可能涉及路由选择和分组转发;(考虑路由器的工作,它们如何根据IP地址将数据包从一个网络转发到另一个网络)

传输层:提供端到端的数据传输服务,如TCP(传输控制协议)提供可靠的数据传输,UDP(用户数据报协议)提供无连接的数据传输;

会话层:管理不同应用程序之间的通信会话,负责建立、维护和终止会话,以及数据的同步和复用;(两个用户在电话中建立通话的过程,包括建立连接、保持通信和断开连接)

表示层:处理数据的格式、编码、压缩和解压缩,以及数据的加密和解密,确保数据在不同系统间具有正确的表示;(数据格式转换和加解密,像翻译将一种语言转换为另一种语言)

应用层:提供直接与用户应用程序交互的服务,如HTTP、FTP、SMTP、DNS等协议,实现文件传输、电子邮件、网页浏览等功能;

SSL TLS
TCP三次握手&四次挥手

← SSL TLS TCP三次握手&四次挥手→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式