读者笔记:
https://www.jianshu.com/p/2fc36d046f44
本书重要说明:
1.tcp与udp分组统称为**报文段**,而将**数据报**名称保留给网络层分组不容易混淆。
目录
一、网络基本原理
1.分组
- 主机/端系统
端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一 起
主机有时又被进一步划分为两类:客户(client)和服务器(server)
- 分组
当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)
难点:分组交换网的时延原理
-
分组交换机与路由器
分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。市面上流行着各种类型、各具特色的分组交换机,但在当今的因特网中,两种最著名的类型是路由器(router)和链路层交换机(link-layer switch)o这两种类型的交换机朝 着最终目的地转发分组。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。 -
ISP
端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网
每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。
难点:ISP的组织架构
- 套接字接口(socket interface)
该接口规定了运行 在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交 付数据的方式。
2.协议
1)协议分层
各层的所有协议被称为协议栈(protocol stack),因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。
(1)应用层
http协议等
应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为报文(message)。
(2)运输层
tcp/udp协议等
运输层在应用程序端点之间传送应用层报文,把运输层的分组称为报文段(segment)。
运输层协议是在端系统中而不是在路由器中实现的
运输层与网络层的关系:网络层提供了主机之间的逻辑通信,而运输层为运行在不同主机上的进程之间提供了逻辑通信。
(3)网络层(最复杂的层次)
网际协议IP、路由选择协议等
因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。
(4)链路层
以太网、WiFi和电缆接入网的DOCSIS协议等
因特网的网络层通过源和目的地之间的一系列路由器路由数据报,我们把链路层分组称为帧(frame)
(5)物理层
虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务 是将该帧中的一个个比特从一个节点移动到下一个节点。在这层中的协议仍然是链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许多物理层协议:一个是关于双绞铜线的,另一个是关于同轴电缆的,还有一个是关 于光纤的,等等。在每种场合中,跨越这些链路移动一个比特是以不同的方式进行的。
2)封装
在每一层,一个分组具有两种类型的字段:首部字段和有效载荷字段(payload field),有效载荷通常是来自上一层的分组。
封装的过程能够比前面描述的更为复杂。例如,一个大报文可能被划分为多个运输层的报文段(这些报文段每个可能被划分为多个网络层数据报)。在接收端,则必须从其连续的数据报中重构这样一个报文段。
二、应用层
1.进程间通讯
- 套接字
套接字是同一台主机内应用层与运输层之间的接口,是应用程序进程和运输层协议之间的接口。
三、运输层
多路分解与多路复用
-
多路分解
将运输层报文段中的数据交付到正确的套接字的工作称为多路分解(demultiplexing) -
多路复用
在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息(这将在以后用于分解)从而生成报文段,然后将报文段传递到网络层,所有这些工作称为多路复用(multiplexing)。
在主机上的每个套接字能够分配一个端口号,当报文段到达主机时,运输层检査报文段中的目的端口号,并将其定向到相 应的套接字。然后报文段中的数据通过套接字进入其所连接的进程。如我们将看到的那样,UDP大体上是这样做的。然而,也将如我们所见,TCP中的多路复用与多路分解更为复杂。
TCP与UDP的区别
1.一个UDP套接字是由一个二元组(目的IP地址,目的端口号)全面标识的;TCP套接字是由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)来标识的。
-
面向无连接的多路分解与多路复用
2.一个UDP套接字是由一个二元组全面标识的,该二元组包含一个目的IP地址和一个目的端口号。因此如果两个UDP报文段有不同的源IP地址和/或源端口号,但具有相同的目的IP地址和目的端口号,那么这两个报文段将通过相同的目的套接字被定向到相同的目的进程。(所以udp是无连接的,因为协议中就没有源主机和端口的标识) -
面向连接的多路分解与多路复用
3.两个具有不同源IP地址或源端口号的到达TCP报文段将被定向到两个不同的套接字,除非TCP报文段携带了初始创建连接的请求;服务器主机可以支持很多并行的TCP套接字,每个套接字与一个进程相联系,并由其元组来标识每个套接字。当一个TCP报文段到达主机时,所有4个字段(源IP地址,源端口,目的IP地址,目的端口)被用来将报文段定向(分解)到相应的套接字。
UDP
-
应用层实现udp可靠传输
使用UDP的应用是可能实现可靠数据传输的。这可通过在应用程序自身中建立可靠性机制来完成(例如,可通过增加确认与重传机制来实现,如采用我们将在下一节学习的一些机制)。我们前面讲过在谷歌的Chrome 浏览器中所使用的QUIC协议[Iyengar 2015]在UDP之上的应用层协议中实现了可靠性。 但这并不是无足轻重的任务,它会使应用开发人员长时间地忙于调试。无论如何,将可靠性直接构建于应用程序中可以使其“左右逢源”。也就是说应用进程可以进行可靠通信,而无须受制于由TCP拥塞控制机制强加的传输速率限制。 -
差错检测
虽然UDP提供差错检测,但它对差错恢复无能为力。UDP的某种实现只是丢弃受损的报文段;其他实现是将受损的报文段交给应用程序并给出警告。
TCP
- tcp的连接
这种TCP “连接”不是一条像在电路交换网络中的端到端TDM或FDM电路。相反,该“连接”是一条逻辑连接
,其共同状态仅保留在两个通信端系统的TCP程序中。前面讲过,由于TCP协议只在端系统中运行,
而不在中间的网络元素(路由器和链路层交换机)中运行,所以中间的网络元素不会维持TCP连接状态。
事实上,中间路由器对TCP连接完全视而不见,它们看到的是数据报,而不是连接。
TCP连接也总是点对点(point-to-point)的,即在单个发送 方与单个接收方之间的连接。
所谓“多播”(参见本书的在线补充材料),即在一次发送 操作中,从一个发送方将数据传送给多个接收方,
这种情况对TCP来说是不可能的。
-
发送缓存与接收缓存
-
流量控制
-
拥塞控制原因及方法
四、网络层
1.数据平面与控制平面
数据平面功能:即网络层中每台路由器的功能,该数据平面功能决定到达路由器输入链 路之一的数据报(即网络层的分组)如何转发到该路由器的输出链路之一。
控制平面功能:即网络范围的逻辑,该控制平面功能 控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。
转发(forwarding):是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。转发发生的时间尺度很短(通常为几纳秒),因此通常用硬件来实现。转发是由网络层的数据平面执行的主要功能。
路由选择(routing):指确定分组从源到目的地所采取的端到端路径的网络范围处理过程。
2.路由器的工作原理
接口
主机与物理链路之间的边界叫做网络接口(Interface,也叫网卡)。
主机通常只有一个网络接口(也可能是两个:有线网接口和无线网接口);而路由器由于是不同网络间的交接中心,所以路由器至少需要与两条网络链路相连,因此路由器拥有多个网络接口。
从技术上讲,一个IP地址与一个网络接口(网卡)相关联,而不是主机或路由器(可能是方便网络管理)。比如:路由器通常有内网接口和公网接口,而内网接口和公网接口的IP地址是不相同的。
子网
http://www.360doc.com/content/21/0224/15/51547791_963741451.shtml
定义:为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使
用接口端接这些隔离的网络的端点。这些隔离的网络中的每一个都叫作一个子网
(subnet) 。
IP分配
- 1.获取一块地址
- 2.获取主机地址
用动态主机配置协议(Dynamic Host Configuration, DHCP)
又叫即插即用协议(plug-and play protocol)或零配置(zeroconf)协议。
DHCP是一个客户-服务器协议。客户通常是新到达的主机,它要获得包括自身使用
的IP地址在内的网络配置信息。
0.0.0.0与255.255.255.255
https://blog.csdn.net/SPOTO2021/article/details/119324935
NAT使能路由器
NAT使能路由器对于外部世界来说甚至不像一台路由器。相反NAT路由器对外界的 行为就如同一个具有单一 IP地址的单一设备。在图4-25中,所有离开家庭路由器流向更 大因特网的报文都拥有一个源IP地址138. 76. 29. 7,且所有进入家庭的报文都拥有同一个 目的IP地址13.76.29.70从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。
3.控制平面
路由选择算法
划分方式1
- 集中式
- 分布式
划分方式2
- 静态
- 动态
划分方式3
- 负载敏感
- 负载迟钝
内部路由-自治系统(Autonomous System, AS)
每个AS由一组通常处在相同管理控制下的路由器组成。通常在一个ISP中的路由器 以及互联它们的链路构成一个AS
在一个自治系 统内运行的路由选择算法叫作自治系统内部路由选择协议(intra -autonomous system routing protocol)
OSPF协议
开放最短路优先(OSPF)
ISP之间路由-自治系统间路由选择协议(inter- autonomous system routing protocol)
BGP协议
在因特网中,所有的AS运行相同的AS间路由选择协议,称为边界网关协议(Broder Gateway Protocol, BGP)。
作用一:AS间路由
作用二:IP任播(DNS服务)
4.SDN控制平面
五、链路层和局域网
链路层的主体部分是在网络适配器(network adapter)中实现的,网络适配器有时也称为网络接口卡(Network Interface Card, NIC ) 。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成 帧、链路接入、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现的。
1.多路访问链路和协议
将运行链路层协议(即第2层)协议的任何设备均称为节点(node)
协议划分
多路访问协议划分为3种类型之一:信道划分协议(channel partitioning protocol),随机接入协议(random access protocol)和轮流协议(taking-lurns protocol)。
-
信道划分协议
时分多路复用(TDM)和频分多路复用(FDM)、码分多址(Code Division Multiple Access, CDMA) -
随机接入协议
和载波侦听多路访问(CSMA )协议 -
轮流协议
轮询协议(polling protocol) 、令牌传递协议(token-passing protocol)
2.交换局域网
1)链接层寻址和ARP
- MAC地址
链路层地址有各种不同的称呼:LAN地址(LAN address) 、物理地址(physical
address)或MAC地址(MAC address)。因为MAC地址似乎是最为流行的术语,所以我们
此后就将链路层地址称为MAC地址。
-
ARP协议(地址解析协议)
-
发送数据报到子网以外
子网1与子网2之间使用路由器连接,如果子网1中的主机要与子网2中的主机通讯,子网1会通过ARP获取路由器的mac地址,而非子网2中主机的mac地址。
2)以太网
- 以太网帧
目的地址:目的适配器的MAC地址
源地址:源适配器的MAC地址
3)链路层交换机
a.交换机与路由器的区别
4)虚拟局域网
持虚拟局域网(Virtula Local Network,VLAN)的
3.链路虚拟化:网络作为链路层
- 多协议标签交换(Mulliprotocol Label Switching, MPLS)
一个MPLS使能的路由器常被称为标签交换路由器(label- switched router)
4.数据中心网络
5.web页面请求的历程
请求www.baidu.com 页面
1)客户端IP分配:运行DHCP协议,以从本地DHCP服务器获得一个IP地址以及其他信息。
同时返回网关路由器的ip地址。
2) DNS请求:
2-1:通过发送ARP查询报文,获取网关路由器的MAC地址。
2-2:向网关路由器发送以太网帧
最终能够使包含DNS査询的以太网帧寻址到网关路由器的 MAC地址。注意到在该帧中的IP数据报具有IP目的地址68. 87.71.226 ( DNS服务器), 而该帧具有目的地址OO:22:6B:45:FF:1B (网关路由器)。Bob便携机向交换机发送该帧, 交换机将该帧交付给网关路由器。
2-3:路由到DNS服务器
2-4:客户端获取到DNS返回的IP地址
3)发送HTTP请求
3-1:建立tcp连接
3-2:发送HTTP-GET请求
六、移动网络和无线网络
1.概述
-
无线主机
-
无线链路
-
基站
与基站关联的主机通常被称为以基础设施模式(infrastructure mode)运行,因为所有 传统的网络服务(如地址分配和路由选择)都由网络向通过基站相连的主机提供。在自组 织网络(ad hoc network)中,无线主机没有这样的基础设施与之相连。在没有这样的基础 设施的情况下,主机本身必须提供诸如路由选择、地址分配、类似于DNS的名字转换等 服务。
当一台移动主机的移动超出一个基站的覆盖范围而到达另一个基站的覆盖范围后,它 将改变其接入到更大网络的连接点(即改变与之相关联的基站),这一过程称作切换
- 网络基础设施
根据两 个准则来对无线网络分类:
①在该无线网络中的分组是否跨越了一个无线跳或多个无线 跳;
②网络中是否有诸如基站这样的基础设施。
2.无线链路和网络特征
CDMA:CDMA指码分多址,是一种扩频多址数字式通信技术,通过独特的代码序列建立信道,抗干扰能力强,宽带传输及抗衰落能力强。CDMA是一种多路方式,多路信号只占用一条信道,极大提高带宽使用率。
3.WiFi
WiFi:IEEE 802.11无线LAN
-
- 11体系结构
802.11体系结构的基本构件模 块是基本服务集(Basic Service Set, BSS).一个BSS包含一个或多个无线站
点和一个在 802.11术语中称为接入点(Access Point, AP)的中央基站(base station).
配置AP的无线LAN经常被称作基础设施无线LAN(infrastructure wireless LAN),
其中的“基础设施”是指AP连同互联AP和一台路由器的有线以太网。
- 信道与关联
为了获得因特网接入,你的无线站点需要加入其中一个子网并因此需要与其中的一个AP相关联(associate)。
关联意味着这一无线站点在自身和该AP之间创建一个虚拟线路。特别是,仅有关联的AP才向你的无线站点发送数据帧,并且你的无线站点也仅仅通过该关联AP向因特网发送数据帧。然而,你的无线站点是如何与某个特定的AP相关联的?更为根本的问题是,你的无线站点是如何知道哪个AP位于该丛林呢?
WiFi丛林(WiFi jungle)
信标帧(beacon frame)
扫描信道和监听信标帧的过程被称为被动扫描(passive scanning),无线主机也能够执行主动扫描(active scanning)。
-
802.11 MAC 协议
链路层确认(link-layeracknowledgment)方案 -
个人域网络:蓝牙和ZigBee
IEEE 802.11 WiFi标准主要针对相距多达100m的设备间的通信(当 使用802.11具有定向天线的点对点配置时除外)。两个其他的IEEE 802无线协议是蓝牙和ZigBee (定义在 IEEE 802.15.1 和 IEEE 802.15.4标准中[IEEE 802.15 2012] )。
802.15.1网络有时被称为无线个人域网络(WirelessPersonal Area Network, WPAN)
0 条评论