计算机网络笔记

Posted by 好记性不如烂笔头 on 03-30,2020

特定主机路由

按照某个具体主机的IP地址来设定路由,通过认为的设定,让访问某个服务器的流量必须经由某个结点转发,特定主机路由的子网掩码为255.255.255.255。

默认路由(缺省路由)

和编程语言的switch类似,当变量取值与所有列出来的值都不相等的时候,可以设置一个默认分支处理,当IP数据包的目的网络地址和路由表里所有条目都不匹配的时候,则按默认路由转发。例如,通常会把单位网络到英特网的出口作为默认路由的下一跳,默认路由的子网掩码为0.0.0.0。

划分子网后的数据包寻址算法

  1. 提取数据包的目的IP地址
  2. 依次将目的IP地址与该路由器直连网络的子网掩码相与,若获得的网络地址与直连网络的地址匹配,则交付,否则进行下一步。
  3. 目的IP地址某特定主机路由的目的IP地址匹配,则将数据包转发到该记录标识的下一跳,否则进行下一步。
  4. 目的IP地址与路由表的每一个目的网络的子网掩码相与,提取网络地址,再与该数据包的目的网络比较,如果相同则转发到该记录的下一跳,否则进行下一步。
  5. 若路由表中有默认路由,那么数据包转发到默认路由的下一跳,否则报告出错。

TCP报文结构

tcp报文结构

  • 序号:表示数据报的数据部分第一个字节在源端口发送字节流中的位置。tcp传输的虽然是无结构的字节流,但字节流是有序的,tcp会为流中的每个字节分配一个序号。
  • 确认号:目的端口希望收到的下一个tcp报文数据部分的第一个字节的序号。
  • 标志位字段(重要):用来表示不同种类的tcp报文,有6种:URG、ACK、PSH、RST、SYN、FIN。
  • 窗口字段:用来进行流量控制。

tcp标志位的含义和说明

名称含义使用说明
URG为1表示紧急字段有效用来设置紧急字段
ACK为1表示确认号字段有效用来设置确认号字段
PSH为1表示请求推操作有效用来设置请求推操作,推操作是指报文不用在缓冲中排队
RST为1表示连接复位操作有效用来设置连接复位,tcp连接错误时要断开再复位
SYNSYN为1,并且ACK为0时,表示请求建立tcp连接,当SYN为1且ACK为1,表示成功建立tcp连接配合ACK设置同步序号
FIN为1表示请求断开tcp连接用于断开连接