天天看点

极客时间《趣谈网络》学习笔记

1.网络程序是如何工作的

极客时间《趣谈网络》学习笔记

       从上面的图中我们可以看出,当我们在电脑上浏览网页的时候,我们的浏览器会解析远程服务器发来的页面信息,解析流程大致是这样的:

       (1)链路层(2层):将网络报文的MAC头取出来,与本机的MAC地址匹配,如果发现是发给自己的则将报文转交给网络层进行处理。

      (2)网络层(3层):匹配报文的IP地址,如果判断是发给自己的则将报文转交给传输层进行处理,否则丢弃报文。

      (3)传输层:解析报文中的端口号,取下TCP报文头,将HTTP正文内容交给相应的APP进行处理。

      (4)应用层:浏览器取下HTTP头,然后将网页内容进行展示。

       由此我们完成,从网络中获取报文到网页内容展示的过程。当我们需要操作页面时,该流程正好是接受报文的逆过程,即将操作信息分别包装上HTTP头,TCP头,IP头,MAC头,通过链路传输给网站服务器进行处理。

2.网络设备标识符

    当我们执行在Linux上执行ifconfig的时候,我们能看到以下结果:

    UP表示的是目前网卡的启动状态;

    BROADCAST表示该网卡就有广播地址,能发广播包;

    RUNNING表示网卡的网线被接上;

    MUTICAST表示网卡可以发多播包;

    mtu:最大传输单元,1500是默认值

3.IP地址和MAC地址的理解

        MAC地址可以理解为网络设备的身份ID,而IP地址理解为通讯地址。IP地址可以标示给网络设备所处的位置,而MAC地址能精确定位到该网络设备。

4.DHCP(Dynamic Host Configuration Protocol)

        DHCP中文名称为动态主机配置协议。使用DHCP协议我们可以给新加入的网络设备动态分配IP地址。它与静态IP地址的区别可以类比为,静态IP地址就像自己买房子,IP设置了,就只给你用,不会中途收回,而DHCP类似于租房子,需要签订租约。

        使用DHCP还可以为主机安装操作系统,该过程称为PXE(Pre-boot Execution Environment),该过程如下所示:

极客时间《趣谈网络》学习笔记

        (1)刚加入的网络设备需要向DHCP服务器申请自己的IP地址和pxelinux.0的位置。

        (2)PXE客户端向FTP服务器下载pxelinux.0文件,该文件是一个bootloader,通过它可以进行内核安装引导。

        (3)安装完prelinux.0之后,需要向FTP服务器下载内核和initramfs。

        (4)安装内核和initramfs。initramfs是一个初始文件系统,该程序可以帮助在启动早期提供一个用户态环境,帮助内核完成一些不易完成的工作。

附录:

(1)MTU:https://yq.aliyun.com/articles/222535

(2)initramfs:https://www.imooc.com/article/42024

继续阅读