网络通信原理

TCP数据包格式

传输层的作用

IP层提供点到点的连接

传输层提供端到端的连接

  • 端口到端口的连接(不同端口号,代表不同应用程序)

3.4.1

TCP协议概述

TCP(Transmission Control Protocol)

  • 传输控制协议
  • 可靠的、面向连接的协议
  • 传输效率低(建立连接需要的时间长)

UDP协议概述

UDP(User Datagram Protocol)

  • 用户数据报文协议
  • 不可靠的、无连接的服务
  • 传输效率高(无需专门建立连接,速度快)

TCP的报文结构

3.4.2

  • 源端口:源端口和IP地址的作用是标识报文的返回地址
  • 目的端口:目标端口指明接收方计算机上的应用程序接口
    • 备注:源端口是随机的,目标端口是固定的
  • 序列号:seq,使用序列号,保证了tcp传输的有序性
  • 确认号:ACK,确认号,表示在回复对端,你发的(在该序号之前的所有数据,我都已经收到)
  • 首部长度:由固定头部和可选项组成, 最小为20字节,最大为60字节
  • 保留:为将来定义新的用途保留,现在一般置0
  • 控制位:共6个,每一个标志位表示一个控制功能
    • SYN=1:代表请求建立连接(同步位)
    • ACK=1:代表同意建立连接(确认位)
    • FIN=1:代表请求断开连接(停止位)
    • URG=1:代表紧急指针开启—紧急指针:特别着急的数据段优先传递
    • PSH=1:代表提示接收端应用程序要立刻将数据从缓冲区里面取走.
    • RST=1:数据没有传输完成断开了,在次请求建议连接
  • 窗口:滑动窗口,代表数据在发送之前,设备间要进行协商,依照最小单位为准发送
  • 校验和:此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据

TCP连接与断开

TCP连接与断开

  • TCP连接与断开
    • TCP连接的建立:三次握手、TCP连接的断开:四次挥手
  • SYN:同步位,TCP需要建立连接时将该值设为1
  • ACK:确认位,当该位为1时,用于确认发送方的数据
  • FIN:当TCP断开连接时将该位置为1

TCP的连接

TCP的连接:三次握手

3.4.3

TCP的断开

TCP的断开:四次挥手

3.4.4

UDP协议解析

UDP封装格式

3.4.5

  • 源端口:源端口和IP地址的作用是标识报文的返回地址

  • 目的端口:目标端口指明接收方计算机上的应用程序接口

  • UDP长度:代表整个UDP的数据报是多大

  • UDP校验和:是一个检查机制,在发送数据包之前检查一下数据包的完整性

UDP的应用

端口 协议 说明
69 TFTP 简单文件传输协议
53 DNS 域名服务
123 NTP 网络时间协议
67/68 DHCP 动态主机配置协议

应用层协议介绍

DNS

Domain Name System,域名系统

  • 用来完成域名与IP地址之间的映射,便于用户对网站的记忆和访问
  • 端口号为TCP或UDP的53

FTP

File Transfer Protocol

  • 文件传输协议
  • 使用最为广泛的文件传输应用,用于稳定的传输的大容量的文件
  • 端口号为TCP21和20

FTP的工作原理

  • 控制连接:TCP21,用于发送FTP命令信息
  • 数据连接:TCP20,用于上传、下载数据

Telnet

网络设备管理方式

  • 本地管理,通过console 线缆管理网络设备。第一次配置设备时使用
  • 远程管理,通过IP网络,利用远程管理协议管理设备,比如Telnet或SSH

常见的远程管理协议

  • Telnet,多在公司内部使用,传输数据的方式是明文,端口号为TCP23
  • SSH,可在任何场景下使用,传输数据的方式是密文,端口号为 TCP22

Telnet的常见认证方式

  • 密码认证,远程登录时,仅仅需要密码,认证方式单一,权限控制不精准
  • AAA认证,远程登录时,需要用户名和密码,可为不同的用户分配不同权限远程登录权限的控制,更加灵活