计算机网络笔记

计算机网络笔记

  • 网络:结点+链路(两个电脑+一网线)

​ 互联网:网络的网络,通过路由器互联(还可以使用TCP外别的网络)

​ 因特网:特别的全球最大的互联网那个(使用TCP/IP)

  • 简单定义:相互连接(有线/无线)的自治(独立、有软硬件…)的计算机的集合

  • 网络定义改变历史

    • 大型机+终端机
    • 三层结构(主干、地区、校园网)互联网:多个主机互联
    • 统一网络体系结构国际通用TCP/IP,OSI 体系结构
    • 光纤告诉网络技术,ISP,万维网诞生
  • ISP(Internet Server Provider),互联网服务提供者,如电信,联通,(**树状网络拓扑:**主干ISP->地区ISP->公司校园)

  • 万维网(World Wide Web):许多相互链接的超文本(点击链接、文字、按钮鞥呢可以跳转的文本)组成的系统

计算机网络组成

例子:手机->(路由器->网关->ISP)

1、边缘部分: 主机、手机、摄像头等用户直接使用来进行资源共享的

  • 通信方式:
    • ​ 客户端/服务器方式(C/S方式)
    • P2P方式,Peer-to-Peer):需要请求某个资源的 时候会自动找离自己最近的资源下载,A从E下载了资源同时也在上传,供其他离A很近的主机下载,越多人用下载越快(如在同一局域网下的QQ好友发信息不会走服务器,而是通过最近的路径告诉发送)

2、核心部分:连接网络的路由器+网络等,为边缘部分提供服务(提供连通性和交换)

  • 路由器:起核心作用

    作用:实现分组转发(packet switching),转发收到 的分组

计算机网络分类

  • 按交换技术分类

    交换机:代替复杂的点对点的连接,在中央负责分组转发

    • 电路交换:面向连接,以前的电话(简历物理通路)

    • 分组交换:存储转发技术,将较长报文分割为等长数据段(首部+数据=分组,接收端回复还原),好处是避免长数据发送失败数据丢失(端数据发送很快,而且前后不一定按相同路径)

      • 报文首部:源主机地址和目标主机地址(协议规定具体内容)

      • 路由器处理过程:存储(放入路由器缓存)+转发(查找转发表找到转发的端口发出)

TCP协议

​ TCP/IP就是IP、TCP、HTTP等协议的集合,协议可比作聊天的语言

  • 国际标准OSI(Open Systems Interconnection,开放式通信系统互联参考模型),为广泛应用,但是起指导作用

计算机网络层次结构

  • 分层的应用:分层实现保证数据通路顺畅、得知目的计算机的状态、识别目的计算机、保证数据正确

  • 设计原则:

    • 各层相互独立(只调用其他层的服务或者提供服务)
    • 每层有足够灵活性(可扩展,改进)
    • 各层之间完全解耦
  • OSI七层模型:应用、表示、会话、传输、网络、数据链路、物理(市场化失败)

    • 物理层:

      传输介质(光纤、红外线灯)、信道…

    • 数据链路层:

      封装成帧(帧数该层数据的基本单位,给数据增加帧首部尾部)、透明传输(数据中若存在等于帧尾部的数据段则在其前加上转移字符)、差错检测(判断比特流)

      • MTU最大传输单元:数据链路层中能发送的数据帧的最大长度

      • 路径MTU:传输路径中最小的MTU

      • 以太网协议(数据链路层采用的相邻设备数据传输的协议):

        目的地址(6byte)+原地址(6byte)+类型+帧数据+CRC(4byte校验码)

        路由器取出数据帧的目的地址(前6位),再根据自身的MAC地址表查询完成转发(未知所接设备地址时全部发送并得到所连设备的地址响应得到地址)

      • MAC地址:设备的身份证{唯一},实质为物理地址、硬件地址,有48位,用十六进制表示,如30-B4-9E-Ed-85-CA

    • 网络层

      决定数据在网络中的传输路径

      • IP协议

        作用:是复杂的实际网络变为一个虚拟互联的网络,专注数据转发

        image-20200911160405128

        1. IP地址:192.168.11.11(32位,点分十进制表示),设备的ip地址随网络环境变化而变化(与MAC地址不同)
        2. TTL:IP数据报文寿命,每经一设备则–,直至为零
        3. 逐跳:网络路径中当前位置跳到下一个设备
    1. 路由表:类似MAC地址表
      5. IP协议的转发流程:查询路由表,得到下一跳的设备MAC地址?,数据链路层改变数据帧的目的、原MAC地址(而IP地址不变) ,转发…
    • ARP协议(Address Resolution Protocol)地址解析协议 (对程序员透明)

      将网络层IP地址(32位)-> 数据链路层MAC地址(48位),使用ARP缓存表记录IP、MAC地址映射关系(表有一定有效期)

    • RARP协议:与ARP相反,MAC->IP

    • IP地址分类

      1、IP地址 = 网络号(位长决定子网数量)+主机号(决定主机数量),根据网络号为8、14、24位分为ABC三类
      2、特殊主机号:主机号全0(表示当前网路段)、主机号全1(广播地址,向所有主机发送),不可分配为某主机
      3、特殊网络号(全0的或后七位为1的A类、只有首位为1的B、或192.0.0的C)
      4、回环地址:127.0.0.1,本地虚拟接口
      5、划分子网:193.10.10.  (0或1)(子网号)0000000(二进制),子网掩码快速判断网络号
      6、CIDR:网络前缀(任意位数)它将网络前缀相同的IP地址称为一个“CIDR地址块”
       如:193.10.10.129/25
       现代IP地址规划方法
      
    • (未理解)网络地址转换NAT(Network Address Translation)技术:

      内网地址(内部机构使用,ABC三类,各企业使用同样的内网地址)、外网地址(全球公网唯一)

      场景:NAT用于多主机通过公有IP访问互联网的私有网络中,解决访问外网时怎么知道是内网的哪个IP

      实现:NA(P)T表,P是端口号,创建旧地址、端口号 和 通过公网时路由转换成的 新地址、端口号 的映射

    • ICMP协议,网际控制报文协议(Internet Control Message Protocol)

      用途:辅助IP协议,可以报告错误信息或者异常情况

      image-20200912105354617

      • 差错报告报文:类型值3(网络或主机不可达)、5(重定向)、11(传输超时)、12(坏的IP头/缺少其他必要参数)
      • 询问报文:类型值0/8(会送请求或应答)、13/14(时间戳)
      • 应用:Ping应用(网络故障排查,cmd的ping)、Traceroute(探测IP数据报在网络中走过的路径,利用TTL实现)
    • 路由算法

      1、自制系统AS:处于一个管理机构下的网络设备群,对外提供一或多个接口(主干/地区ISP、公司、校园等都是一个AS)
      2、自治系统内部的协议:内部网关协议(RIP、OSPF)
      	距离矢量算法(DV):
          	D(当前节点到别的节点的距离)、S(当前节点到别的节点要经过的中间一点),节点与相邻的节点交换向量Di和Si,根据交换信息更新自身 
          (1)RIP(Routing Information)协议:把网络跳数作为DV算法的距离(>15认为不可达)
            缺点:随便相相信相邻节点提供的路径信息,故障信息传递慢
          
      3、外部网关协议:BGP(Border Gateway Protocol边际网关协议、
          AS内部使用协议不同,外部之间的通信由BGP协议解决,需要考虑AS之间的政治、安全等问题(不是找到最佳路径,而是较好的
          AS之间通过BGP发言人进行路由信息交换(不关心内部网络拓扑)
      
      • Dijkstra算法

        找出图中一个点到其他个点的最小路径

      • 链路状态(LS)协议

        与RIP协议对比,解决了随便相信附近节点和寻找下一跳时“视野过小”的问题

      • OSPF(Open Shortest Path First)协议,核心是Dijkstra算法

  • 传输层

    进程的通信,使用端口标记进程

    UDP协议(User Datagram Protocol)
    • 数据处理方式对业务层传输的数据做任何不合并或拆分,数据长由业务层决定

      IP数据报的数据 = UDP首部+UDP数据报的数据(应用层数据)

      )

    • 无连接协议:不需要提前建立连接,想发就发(不保证可靠,数据丢失也不知道)

    • 面向报文传输:直接将应用层数据发出

    • 没有拥塞控制:不会感知网络是否拥塞,都会发送出去

    • 首部开销小

TCP协议

IP数据报的数据 = TCP首部 + TCP数据报的数据(应用层数据)

1、TCP协议的头部

  • 序号:一个待发送字节对应一个序号,实现面向字节流

  • 确认号:N,表示N-1以下的序号的数据都收到了

  • 数据偏移:数据偏离首部的距离(由于最后的TCP选项长度不确定)

  • TCP标记:

    U : URG - 紧急指针,表明发送端向另一端使用紧急方式发送数据。 包中有需要紧急处理的数据。
    
    A : ACK - 应答响应,表示确认序号有效。确认应答的字段有效。TCP规定除了最初建立连接时的SYN包之外该位必须设置为1。
    
    P : PUSH - 推送; 数据包立即发送 。表示接收方应该尽快将这个报文交给应用层。表示需要将收到的数据立刻传给上层应用协议。PSH为0,也就是普通情况下,则不需要立即传,而是先进行缓存。
    
    R : RST - 复位;中断一个连接,表示连接重置。表示TCP连接中出现异常必须强制断开连接。例如,一个没有被使用的端口即使发来了连接请求,也无法通信。此时就可以返回一个RST设置为1的包。此外,程序宕掉或切断电源等原因导致主机重启的情况下,由于所有的连接信息将全部被初始化,所以原有的TCP通信也将不能继续进行。这种情况下,如果通信对方发送了一个设置为1的RST包,就会使通信强制被断开。
    
    S : SYN - 同步; 表示开始会话请求,用来发起一个连接,建立连接。SYN为1表示希望建立连接,并在其序列号的字段进行序列号初始值的设定。(Synchronize本身有同步的意思。也就是意味着建立连接的双方,序列号和确认应答号要保持同步) 
    
    F : FIN - 结束; 结束会话,关闭连接。表示发送方完成任务,今后不会有数据发送,希望断开连接。当通信结束希望断开连接,通信双方的主机之间就可以相互交换FIN位置为1的TCP段。每个主机又对对方的FIN包进行确认应答以后就可以断开连接。不过,主机收到FIN设置为1的TCP段以后不必马上回复一个FIN包,而是可以等到缓冲区中的所有数据都已成功发送而被自动删除之后再发FIN包。
    因此,02表明该数据包发送的是一个同步序号,用来发起一个新的连接。Flags: 0x002 (SYN)
    
    源自https://blog.csdn.net/answer3lin/article/details/84780514
    
  • 窗口:指明允许对方发送的数据量,窗口为1000,确认号为501,则可以发送501~1500

  • 紧急指针:TCP标记URG=1才启用,指定紧急数据在报文中的位置

  • TCP选项:支持未来的扩展

2、特点
  • 面向连接的协议
  • 一个连接有两端
  • 提供可靠的传输服务
  • 提供全双工通信
  • 面向字节流的协议(与数据包对应):将一整块数据看成字节流,对用户我的数据进行合并和分拆
3、可靠传输的基本原理
  • 停止等待协议

    • 收到对方确认消息才继续生成新的消息来发送,收不到确认消息要超时重传(每发一次设置一个定时器:超时定时器

    • 缺点:信道的利用效率不高

  • 连续ARQ协议(Automatic Repeat reQuest:自动重传请求)

    • 滑动窗口:连续发送消息,窗口内数据有已收到确认的就往前推动,累计确认
  • TCP可靠传输

    基于ARQ协议,滑动窗口一字节为单位

    • 选择重传:选择丢失数据段重传,已确认发送的不重传,提高效率
4、TCP协议的流量控制:
  • 使发送方发送数据不要太快,使用滑动窗口实现,接收回应中控制窗口大小就能限制发送速率

  • TCP协议只保证发送数据的可靠传输,在发送窗口发送窗口大小信息的时候可能丢失,用坚持定时器解决

    坚持定时器:当发送方收到窗口为0 的信息后会启动坚持定时器,每隔一段时间就发送一次窗口探测报文

5、TCP协议的拥塞控制
  • 流量控制与拥塞控制的区别:

    • 流量控制更多考虑接受方接受速率问题,考虑点对点的通信量控制

    • 而拥塞控制考虑的是整个网络的资源问题,是全局性的考虑

  • 判断标准:报文超时(不严谨,不考虑断网等网络通路的问题)

  • 慢启动算法:逐渐增大发送数据量,每收到一个报文确认+1,到阈值就停止增加 1,2,4,8…指数增长

  • 拥塞避免算法

    维护拥塞窗变量(>慢启动阈值ssthresh),只要拥塞不发生就试探着将拥塞窗口调大

6、TCP连接的建立(三次握手)
  • ACK、SYN=1表示连接请求报文、FIN=1释放连接

  • 三次握手图:

  • 为什么要三次?

    避免已经失效的请求报文传给对方

7、TCP连接的释放(四次挥手)
  • 四次挥手图:

  • 等待计时器

    • MSL(Max Segment Lifetime):最长报文段寿命,建议设置2分钟

      主动释放连接时不能马上使用该进程端口做其他事,因为有等待计时器的等待时间2MSL

    • 作用:

      • 确保发送方的第4个挥手报文可以发送到接收方,否则接受方在2MSL后会重新给发送方发送第3次握手报文,让发送方再发

      (等待+重发=2MSL?)

      • 确保当期连接的所有报文都已过期(过了2MSL了,所有已经发送的报文都过期)
  • 套接字与套接字编程

    • 使用端口(Port)标记网络进程 (占16比特位)

    • 套接字(Socket):抽象概念,{IP:Port},表示TCP连接的一端

      TCP有两个套接字:TCP = {Socket1:Socket2}={{IP:Port}{IP:Port}}

    • 套接字编程过程C/S

      • 服务端:

        创建套接字 -> 绑定套接字 -> 监听(listen)套接字 -> 接受&处理信息

      • 客户端

        创建套接字 -> 连接套接字 -> 发送信息

    • 网络套接字与域套接字的区别

      • 网络套接字就算是单机(不走网络)也会走一遍网络协议栈

      • 域套接字通过域套接字文件传输,不需要协议栈,单机推荐

应用层

  • UDP与TCP的应用

    • UDP多用于多媒体信息分发,如视频、语音等实时信息

    • TCP用于可靠消息传输,如金融交易、可靠通信、消息队列MQ等

  • 特点:面向用户,定义应用间通信的规则:报文类型(如请求/应答报文)、语法格式、发送时机和规则

  • DNS(Domain Name System:域名系统 域指网络段或AS,名指某ip名)
    • 出现原因:无意义的 IP地址:端口 难以记忆

      便于人记忆的域名(baidu.com) -> DNS服务 -> IP地址

    • 域名:由字母、数字、点(分割不同的域域名由点分为顶级域、二级域、三级域)组成 www.baidu.com(分为别三、二、顶级域)

      • 顶级域 :国家(cn,us,uk),通用(com,net,gov,org)

      • 二级域:qq ,baidu, alibaba

        域从高到底可形成树形,在域名服务器提供以上服务(根域名服务器由各国家维护)

  • DHCP协议(Dynamic Host Configuration Protocol:动态主机设置协议)

    局域网协议,应用UDP协议的应用层协议

    • 解决问题:设备经常在各地移动(家、公司),该协议帮助完成ip地址的配置,使用户即插即用联网

      电脑内勾选了自动获得ip地址即为使用DHCP协议

    • 实现:为用户提供一个局域网内的临时ip,有一定租期

    • 设备获得ip的过程:

      1、DHCP服务器在监听,默认端口67
      2、主机使用UDP协议广播DHCP发现报文(此时使用的ip为全1,即广播专用ip因为自身还没有ip)
      3、DHCP服务器发出DHCP提供报文(告诉主机能为它服务)
      4、主机收到后求助,向DHCP服务器发出DHCP请求报文
      5、DHCP服务器回应并提供ip地址
      以上在局域网完成
      
  • HTTP协议(HyperText Transfer Protocol:超文本传输协议)
    • 超文本:带有超连接的文本,有富文本含义,可以带图片、视频

    • 资源路径

      http(s)😕/<主机>:<端口>/<路径>

      • 主机可以是ip或域名(会通过DNS转化为ip)

      • 端口常为80(http),安全的http一般为443

    • 是可靠的数据传输协议(由底层的TCP协议支持实现)

    • 工作在C/S架构

      Web服务器:硬件、软件(Apache)部分

      接受客户端连接 -> 接收请求报文 -> 处理请求 -> 访问Web资源 -> 构造应答 -> 发送应答
      
      • 请求方法
      GET 获得指定服务端资源
      POST 提交数据到服务端
      DELETE 删除指定服务端资源
      UPDATE 更新指定服务端资源
      
      指定方法
      1、在地址中指定
      如 ?sotr=0&name=0 或.../index.html
      2、在请求报文的请求内容中(json格式)
      
      • 状态码

        2… ,3… ,4…, 5…

    • **(未完成)**HTTP的工作结构

      • 缓存
      • 代理
      • 爬虫
    • HTTPS(Secure)

      • 解决问题:HTTP是明文的,不安全

      • http**(s**)😕/<主机>:<端口>/<路径> , 端口升级为443

      • 加密模型:

        1、对称加密:使用同一密钥
        2、非对称加密:加解密使用分别使用密钥A、B,而A、B是拥有一定数学关系的一组密钥
         A为公钥(对外公开使用),B为私钥(自己使用,不可使用公钥解密)
        
      • 数字证书:可信任组织(C\S 双方认为可信任)颁发给特定对象的认证

        证书:

        证书格式、版本号
        证书序列号
        签名算法
        有效期
        对象名称
        对象公开秘钥(重要)
        
      • SSL(Secure Sockets Layer:安全套接层)

        应用层和传输层中间层,保证数据安全性(不被泄露)和数据完整(不被篡改),对传输层数据加密后传输

      • HTTPS过程

        1、443端口的TCP连接
        2、SSL安全参数握手

        • 综合使用对称加密、非对称加密
        • 双方分别生成秘钥,没有经过传输

        image-20200913204025464

        3、客户端发送数据
        4、服务端发送数据

TCP/IP 四层模型:

计算机网络的性能指标:

  • 速率(bps=bit/s)

  • 时延 = 发送时延(本机决定)+传播时延(传输距离/传播速率)+排队时延(数据包在网络设备中等的时间)+处理时延(到达目的后处理的时间)

  • RTT(Route-Trip Time)数据报文在端到端通信来回一次的时间,使用ping命令查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络笔记pdf是指通过电子方式制作的计算机网络学习材料。这种格式的笔记具有许多优势和便利性。 首先,通过将计算机网络笔记制作成pdf格式,可以实现电子化存储和传输,方便学生在不同设备上进行查阅。无论是在电脑、平板还是手机上,只要有pdf阅读软件,就可以随时打开和阅读这些学习材料。同时,学生们也可以通过邮件、社交媒体等方式分享和传输pdf笔记,方便与他人进行学习分享和讨论。 其次,pdf格式的笔记具有较好的兼容性。无论是使用Windows、Mac还是Linux系统,都可以很好地支持pdf文件的打开和编辑。这一点在计算机领域尤为重要,因为计算机网络学习通常需要使用多种操作系统和软件工具。 此外,pdf格式的笔记还具有便于编辑和标注的特点。学生们可以使用pdf阅读软件提供的功能,如划线、批注、插入书签等,方便地对重点知识进行标记和整理。这对于复习和回顾来说非常有帮助,可以快速找到自己需要的内容。 最后,pdf格式的计算机网络笔记还可以保护知识产权和内容的完整性。通过设置权限和密码保护,可以防止未经授权的复制和修改,确保学习材料的安全和可信度。 综上所述,计算机网络笔记pdf是一种便捷、兼容、可编辑和安全的学习材料格式,对于学生们在计算机网络学习中起到了重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值