本篇我总结了学习计算机网络时必备的知识,可以用于巩固知识或者期末复习~~~如果觉得博主爆肝总结的不错,感谢点赞!
目录
1、计算机网络的几个发展阶段
2、计算机网络的组成
3、协议的概念
4、实体,协议,服务,和服务访问点
5、计算机网络的分类
6、物理层的四个特性
7、数据传输方式:通信双方的交互方式(通过传输方向分)
8、数据传输方式:按照传输对象分
9、数据交换:
10、两种信号
11、数据传输方式:串行传输和并行传输(通过同时间传输数量分)
12、串行传输中的同步传输和异步传输(数据传输方式通过数据报文的双方的行为分)
13、数据传输方式通过传输的信号分
14、四种信道复用技术
15、数据链路层的基本概念
16、什么是帧?
17、数据链路层的三个基本问题
18、构建网络的目的
19、基带传输,宽带传输(载波)
20、局域网和广域网
局域网:
广域网:
21、广域网与局域网的区别
22、冲突域和广播域
23、各层的互联设备及其功能
1、物理层设备(集线器和中继器)
集线器的特点:
2、数据链路层设备(网桥和交换机)
3、网络层设备(路由器)
路由器的作用
网桥和路由器的区别:
交换机和路由器的区别:交换机
路由器
网络层之上的设备:网关
24、以太网
25、PPP协议
26、HDLC协议
27、各层提供哪两种连接(服务)方式
28、常见的介质类型
29、各层的基本功能
30、TCP/IP四层(五层)模型各层主要协议详述
1、一张表理清 OSI七层和TCP/IP四层的关系
2、五层模型
3、具体协议与TCP、UDP的归属
31、网卡实现的功能
31、数据链路层 :CSMA/CD 与 CSMA/CA
32、VLAN的作用
33、局域网协议结构(太网数据帧中的MAC和LLC)
34、网络层ARP协议
35、IP地址分类
36、IP地址二进制转十进制
37、 TCP、UDP协议的基本功能
1、UDP概念:
2.UDP首部格式:
3.当传输层从IP层收到UDP数据报时:
4.UDP校验:
5.TCP概念:
6.TCP报文段的首部格式:
38、 TCP建立连接和释放
1.TCP连接管理
(1)连接的建立 - - - 三次握手
(2)TCP连接释放----四次握手
39、 传输层之TCP流量控制
40、传输层之TCP拥塞控制
41、TCP判断拥塞控制的两个标准
42、OSI端到端的通信在哪一层
43、TCP/IP端到端的通信在哪一层
44、应用进程与传输层的交互接口是什么
45、寻址
46、DNS(域名解析协议)
47、端口范围
48、运输层中Socket是什么?
49、应用层中客户服务器(C/S)方式和对等(P2P)方式
博主爆肝总结!~~~
感谢观看!~~~~~
1、诞生阶段;以传输信息为目的而连接起来,实现远程信息处理或进一步达到资源共享的系统。
2、形成阶段;以能够相互共享资源为目的互联起来的具有独立功能的计算机之集合体。
3、互联互通阶段。
4、高速网络技术阶段。
- 终端系统/资源子网:提供共享的软件资源和硬件资源
- 通信子网:提供信息交换的网络结点和通信线路。
网络协议是指为进行网络中的数据交换而建立的规则、标准或约定。
网络协议也简称协议。
网络协议主要有以下三个要素组成:
- 语法:数据和控制信息的结构或格式
- 语义:用于协调和进行差错处理的控制信息
- 时序(同步):是对事件实现顺序的详细说明
1.实体
- 当研究开放系统中的信息交换时,往往使用实体这一较为抽象的名词。
- 实体表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
2.协议
- 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
- 协议的语法方面规则定义了所交换的信息的格式。
- 协议的语义方面规则定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
- 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
- 协议是水平的,即协议是控制对等实体之间通信的规则。
3.服务
- 服务是垂直的,即服务是由下层向上层通过层间接口提供的。
- 并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。
- 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。
4.服务访问点
- 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP。
- 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。
- OSI把层与层之间交换的数据的单位称为服务数据单元SDU,它可以与PDU不一样,例如,可以是多个SDU合成为一个PDU(协议数据单元),也可以是一个SDU划分为几个PDU。
- 协议数据单元PDU是指对等层次之间传递的数据单位。协议数据单元物理层的 PDU是数据位,数据链路层的 PDU是数据帧,网络层的PDU是数据包,传输层的 PDU是数据段,其他更高层次的PDU是数据。
1.公用网指的是电信公司构建的大型网络,面对公众开放,只要交钱既可使用,又叫公众网。
2.专用网指的是某个部门为本单位的特殊业务工作需要而建造的网络。例如铁路部门、电信部门专门为自己构建的,不对外开放的网络。
按照拓朴分类:星型结构 树形结构 总线型结构 环形结构 网状结构
按照范围分类:
- 广域网WAN:覆盖面积通常为几十公里到几千公里,可以覆盖国家范围、洲际范围,有时也成为远程网。负责互连分布在不同区域的城域网和局域网,是最大范围的网络。
- 城域网MAN:覆盖范围一般是一个城市。作用距离为5到50公里。通常作为城市骨干网,互连大量企业、机构、学校。
- 局域网LAN:局域网一般是微信计算机或工作站通过告诉线路相连,范围一般是一个实验室、一栋楼或一个校园。通常由某个单位单独拥有、使用和维护。
- 个域网PAN:个人区域网络。非用来连接普通计算机,耳式在个人工作的地方把个人使用的电子设备,鼠标、键盘、耳机等用无线的方式连接起来形成的个人网络系统。
按照传输方式分类:有线网络(IEEE802.3) 无线网络:( IEEE802.11 WLAN无线局域网(wireless) WPAN无线个域网)
概念:
- 物理层要解决的基本问题:如何在各种传输媒体上传输比特0和1的问题。进而给数据链路层提供透明传输比特流的服务。
- 物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。
- 用于物理层的协议也常称为物理层规程。
四个特性:
机器特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置。
电器特性:指明在接口电缆的各条线上出现的电压的范围。
功能特性:指明某条线上出现的某一电平的电压表示何种意义。
过程特性:指明对于不同功能的各种可能事件的出现顺序。
1.单工通信:简单的说就是一方只能发信息,另一方则只能收信息,通信是单向的。
2.半双工通信:通信的双方都可以发送信息,但不能双方同时发送。比单工先进一点,就是双方都能发信息,但同一时间则只能一方发信息。
3.全双工通信:通信的双方可以同时发送和接收消息。显然,双向同时通信的效率是最高的
- 单播: 1对1
- 多播:1对多
- 广播:1对all
- 电路交换:整个报文从源头到终点连续的传输
- 报文交换:整个报文先传达到相邻节点,全部存储下来查找转发表,再转发到下一个节点
- 分组交换:将一个报文分成多个分组,传送到相邻结点,在查找转发表,在转发到下一个结点
电路交换
优点:
1、通信时延小,适合传输大量数据
2、有序传输,只在一条固定线路传输,不会失序
3、没有冲突,只在一条线路传输,不会引发冲突
4、适用范围广,适合模拟信号和数字信号
5、实时性强
6、控制简单,结构简单,易于控制
缺点:
1、建立连接时间长
2、线路独占,使用效率低
3、灵活性差
4、难以规格化
报文交换:
优点:
1、无需建立连接,可以随时发送报文2、动态分配线路
3、提高线路可靠性,若线路故障会选择正常线路
4、提高线路利用率
5、提供多目标服务,一个报文可以同时发送给多个地址
缺点:
1、引发了转发时延,在节点中转发储存时间花费多
2、需要较大储存缓存空间
3、需要传输额外的信息量,报文中有源地址点多余信息
分组交换:
优点:
1、无需建立连接
2、线路利用率高
3、简化了储存管理,分组长度固定,缓冲区固定,易于管理
4、加速传输,节点的转发和缓存同时进行,提高速度
5、减少出错概率和重发数据量
缺点:
1、引发了转发时延
2、需要传输额外的信息量,分组中有源地址等额外信息量
3、对于数据报服务,处在失序、丢失货重复分组的问题
4、对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程
- 模拟信号—特定频段的信号—有更加丰富的表现形式------抗干扰能力弱
- 数字信号—不是1就是0--------抗干扰能力强
串行传输是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送
数据通过一条线路传输,一个一个比特依次传送,因此只需要一条线路。
数据在进行远距离传输的时候用的是串行传输,不是并行传输。
数据通过多条线路传输。
并行传输的优点是速度为串行传输的n倍。
缺点是成本高。
计算机内部数据的传输一般使用并行传输。
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。 异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的同步传输就是,数据没有被对方确认收到则调用传输的函数就不返回。
接收时,如果对方没有发送数据,则你的线程就一直等待,直到有数据了才返回,可以继续执行其他指令
异步传输就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事, 接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。形象解释:
异步传输: 你传输吧,我去做我的事了,传输完了告诉我一声 同步传输: 你现在传输,我要亲眼看你传输完成,才去做别的事同步与异步传输的区别
- 异步传输是面向字符的传输,而同步传输是面向比特的传输。
- 异步传输的单位是字符而同步传输的单位是桢。
- 异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输是以数据中抽取同步信息。
- 异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
- 异步传输相对于同步传输效率较低。
- 同步传输的比特分组要大得多。他不会独立的发送每个字符,每个字符都有自己的开始位和停止位,而是把他们组合起来发送。我们将这些组合称为数据帧,或简称帧
- 异步传输将比特分成小组进行传输,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接受方从不知道它们会在什么时候到达。
- 基带传输:传输数字信号叫做基带传输
- 频带传输:传输模拟信号叫做频带传输
频分复用(FDM):用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的用户在同样的时间内占用不同的带宽资源(这里的带宽是频率带宽)。该种复用方式是效率较高,实现简单,但是信道利用率不高
时分复用(TDM):时分复用的用户是在不同的时间占用同样的频带宽度当某用户无数据发送时,该时分复用帧分配给该用户的时隙只能处于空闲状态,即使其他用户一直有数据发送,也不能使用这些空闲的时隙,导致复用后信道的利用率不高。所以又研究出了统计时分统计时分复用(STDM):统计时分复用是一种改进的时分复用,主要作用是提高信道的利用率。统计时分复用不是固定分配时隙,是按需动态分配时隙。集中器常使用这种统计时分复用。
波分复用(WDM):其实就是光的频分复用,光纤传多种不同波长(频率)的光信号,波长不同,各路光信号互不干扰。
码分复用(CDM)/码分多址(CDMA):将每一个比特时间划分为m个短的间隔,称为码片
概念:数据链路层是在物理层和网际层之间的协议,提供相邻结点的可靠数据传输
数据链路层的功能:实现数据在一个网络之间的传输
数据链路的组成:
链路:从一个节点到一个相邻节点的一段物理线路,而中间没有任何其他交换节点。
数据链路:数据链路的构成由把实现通信协议的硬件和软件加到链路上构成的。
- 数据链路层的协议数据单元
- 组成:
- 帧头:源MAC地址,目的MAC地址,类型(MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址)
- 数据
- 帧尾:校验
封装成帧(PPP)
封装成帧是把网络层交付的协议数据单元,添加帧头和帧尾的操作,称为封装成帧,主要目的是为了在链路上以帧为单元传输数据,从而实现数据链路层本身的功能,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。封装后的帧的格式:
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传输,指的是数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
差错检测在传输过程中可能会产生比特差错:1 可能会变成 0, 而 0 也可能变成 1。
因此收到正确的帧就要向发送端发送确认,发送算在一定的期限内若没有收到对方的确认,就认为出现了差错,因而就进行重传,直到收到对方的确认为止.............................................................................................................................................
组帧的四种方法:
字符计数法、字符填充法、零比特填充法、违规编码法
(1)字符计数法
(2)字符填充法
发送方在封装帧时,数据的可能有图中两种类型,传输数据时可能会出现图中所述的错误
解决方法:
- 我们可以在特殊字符(SOH、EOT、ESC)前面填充一个转义字符来区分
- 发送方在封装帧时,进行扫描,扫描到SOH、EOT、ESC(转义字符)时在其前面添加转义字符,以区分,告诉接受方这个和特殊字符相同的字符是数据,当然这些约定由双方之间的协议完成
(3)零比特填充法
(4)违规编码法
********************************************************************************************************
检验和纠正差错的编码方法:
关于数据链路层和物理层的编码区别:
什么是冗余编码?
检错编码:
(1)奇偶校验
实现原理: 在原编码中加一个校验位,则原编码就变成了校验码,它的码距为2,可以检查出奇数位错误,但不能检查出偶数位错误,增加的冗余位为奇偶校验位,一般校验位设置在原编码的最左边或最右边。
奇校验码:整个校验码(信息位+校验位)中1的个数位奇数
偶校验码:整个校验码(信息位+校验位)中1的个数位偶数在发送的数据中添加1个奇偶检验位,在接收方根据1的个数来判断是否出现错误。
例如传输过程中添加1个1后,整体的1的个数为奇数,在传输过去后根据1的个数判断是否出现传输错误,但是当传输错了偶数个1时不能判断出来。
因此这种判断存在很大的局限性。在数据链路层中不使用。
(2)循环冗余校验CRC
循环冗余检验是一种可靠性非常高的校验方法。
校验步骤:
- 收发双方约定好一个生成多项式G(x)
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后方一起传输
- 接收方通过生成多项式来计算收到的数据是否出现误码
在计算除数时,要进行异或运算,两数相同为0不同为1。
实现资源共享
原理:
基带传输:信号源产生的原始电信号称为基带信号,将数字数据0、1直接用两种不同的电压表示,然后送到线路上去传输。
宽带传输:将基带信号进行调制后形成模拟信号,然后采用频分复用技术实现宽带传输。
宽带传输的距离比基带远,因为基带传输直接传送数字信号,虽然数字信号的传输速率高,但是传输的速率越高,能够传输的距离越短;而一个宽带信道能被划分为许多个逻辑信道(只是在宽带信道中划分,可控制的划分。
划分之后也不是变成多条线了,实际还是一条数据线),从而可以将各种声音、图像和数据信息传输综合在同一物理信道中进行。在多个逻辑通道中用不同的信号(模拟信号和数字信号)传输数据。
信源(信息源,也称发终端)发出的没有经过调制(进行频谱搬移和变换)的原始电信号,其特点是频率较低,信号频谱从零频附近开始,具有低通形式。根据原始电信号的特征,基带信号可分为数字基带信号和模拟基带信号(相应地,信源也分为数字信源和模拟信源。)其由信源决定。说的通俗一点,基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。(如果一个信号包含了频率达到无穷大的交流成份和可能的直流成份,则这个信号就是基带信号。)
简单的说,基带信号就是低频信号,也就是需要被传输的信号,相当于货物。但是因为基带信号频率低,传输损耗大,所以需要将信号调制到高频上面。调制到高频(就是载频,相当于货车)以后传输损耗就可以接受了。
载波信号 :
载波是指被调制以传输信号的波形。基带信号的频带很宽(理论上是无限宽),但由于带通原因,几乎不存在无限带宽的传输媒体,所以基带信号无法在普通介质上进行远距离传输,否则码间干扰和衰减无法使信号得到恢复,所以用载波对基带信号进行调制,减小带宽,可以使信号可靠传输,减小衰减,接受端再进行解调还原原来的数字信号。载波频率较为单一,因此调制后的信号的带宽较小。
宽带信号 :
宽带信号是一个相对概念,它是指它的传输介质具有很宽的带通能力,这样的好处就是能够在一路传输介质上复用很多的信号,节省线路铺设的成本,在宽带介质上传输的信号就叫宽带信号了。目前带宽最宽的介质时单模光纤。
局域网:
- 局域网( Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道
- 特点:
- 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内
- 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s).
- 通信延迟时间短,误码率低,可靠性较高。
- 各站为平等关系,共享传输信道。
- 多采用分布式控制和广播式通信,能进行广播和组播
决定局域网的主要要素为:网络拓扑,输介质与介质访问控制方法
局域网拓扑结构:
局域网的传输介质:
局域网介质访问控制方法:
- CSMA/CD 常用于总线型局域网,也用于树型网络
- 令牌总线常用于总线型局域网,也用于树型网络
它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成个逻辑环。只有令牌持有者才能控制总线,オ有发送信息的权力。- 令牌环用于环形局域网,如令牌环网
局域网的分类:
广域网:
广域网 局域网 覆盖范围
很广,通常跨区域 较小通常在一个区域内 连接方式 结点之间都是点对点的连接,但是为了提高网络的可靠性,一个结点交换机通常与多个结点交换机相连。 普遍采用多点接入技术 OSI层级 三层:物理层,数据链路层,网络层 两层:物理层,数据链路层 联系与相似点 1、广域网和局域网都是互联网的重要组成构建,从互联网角度看,二者平等(不是包含关系) 2、连接到一个广域网或一个局域网上的主机在该网内通信时,只需要使用其网络的物理地址 着重点 强调资源共享 强调数据传输 广域网和局域网的不同:
1、两者范围不一样。局域网就是在固定的一个地理区域内由2台以上的电脑用网线和其他网络设备搭建而成的一个封闭的计算机组,范围在几千米以内;广域网是一种地域跨度非常大的网络集合,范围在几十公里到几千公里。2、两者的IP地址设置不一样。局域网里面,必须在网络上有一个唯一的IP地址,这个IP地址是唯一的,在另外一个局域网,这个IP地址仍然能够使用。广域网上的每一台电脑(或其他网络设备)都有一个或多个广域网IP地址,而且不能重复。
3、两者连接的方式不一样。局域网是靠交换机来进行连接的,而广域网则是靠路由器将多个局域网进行连接。
冲突域是一种物理分段,指连接到同一导线上所有工作站的集合、同一物理网段上所有节点的集合或是以太网上竞争同一带宽节点的集合。冲突域表示冲突发生并传播的区域,这个区域可以被认为是共享段。在OSI模型中,冲突域被看作是OSI第一层的概念,连接同一冲突域的设备有集线器、中继器或其它简单的对信号进行复制的设备。其中,使用第一层设备(如中继器、集线器)连接的所有节点可被认为是在同一个冲突域内,而第二层设备(如网桥、交换机)和第三层设备(如路由器)既可以划分冲突域,也可以连接不同的冲突域。
广播域是指可以接收到同样广播消息的节点的集合。简单地说,在该集合中的任何一个节点传输一个广播帧,则其它所有能够接收到这个帧的节点都是该广播域的一部分。由于许多设备都极易产生广播,因此,如果不进行维护就会消耗大量的带宽,降低网络的效率。广播域被看作是OSI第二层的概念,因此由中继器、集线器、网桥、交换机等第一、二层设备连接的节点被认为是在同一个广播域中,而路由器、第三层交换机等第三层设备则可以划分广播域。
第一层设备(如中继器、集线器)不能划分冲突域和广播域;第二层设备(如网桥、交换机)能划分冲突域,但不能划分广播域;第三层设备(如路由器)既能划分冲突域,又能划分广播域。
注意:
网络互连设备可以将网络划分为不同的冲突域、广播域。然而,由于不同的网络互连设备可能工作在OSI模型的不同层次上,如中继器工作在物理层,网桥和交换机工作在数据链路层,路由器工作在网络层,而网关工作在OSI模型的上三层。因此,它们划分冲突域、广播域的效果也就各不相同。
OSI的7层模型:
OSI分层(7层):物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
TCP/IP分层(4层):网络接口层,网际层,运输层,应用层
五层协议(5层):物理层,数据链路层,网络层,传输层,应用层1、物理层设备(集线器和中继器)
中继器:
中继器作为一个实际产品出现主要有两个原因:第一,扩展网络距离,再生衰减信号;第二,实现粗同轴电缆以太网和细同轴电缆以太网的互连。
中继器虽然可以延长信号传输的距离、实现两个网段的互连,但它并没有增加网络的可用带宽。如图2所示,网段1和网段2经过中继器连接后构成了一个冲突域和广播域。
注:
- 由于这是物理层设备,所以它的两端要求是同一个类型的网络,不能是子网而是网段,同时要求两端的网段的速率要相同,协议相同。
- 同时物理层设备也不会向网络层和数据链路层设备那样高级,它只会无脑的传输数据,所以它并不会进行任何的检错纠错。
- 两端可以是相同的媒体,也可以是不同的媒体。
集线器:(多端口的中继器)
集线器可以看作是多接口的中继器,若侦测到碰撞,它就会提交阻塞信号。集线器同样可以延长网络通信的距离,或是连接物理结构不同的网络,但集线器主要还是用作主机站点的汇聚点,将连接在集线器各个接口上的主机联系起来,使之可以互相通信。
功能描述:
- 它的功能也是对信号的再生和放大,与中继器的不同之处在于,它再生信号之后需要转发到其他所有除自己之外处于工作的端口。
集线器位于物理层,无法识别MAC地址和IP地址,因此会以广播的形式发送它接收到的数据包,它的所有端口为一个冲突域同时也为一个广播域。
如图3所示,所有主机都连接到中心节点的集线器上构成一个物理上的星型连接。但实际上,集线器内部的各个接口都是通过背板总线连接在一起的,在逻辑上仍构成一个共享的总线。因此,集线器及其接口所连接的所有主机共同构成了一个冲突域和广播域。
集线器最大的特点就是采用共享型模式。也就是说,当一个接口向另一个接口发送数据时,其他端口处于等待状态。为什么会等待呢?举个例子来说,其实在集线器所连接的网络中,若A向B发送数据包,实际上A是发送给B、C、D三个接口的(该现象即紧接下文介绍的IP广播),但只有B接收,其他的接口在第一时间判断不是自己需要的数据后将不会再去接收A发送来的数据,直到A再次发送IP广播。在A再次发送IP广播之前的单位时间内,C,D是闲置的,或者C、D之间可以传输数据。因此我们可以理解为集线器内部只有一条通道(即公共通道),然后在这条公共通道下方连接着所有接口。
集线器的特点:
- 由功能描述可以知道,集线器不具备数据的定向传送能力,是一个共享式设备。
- 它不能隔离冲突域,所以连在集线器上的设备是平分带宽的。
- 集线器使用的一般是星型拓扑结构。
2、数据链路层设备(网桥和交换机)
网桥:(交换机的前身)
网桥又称为桥接器,与中继器类似,传统的网桥只有两个接口,用于连接不同的网段。与中继器不同的是,网桥具有一定的智能性,可以学习网络上主机的地址,同时具有信号过滤的功能。
网桥的功能:网桥工作在数据链路层的MAC子层,可以使以太网的各网段成为隔离开的冲突域。
注:当网桥收到一个帧的时候并不是向所有接口转发,而是检查此帧的目的MAC地址,决定发往哪一个端口,或者直接丢弃。所以它相对物理层设备具有过滤功能。交换机:
交换机的出现是为了解决连接在集线器上的所有主机会共享可用带宽,使得冲突域过大,从而造成网络堵塞的问题。交换机是通过为需要通信的两台主机直接建立专用的通信信道来增加可用带宽的,从一定层面上交换机可看作是多接口的网桥。
交换机的特点:
- 从本质上来说,交换机是一个多端口的网桥,可以工作在数据链路层。它可以分割小的冲突域。
- 以太网交换机在使用时,每个用户在是独占带宽的。因此N个端口的交换机总容量是N×mbps。同时可以实现无碰撞的传输数据。
- 每个端口都直接与主机相连,并且一般都采用全双工方式。
交换机的交换模式:
- 直通式
- 存储转发式
交换机的自学习能力:
考虑到交换机连接主机随时变化,这就需要更新交换表中的表项。为此,交换机的每个表项都设有一定的有效时间。过期的表项会自动删除,保证了交换表中的数据符合当前网络的状况。这种自学习能力保证了交换机可以即插即用,不需要人工配置。3、网络层设备(路由器)
路由器:
路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。在多个逻辑网络(即多个广播域)互联时必须使用路由器。
注:转发流程
当源主机要向目标主机发送数据报时,路由器先检查源主机与目标主机是否连接在同一个网络上。如果源主机和目标主机在同一个网络上,那么直接交付而无须通过路由器。如果源主机和目标主机不在同一个网络上,那么路由器按照转发表(路由表)指出的路由将数据报转发给下一个路由器,这称为间接交付。可见,在同一个网络中传递数据无须路由器的参与,而跨网络通信必须通过路由器进行转发。例如,路由器可以连接不同的LAN, 连接不同的VLAN, 连接不同的WAN, 或者把LAN 和WAN 互联起来。路由器隔离了广播域。
路由器的作用
- 转发功能处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等。
- 路由选择功能通过和其他路由器进行基于路由协议的交互,完成路由表的计算。
网桥和路由器的区别:
- 网桥只能连接两个逻辑相同的网络(它相当于一个二层交换机),而路由器可以连接不同网络;网桥就是把不同物理位置的机器组成一个大的局域网,连接的多个网络属于同一个局域网;网桥连接的两个网络在逻辑上属于同一个局域网,但可以是不同策略的网络,如以太网和令牌环网;路由器可以连接不同的网络,连接的网络之间可以说没什么关系,是独立的;
- 网桥基于 MAC 地址转发,路由器基于 IP 转发;
- 网桥不隔离广播,而路由器可以隔离广播;
- 网桥工作在链路层,路由器工作在网络层;
交换机和路由器的区别:
交换机
用于同一网络内部数据的快速传输
转发决策通过查看二层头部完成
转发不需要修改数据帧
工作在 TCP/IP 协议的二层 —— 数据链路层
工作简单,直接使用硬件处理
路由器
- 用于不同网络间数据的跨网络传输
- 转发决策通过查看三层头部完成
- 转发需要修改 TTL ,IP 头部校验和需要重新计算,数据帧需要重新封装
- 工作在 TCP/IP 协议的三层 —— 网络层
- 工作复杂,使用软件处理
网络层之上的设备:网关
网关(Gateway) 就是一个网络连接到另一个网络的“关口”。也就是网络关卡。
网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。
网关实质上是一个网络通向其他网络的IP地址。
(1)概述
- 以太网应当按DIX Ethernet V2标准,但是它与IEEE 802.3只有一丢丢不同,因此通常将802.3局域网简称为以太网。
(2)以太网提供无连接、不可靠的服务
(3)传输介质及拓扑结构
注意:以太网CSMA/CD=IEEE802.3
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。 这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
(1)功能(2)三个组成部分
(3)PPP帧协议的帧格式
(1)简介及特点
(2)两种配置
HDLC适用于链路的两种基本配置:非平衡配置和平衡配置。
1)非平衡配置的特点是由一个主站控制整个链路的工作。
2)平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传
输,而不需要得到对方复合站的允许。(3)三种站
(4)三种数据操作方式
1)正常响应方式。这是一-种非平衡结构操作方式,即主站向从站传输数据,从站响应传输,
但从站只有在收到主站的许可后,才可进行响应。2)异步平衡方式。这是一-种平衡结构操作方式。在这种方式中,每个复合站都可以进行对
另一站的数据传输。3)异步响应方式。这是一-种非平衡结构操作方式。在这种方式中,从站即使未受到主站的
允许,也可进行传输。(5)HDLC的帧格式
HDLC与PPP的异同
物理层:
- 数据服务接入点
- 管理服务接入点
数据链路层:
无确认的无连接服务
有确认的无连接服务
有确认的面向连接服务
网络层:
面向连接--------虚电路服务
无连接---------数据报服务
数据报的概念就是:在网络层上,数据包都是自己独立路由的,每个数据包都有目的端和源端的详细地址,这样就导致了最好到达目的端的数据包是无序的。
虚电路的概念就是:在网络层上,源端的网络实体和目的端的网络实体在数据包传输之前要进行虚电路的建立。在沿虚电路的路上每一个路由器都会为这路虚电路建立端口映射。在建立完之后,所有的数据包都会沿着该虚电路,按照顺序的到达目的端。
传输层:
- TCP是面向连接的传输方式
- UDP是面向无连接的传输方式
有线传输介质:双绞线、同轴电缆、光纤
无线传输介质:无线电、微波、卫星、移动通信
第一层:物理层
在OSI参考模型中,物理层是参考模型的最低层,也是OSI模型的第一层。物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。
第二层:数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。在计算机网络中由于各种干扰的存在,导致物理链路是不可靠的。因此这一层的主要功能是:在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
第三层:网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层,它在下两层的基础上向资源子网提供服务。其主要功能是:在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。数据链路层和网络层的区别为:数据链路层的目的是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。
第四层:传输层
OSI下3层的任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。该层提供建立、维护和拆除传输连接的功能,起到承上启下的作用。该层的主要功能是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
第五层:会话层
会话层是OSI模型的第5层,是用户应用程序和网络之间的接口,该层的主要功能是:组织和协调两个会话进程之间的通信 ,并对数据交换进行管理。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。域名就是一种网络上使用的远程地址。会话层的具体功能如下:
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使用远程地址建立会话连接。
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。
第六层:表示层
表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。该层的主要功能是:处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:处理字符集和数字的转换。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。
第七层:应用层
应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,该层的主要功能是:直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外该层还负责协调各个应用程序间的工作。应用层的具体功能如下:
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务
总结:
层
传输单位
任务
功能
物理层
比特
任务是透明的传输比特流
功能是在物理媒体上为数据端设备透明的传输原始比特流。
数据链路层
帧
任务是将网络层传来的IP数据报组装成帧
功能可以概括为封装成帧,差错控制,流量控制和传输管理,提供点到点通信
网络层
数据报(分组/包)
关心通信子网的运行控制,任务是把网络层的协议数据单元从源端传到目的端,为分组交换网上的不同主机提供通信服务
功能主要为对分组进行路由选择,流量控制,拥塞控制,差错控制,网际互联等功能
传输层
TCP报文段或UDP报文段(分段)
负责主机中两个进程的通信
功能是为端到端的连接提供可靠的传输服务,为端到端的连接提供流量控制,差错控制,数据传输管理等服务
会话层
报文段
任务是允许不同主机上的各个进程之间进行会话
功能是管理主机间的会话进程,包含建立,终止等
表示层
报文段
任务是处理两个通信系统中交换信息的表示方式,不同机器采用的编码和表示方法是不同的,使用的数据结构也不同。
所以功能是编码形式化,数据压缩,解密等
应用层
带有应用层协议标志的报文段
任务是面向用户,完成对应需求
功能是为特定类型的网络提供访问底层的手段,使用不同的协议
(二)TCP/IP四层模型,教材基本把四层化为五层好讲解
物理层: 负责光/电信号的传递方式。 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层。
数据链路层: 负责设备之间的数据帧的传送和识别。 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层。
网络层: 负责地址管理和路由选择。 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网络层。
传输层: 负责两台主机之间的数据传输。 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。
应用层: 负责应用程序间沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层
数据在各层之间的传递过程
1、一张表理清 OSI七层和TCP/IP四层的关系
2、五层模型
(1)物理层
物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性,确保原始的数据可在各种物理媒体上传输,为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
(2)数据链路层
主要提供链路控制(同步,异步,二进制,HDLC),差错控制(重发机制),流量控制(窗口机制)
(3)网络层
提供阻塞控制,路由选择(静态路由,动态路由)等
1)IP:网际协议。IP协议提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。IP地址是重要概念
2)ARP:地址解析协议。基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的以太网地址(硬件地址)来确定接口的,而不是根据32位的IP地址。内核必须知道目的端的硬件地址才能发送数据。P2P的连接是不需要ARP的。
注意:ARP请求采用广播方式,应答采用单播方式
3)RARP:反向地址转换协议。允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。局域网网关路由器中存有一个表以映射MAC和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器。
4)IGMP:组播协议包括组成员管理协议和组播路由协议。组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。IGMP 信息封装在IP报文中,其IP的协议号为2。
5)ICMP:Internet控制报文协议。是一个差错报告机制,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络层协议,主要用于在IP主机和路由器之间传递控制消息,用于报告主机是否可达、路由是否可用等。这些控制消息虽然并不传输用户数据,但是对于收集各种网络信息、诊断和排除各种网络故障以及用户数据的传递具有至关重要的作用。
6) BGP :边界网关协议。处理像因特网大小的网络和不相关路由域间的多路连接。
7)RIP:路由信息协议。是一种分布式的基于距离矢量的路由选择协议。
(4)传输层
提供分割与重组数据,按端口号寻址,连接管理差错控制和流量控制,纠错的功能。传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
1)TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。
2) UDP: 用户数据报协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
(5)应用层
1)HTTP:超文本传输协议,基于TCP,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
2)SMTP:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
3)SNMP:简单网络管理协议,由一组网络管理的标准组成,包含一个应用层协议、数据库模型和一组资源对象。
4)FTP:文件传输协议,用于Internet上的控制文件的双向传输。同时也是一个应用程序。
5)Telnet:是Internet远程登陆服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
6)SSH:安全外壳协议,为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
7)NFS:网络文件系统,是FreeBSD支持的文件系统中的一种,允许网络中的计算机之间通过TCP/IP网络共享资源。
3、具体协议与TCP、UDP的归属
网卡实现的主要功能是物理层与数据链路层的功能。
网卡实现的主要功能是数据的封装与解封、链路管理、编码与译码。
注意:CSMA/CD 协议 不能用于 无限局域网
一、CSMA/CD(边听边说)
CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection)即载波帧听,多路访问/冲突检测
CSMA/CD的算法描述:
- 如果链路是空闲的,则可以发送并同时检测冲突
- 如果链路是忙的,则继续侦听,直到检测到链路空闲
- 如果在发送过程中检测到冲突,则停止当前帧的发送,发阻塞信号,等待一段选定的时间(由退避算法决定)
二、CSMA/CA
CSMA/CA是带有冲突避免的载波侦听多路访问,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”
CSMA/CA工作原理:
- 如果信道空闲,继续等待IFS(帧间隔)时间,然后再侦听信道;如果信道仍然空闲,立即发送数据
- 如果信道忙,该站点继续侦听信道,直到当前传输完全结束
- 一旦当前传输结束,站点继续等待IFS时间,然后再侦听信道,如果信道仍然保持空闲,站点按指数后退一个随机长的时间后,发送数据
CSMA/CD 协议 与 CSMA/CA 协议 相同点 :
- ① 都要监听 : 数据发送前 , 都要先进行监听 ; 信道空闲后 , 才能接入 ;
- ② 冲突后的处理方式 : 都使用 截断二进制指数规避算法 进行重传 ;
CSMA/CD 协议 与 CSMA/CA 协议 不同点 :
- ① 传输介质不同 :
- 无线网 : CSMA/CA 协议 用于 无线局域网中 ;
- 有线网 : CSMA/CD 协议 用于 总线型 以太网 中 ;
- ② 监听方式不同 :
- CSMA/CD 协议 监听 有线信道 中的电压变化 ;
- CSMA/CA 协议 采用 能量检测 ( ED ) , 载波检测 ( CS ) , 能量载波混合检测 , 三种方式检测信道是否空闲 ;
- ③ 对于冲突的处理 :
- CSMA/CD 协议 检测冲突 ;
- CSMA/CA 协议 避免冲突 ;
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
作用:
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
局域网的协议结构包括:物理层,LLC子层,MAC子层
1、LAN模型
LAN模型包括:物理层、介质访问控制层、逻辑链路控制层。
1.1 物理层
主要负责处理物理链路上发送、传递、接收非结构化的比特流,包括对带宽的频道分配和对基带的信号调制、建立、维持、撤销物理链路,处理机械的、电气的过程和特性。
1.2 MAC(介质访问控制层)
对接物理层
主要负责控制对传输介质的访问,MAC与网络的具体拓扑方式以及传输介质的类型有关,主要是介质的访问控制和对信道资源的分配。另外还实现帧的寻址和识别,完成帧检测序列产生和检验等功能。
1.3LLC(逻辑链路控制)
对接网络层
主要负责数据帧的封装和拆除,为高层提供网络服务的逻辑接口,实现差错控制和流量控制。
注解:
该协议位于OSI七层协议中数据链路层,数据链路层分为上层LLC(逻辑链路控制),和下层的MAC(媒体访问控制),MAC主要负责控制与链接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。
2、以太网(IEEE802.3标准)
以太网主要包括三种类型:
IEEE802.3 :定义标准的局域网,速度为10Mb/s,传输介质为细同轴电缆。
IEEE802.3u :定义快速以太网,速度为100Mb/s,传输介质为双绞线。
IEEE802.3z :定义千兆以太网,速度为1000Mb/s,传输介质为光纤或双绞线。
3、令牌环网(IEEE802.5)
令牌环是环型网中最普遍采用的介质访问控制,适用于环型网络结构的分布式介质访问控制。主要采用的传输介质为屏蔽双绞线和非屏蔽双绞线两种。拓扑结构由环型、星型、总线型。
编码方法为差分曼彻斯特编码。
4、光纤分布式数据接口(FDDI)
主要采用光纤作为传输介质,数据传输速率可以达到100Mb/s,环路长度可扩展到200km,连接的站点数可达到1000个。FDDI采用4B/5B编码,即每次对4位数据进行编码。
每4位数据编码成5位符号,用光信号的存在或不存在来代表5位符号中的每一位是1还是0。
光纤中传送的是光信号,有光脉冲表示1,无表示0。这种编码缺点是没有同步功能。
FDDI采用双环体系结构,两环上的信息反方向流动。双环中一个称为主环,另一个称为次环。正常情况下主环传输数据、次环闲置状态。双环设计的目的是为了提高可靠性和稳定性。FDDI定义的传输介质由单模光纤和多模光纤。
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ip地址是由主机地址和网络地址组成的
- 主机地址/主机号:
- 标识某一台设备的地址
- 网络地址/网络号:
- 标识某一网段的地址
- 子网掩码:
- 子网掩码用于区分网络号和主机号
- 它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只能有一个作用,就是将某一个IP地址划分成为网络地址和主机地址两部分
每一类ip所对应的默认子网掩码:
A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,它主要为大型网络而设计的,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到127.0.0.0)。可用的A类网络有127个,每个网络能容纳16777214个主机。其中127.0.0.1是一个特殊的IP地址,表示主机本身,用于本地机器的测试。注:
A:0-127,其中0代表任何地址,127为回环测试地址,因此,A类ip地址的实际范围是1-126.
默认子网掩码为255.0.0.0B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。注:
B:128-191,其中128.0.0.0和191.255.0.0为保留ip,实际范围是128.1.0.0--191.254.0.0。C类IP地址
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。注:C:192-223,其中192.0.0.0和223.255.255.0为保留ip,实际范围是192.0.1.0--223.255.254.0
D类地址
用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0到239.255.255.255用于多点广播 。E类IP地址
以“llll0”开始,为将来使用保留。240.0.0.0到255.255.255.254,255.255.255.255用于广播地址。全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255ipv4是32位,ipv6是128位,mac地址是48位
划分子网掩码:
IP地址及子网掩码介绍及计算详解_不怕死的假老练的博客-CSDN博客_ip子网掩码计算
子网掩码使用详解_涤生大数据的博客-CSDN博客_子网掩码
首先要搞清楚IP地址的区间是0到255,共分为a,b,c,d,e五个区间,
A 0-127
B 128-191
C 192-223
D 224-239
E 240-255
IP最大的数是255
每个IP由四组八位的二进制组成,从左往右起分别是2的(n-1)次方,所以随便拿一个256以内的数度给你化为二进制,都可以分解为权值相问加。对应的权值的位值为1,其他位为0即可。
IP是八位,
键值从左到右 1, 2, 3, 4, 5, 6, 7, 8
幂值从左到右也就是 2的 7, 6, 5, 4, 3, 2, 1, 0 次方
次方值从左往右是:2^n-1 :128, 64, 32, 16, 8, 4, 2, 1
例如:IP:192.168.80.71 转换成二进制
192 = 128 + 64 = 2^7 + 2^6 ,所以得知第一位和第二位上面有值,其他位上没有值,转换成二进制就是 11000000
168 = 128 + 32 + 8 = 2^7 + 2^5 + 2^3 ,所以得知7对应的第一位,5对应的第三位,3对应的第五位有值,其他位为0,10101000
80 = 64 + 16 = 2^6 + 2^4 , 所以得知6对应的第二位,4对应的第四位有值,其他为0,二进制为 01010000
71 = 64 + 4 + 2 + 1 = 2^6 + 2^2 + 2^1 + 2^0 ,分别是6对应的第2位,2->第6,1-->7,0-->8位上有值,所以二进制为 01000111
1、UDP概念:
UDP具有如下优点:
1)UDP无须建立连接。
- UDP不会引入建立连接的时延。
- 试想如果DNS运行在TCP而非UDP.上,那么DNS的速度会慢很多。
- HTTP使用TCP而非UDP,是因为对于基于文本数据的Web网页来说,可靠性是至关重要的。
2)无连接状态。
- TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数和序号与确认号的参数。
- 而UDP不维护连接状态,也不跟踪这些参数。
- 因此,某些专用应用服务器使用UDP时,一般都能支持更多的活动客户机。
3)分组首部开销小。
- TCP有20B的首部开销,而UDP仅有8B的开销。
4)应用层能更好地控制要发送的数据和发送时间。
- UDP没有拥塞控制,因此网络中的拥塞不会影响主机的发送效率。
- 某些实时应用要求以稳定的速度发送,能容忍一些数据的丢失,但不允许有较大的时延,而UDP正好满足这些应用的需求。
5)UDP常用于一次性传输较少数据的网络应用
- 如DNS、SNMP等,因为对于这些应用,若采用TCP,则将为连接创建、维护和拆除带来不小的开销。
- UDP也常用于多媒体应用(如IP电话、实时视频会议、流媒体等),显然,可靠数据传输对这些应用来说并不是最重要的,但TCP的拥塞控制会导致数据出现较大的延迟,这是它们不可容忍的。
6)UDP提供尽最大努力的交付,即不保证可靠交付
- 但这并不意味着应用对数据的要求是不可靠的,因此所有维护传输可靠性的工作需要用户在应用层来完成。
- 应用实体可以根据应用的需求来灵活设计自己的可靠性机制。
7)UDP是面向报文的。
- 发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层,
- 既不合并,也不拆分,而是保留这些报文的边界;
- 接收方UDP对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,一次交付一个完整的报文。
- 因此报文不可分割,是UDP数据报处理的最小单位。
2.UDP首部格式:
各字段意义如下:
- 1)源端口。源端口号。在需要对方回信时选用,不需要时可用全0。
- 2)目的端口。目的端口号。这在终点交付报文时必须使用到。
- 3)长度。UDP数据报的长度(包括首部和数据),其最小值是8 (仅有首部)。
- 4)校验和。检测UDP数据报在传输中是否有错。有错就丢弃。该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0。
3.当传输层从IP层收到UDP数据报时:
根据首部中的目的端口,把UDP数据报通过相应的端口.上交给应用进程
如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),那么就丢弃该报文,并由ICMP发送“端口不可达”
差错报文给发送方
。4.UDP校验:
5.TCP概念:
6.TCP报文段的首部格式:
- TCP传送的数据单元称为报文段。一个TCP报文段分为TCP首部和TCP数据两部分,整个TCP报文段作为IP数据报的数据部分封装在IP数据报中
- 其首部的前20B是固定的。TCP报文段的首部最短为20B,后面有4N字节是根据需要而增加的选项,通常长度为4B的整数倍。
- TCP报文段既可以用来运载数据,又可以用来建立连接、释放连接和应答。
1.TCP连接管理
- TCP是面向连接的协议,因此每个TCP连接都有三个阶段:
连接建立、数据传送和连接释放
。TCP连接的管理就是使运输连接的建立和释放都能正常进行。
在TCP连接建立的过程中,要解决以下三个问题:
- 1)要使每一方都能够确知对方的存在。
- 2)要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项、时间戳选项及服务质量等)。
- 3)能够对运输实体资源( 如缓存大小、连接表中的项目等)进行分配。
每条TCP连接通过通信两端的两个端点( 即两个套接字)确定。
TCP是基于连接的协议,也就是说,在正式收发数据之前,必须和对方建立可靠的连接。一个TCP连接的建立要经过三次握手,释放连接一般需要四次挥手。
(1)连接的建立 - - - 三次握手
首先明白:
- seq为序号字段,标明本次报文段数据部分的第一个字节的序号
- ack是
确认号字段
,告诉对方我接下来应该接收的数据是从字节序号ack开始的数据- ACK是确认位,0时
确认号字段ack
无效,1时确认号字段ack
有效- SYN是同步位
- 第一步:客户机的TCP首先向服务器的TCP发送一个连接请求报文段。这个特殊的报文段中不含应用层数据,其首部中的SYN标志位被置为1。另外,客户机会随机选择一个起始序号 seq= x(连接请求报文不携带数据,但要消耗一个序号)。
- 第二步:服务器的TCP收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认报文段中,SYN和ACK位都被置为1,确认号字段的值为x+ 1, 并且服务器随机产生起始序号seq = y(确认报文不携带数据,但也要消耗-一个序号)。确认报文段同样不包含应用层数据。
- 第三步:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。这个报文段的ACK标志位被置1,序号字段为x+1,确认号字段ack=y+ 1。该报文段可以携带数据,若不携带数据则不消耗序号。
- 成功进行以上三步后,就建立了TCP连接,接下来就可以传送应用层数据
注意:TCP提供的是全双工通信,因此通信双方的应用进程在任何时候都能发送数据。
(2)TCP连接释放----四次握手
- 第一步:客户机打算关闭连接时,向其TCP发送一个连接释放报文段, 并停止发送数据,主动关闭TCP连接,该报文段的FIN标志位被置1, seq=u, 它等于前面已传送过的数据的最后一个字节的序号加1 (FIN报文段即使不携带数据,也要消耗一个序号)。
- TCP 是全双工的,即可以想象为一条TCP连接上有两条数据通路。
- 发送FIN报文时,发送FIN的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。
- 第二步:服务器收到连接释放报文段后即发出确认,确认号是ack=u+ 1,而这个报文段自己的序号是v,等于它前面已传送过的数据的最后一个字节的序号加1。
- 此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。
- 但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。
- 第三步:若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时其发出FIN= 1的连接释放报文段。
- 第四步:客户机收到连接释放报文段后,必须发出确认。在确认报文段中,ACK字段被置为1,确认号ack=w+1,序号seq=u+1.此时TCP连接还未释放,必须经过时间等待计时器设置的时间2MSL后,A才进入连接关闭状态。
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,这称为接收窗口rwnd, 即调整TCP报文段首部中的“窗口”字段值,来限制发送方向网络注入报文的速率。
同时,发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为拥塞窗口cwnd,其大小与网络的带宽和时延密切相关注意:
传输层和数据链路层的流量控制的区别是:
- 传输层定义
端到端
用户之间的流量控制,数据链路层定义两个中间的相邻结点
的流量控制。- 另外,
数据链路层
的滑动窗口协议的窗口
大小不能动态变化
,传输层
的则可以动态变化
。
1.什么是拥塞控制?
所谓拥塞控制,是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解到拥塞发生的细节,对通信连接的端点来说,拥塞往往表现为通信时延的增加。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。2.拥塞控制与流量控制的区别
拥塞控制
是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。流量控制
往往是指点对点的通信量的控制,即接收端控制发送端,它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。为了更好地对传输层进行拥塞控制,因特网建议标准定义了以下4种算法:
慢开始、拥塞避免、快重传、快恢复。
快重传和快恢复算法是对慢开始和拥塞避免算法的改进。
这里我讲述什么是快重传?
- 在TCP可靠传输机制中,快重传技术使用了冗余ACK来检测丢包的发生。同样,冗余ACK也用于网络拥塞的检测(丢了包当然意味着网络可能出现了拥塞)。快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。
- 当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时。
注意:
发送方发送窗口的实际大小
由流量控制
和拥塞控制
共同决定。
因此,当题目中同时出现接收端窗口(rwnd) 和拥塞窗口(cwnd) 时,发送方实际的发送窗口大小是由rwnd和cwnd中较小的那一个确定的。
超时,三次传输ACK
传输层
传输层
套接字和端口号
1、物理地址
物理地址,也称为链路地址、MAC地址、LAN地址,它是局域网或广域网定义的节点地址。它包含在数据链路层所用的帧中,是最低级的地址。物理地址在网络(LAN或者WAN)中使用,这类地址的长度和格式是可变的。以太网使用6个字节(48位)物理地址,在网络接口卡(NIC)上标明。2、逻辑地址(IP地址)
逻辑地址,与下面的物理网络无关,它唯一定义了连接到因特网的一台主机,32位。3、端口地址
在TCP/IP分层体系结构中,赋于进程的标识符称为端口地址,它的长度是16位。4、专用地址
有些面向用户的应用被设计为专用地址。例如,电子邮件的地址和统一资源定位符(URL)(如www.baidu.com)。这些地址由发送计算机转换成对应的端口地址和逻辑地址。问:端口地址、逻辑地址、物理地址有什么不同?
答:物理地址是节点的本地地址,数据链路层使用它将数据从一个节点传递到同一网络中的另一个节点。逻辑地址在网络层定义发送方和接收方,用于跨多个网络传递消息。端口地址(服务点)标识了站点上的应用程序。
如果说ARP协议是用来将IP地址转换为MAC地址,那么DNS协议则是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。
我们都知道,TCP/IP中使用的是IP地址和端口号来确定网络上某一台主机上的某一个程序,不免有人有疑问,为什么不用域名来直接进行通信呢?
1. 因为IP地址是固定长度的,IPv4是32位,IPv6是128位,而域名是变长的,不便于计算机处理。
2. IP地址对于用户来说不方便记忆,但域名便于用户使用,例如www.baidu.com这是百度的域名。
总结一点就是IP地址是面向主机的,而域名则是面向用户的。一、DNS域名结构
1、域名的层次结构
域名系统必须要保持唯一性。
- 为了达到唯一性的目的,因特网在命名的时候采用了层次结构的命名方法:
- 1. 每一个域名(本文只讨论英文域名)都是一个标号序列(labels),用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成
- 2. 标号序列总长度不能超过255个字符,它由点号分割成一个个的标号(label)
- 3. 每个标号应该在63个字符之内,每个标号都可以看成一个层次的域名。
- 4. 级别最低的域名写在左边,级别最高的域名写在右边。
- 域名服务主要是基于UDP实现的,服务器的端口号为53。
eg :我们熟悉的,www.baidu.com
1. com: 一级域名. 表示这是一个企业域名。同级的还有 “net”(网络提供商), “org”(⾮非盈利组织) 等。
2. baidu: 二级域名,指公司名。
3. www: 只是一种习惯用法。2、域名的分级
域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。
3、域名解析过程
域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
- 当客户端需要域名解析时,通过本机的DNS客户端构造一个
DNS请求报文
,以UDP数据报
方式发往本地域名服务器
。- 域名解析有两种方式:
递归查询
和递归与迭代
相结合的查询。注意:
(1)
主机
向本地域名服务器
的查询采用的是递归
查询(2)
本地域名服务器
向根域名服务器
的查询采用迭代查询
假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:
- ①客户机向其本地域名服务器发出DNS请求报文。
- ②本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
- ③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。
- ④本地域名服务器向顶级域名服务器dns.com发出解析请求报文。
- ⑤顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。
- ⑥本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。
- ⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。
- ⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。
端口范围一般用到的是1到65535,其中0一般不使用。端口号可分为3大类:
- 公认端口俗称的熟知端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
- 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
- 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
socket原意是“插座”或“插孔”,在网络中每台服务器相当于一间房子,房子中有着不同的插口,每个插口都有一个编号,且负责某个功能。例如充电插口、网线插口、电话插口等。也就是说,使用不同的插口连接到对应的插口,就可以获得对应的服务。其实,插口就是socket服务,插口的编号就是端口号,而插头也是一个socket服务。
所以,socket的含义就是两个应用程序通过一个双向的通信连接实现数据的交换,连接的一段就是一个socket,又称为套接字。实现一个socket连接通信至少需要两个套接字,一个运行在服务端(插孔),一个运行在客户端(插头)。
套接字用于描述IP地址和端口,是一个通信链的句柄。应用程序通过套接字向网络发出请求或应答网络请求。注意的是套接字既不是程序也不是协议,只是操作系统提供给通信层的一组抽象API接口。
Socket是应用层与TCP/IP协议簇通信的中间抽象层,是一组接口。在设计模式中其实就是门面模式。
Socket在TCP/IP中的位置
- TCP/IP
传输控制协议/网间协议(Transmission Control Protocol/Internet Protocol)是一个工业标准的协议集,是为广域网WAN而设计的。- UDP
用户数据报协议(User Data Protocol)是与TCP相对应的协议,属于TCP/IP协议簇中的一员。- HTTP
超文本传输协议(Hypertext Transfer Protocol)是互联网的基础,也是手机网络协议之一,HTTP协议是建立在TCP协议之上的一种应用。- Socket
套接字是对TCP/IP协议的封装,自身并非协议而是一套调用的接口规范(API)。通过套接字Socket,才能使用TCP/IP协议。socket套接字作为网络底层核心,也是TCP/IP以及UDP底层协议的实现通道,它是计算机网络编程的基础,TCP/UDP收发消息都依靠它。例如web服务器底层依赖它、关系型数据库MySQL底层依赖它、微信即时通信依赖它、网络游戏依赖它...
客户/服务器(Client/Server,C/S)方式
客户和服务器指的是通信中所设计的两个应用进程
客户/服务器方式所描述的是进程之间服务和被服务的关系
客户是服务请求方,服务器是服务提供方
服务器总是处于运行状态的,并且等待计算机的服务请求。
服务器有固定端口号(如HTTP服务器的默认端口是80),而运行服务器的主机有固定的IP地址
对等方式(Peer-to-Peer,P2P)方式
在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用程序是对等的,被称为对等方。
对等方之间直接通信,每个对等即是服务的请求者,又是服务的提供者
目前在因特网上流行的P2P应用主要包括P2P文件共享、即时通信,P2P流媒体、分布式存储等。
基于P2P应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中。这些计算机不为服务提供商所有,而是个人控制的桌面计算机和笔记本电脑,通常位于住宅、校园和办公室中
P2P的最突出的特性之一就是他的可扩展性。因为系统的每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因为规模的增大而降低
P2P应用示例: