TCP、UDP、IP头部结构

数据传输在TCP/IP网络模型中,经过一层便会添加一层头部,其中TCP(网络传输协议),UDP处于传输层,IP(网间协议)处于网络层。
在这里插入图片描述
数据进入协议栈的封装过程
TCP/IP协议族

  • TCP 传输控制协议 应用程序之间通信 建立的全双工通信
  • UDP 用户数据包协议 应用程序间简单通信
  • IP 网际协议 计算机之间的协议,寻址 无连接的,不占用通信线路
  • ICMP 因特网消息控制协议 针对错误和状态,处于IP层协议
  • DHCP 动态主机配置协议 针对动态寻址

TCP/IP网络模型

  1. 应用层(ISO中的应用层,表示层,会话层)
    SMTP(电子邮件)、TELNET(远程终端接入)、HTTP(万维网)、FTP(文件传输)——————TCP
    DNS(域名转换)、TFTP(文件传输)、SNMP(网络管理)、NFS(远程文件服务器)——————UDP
  2. 传输层
    为数据加TCP,UDP头部
  3. 网络层
    为数据加IP头部,TCP/IP协议的核心,所有的TCP、UDP、IGMP、IMCP数据都以IP数据格式传递
  4. 网络接入层(称呼很多,ISO中数据链入层,物理层)
    这层负责将比特流封装成帧,把网络层数据报加上帧头帧尾,帧头包括源mac地址和目的mac地址,有差错检测

IP数据包头部
在这里插入图片描述
IP数据包头部

//IP数据包前20个字节固定,一般是20到60个字节
TIPHeader = packed record
iph_verlen: byte; // 版本和长度
iph_tos: byte; // 服务类型
iph_length: word; // 总长度,2个无符号字节所以只能65535
iph_id: word; // 标识
iph_offset: word; // 标志和片偏移
iph_ttl: byte; // 生存时间
iph_protocol: byte; // 协议
iph_xsum: word; // 头校验和
iph_src: longword; // 源地址
iph_dest: longword; // 目的地址
end;
通常20个字节,最多不超过60个字节

TCP数据包的头
在这里插入图片描述
TCP数据包的头部

typedef struct _TCP_HEADER {
USHORT nSourPort ; // 源端口号16bit
USHORT nDestPort ; // 目的端口号16bit
UINT nSequNum ; // 序列号32bit
UINT nAcknowledgeNum ; // 确认号32bit
USHORT nHLenAndFlag ; // 前4位:TCP头长度;中6位:保留;后6位:标志位16bit
USHORT nWindowSize ; // 窗口大小16bit
USHORT nCheckSum ; // 检验和16bit
USHORT nrgentPointer ; // 紧急数据偏移量16bit
} TCP_HEADER, *PTCP_HEADER ;
一般是20个字节,加上option也不超过60个字节

UDP数据包的头部
在这里插入图片描述 UDP数据包的头部

typedef struct _UDP_HEADER {
USHORT nSourPort ; // 源端口号16bit
USHORT nDestPort ; // 目的端口号16bit
USHORT nLength ; // 数据包长度16bit
USHORT nCheckSum ; // 校验和16bit
} UDP_HEADER, *PUDP_HEADER ;
一般8个字节

DNS:DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值