计算机网络笔记

Overall

记录不是很清楚的地方or重难点部分(加**),以及面试常见题,主要参考小林coding & 各大面经。

小林coding链接:计算机网络

updating ...

QuickStart

ComputerNetwork

2. 基础篇

2.2 输入网址到网页显示期间发生了什么

  1. 公网服务器的Mac地址是在什么时机通过什么方式获取到的?ARP获取Mac地址只能获取到内网机器的Mac地址吧?
    在发送数据包时,如果目标主机不是本地局域网,则填入的MAC地址是路由器**(默认网关?)**,也就是把数据包转发给路由器,路由器一直转发下一个路由器,直到转发到目标主机的路由器,发现IP地址是自己局域网内的主机,就会ARP请求获取目标主机的MAC地址,从而转发到这个服务器主机。
    转发的过程中,源IP地址和目标IP地址是不会变的(前提:没有使用NAT网络的),源MAC地址和目标MAC地址是会变化的。
    如果是主机连接路由器的话,主机会发送数据包的默认网关(一般是路由器)。 详情请看2.2 路由器Part

**2.3 Linux如何收发网络包

所以为了解决频繁中断带来的性能开销,Linux 内核在2.6版本中引入了NAPI机制 ,它是混合「中断和轮询」的方式来接收网络包,它的核心概念就是不采用中断的方式读取数据 ,而是首先采用中断唤醒数据接收的服务程序,然后 poll 的方法来轮询数据。

3. HTTP

HTTP是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。

相关推荐
流浪0013 天前
计算机网络篇23:数据链路层——以太网帧格式与 MAC 地址,MTU 牵住 UDP 和 TCP,ARP 拿 IP 换 MAC
计算机网络·mac·数据链路层·arp·mtu·局域网通信
老秦包你会3 天前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
say_fall4 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
流浪0014 天前
计算机网络篇21:网络层——网段划分与子网掩码,从分类地址到 CIDR 与可用主机数
计算机网络·子网划分·nat·子网掩码·cidr·网络层协议
咔_4 天前
有IPv6地址,为什么外面还是连不进来?让同一台服务分别卡在四个位置
linux·计算机网络
流浪0014 天前
计算机网络篇22:网络层——公网的三级地址划分与逐跳转发,从私网出口替换到 IP 分片组装
tcp/ip·计算机网络·路由器·公网搭建·报文分篇
Java成神之路-5 天前
TCP Socket 与 UDP Socket
tcp/ip·计算机网络·udp
流浪0016 天前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
流浪0017 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
流浪0018 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头