计算机网络基础知识随记

最近复习了一下计算机网络基础知识,觉得将总结的要点记录下来,以待将来。

  • 网络拓扑结构
  1. 星型拓扑结构
  2. 网型拓扑结构
  • IP地址
  1. 32位2进制数字,每八位用点分隔。
  2. IP地址分为网络部分和主机部分。
  3. IP地址分为A/B/C/D/E五类,A/B/C最常见。
  4. A类地址:8bits network | 24bits host 第一个八位组范围:00000000~01111111 :0~127 首尾保留:故A类地址有效范围为:1~126.主机部分也不能全为0或全为1,(全0为网络ID,全1为本网络广播地址)。最大可用主机数:224-2
  5. B类地址:16bits network | 16bits network 网络范围:10000000.00000000~10111111.11111111:128~191,最大可用主机数为:216-2.
  6. C类地址:24bits network | 8bits host 网络范围:11000000.00000000.00000000~11011111.11111111.11111111:192~223 ,最大可用主机数为:28-2.
  7. D类地址:组播通信地址。
  8. E类地址:科学研究保留地址。
  9. 私有地址:(企业内网使用,不能在Internet上使用)
    1. 10.0.0.0~10.255.255.255
    2. 172.16.0.0~172.31.255.255
    3. 192.168.0.0~192.168.255.255
  • 子网掩码
  1. 网络地址相同的两个IP:同一网段
  2. 网络地址不同的两个IP:不同网段
  3. 子网掩码:对应IP中网络部分用1表示,主机部分用0表示
  4. 子网掩码 && IP地址 = 网络地址
  • OSI参考模型
  1. 应用层:
  2. 表示层:数据表示,安全,压缩
  3. 会话层:Token
  4. 传输层:进程选择、端口号
  5. 网络层:IP地址
  6. 数据链路层:MAC地址
  7. 物理层:
  • TCP.IP五层模型
  1. 应用层:HTTP/FTP/TFTP/SMTP/SNMP/DNS
  2. 传输层:TCP/UDP
  3. 网络层:IP:ARP/RARP/ICMP/IGMP
  4. 数据链路层:
  5. 物理层
  • 数据封装过程
  1. 应用层:转为二进制
  2. 传输层:将上层数据分段,封装TCP报文头部,TCP头部有端口号
  3. 网络层:将上层数据封装IP头部,IP头部中包含目标IP与源IP
  4. 数据链路层:将上层数据封装MAC头部,包含目标MAC地址与源MAC地址
  5. 物理层:传输信号
  • 数据解封过程
  1. 物理层:将电信号转为二进制,传至数据链路层
  2. 数据链路层:查看目标MAC地址,相同则拆掉MAC头部,将剩余数据传上层,不同则丢弃数据。
  3. 网络层:查看目标IP地址,相同则拆掉IP头部,将剩余数据传至上层,不同则丢弃数据。
  4. 传输层:根据TCP头部判断送往那个应用程序,然后将分组数据段充足送往应用层。
  5. 应用层:解码二进制数据,进行还原操作。
  • 网络中各层典型设备
  1. 应用层:计算机
  2. 传输层:防火墙
  3. 网络层:路由器
  4. 数据链路层:交换机
  5. 物理层:网卡
  • TCP/UDP协议
    • TCP协议
    1. TCP报文段
      1. TCP将若干字节构成一个分组,称为报文段。TCP报文段封装在IP数据报中。
      2. TCP报文段首部长度20~60字节,各字段含义如下:
        • 源端口号:16位字段,为发送方进程对应的端口号。
        • 目标端口号:16位字段,对应的是接收端的进程。
        • 序号:当TCP从进程接收数据字节时,把它们存储在发送缓存中,并对每一个字节进行编号。当所有字节都被编号后,TCP就给每个报文段指派一个序号,就是该报文段中第一个字节的编号。当数据到达目的地后,接收端会按照这个序号将数据重新排列,保证数据的正确性。
        • 确认号:确认号是对发送端的确认信息,用它告诉发送端这个序号之前的数据段都收到。
        • 首部长度:20~60字节。
        • 保留:暂未用到。
        • 控制位:
          • URG:紧急指针有效位
          • ACK:只有当此位为1,确认序列号字段才有效。
          • PSH:标志位为1时要求接收方尽快将数据段送达应用层。
          • RST:当此位为1时通知重新建立TCP连接。
          • SYN:同步序号位,需要建立TCP连接时将这个值设为1.
          • FIN:需要断开连接时,提出断开连接方将此设为1.
        • 窗口值:网络通畅时可将窗口值变大加快传输速率,网络不佳时将窗口值变小保证可靠传输。
        • 校验和:发送端计算校验和,当数据到达目的地时再计算一次,相同则认为数据基本正确,否则将数据丢弃。
        • 紧急指针:和URG配合使用,当URG为1时有效。
        • 选项:在TCP首部可有多达40字节的可选信息。
    2. TCP连接:
      1. 建立连接(三次握手)
        • 第一次握手:发送端SYN控制位置1,其余5位都为0.
        • 第二次握手:分两步
          1. 接收端收到发送端请求,向发送端回复确认信息,TCP的ACK置1,其余5位为0,而且确认序列号是发送的初始序列号+1.
          2. 接收端也向发送端发送建立连接的请求,和第一次握手一样,SYN置1,其余5位为0.
          3. 注:为了提高效率,一般这两步放在一个数据包里实现。
        • 第三次握手:发送端接收到接收端回复,也要向其回复一个确认信息,TCP的ACK置1,其余5位为0,确认序列号是接收端初始序列号+1.
      2. 切断连接(四次握手)
        • 发送端向客户端发送FIN和ACK置1的TCP报文段。
        • 接收端向发送端返回ACK置1的TCP报文段。
        • 接收端向发送端发送FIN和ACK置1的TCP报文段。
        • 发送端向接收端返回ACK置1的TCP报文段。
    • UDP协议
      • 可靠性差,可靠性由上层协议保证。
      • 结构简单,传输时开销小。

      暂时总结到这里,谢谢~     

 

posted @ 2018-09-13 00:37  fly。  阅读(195)  评论(0编辑  收藏  举报