Learning Records 计算机网络( 二 )


  • RIP协议(距离向量)
  • OSPF协议(直接使用IP)
  • BGP协议(距离向量——TCP)
  • CIDR协议
UDP:用户数据报协议UDP并不可靠,它把应用程序传给IP层的数据发送出去,但是并不保证能到达目的地
广播和多播广播是将数据发送到网络中的所有主机(一般指的是本地相连的网络),多播是发送到主机组广播和多播都仅用于UDP使用广播的问题主要是会增加对该数据报不感兴趣的主机的负荷子网:网络小岛
IGMP多播的基础是一个进程的概念,而多播组中的成员是动态的多播路由器用IGMP来记录与该路由器相连的网络中组成成员的变化情况
使用规则:
  • 当第一个进程进入一个组时,发送一个IGMP报告 。如果一个主机的多个进程加入同一组,只发送一个报告
  • 当进程出组时,主机不发送IGMP报告
  • 多播路由器会定时发送IGMP报文来查询是否还有任何主机有属于多播组的进程
  • 主机通过发送IGMP报告来响应IGMP查询
使用这些报文,多播路由器对每个接口保持一个表,表上记录至少一个包含主机的多播组路由器只将报文转发到还拥有属于那个组主机的接口上
DNS域名系统DNS主要提供IP地址与主机名之间的转换以及电子邮件的选路信息
名字服务器一般用来查询域名信息等主名字服务器-------从磁盘文件调度信息辅名字服务器-------从主名字服务器调入信息主 , 辅名字服务器之间是独立的应用程序通过名字解析器将主机名转化为IP地址,也可以将IP地址转化为主机名名字解析器将向名字服务器发送查询请求所有的DNS查询都有相同的报文形式,它包含查询请求和可能的回答资源记录,授权资源和附加资源记录
TFTPTFTP使用不可靠的UDP , 安全性没有保证TFTP使用停止等待协议 , 数据发送方在发送下一个数据块之前需要等待对方的接收和确认
TCP指的是传输控制协议,它是一种可靠的,面向连接的字节流服务可靠性体现在:
  • 应用数据会被分成TCP认为最合适发送的数据块 。这和UDP不同(UDP应用程序产生的数据块长度不变)
  • 超时重传
  • 需要确认
  • 会保持首部和数据的检验和
  • 数据后重新排序
  • 丢弃重复
  • 流量控制
每个TCP段包含源端和目的端端口号,它和IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接TCP为应用层提供双工服务 , 说明数据能在两个方向上独立地进行运输
TCP连接的建立和终止建立一个连接需要3次握手,而终止一个连接需要4次握手SYN:同步序列编号,它是TCP/IP建立连接时使用的握手信号,SYN=1,ACK=0时表示这是一个连接请求报文段若对方同意连接,则响应报文段中SYN=1,ACK=1ACK:确认号字段 , TCP规定在连接建立后的所有传送报文段中ACK都置为1FIN:FIN为1时表示该报文段的发送方已经结束向对方发送数据,并要求断开连接ISN:初始序列号一个TCP连接由一个四元组构成分别是发送端的IP地址和端口号,接收端的IP地址和端口号
Learning Records 计算机网络

文章插图
一个TCP的建立需要以下步骤
  • 客户端发送一个SYN报文段,并且指明想要的接收端端口和自己的ISN1
  • 服务器也发送自己的SYN报文段进行响应,并且包含自己的ISN2,同时为了确认客户端的SYN,将ACK置为ISN1+1所以每次发送一个报文段,ISN都会+1,这样可以防止丢失的情况
  • 同样为了确认服务端的ISN,客户端会将ACK置为ISN2+1所以可以发现,TCP的这三次握手主要目的在于交换连接双方的初始序列号ISN
终止需要4次挥手
  • 连接的主动关闭者发送一个FIN段指明接收者,同时发送自己的序列号ISN1
  • 被动关闭者将ACK置为ISN1+1 。此时,上层的程序会被告知连接的另一端已经发出了关闭请求 。
  • 然后被动关闭者变为主动关闭者,并发送自己的FIN
  • 为了完成连接的关闭,最后一个报文还包含一个ACK用于确认上一个FIN,防止FIN丢失
TCP的成块数据流TCP使用的被称为滑动窗口协议的另一种流量控制方法该协议允许发送方在停止并等待确认前可以连续发送多少个分组由于发送方不必每发送一个数据就等待确认,所以这可以加速数据的传输用三个术语来描述窗口左右两边的运动