计算机网络概论 | 青训营笔记

110 阅读3分钟

计算机网络概论 | 青训营笔记

碎碎念:五一假期补笔记,小白记录一些学到的东西

协议

协议的存在依赖于连接,协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送/接受一条报文或其他事件所采取的动作。
每一层都将上一层的标头和载荷视为本层的载荷并添加标头。

  • HTTP 协议
    链路层 —— 本地帧头部(使用IPv6/IPv4),IP 协议头部(IP协议版本,远IP地址,目标IP地址)
    运输层 —— TCP 协议头部(源端口号,目标端口号,头部长度,载荷信息)
    应用层 —— HTTP 协议头部(请求路径、域名)
  1. 报文
    报文 = 链路层协议的头 + IP协议的头 + TCP协议的头 + HTTP 协议的头 + HTTP 协议的正文

网络结构

基础结构

  1. DNS
    通过DNS记住一个机器IP对应的名称,用于寻找机器 Use DNS(Domain Name System) to find the IP address
  2. TCP/ IP:传输控制协议/网际协议
  3. BGP:连接新的网络
  • Data format
    应用层发送信息 -> 传输层将信息切分成一个个(segment)封装,并加上一个TCP header (增加控制信息:e.g.文件序列号等) -> 在网络层加上发送者和接收者的ip地址形成包(packet),数据链路层在包上增加header和trailer(由于协议不同,因此同一个ip包在每一个路由器的节点加上的header和trailer不同),成为一个帧(frame)
    [图片]
  1. TCP/ IP
    IP uses numeric addresses for routing. IP is best-effort delivery.
    IP 协议中会有一块区标明传输层协议是 TCP / UDP The transport layer (TCP) is responsible for reliability and flow control from source to destination.
    source地址表示发送message的地址(原IP地址可以作假:网络攻击的核心来源),dest地址为接受的地址,完成端到端的数据传出
    Pin不通的原因可能有多种,其中 Destination unreachable:路由表无法找到目标 比较常见。
  • 端口:逻辑上把通讯区分开
  • 版本号:考虑兼容方式
    e.g. IPv4, IPv6
  • TTL:生命生成周期
  • TCP/ UDP 保证质量(可靠性和流量控制)/ 不保证质量但快

都使用port 端口的概念,让不同的包能够按照端口进行区分
UDP: No acknowledgment, No flow control, No message continuation

协议栈

  1. TCP Protocol Stack TCP协议栈
    e.g. 把一本书拆分成很多页,传递到终点后进行组合。 [图片] 通过 slide windows 来提供 flow control,sequence number 和 acknowledgments 来提供 reliability。 三次握手

image.png

  1. DNS
    将域名映射到对应的 IP 地址,每一个服务器有一个本地域名解析器,如果没有找到,则问父亲,不断向上,直到了解信息;每问一次信息都在该层进行缓存。
    储存信息:可以直接储存所有处理过的域名,但更多是储存后缀为xxxx的域名应该由哪个域名解析中心来进行解析,并执行转交(并不是所有域名都由根服务器解析,定期会进行更新。
    DNS root server 进行备份
  • 学校刚好在学信息安全相关的课程,再看一遍当作复习啦~