• 网络是怎样连接的 读书笔记


    一、对路由表的介绍

    1、例如TCP 模块告知的目标 IP 地址为 192.168.1.21那么就对应图 2.18 中的第 6 因为它和 192.168.1 的部分相匹配

          如果目标 IP 地址为 10.10.1.166那么就和 10.10.1 的部分相匹配所以对应第 3 以此类推我们需要找到与 IP 地址左边部分相匹配的条目


    2、 右起第 2 也就是Interface 表示网卡等网络接口这些网络接口可以将包发送给通信对象【判断出应该使用哪块网卡来发送包

    3、 右起第 3 Gateway 列表示下一个路由器的 IP 地址【Gateway(网关)在 TCP/IP 的世界里就是路由器的意思 将包发给这个 IP 地址该地址对应的路由器 A 就会将包转发到目标地址

    4、 如果 Gateway Interface 列的 IP 地址相同,就表示不需要路由器进行转发,可以直接将包发给接收方的 IP 地址

    5、目标地址和子网掩码 A 都是 0.0.0.0这表示默认网关如果其他所有条目都无法匹配就会自动匹配这一行

    如果 Gateway Interface 列的 IP 地址相同,就表示不需要路由器进行转发,可以直接将包发给接收方的 IP 地址

     二、网卡的介绍

    1、不同厂商和型号的网卡在结构上有所不同因此网卡驱动程序也是厂商开发的专用程序 。主要厂商的网卡驱动程序已经内置在操作系统中了
    2、网卡ROM 中保存着全世界唯一的 MAC 地址这是在生产网卡时 。写入的将这个值读出之后就可以对 MAC 模块进行设置MAC 模块就知道自己对应的 MAC 地址了

    网卡中保存的 MAC 地址会由网卡驱动程序读取并分配给 MAC 模块

    3、也有一些特殊的方法比如从命令或者配置文件中读取 MAC 地址并分配给 MAC 模块 这种情况下网卡会忽略ROM 中的 MAC 地址

    三、将数字信息转换为电信号的速率就是网络的传输速率例如每秒将 10 Mbit 的数字信息转换为电信号发送出去则速率就是 10 Mbit/s
    四、 交换机的介绍

    1、会自行更新或删除地址表中的记录不需要手动维护 当地址表的内容出现异常时只要重启一下交换机就可以重置地址表也不需要手动进行维护
    2、当交换机发现一个包要发回到原端口时就会直接丢弃这个包
    3、交换机无法判断应该把包转发到哪个端口只能将包转发到除了源端口之外的所有端口上无论该设备连接在哪个端口上都能收到这个包

    发送了包之后目标设备会作出响应只要返回了响应包交换机就可以将它的地址写入地址表下次也就不需要把包发到所有端口了
    4、全双工模式是交换机特有的工作模式它可以同时进行发送和接收操作集线器不具备这样的特性

    五、以太网设备的网线接口周围有一个绿色的 LED 指示灯它表示是否检测到正常的脉冲信号如果绿灯亮说明 PHYMAU模块以及网线连接正常
    六、路由器介绍
    1、路由器的端口具有 MAC 地址 因此它就能够成为以太网的发送方和接收方 端口还具有 IP 地址从这个意义上来说它和计算机的网卡是一样的。

    路由器的各个端口都具有 MAC 地址和 IP 地址

    这一点和交换机是不同的交换机只是将进来的包转发出去而已它自己并不会成为发送方或者接收方

    交换机是通过 MAC 头部中的接收方 MAC 地址来判断转发目标的而路由器则是根据 IP 头部中的 IP 地址来判断的
    2、交换机在地址表中只匹配完全一致的记录而路由器则会忽略主机号部分只匹配网络号部分
    3、我们也可以将某台具体计算机的地址写入路由表中这时的子网掩码为 255.255.255.255
    4、路由表的子网掩码列只表示在匹配网络包目标地址时需要对比的比特数量

    5、路由器的端口都具有 MAC 地址,只接收与自身地址匹配的包,遇到不匹配的包则直接丢弃

    6、例如3.13 的第 3子网掩码列为 255.255.255.0就表示需要匹配从左起 24 个比特网络
    包的接收方 IP 地址和路由表中的目标地址左起 24 个比特的内容都是192.168.1因此两者是匹配的该行记录就是候选转发目标之一
    7、路由器首先寻找网络号比特数最长的一条记录 C网络号比特数越长说明主机号比特数越短也就意味着该子网
    内可分配的主机数量越少即子网中可能存在的主机数量越少这一规则的目的是尽量缩小范围
    8、跃点计数越小说明该路由越近因此应选择跃点计数较小的记录
    9、如果在路由表中无法找到匹配的记录路由器会丢弃这个包 。遇到不知道应该转发到哪里的包交换机可以将包发送到所有的端口上。

    子网掩码 0.0.0.0 的意思是网络包接收方 IP 地址和路由表目标地址的匹配中需要匹配的比特数为 0。只要将子网掩码设置为 0.0.0.0那么无论任何地址都能匹配到这一条记录
    样就不会发生不知道要转发到哪里的问题了

    路由表中子网掩码为 0.0.0.0 的记录表示“默认路由”

    10、最大包长度是由端口类型决定的用这个最大长度减掉头部的长度就是 MTU
    11、

    12、实际的路由器有内置交换机功能的比如用于连接互联网的家用路由器就属于这一种
    13、路由器的附加功能 :地址转换和包过滤
    14、地址转换设备会随机选择一个空闲的端口【在对外只能使用一个公有地址的情况下,可以用不同的端口号来区别内网中的不同终端

    当数据收发结束进入断开阶段访问互联网的操作全部完成后对应表中的记录就会被删除
    15、包过滤就 是在对包进行转发时根据 MAC 头部IP 头部TCP 头部的内容

    ==========第5章

    1、除了在服务器端部署缓存服务器之外【反向代理】在客户端也可以部署缓存服务器【正向代理】缓存服务器有各种用法
    2、防火墙的基本思路刚才已经介绍过了即只允许发往特定服务器中的特定应用程序的包通过然后屏蔽其他的包

    1)当我们要限定某个应用程序时可以在判断条件中加上 TCP 头部或者UDP 头部中的端口号
    2)TCP 在执行连接操作时需要收发 3 个包 B其中第一个包 TCP 控制位中 SYN 1ACK 0其他的包中这些值都不同因此只要按照这个规则就能够过滤到 TCP 连接的第一个包

    可以通过阻止TCP第一个包发送出去,从而实现web服务器不能访问互联网

    3)通过接收方 IP 地址发送方 IP 地址接收方端口号发送方端口号TCP 控制位这些条件我们可以判断出通信的起点和终点应用程序种以及访问的方向 

    4)UDP TCP 不同它没有连接操作因此无法像 TCP 一样根据控制位来判断访问方向
    3、包过滤方式的防火墙不仅可以允许或者阻止网络包的通过还具备地址转换功能
    当使用地址转换时默认状态下是无法从互联网访问公司内网的因此我们不需要再设置一条包过滤规则来阻止从互联网访问公司内网
    4、在防火墙允许包通过之后就没有什么特别的机制了只不过当判断规则比较复杂时通过路由器的命令难以维护这些规则而且对阻止的包进行记录对于路由器来说负
    担也比较大因此才出现了 防火墙
    5、包过滤方式的防火墙可根据接收方 IP 地址、发送方 IP 地址、接收方端口号、发送方端口号、控制位等信息来判断是否允许某个包通过

    负载均衡

    1、使用负载均衡器时首先要用负载均衡器的 IP 地址代替 Web 服务器的实际地址注册到 DNS 服务器上
    2、当操作跨多个页面时则不考虑 Web 服务器的负载而是必须将请求发送到同一台 Web 服务器上
    代理:一种介于客户端与 Web 服务器之间,对访问操作进行中转的机制

    ==========第6章
    由于可以通过端口号来区分服务器上的应用程序,所以一台服务器上可以同时运行多个服务器程序,不仅限于 Web 和邮件。

    bind 将端口号写入套接字中6.22-1))。 在客户端发起连接的操作中需要指定服务器端的端口号这个端口号也就是在这一步设置的
    通过客户端 IP 地址客户端端口号服务器 IP 地址服务器端口号这 4 种信息可以确定某个套接字

    在服务器端可能有多个已连接的套接字对应同一个端口号因此仅根据接收方端口号无法找到特定的套接字这时我们需要根据 IP 头部中的发送方 IP 地址和接
    收方 IP 地址以及 TCP 头部中的接收方端口号和发送方端口号共 4 种信息找到上述 4 种信息全部匹配的套接字


    无论哪种情况当断开操作完成后套接字会在经过一段时间后被删除

    ==========第三章
    1、交换机是基于以太网规格工作的设备而路由器是基于 IP 工作的

    2、我们家里用的路由器已经集成了集线器和交换机的功能

    3、网卡负责将包转换成电信号
    4、网线越长信号衰减就越严重
    5、“双绞”是为了抑制噪声
    6、集线器将信号发往所有线路 (集线器只是原封不动地将信号广播出去
    7、交换机的设计是将网络包原样转发到目的地 【交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口 】

    交换机会自行更新或删除地址表中的记录不需要手动维护
    当地址表的内容出现异常时只要重启一下交换机就可以重置地址表也不需要手动进行维护

    8、当交换机发现一个包要发回到原端口时就会直接丢弃这个包
    9、地址表中找不到指定的 MAC 地址 时,交换机无法判断应该把包转发到哪个端口只能将包转发到除了源端口之外的所有端
    口上无论该设备连接在哪个端口上都能收到这个包这样做不会产生什么问题。发送了包之后目标设备会作出响应只要返回
    了响应包交换机就可以将它的地址写入地址表下次也就不需要把包发到所有端口了

    10、全双工模式是交换机特有的工作模式它可以同时进行发送和接收操作集线器不具备这样的特性 【用集线器可能会发生信号碰撞,所以集线器不能全双工】
    11、交换机只将包转发到具有特定 MAC 地址的设备连接的端口其他端口都是空闲的 其他端口都处于空闲状态这些端口可以传输其他的包
    此交换机可以同时转发多个包

    集线器会将输入的信号广播到所有的端口如果同时输入多个信号就会发生碰撞无法同时传输多路信号因此从设备整体的转发能
    力来看交换机要高于集线器

    12、路由器的端口具有 MAC 地址 因此它就能够成为以太网的发送方和接收方端口还具有 IP 地址从这个意义上来说它和计算机的网卡是一样
    交换机只是将进来的包转发出去而已它自己并不会成为发送方或者接收方
    13、交换机是通过 MAC 头部中的接收方 MAC 地址来判断转发目标的而路由器则是根据 IP 头部中的 IP 地址来判断的
    14、交换机在地址表中只匹配完全一致的记录而路由器则会忽略主机号部分只匹配网络号部分
    15、
    ============第二章
    1、套接字的实体就是通信控制信息
    2、Windows 中可以用 netstat 命令显示套接字内容2.2图中每一行相当于一个套接字当创建套接字时就会在这里增加一行新
    的控制信息

    本地 IP 地址和远程 IP 地址都是 0.0.0.0这表示通信还没开始IP 地址不确定
    3、TCP 会在尝试几次重传无效之后强制结束通信并向应用程序报错
    4、所谓滑动窗口就是在发送一个包之后不等待 ACK 号返回而是直接发送后续的一系列包这样一来等待 ACK 号的这段时间就被有效利用起来了

    接收方需要告诉发送方自己最多能接收多少数据然后发送方根据这个值对数据发送操作进行控制这就是滑动窗口方式的基本思路
    能够接收的最大数据量称为窗口大小

    5、套接字并不会立即被删除而是会等待一段时间之后再被删除。 (套接字被删除那么套接字中保存的控制信息也就跟着消失了套接字对应的端口号就会被释放出来
    6、路由器中有一张 IP 协议的表可根据这张表以及 IP 头部中记录的目的地信息查出接下来应该发
    往哪个路由器为了将包发到下一个路由器我们还需要查出下一个路由器的 MAC 地址记录MAC 头部中大家可以理解为改写了 MAC 头部
    7、在这些无需重发数据或者是重发了也没什么意义的情况下使用UDP 发送数据的效率会更高

     ==========第一章

    1、浏览器是一个具备多种客户端功能的综合性客户端软件因此它需要一些东西来判断应该使用其中哪种功能来访问相应的数据而各种不同的
    URL 就是用来干这个的比如访问 Web 服务器时用http:”, 而访问 FTP服务器时用ftp:”。
    2、GET 方法能够发送的数据只有几百个字节,如果表单中的数据超过这一长度,则必须使用 POST 方法来发送。

    3、由于每条请求消息中只能写 1 URI所以每次只能获取 1 个文件如果需要获取多个文件必须对每个文件单独发送 1 条请求比如 1
    网页中包含 3 张图片那么获取网页加上获取图片一共需要向 Web 服务器发送 4 条请求
    4、在域名中越靠右的位置表示其层级越高比如 www.lab.glasscom.com 这个域名 大概就是com 事业集团 glasscom lab 科的 www
    这样其中相当于一个层级的部分称为域因此com 域的下一层是glasscom 再下一层是 lab 再下面才是 www 这个名字
    5、那就是将根域DNS 服务器信息保存在互联网中所有的 DNS 服务器中这样一来任何 DNS 服务器就都可
    以找到并访问根域 DNS 服务器了因此客户端只要能够找到任意一台DNS 服务器就可以通过它找到根域 DNS 服务器然后再一路顺藤摸瓜
    找到位于下层的某台目标 DNS 服务器 。
    6、分配给根域 DNS 服务器的 IP 地址在全世界仅有 13 而且这些地址几乎不发生变化
    7、根域DNS 服务器的相关信息已经包含在 DNS 服务器程序的配置文件中了因此只要安装了 DNS 服务器程序这些信息也就被自动配置好了
    8、套接字创建完成后协议栈会返回一个描述符应用程序会将收到的描述符存放在内存中描述符是用来识别不同的套接字的
    9、客户端在创建套接字时协议栈会为这个套接字随便分配一个端口号 接下来当协议栈执行连接操作时会将这个随
    便分配的端口号通知给服务器
    10、







     

  • 相关阅读:
    ldconfig和ldd用法
    Linux上ld和ld.so命令的区别
    一维二维码的提取、识别和产生
    最大轮廓和投影
    如何做出半透明和闪光效果
    马赫效应和应对方法
    钢管识别项目1
    钢管识别项目2
    选择轮廓(select_shape)
    压板识别项目分析
  • 原文地址:https://www.cnblogs.com/testzcy/p/10152054.html
Copyright © 2020-2023  润新知