udp协议
无连接
不可靠
用户数据报
视频服务一般用udp(因为不需要再看视频的时候一直进行握手链接)
报文头格式:
源端口 (16bit)0-65535
目的端口(16bit)0-65535
udp长度(头部长度+数据部分的长度)(16bit)推出最大65535
头部是固定长度8个字节
udp长度 = udp头部+udp的数据部分
udp长度 = IP的长度减去IP的头部长度,也就是IP的数据长度
校验和(16bit),校验和在udp当中是可选项,不是必要的在udp当中
数据部分。
UDP协议的责任(tftp,snmp(简单网络管理协议))
创建进程到进程间的通信 (和tcp一样也是由端口号完成)
有限的差错控制,出现差错悄悄丢弃报文分组。(所以是不可靠的)
udp应用层举例:
snmp(161端口)
tftp(69端口)
dns(53端口)
tcp的应用层举例:
smtp(25)
http(80)
telnet(23)
stream index: 一个连接唯一确定,当四元组不变的时候这个值不变
四元组组成,即:源 IP 源端口 目的IP 目的端口
其中一个值改变,这个流索引就变了
这个是wirshark自动生成的,本身网络数据报没有这个东西
但是在网络内核数据交换时也会通过四元组无元组等唯一确定一条连接
tcp 和udp 都是使用端口port号来进行识别应用层实体,以便准确地把信息
提交给上层对应的协议(应用,进程)
但是如上述所说,上层的应用层协议的端口号不同,但是同意应用的端口可能一样
怎么区分使用统一端口的不同上层协议呢,这就要用到上面所讲的
四元组、五元组等来区分了
应用层协议:
网页浏览:
(http(80端口) , ssl (https加密传输,一般使用443端口))
基于网络协议TCP
文件传输:
FTP: 基于网络协议TCP协议 建立连接的时候使用21端口,传输数据的时候使用20端口
TFTP:基于网络协议udp协议,一般传输文件比较小的数据时使用,使用端口为69
E-Mail, 基于的网络协议tcp
smtp:工作服务器的发送部分 25端口
pops协议:一般用于客户端向服务器端下周邮件时使用的协议,
工作在服务器,应用进程的监听端口 默认的使用端口是110
远程登录:tcp协议
TELNET :23端口明文传输,使用wirshark可以抓到报文内容
SSH:22口, 使用加密算法进行远程登录
域名服务:
DNS:(基于udp协议53端口)
还有一个dns架设协议基于tcp的23端口,
是主备dns服务器进行交互的时候使用这个协议,也叫区域传输复制时
简单网络管理协议: snmp协议基于udp
端口:
161 服务于接受和发送请求的时候
162 当网络发生故障的时候,管理服务器可能会接受一些错误的和故障的
报警,我们把这些内容叫做trap ,使用的端口是162端口