建网站做哪方面,全托管跨境电商平台有哪些,wordpress没有中文,2018网站建设合同范本字节大佬含泪吐血总结系列之 《计算机网络》#xff08;谢希仁#xff09; 原文地址#xff1a;https://github.com/Snailclimb/JavaGuide 文章目录 字节大佬含泪吐血总结系列之 《计算机网络》#xff08;谢希仁#xff09;1. 计算机网络概述1.1. 基本术语1.2. 重要知识…字节大佬含泪吐血总结系列之 《计算机网络》谢希仁 原文地址https://github.com/Snailclimb/JavaGuide 文章目录 字节大佬含泪吐血总结系列之 《计算机网络》谢希仁1. 计算机网络概述1.1. 基本术语1.2. 重要知识点总结 2. 物理层Physical Layer2.1. 基本术语2.2. 重要知识点总结2.3. 补充2.3.1. 物理层主要做啥2.3.2. 几种常用的信道复用技术2.3.3. 几种常用的宽带接入技术主要是 ADSL 和 FTTx 3. 数据链路层Data Link Layer3.1. 基本术语3.2. 重要知识点总结3.3. 补充 4. 网络层Network Layer4.1. 基本术语4.2. 重要知识点总结 5. 传输层Transport Layer5.1. 基本术语5.2. 重要知识点总结5.3. 补充重要 6. 应用层Application Layer6.1. 基本术语6.2. 重要知识点总结6.3. 补充重要 本文是我在大二学习计算机网络期间整理 大部分内容都来自于谢希仁老师的《计算机网络》第七版这本书。为了内容更容易理解我对之前的整理进行了一波重构并配上了一些相关的示意图便于理解。 相关问题如何评价谢希仁的计算机网络第七版 - 知乎 。
1. 计算机网络概述
1.1. 基本术语
结点 node网络中的结点可以是计算机集线器交换机或路由器等。链路link : 从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。主机host连接在因特网上的计算机。ISPInternet Service Provider因特网服务提供者提供商。 IXPInternet eXchange Point互联网交换点 IXP 的主要作用就是允许两个网络直接相连并交换分组而不需要再通过第三个网络来转发分组。 https://labs.ripe.net/Members/fergalc/ixp-traffic-during-stratos-skydive
RFC(Request For Comments)意思是“请求评议”包含了关于 Internet 几乎所有的重要的文字资料。广域网 WANWide Area Network任务是通过长距离运送主机发送的数据。城域网 MANMetropolitan Area Network用来将多个局域网进行互连。局域网 LANLocal Area Network学校或企业大多拥有多个互连的局域网。 http://conexionesmanwman.blogspot.com/
个人区域网 PANPersonal Area Network在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络 。 https://www.itrelease.com/2018/07/advantages-and-disadvantages-of-personal-area-network-pan/
分组packet 因特网中传送的数据单元。由首部 header 和数据段组成。分组又称为包首部可称为包头。存储转发store and forward 路由器收到一个分组先检查分组是否正确并过滤掉冲突包错误。确定包正确后取出目的地址通过查找表找到想要发送的输出端口地址然后将该包发送出去。 带宽bandwidth在计算机网络中表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。常用来表示网络的通信线路所能传送数据的能力。单位是“比特每秒”记为 b/s。吞吐量throughput 表示在单位时间内通过某个网络或信道、接口的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。
1.2. 重要知识点总结
计算机网络简称网络把许多计算机连接在一起而互联网把许多网络连接在一起是网络的网络。小写字母 i 开头的 internet互联网是通用名词它泛指由多个计算机网络相互连接而成的网络。在这些网络之间的通信协议即通信规则可以是任意的。大写字母 I 开头的 Internet互联网是专用名词它指全球最大的开放的由众多网络相互连接而成的特定的互联网并采用 TCP/IP 协议作为通信规则其前身为 ARPANET。Internet 的推荐译名为因特网现在一般流行称为互联网。路由器是实现分组交换的关键构件其任务是转发收到的分组这是网络核心部分最重要的功能。分组交换采用存储转发技术表示把一个报文要发送的整块数据分为几个分组后再进行传送。在发送报文之前先把较长的报文划分成为一个个更小的等长数据段。在每个数据段的前面加上一些由必要的控制信息组成的首部后就构成了一个分组。分组又称为包。分组是在互联网中传送的数据单元正是由于分组的头部包含了诸如目的地址和源地址等重要控制信息每一个分组才能在互联网中独立的选择传输路径并正确地交付到分组传输的终点。互联网按工作方式可划分为边缘部分和核心部分。主机在网络的边缘部分其作用是进行信息处理。由大量网络和连接这些网络的路由器组成核心部分其作用是提供连通性和交换。计算机通信是计算机中进程即运行着的程序之间的通信。计算机网络采用的通信方式是客户-服务器方式C/S 方式和对等连接方式P2P 方式。客户和服务器都是指通信中所涉及的应用进程。客户是服务请求方服务器是服务提供方。按照作用范围的不同计算机网络分为广域网 WAN城域网 MAN局域网 LAN个人区域网 PAN。计算机网络最常用的性能指标是速率带宽吞吐量时延发送时延处理时延排队时延时延带宽积往返时间和信道利用率。网络协议即协议是为进行网络中的数据交换而建立的规则。计算机网络的各层以及其协议集合称为网络的体系结构。五层体系结构由应用层运输层网络层网际层数据链路层物理层组成。运输层最主要的协议是 TCP 和 UDP 协议网络层最重要的协议是 IP 协议。 下面的内容会介绍计算机网络的五层体系结构物理层数据链路层网络层网际层运输层应用层。
2. 物理层Physical Layer 2.1. 基本术语
数据data运送消息的实体。信号signal数据的电气的或电磁的表现。或者说信号是适合在传输介质上传输的对象。码元 code在使用时间域或简称为时域的波形来表示数字信号时代表不同离散数值的基本波形。单工simplex 只能有一个方向的通信而没有反方向的交互。半双工half duplex 通信的双方都可以发送信息但不能双方同时发送(当然也就不能同时接收)。全双工full duplex通信的双方可以同时发送和接收信息。 失真失去真实性主要是指接受到的信号和发送的信号不同有磨损和衰减。影响失真程度的因素1.码元传输速率 2.信号传输距离 3.噪声干扰 4.传输媒体质量 奈氏准则在任何信道中码元的传输的效率是有上限的传输速率超过此上限就会出现严重的码间串扰问题使接收端对码元的判决即识别成为不可能。香农定理在带宽受限且有噪声的信道中为了不产生误差信息的数据传输速率有上限值。基带信号baseband signal来自信源的信号。指没有经过调制的数字信号或模拟信号。带通频带信号bandpass signal把基带信号经过载波调制后把信号的频率范围搬移到较高的频段以便在信道中传输即仅在一段频率范围内能够通过信道这里调制过后的信号就是带通信号。调制modulation 对信号源的信息进行处理后加到载波信号上使其变为适合在信道传输的形式的过程。信噪比signal-to-noise ratio 指信号的平均功率和噪声的平均功率之比记为 S/N。信噪比dB10*log10S/N。信道复用channel multiplexing 指多个用户共享同一个信道。并不一定是同时。 比特率bit rate 单位时间每秒内传送的比特数。波特率baud rate单位时间载波调制状态改变的次数。针对数据信号对载波的调制速率。复用multiplexing共享信道的方法。ADSLAsymmetric Digital Subscriber Line 非对称数字用户线。光纤同轴混合网HFC 网在目前覆盖范围很广的有线电视网的基础上开发的一种居民宽带接入网
2.2. 重要知识点总结
物理层的主要任务就是确定与传输媒体接口有关的一些特性如机械特性电气特性功能特性过程特性。一个数据通信系统可划分为三大部分即源系统传输系统目的系统。源系统包括源点或源站信源和发送器目的系统包括接收器和终点。通信的目的是传送消息。如话音文字图像等都是消息数据是运送消息的实体。信号则是数据的电气或电磁的表现。根据信号中代表消息的参数的取值方式不同信号可分为模拟信号或连续信号和数字信号或离散信号。在使用时间域简称时域的波形表示数字信号时代表不同离散数值的基本波形称为码元。根据双方信息交互的方式通信可划分为单向通信或单工通信双向交替通信或半双工通信双向同时通信全双工通信。来自信源的信号称为基带信号。信号要在信道上传输就要经过调制。调制有基带调制和带通调制之分。最基本的带通调制方法有调幅调频和调相。还有更复杂的调制方法如正交振幅调制。要提高数据在信道上的传递速率可以使用更好的传输媒体或使用先进的调制技术。但数据传输速率不可能任意被提高。传输媒体可分为两大类即导引型传输媒体双绞线同轴电缆光纤和非导引型传输媒体无线红外大气激光。为了有效利用光纤资源在光纤干线和用户之间广泛使用无源光网络 PON。无源光网络无需配备电源其长期运营成本和管理成本都很低。最流行的无源光网络是以太网无源光网络 EPON 和吉比特无源光网络 GPON。
2.3. 补充
2.3.1. 物理层主要做啥
物理层主要做的事情就是 透明地传送比特流。也可以将物理层的主要任务描述为确定与传输媒体的接口的一些特性即机械特性接口所用接线器的一些物理属性如形状和尺寸电气特性接口电缆的各条线上出现的电压的范围功能特性某条线上出现的某一电平的电压的意义过程特性对于不同功能的各种可能事件的出现顺序。
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流而不是指具体的传输媒体。 现有的计算机网络中的硬件设备和传输媒体的种类非常繁多而且通信手段也有许多不同的方式。物理层的作用正是尽可能地屏蔽掉这些传输媒体和通信手段的差异使物理层上面的数据链路层感觉不到这些差异这样就可以使数据链路层只考虑完成本层的协议和服务而不必考虑网络的具体传输媒体和通信手段是什么。
2.3.2. 几种常用的信道复用技术
频分复用(FDM)所有用户在同样的时间占用不同的带宽资源。时分复用TDM所有用户在不同的时间占用同样的频带宽度分时不分频。统计时分复用 (Statistic TDM)改进的时分复用能够明显提高信道的利用率。码分复用(CDM)用户使用经过特殊挑选的不同码型因此各用户之间不会造成干扰。这种系统发送的信号有很强的抗干扰能力其频谱类似于白噪声不易被敌人发现。波分复用( WDM)波分复用就是光的频分复用。
2.3.3. 几种常用的宽带接入技术主要是 ADSL 和 FTTx
用户到互联网的宽带接入方法有非对称数字用户线 ADSL用数字技术对现有的模拟电话线进行改造而不需要重新布线。ADSL 的快速版本是甚高速数字用户线 VDSL。光纤同轴混合网 HFC是在目前覆盖范围很广的有线电视网的基础上开发的一种居民宽带接入网和 FTTx即光纤到······。
3. 数据链路层Data Link Layer 3.1. 基本术语
链路link一个结点到相邻结点的一段物理链路。数据链路data link把实现控制数据运输的协议的硬件和软件加到链路上就构成了数据链路。循环冗余检验 CRCCyclic Redundancy Check为了保证数据传输的可靠性CRC 是数据链路层广泛使用的一种检错技术。帧frame一个数据链路层的传输单元由一个数据链路层首部和其携带的封包所组成协议数据单元。MTUMaximum Transfer Uint 最大传送单元。帧的数据部分的的长度上限。误码率 BERBit Error Rate 在一段时间内传输错误的比特占所传输比特总数的比率。PPPPoint-to-Point Protocol 点对点协议。即用户计算机和 ISP 进行通信时所使用的数据链路层协议。以下是 PPP 帧的示意图 MAC 地址Media Access Control 或者 Medium Access Control意译为媒体访问控制或称为物理地址、硬件地址用来定义网络设备的位置。在 OSI 模型中第三层网络层负责 IP 地址第二层数据链路层则负责 MAC 地址。因此一个主机会有一个 MAC 地址而每个网络位置会有一个专属于它的 IP 地址 。地址是识别某个系统的重要标识符“名字指出我们所要寻找的资源地址指出资源所在的地方路由告诉我们如何到达该处。” 网桥bridge一种用于数据链路层实现中继连接两个或多个局域网的网络互连设备。交换机switch 广义的来说交换机指的是一种通信系统中完成信息交换的设备。这里工作在数据链路层的交换机指的是交换式集线器其实质是一个多接口的网桥
3.2. 重要知识点总结
链路是从一个结点到相邻结点的一段物理链路数据链路则在链路的基础上增加了一些必要的硬件如网络适配器和软件如协议的实现数据链路层使用的主要是点对点信道和广播信道两种。数据链路层传输的协议数据单元是帧。数据链路层的三个基本问题是封装成帧透明传输和差错检测循环冗余检验 CRC 是一种检错方法而帧检验序列 FCS 是添加在数据后面的冗余码点对点协议 PPP 是数据链路层使用最多的一种协议它的特点是简单只检测差错而不去纠正差错不使用序号也不进行流量控制可同时支持多种网络层协议PPPoE 是为宽带上网的主机使用的链路层协议局域网的优点是具有广播功能从一个站点可方便地访问全网便于系统的扩展和逐渐演变提高了系统的可靠性可用性和生存性。计算机与外接局域网通信需要通过通信适配器或网络适配器它又称为网络接口卡或网卡。计算器的硬件地址就在适配器的 ROM 中。以太网采用的无连接的工作方式对发送的数据帧不进行编号也不要求对方发回确认。目的站收到有差错帧就把它丢掉其他什么也不做以太网采用的协议是具有冲突检测的载波监听多点接入 CSMA/CD。协议的特点是发送前先监听边发送边监听一旦发现总线上出现了碰撞就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。 因此每一个站点在自己发送数据之后的一小段时间内存在着遭遇碰撞的可能性。以太网上的各站点平等地争用以太网信道以太网的适配器具有过滤功能它只接收单播帧广播帧和多播帧。使用集线器可以在物理层扩展以太网扩展后的以太网仍然是一个网络
3.3. 补充
数据链路层的点对点信道和广播信道的特点以及这两种信道所使用的协议PPP 协议以及 CSMA/CD 协议的特点数据链路层的三个基本问题封装成帧透明传输差错检测以太网的 MAC 层硬件地址适配器转发器集线器网桥以太网交换机的作用以及适用场合
4. 网络层Network Layer 4.1. 基本术语
虚电路Virtual Circuit : 在两个终端设备的逻辑或物理端口之间通过建立的双向的透明传输通道。虚电路表示这只是一条逻辑上的连接分组都沿着这条逻辑连接按照存储转发方式传送而并不是真正建立了一条物理连接。IPInternet Protocol : 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一是 TCP/IP 体系结构网际层的核心。配套的有 ARPRARPICMPIGMP。ARPAddress Resolution Protocol : 地址解析协议。地址解析协议 ARP 把 IP 地址解析为硬件地址。ICMPInternet Control Message Protocol 网际控制报文协议 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。子网掩码subnet mask 它是一种用来指明一个 IP 地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在它必须结合 IP 地址一起使用。CIDR Classless Inter-Domain Routing 无分类域间路由选择 特点是消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念并使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。默认路由default route当在路由表中查不到能到达目的地址的路由时路由器选择的路由。默认路由还可以减小路由表所占用的空间和搜索路由表所用的时间。路由选择算法Virtual Circuit路由选择协议的核心部分。因特网采用自适应的分层次的路由选择协议。
4.2. 重要知识点总结
TCP/IP 协议中的网络层向上只提供简单灵活的无连接的尽最大努力交付的数据报服务。网络层不提供服务质量的承诺不保证分组交付的时限所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责在互联网的交付有两种一是在本网络直接交付不用经过路由器另一种是和其他网络的间接交付至少经过一个路由器但最后一次一定是直接交付分类的 IP 地址由网络号字段指明网络和主机号字段指明主机组成。网络号字段最前面的类别指明 IP 地址的类别。IP 地址是一种分等级的地址结构。IP 地址管理机构分配 IP 地址时只分配网络号主机号由得到该网络号的单位自行分配。路由器根据目的主机所连接的网络号来转发分组。一个路由器至少连接到两个网络所以一个路由器至少应当有两个不同的 IP 地址IP 数据报分为首部和数据两部分。首部的前一部分是固定长度共 20 字节是所有 IP 数据包必须具有的源地址目的地址总长度等重要地段都固定在首部。一些长度可变的可选字段固定在首部的后面。IP 首部中的生存时间给出了 IP 数据报在互联网中所能经过的最大路由器数。可防止 IP 数据报在互联网中无限制的兜圈子。地址解析协议 ARP 把 IP 地址解析为硬件地址。ARP 的高速缓存可以大大减少网络上的通信量。因为这样可以使主机下次再与同样地址的主机通信时可以直接从高速缓存中找到所需要的硬件地址而不需要再去以广播方式发送 ARP 请求分组无分类域间路由选择 CIDR 是解决目前 IP 地址紧缺的一个好办法。CIDR 记法在 IP 地址后面加上斜线“/”然后写上前缀所占的位数。前缀或网络前缀用来指明网络前缀后面的部分是后缀用来指明主机。CIDR 把前缀都相同的连续的 IP 地址组成一个“CIDR 地址块”IP 地址分配都以 CIDR 地址块为单位。网际控制报文协议是 IP 层的协议。ICMP 报文作为 IP 数据报的数据加上首部后组成 IP 数据报发送出去。使用 ICMP 数据报并不是为了实现可靠传输。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 报文的种类有两种即 ICMP 差错报告报文和 ICMP 询问报文。要解决 IP 地址耗尽的问题最根本的办法是采用具有更大地址空间的新版本 IP 协议-IPv6。 IPv6 所带来的变化有 ① 更大的地址空间采用 128 位地址② 灵活的首部格式 ③ 改进的选项 ④ 支持即插即用 ⑤ 支持资源的预分配 ⑥IPv6 的首部改为 8 字节对齐。虚拟专用网络 VPN 利用公用的互联网作为本机构专用网之间的通信载体。VPN 内使用互联网的专用地址。一个 VPN 至少要有一个路由器具有合法的全球 IP 地址这样才能和本系统的另一个 VPN 通过互联网进行通信。所有通过互联网传送的数据都需要加密。MPLS 的特点是① 支持面向连接的服务质量 ② 支持流量工程平衡网络负载 ③ 有效的支持虚拟专用网 VPN。MPLS 在入口节点给每一个 IP 数据报打上固定长度的“标记”然后根据标记在第二层链路层用硬件进行转发在标记交换路由器中进行标记交换因而转发速率大大加快。
5. 传输层Transport Layer 5.1. 基本术语
进程process指计算机中正在运行的程序实体。应用进程互相通信一台主机的进程和另一台主机中的一个进程交换数据的过程另外注意通信真正的端点不是主机而是主机中的进程也就是说端到端的通信是应用进程之间的通信。传输层的复用与分用复用指发送方不同的进程都可以通过同一个运输层协议传送数据。分用指接收方的运输层在剥去报文的首部后能把这些数据正确的交付到目的应用进程。TCPTransmission Control Protocol传输控制协议。UDPUser Datagram Protocol用户数据报协议。 端口port端口的目的是为了确认对方机器的哪个进程在与自己进行交互比如 MSN 和 QQ 的端口不同如果没有端口就可能出现 QQ 进程和 MSN 交互错误。端口又称协议端口号。停止等待协议stop-and-wait指发送方每发送完一个分组就停止发送等待对方确认在收到确认之后在发送下一个分组。流量控制 : 就是让发送方的发送速率不要太快既要让接收方来得及接收也不要使网络发生拥塞。拥塞控制防止过多的数据注入到网络中这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提就是网络能够承受现有的网络负荷。
5.2. 重要知识点总结
运输层提供应用进程之间的逻辑通信也就是说运输层之间的通信并不是真正在两个运输层之间直接传输数据。运输层向应用层屏蔽了下面网络的细节如网络拓补所采用的路由选择协议等它使应用进程之间看起来好像两个运输层实体之间有一条端到端的逻辑通信信道。网络层为主机提供逻辑通信而运输层为应用进程之间提供端到端的逻辑通信。运输层的两个重要协议是用户数据报协议 UDP 和传输控制协议 TCP。按照 OSI 的术语两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元 TPDUTransport Protocol Data Unit。但在 TCP/IP 体系中则根据所使用的协议是 TCP 或 UDP分别称之为 TCP 报文段或 UDP 用户数据报。UDP 在传送数据之前不需要先建立连接远地主机在收到 UDP 报文后不需要给出任何确认。虽然 UDP 不提供可靠交付但在某些情况下 UDP 确是一种最有效的工作方式。 TCP 提供面向连接的服务。在传送数据之前必须先建立连接数据传送结束后要释放连接。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的面向连接的传输服务难以避免地增加了许多开销如确认流量控制计时器以及连接管理等。这不仅使协议数据单元的首部增大很多还要占用许多处理机资源。硬件端口是不同硬件设备进行交互的接口而软件端口是应用层各种协议进程与运输实体进行层间交互的一种地址。UDP 和 TCP 的首部格式中都有源端口和目的端口这两个重要字段。当运输层收到 IP 层交上来的运输层报文时就能够根据其首部中的目的端口号把数据交付应用层的目的应用层。两个进程之间进行通信不光要知道对方 IP 地址而且要知道对方的端口号(为了找到对方计算机中的应用进程)运输层用一个 16 位端口号标志一个端口。端口号只有本地意义它只是为了标志计算机应用层中的各个进程在和运输层交互时的层间接口。在互联网的不同计算机中相同的端口号是没有关联的。协议端口号简称端口。虽然通信的终点是应用进程但只要把所发送的报文交到目的主机的某个合适端口剩下的工作最后交付目的进程就由 TCP 和 UDP 来完成。运输层的端口号分为服务器端使用的端口号0˜1023 指派给熟知端口1024˜49151 是登记端口号和客户端暂时使用的端口号49152˜65535UDP 的主要特点是 ① 无连接 ② 尽最大努力交付 ③ 面向报文 ④ 无拥塞控制 ⑤ 支持一对一一对多多对一和多对多的交互通信 ⑥ 首部开销小只有四个字段源端口目的端口长度和检验和TCP 的主要特点是 ① 面向连接 ② 每一条 TCP 连接只能是一对一的 ③ 提供可靠交付 ④ 提供全双工通信 ⑤ 面向字节流TCP 用主机的 IP 地址加上主机上的端口号作为 TCP 连接的端点。这样的端点就叫做套接字socket或插口。套接字用IP 地址端口号来表示。每一条 TCP 连接唯一地被通信两端的两个端点所确定。停止等待协议是为了实现可靠传输的它的基本原理就是每发完一个分组就停止发送等待对方确认。在收到确认后再发下一个分组。为了提高传输效率发送方可以不使用低效率的停止等待协议而是采用流水线传输。流水线传输就是发送方可连续发送多个分组不必每发完一个分组就停下来等待对方确认。这样可使信道上一直有数据不间断的在传送。这种传输方式可以明显提高信道利用率。停止等待协议中超时重传是指只要超过一段时间仍然没有收到确认就重传前面发送过的分组认为刚才发送过的分组丢失了。因此每发送完一个分组需要设置一个超时计时器其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求 ARQ。另外在停止等待协议中若收到重复分组就丢弃该分组但同时还要发送确认。连续 ARQ 协议可提高信道利用率。发送维持一个发送窗口凡位于发送窗口内的分组可连续发送出去而不需要等待对方确认。接收方一般采用累积确认对按序到达的最后一个分组发送确认表明到这个分组位置的所有分组都已经正确收到了。TCP 报文段的前 20 个字节是固定的其后有 40 字节长度的可选字段。如果加入可选字段后首部长度不是 4 的整数倍字节需要在再在之后用 0 填充。因此TCP 首部的长度取值为 204n 字节,最长为 60 字节。TCP 使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口后沿的后面部分表示已发送且已收到确认而发送窗口前沿的前面部分表示不允许发送。发送窗口后沿的变化情况有两种可能即不动没有收到新的确认和前移收到了新的确认。发送窗口的前沿通常是不断向前移动的。一般来说我们总是希望数据传输更快一些。但如果发送方把数据发送的过快接收方就可能来不及接收这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快要让接收方来得及接收。在某段时间若对网络中某一资源的需求超过了该资源所能提供的可用部分网络的性能就要变坏。这种情况就叫拥塞。拥塞控制就是为了防止过多的数据注入到网络中这样就可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程涉及到所有的主机所有的路由器以及与降低网络传输性能有关的所有因素。相反流量控制往往是点对点通信量的控制是个端到端的问题。流量控制所要做到的就是抑制发送端发送数据的速率以便使接收端来得及接收。为了进行拥塞控制TCP 发送方要维持一个拥塞窗口 cwnd 的状态变量。拥塞控制窗口的大小取决于网络的拥塞程度并且动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接受窗口中较小的一个。TCP 的拥塞控制采用了四种算法即慢开始拥塞避免快重传和快恢复。在网络层也可以使路由器采用适当的分组丢弃策略如主动队列管理 AQM以减少网络拥塞的发生。运输连接的三个阶段即连接建立数据传送和连接释放。主动发起 TCP 连接建立的应用进程叫做客户而被动等待连接建立的应用进程叫做服务器。TCP 连接采用三报文握手机制。服务器要确认用户的连接请求然后客户要对服务器的确认进行确认。TCP 的连接释放采用四报文握手机制。任何一方都可以在数据传送结束后发出连接释放的通知待对方确认后进入半关闭状态。当另一方也没有数据再发送时则发送连接释放通知对方确认后就完全关闭了 TCP 连接
5.3. 补充重要
以下知识点需要重点关注
端口和套接字的意义UDP 和 TCP 的区别以及两者的应用场景在不可靠的网络上实现可靠传输的工作原理停止等待协议和 ARQ 协议TCP 的滑动窗口流量控制拥塞控制和连接管理TCP 的三次握手四次挥手机制
6. 应用层Application Layer 6.1. 基本术语
域名系统DNS域名系统DNSDomain Name System将人类可读的域名 (例如www.baidu.com) 转换为机器可读的 IP 地址 (例如220.181.38.148)。我们可以将其理解为专为互联网设计的电话薄。 https://www.seobility.net/en/wiki/HTTP_headers
文件传输协议FTPFTP 是 File Transfer Protocol文件传输协议的英文简称而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时它也是一个应用程序Application。基于不同的操作系统有不同的 FTP 应用程序而所有这些应用程序都遵守同一种协议以传输文件。在 FTP 的使用当中用户经常遇到两个概念“下载”Download和上传Upload。 下载文件就是从远程主机拷贝文件至自己的计算机上上传文件就是将文件从自己的计算机中拷贝至远程主机上。用 Internet 语言来说用户可通过客户机程序向从远程主机上传下载文件。 简单文件传输协议TFTPTFTPTrivial File Transfer Protocol,简单文件传输协议是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议提供不复杂、开销不大的文件传输服务。端口号为 69。远程终端协议TELNETTelnet 协议是 TCP/IP 协议族中的一员是 Internet 远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用 telnet 程序用它连接到服务器。终端使用者可以在 telnet 程序中输入命令这些命令会在服务器上运行就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet 会话必须输入用户名和密码来登录服务器。Telnet 是常用的远程控制 Web 服务器的方法。万维网WWWWWW 是环球信息网的缩写亦作“Web”、“WWW”、“‘W3’”英文全称为“World Wide Web”中文名字为“万维网”环球网等常简称为 Web。分为 Web 客户端和 Web 服务器程序。WWW 可以让 Web 客户端常用浏览器访问浏览 Web 服务器上的页面。是一个由许多互相链接的超文本组成的系统通过互联网访问。在这个系统中每个有用的事物称为一样“资源”并且由一个全局“统一资源标识符”URI标识这些资源通过超文本传输协议Hypertext Transfer Protocol传送给用户而后者通过点击链接来获得资源。万维网联盟英语World Wide Web Consortium简称 W3C又称 W3C 理事会。1994 年 10 月在麻省理工学院MIT计算机科学实验室成立。万维网联盟的创建者是万维网的发明者蒂姆·伯纳斯-李。万维网并不等同互联网万维网只是互联网所能提供的服务其中之一是靠着互联网运行的一项服务。万维网的大致工作工程 统一资源定位符URL统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL它包含的信息指出文件的位置以及浏览器应该怎么处理它。超文本传输协议HTTP超文本传输协议HTTPHyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。1960 年美国人 Ted Nelson 构思了一种通过计算机处理文本信息的方法并称之为超文本hypertext,这成为了 HTTP 超文本传输协议标准架构的发展根基。
HTTP 协议的本质就是一种浏览器与服务器之间约定好的通信格式。HTTP 的原理如下图所示 代理服务器Proxy Server代理服务器Proxy Server是一种网络实体它又称为万维网高速缓存。 代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时若代理服务器发现这个请求与暂时存放的的请求相同就返回暂存的响应而不需要按 URL 的地址再次去互联网访问该资源。代理服务器可在客户端或服务器工作也可以在中间系统工作。简单邮件传输协议(SMTP) : SMTPSimple Mail Transfer Protocol即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则由它来控制信件的中转方式。 SMTP 协议属于 TCP/IP 协议簇它帮助每台计算机在发送或中转信件时找到下一个目的地。 通过 SMTP 协议所指定的服务器,就可以把 E-mail 寄到收信人的服务器上了整个过程只要几分钟。SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器用来发送或中转发出的电子邮件。 https://www.campaignmonitor.com/resources/knowledge-base/what-is-the-code-that-makes-bcc-or-cc-operate-in-an-email/ 搜索引擎 :搜索引擎Search Engine是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息在对信息进行组织和处理后为用户提供检索服务将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。 垂直搜索引擎垂直搜索引擎是针对某一个行业的专业搜索引擎是搜索引擎的细分和延伸是对网页库中的某类专门的信息进行一次整合定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”且具有行业色彩相比较通用搜索引擎的海量信息无序化垂直搜索引擎则显得更加专注、具体和深入。 全文索引 :全文索引技术是目前搜索引擎的关键技术。试想在 1M 大小的文件中搜索一个词可能需要几秒在 100M 的文件中可能需要几十秒如果在更大的文件中搜索那么就需要更大的系统开销这样的开销是不现实的。所以在这样的矛盾下出现了全文索引技术有时候有人叫倒排文档技术。 目录索引目录索引 search index/directory)顾名思义就是将网站分门别类地存放在相应的目录中因此用户在查询信息时可选择关键词搜索也可按分类目录逐层查找。
6.2. 重要知识点总结
文件传输协议FTP使用 TCP 可靠的运输服务。FTP 使用客户服务器方式。一个 FTP 服务器进程可以同时为多个用户提供服务。在进行文件传输时FTP 的客户和服务器之间要先建立两个并行的 TCP 连接:控制连接和数据连接。实际用于传输文件的是数据连接。万维网客户程序与服务器之间进行交互使用的协议是超文本传输协议 HTTP。HTTP 使用 TCP 连接进行可靠传输。但 HTTP 本身是无连接、无状态的。HTTP/1.1 协议使用了持续连接分为非流水线方式和流水线方式电子邮件把邮件发送到收件人使用的邮件服务器并放在其中的收件人邮箱中收件人可随时上网到自己使用的邮件服务器读取相当于电子邮箱。一个电子邮件系统有三个重要组成构件用户代理、邮件服务器、邮件协议包括邮件发送协议如 SMTP和邮件读取协议如 POP3 和 IMAP。用户代理和邮件服务器都要运行这些协议。
6.3. 补充重要
以下知识点需要重点关注
应用层的常见协议重点关注 HTTP 协议域名系统-从域名解析出 IP 地址访问一个网站大致的过程系统调用和应用编程接口概念