网络基础知识汇总

  • 网络和协议算法

 

 

1.     TCP/IP是一类协议系统,它是一套支持网络通讯的协议集合。网络是计算机或相似计算机的设备之间经过经常使用的传输介质进行通讯的集合。数据库

 

2.     网络协议就是一套通用规则,用来帮助定义复杂数据传输的过程。数据传输从一台计算机上的应用程序开始,经过计算机网络硬件,通过传输介质到正确目的地,而后上传到目的地计算机网络硬件,最后到达负责接收的应用程序。编程

 
 

 

 

3.     TCP/IP协议定义了网络通讯过程,更重要的是,定义了数据单元的格式和内容,以便接收计算机可以正确解释接收到的消息。TCP/IP被称为协议簇。浏览器

 

4.     TCP/IP标准定义了TCP/IP网络的通讯规则;TCP/IP实现是一个软件组件,计算机经过它参与到TCP/IP网络中。缓存

 

 

  • TCP/IP的特性安全

 

 

1.     逻辑编址:TCP/IP经过逻辑编址提供了子网化的能力。逻辑地址是一个同过网络软件来配置的地址。在TCP/IP中,计算机的逻辑地址称为IP地址。服务器

 

2.     路由选择:路由器是一种特殊的设备,可以读取逻辑地址信息,并将数据经过网络直接传送到它的目的地。在局域网中,数据传输到另外一台计算机或设备时,不用通过路由器,所以不会给大型网络的传输线路带来负担。若是数据要传送到子网之外的计算机上,路由器将负责转发数据。网络

 

3.     名称解析:域名到IP地址的映射称为名称解析。域名服务器的专用计算机中存储了用于显示域名和IP地址转换方式的表。分布式

 

4.     错误控制和流量控制:TCP/IP协议簇提供了确保数据在网络中可靠传送的特性。这些特性包括检查数据的传输错误(确保到达的数据与发送的数据一致)和确认成功接收到网络信息。函数

 

5.     应用支持:同一台计算机能够运行多种网络应用程序。协议软件必须提供某些方法来判断接收到的数据包属于哪一个应用程序。在TCP/IP中,这个经过系统的逻辑通道实现从网络到应用程序的接口被称为端口。

 
 
 
 

 

 

 


 

 

2、TCP/IP的工做方式

 

 

  • TCP/IP协议系统

 

 

1.     TCP/IP协议系统必需要完成的任务:                                                                                                   

 
 
 
 

 

 

2.     TCP/IP模型的协议层:应用层-传输层-网际层-网络访问层(数据链路层-物理层)

 

3.     网络访问层:提供了与物理网络链接的接口。针对传输介质设置数据的格式,根据硬件的物理地址实现数据的寻址,对数据在物理网络中的传递提供错误控制。

 

4.     网际层:提供独立于硬件的逻辑寻址,从而让数据可以在具备不一样物理结构的子网之间传递。提供路由功能来下降流量,支持网间的数据传递。实现物理地址与逻辑地址的转换。

 

5.     传输层:为网络提供了流量控制、错误控制和确认服务。充当网络应用程序的接口。

 

6.     应用层:为网络排错、文件传输、远程控制和internet操做提供了应用程序。

 

 

  • TCP/IP和OSI模型

 

 

1.     开放系统互连模型——OSI                                                                                                      

 
 

 

 

2.    

 
 

 

 

 

  • 数据包

 

 

1.     在数据发送的过程当中,其流程是从堆栈的上到下,每一层都把相关的信息(成为“报头”)捆绑到实际的数据上。包含报头信息和数据的数据包就做为下一层的数据,再次被添加报头信息和从新打包。

 

2.    

 
 

 

 

3.     每一层封装报头的缘由:接收设备上的每一个协议层须要不一样的信息来处理收到的数据,因此发送设备上的没一些就封装相应的报头信息。                                                                                                                                                         

 
 

 

 

 


 

 

3、网络访问层

 

 

  • 协议和硬件

 

 

1.     网络访问层管理为物理网络准备数据所必须的服务与功能:与计算机网络适配器的链接;根据合适的访问方式调整数据传输;把数据转化为电子流或模拟脉冲的形式,以在传输介质上进行传输;对接收到的数据进行错误检查;给发送的数据添加错误检查信息,从而让接收端计算机可以对数据进行错误检查。

 

2.     网络访问层定义了与网络硬件交互和访问传输介质的过程。

 

 

  • 网络访问层与OSI模型

 

 

1.     网络访问层大体对应OSI模型的物理层和数据链路层。

 

2.     物理层负责把数据帧转化为适合于传输介质的比特流。在接收端,物理层把这些脉冲从新组合为数据帧。

 

3.     数据链路层执行两个独立的任务:介质访问控制(MAC)——这个子层提供与网络适配器链接的接口。实际上,网络适配器驱动程序一般被称为MAC驱动;逻辑链路控制(LLC)——这个子层对通过子网传递的帧进行错误检查,而且管理子网上通讯设备之间的链路。

 

 

  • 网络体系

 

 

1.     网络体系具备一系列的规范来管理介质访问、物理寻址、计算机与传输介质的交互。在决定网络体系时,其实是在决定如何设计网络访问层。

 

2.     网络体系包含对物理网络的定义,以及该物理网络上定义的通讯规范。

 
 

 

 

3.     网络访问层的软件必须伴随于特定的硬件设计。TCP/IP协议栈的设计保证了与硬件交互相关的细节都发生在网络访问层,使得TCP/IP可以工做于多种不一样的传输介质。如下是集中网络体系的类型:

 
 
 
 

 

 

 

  • 物理寻址

 

 

1.     网络访问层须要把逻辑IP地址与网络适配器的固定物理地址相关联。

 

2.     物理寻址是由介质访问控制(MAC)子层负责的。

 

3.     TCP/IP使用地址解析协议(ARP)和逆向地址解析协议(RARP)把IP地址关联到网络适配器的物理地址。ARP和RARP为用户提供的逻辑IP地址与局域网上使用的硬件地址创建了一个对应关系。

 

 

  • 以太网

 

 

1.     以太网是目前使用最普遍的局域网技术,是当今现有局域网采用的最通用的通讯协议标准。

 

2.     在典型的以太网上,所有计算机共享同一个传输介质。以太网使用成为载波侦听多路访问/冲突检测(CSMA/CD)的方法,来判断计算机什么时候能够把数据发送到访问介质。经过CSMA/CD,全部计算机都监视传输介质的状态,在传输以前等待线路空闲。若是两台计算机尝试同时发送数据,就会发生冲突,计算机就会中止发送,等待一个随机的时间间隔,而后再次尝试发送。

 

3.     传统以太网在中低负载状况下运行良好,但在大负载状况下会因为冲突的增多而影响性能。在现代以太网中,像网络交换机这样的设备会对流量进行管理,减小冲突的发生,从而让以太网的运行更具效率。

 
 

 

 

 

  • 剖析以太网帧

 

 

1.     网络访问层的软件从网际层接收数据报,把它转化符合物理网络规范的形式。在以太网中,网络访问层的软件必须把数据转化成可以经过网络适配器硬件进行传输的形式。

 

2.    

 
 
 
 
 
 

 

 

 


 

 

4、网际层

 

 

  • 寻址与发送

 

 

1.     物理寻址方式适合单个局域网网段。由不间断介质链接在一块儿的若干台计算机利用物理地址就能够实现所须要的功能。只需使用网络访问层的低级协议就能够把数据从网络适配器直接传递另外一个网络适配器。可是,在路由式网络中,不能利用物理地址实现数据传输,由于根据物理地址进行传输所需的过程不能跨越路由接口来进行。

 

2.     TCP/IP隐藏了物理地址,以一种逻辑化、层次化的寻址方案对网络进行组织。这种逻辑寻址方案由网际层的IP协议维护,而逻辑地址被称为IP地址。

 

3.     在一个路由式网络中,TCP/IP要使用以下策略在网络上发送数据:

 
 
 
 

 

 

 

  • 网际协议

 

 

1.     IP协议提供了一种分层的、与硬件无关的寻址系统,具备在复杂的路由式网络中传递数据所需的服务。TCP/IP网络上的每一个网络适配器都有一个惟一的IP地址。

 

2.     IP地址分为两个部分:网络ID和主机ID。网络必须提供一种方式来判断IP地址的哪一部分是网络ID,哪一部分是主机ID。

 

 

  • IP报头字段

 

 

1.     每一个IP数据报都以一个IP报头开始。源计算机的TCP/IP软件构造这个IP报头,目的计算机的TCP/IP软件利用IP报头中封装的信息处理数据。IP报头包含大量信息,包括源IP地址、目的IP地址、数据报长度、IP版本号和路由器的特殊指令。

 

2.     IP数据报由报头和数据两部分组成。报头由一个20字节的固定长度和一个可任选任意长度部分组成。IP数据报最长为65535字节。                                                                                                                                                                         

 
 
 
 
 
 
 
 

 

 

 

  • IP寻址

 

 

1.     划分网络ID和主机ID的最初方案是使用地址分类。

 

2.     A类:0.0.0.0~127.255.255.255

 

B类:128.0.0.0~191.255.255.255

 

C类:192.0.0.0~223.255.255.255

 

D类:224.0.0.0~239.255.255.255

 

E类:240.0.0.0~247.255.255.255

 

规定首字节不能是12七、0、255,主机各位不能同时为0和1

 
 

 

 

3.     网络管理员能够把网络划分为更小的次级网络,这被称为子网。划分子网的是指就是借用主机ID中的一些为,在网络内建立额外的网络。AB类地址会普遍应用子网划分技术。

 

 

  • 地址解析协议——ARP

 

 

1.     ARP把IP地址映射为物理地址。主机必须知道目的网络适配器的物理地址才能向它发送数据。

 

2.     网段上每台主机在内存中都保存着一个被称为ARP表或ARP缓存的表格,其中包含了网段上其余主机的IP地址与物理地址的对应关系。当主机须要向网段上的其余主机发送数据时,它会查看ARP缓存来得到目的的物理地址。ARP缓存是动态变化的,若是要接收数据的地址当前并不存在于ARP缓存中,主机就会发送一个名为ARP请求帧的广播。

 
 
                                                         ARP请求帧包含为解析的IP地址,还包含发送这个请求的主机的IP地址和物理地址。网段上的其余主机接收到这个ARP请求,拥有这个未解析IP地址的主机会向发出请求的主机发送本身的物理地址。这个新的IP地址与物理地址的对应关系就会添加到请求主机的ARP缓存中。

 

 

 

  • 逆向地址解析协议——RARP:在知道物理地址而不知道IP地址时,应该使用RARP。

 

 

  • INTERNET控制消息协议——ICMP

 

 

1.     发送到远程计算机的数据一般会通过一个或多个路由器,这些路由器在把数据传输到最终目的地的过程当中可能发生多种问题。路由器利用ICMP协议把问题通知给源IP。ICMP还有用于调试和排错的功能。

 

2.    

 
 

 

 

        

 
 

 

 

 


 

 

5、子网划分和CIDR

 

 

  • 子网

 

 

1.     子网划分能够利用IP地址系统把物理网络分解为更小的逻辑实体——子网。

 

2.     子网的概念最先源自于地址分类系统,并且在ABC类地址中可以获得很好的展示。然而硬件厂商和internet社区创建了一种解析地址的新系统,名为无类别域间路由(CIDR),它不须要关心地址类别。

 

 

  • 划分网络

 

 

1.     ABC类网络ID来识别网段具备一些局限性,主要是在网络级别之下不能对地址空间进行任何逻辑细分。数据报到达某个网关(90.0.0.0)地址空间,但若是要考虑它在这个地址空间中是如何传递的,这个就会变得很是复杂,由于A类网络可以容纳超过1600万台主机。

 

2.     为了在大型网络里实现更高效的数据传输,地址空间被划分为较小的网段。惟一可行的解决办法是在网络标ID下对地址空间进行某种细分,让主机和路由器可以根据IP地址判断应该把数据发送到哪一个网段。

 

3.     TCP/IP的设计者借用了主机ID里的一些位来造成子网地址。一个名为子网掩码的参数指明了地址中多少位用于子网ID,保留多少位做为实际的主机ID。

 

4.     像IP地址同样,子网掩码是个32位的二进制值。子网掩码里的每一位表明IP地址中的一个位,用1表示IP地址中属于网络ID或子网ID的位,用0表示IP地址里属于主机ID的位。                                                                                                                  

 
 
 
 

 

 

5.     在子网网络上,路由器和主机所使用的路由表包含了每一个IP地址相关的子网掩码信息。数据报根据网络ID被路由到目标网络,而这个网络ID是由地址类别决定的。当数据报到达目标网络以后,它根据子网ID路由到合适的网段。在到达这个网段以后,再根据主机ID传输到正确的计算机。                                                                                                                                        

 
 

 

 

 

  • 使用子网

 

 

1.     子网掩码决定了网络ID以后又多少位是做为子网ID的。子网ID的长度不是固定的,取决于子网掩码的值。子网ID越长,留给主机ID的位数就越少。

 

2.     全0或全1的主机ID是不能分配的

 

3.    

 
 

 

 

 

  • 无类别域间路由——CIDR

 

 

1.     CIDR技术使用一个名为CIDR前缀的值指定地址中做为网络ID的位数。这个前缀有时也被称为变长子网掩码。

 

2.     这个前缀能够位于地址空间的任何位置,让管理者可以以更灵活的方式定义子网,以简便的形式指定地址网络ID部分与主机ID部分。

 

3.     CIDR标记使用一个斜线/,后面跟一个十进制数值来表示地址中网络部分所占的位数。

 

4.     例如一个ISP被分配了一些C类网络,这个ISP准备把这些C类网络分配给各个用户群,已经分配了三个C类网段给用户,若是没有实施CIDR技术.ISP的路由器的路由表中会有三条下连网段的路由条目,而且会把它通告给Internet上的路由器.经过实施CIDR技术,咱们能够在ISP的路由器上把这三个网段198.168.1.0,198.168.2.0,198.168.3.0汇聚成一条路由198.168.0.0/16.这样ISP路由器只向Internet通告198.168.0.0/16这一条路由,大大减小了路由表的数目.从而为网络路由器节省出了存储空间。 值得注意的是,使用CIDR技术汇聚的网络地址的比特位必须是一致的,如上例所示.若是上例所示的ISP链接了一个172.178.1.0网段,这些网段路由将没法汇聚,没法实现CIDR技术.

 

5.     CIDR创建于“超级组网”的基础上,“超级组网”是“子网划分”的派生词,可看做子网划分的逆过程。子网划分时,从地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分。这种无类别超级组网技术经过将一组较小的无类别网络汇聚为一个较大的单一路由表项,减小了Internet路由域中路由表条目的数量。

 

 


 

 

6、传输层

 

 

  • 传输层简介

 

 

1.     传输层须要提供以下功能:                                                                                                                                                 

 
 

 

 

2.     传输层为网络应用程序提供了一个接口。

 

3.     传输控制协议——TCP:TCP提供了完善的错误控制和流量控制,可以确保数据正确传输,它是一个面向链接的协议。

 

4.     用户数据报协议——UDP:UDP只提供了很是基本的错误检测,用于不须要TCP精细控制功能的场合,它是一个无链接的协议。

 

 

  • 面向链接协议和无链接协议

 

 

1.     面向链接协议:会在通讯计算机之间创建并维护一个链接,而且在通讯过程当中监视链接状态。经过网络传输的每一个数据包都会有一个确认,发送端计算机会记录状态信息来确保每一个数据包都被正确无误的接收了,而且在须要时会重发数据。当数据传输结束后,发送端和接收端计算机会以适当方式关闭链接。

 

2.     无链接协议:以单向方式向目的发送数据报,不承担通知目的计算机关于数据发送的职责。目的计算机接收到数据后也不须要向源计算机返回状态信息。

 

 

  • 端口和套接字

 

 

1.     在TCP/IP系统中,应用程序可使用端口号经过TCP或UDP指定数据目的地。端口是一个预约义的内部地址,充当从应用程序到传输层或是从传输层到应用程序的通路。

 

2.     TCP或UDP数据实际是被发送到一个套接字上的。套接字是一个由IP地址和端口号组成的地址。

 
 

 

 

 

  • 多路复用/多路分解

 

 

1.     多路复用是指把多个来源的数据导向一个输出,而多路分解是把从一个来源接收的数据发送到多个输出。多路传输/多路分解让TCP/IP协议栈较低层的协议不比关心哪一个程序在传输数据。与应用程序相关的操做都由传输层完成了,数据经过一个与应用程序无关的管道在传输层与网际层之间传递。

 

2.     多路复用是指两个或多个用户共享公用信道的一种机制。经过多路复用技术,多个终端能共享一条高速信道,从而达到节省信道资源的目的,多路复用有频分多路复用(FDMA),时分多路复用(TDMA),码分多路复用(CDMA)几种。

 

 

  • TCP:面向链接的传输协议

 

 

1.     TCP重要特性:                                                                                                                            

 
 

 

 

2.     TCP数据格式:                                                                                                                               

 
 
 
 
 
 
 
 
 

 

 

3.     TCP链接:TCP经过链接发送和接收数据,而这个链接必须根据TCP的规则进行请求、打开和关闭。TCP的功能之一是为应用程序提供访问网络的接口。这个接口是经过TCP端口提供的,而为了经过端口提供链接,必须打开TCP与应用程序的接口。                 被动打开——某个应用程序进程通知TCP准备经过TCP端口接收链接,这样就会打开TCP到应用程序的链接,从而为参与链接请求作准备。                                                                                                                                                                                     主动打开——程序要求TCP发起与另外一台计算机的链接,这就是主动打开状态。

 
 

 

 

4.     创建链接:三次握手老是发生在TCP链接创建的初期 。须要三次握手的缘由——TCP的三次握手最主要是防止已过时的链接再次传到被链接的主机。                                                                                   

 
 
 
 

 

 

5.     TCP流量控制(滑动窗口方法):接收端计算机利用“窗口”字段(也被称为“缓存大小”字段)来定义一个超过最后一个已确认序列号的序列号“窗口”,在这个范围内的序列号才容许发送端计算机进行发送。发送端计算机在没有接收到下一个确认消息以前不能发送超过这个窗口的序列号。

 

6.     关闭链接:计算机A发送一个数据分段,其中的FIN标记设置为1。以后应用程序进入"fin-wait"状态。在这个状态下,计算机的TCP软件继续接受数据分段,并处理已经在序列中的数据分段,但再也不从应用程序接收数据了。当计算机B接收到FIN数据分段时,它返回FIN确认信息,而后发送剩余的数据分段,通知本地应用程序接收到了FIN消息。计算机B向计算机A发送一个FIN数据分段,计算机A返回确认信息,链接就被关闭了。                                                                                                     

 
 
                                                                                                                                                         【注意】中断链接端能够是Client端,也能够是Server端。假设Client端发起中断链接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",可是若是你还有数据没有发送完成,则没必要急着关闭Socket,能够继续发送数据。因此你先发送ACK,"告诉Client端,你的请求我收到了,可是我还没准备好,请继续你等个人消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端肯定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭链接了"。Client端收到FIN报文后,"就知道能够关闭链接了,可是他仍是不相信网络,怕Server端不知道要关闭,因此发送ACK后进入TIME_WAIT状态,若是Server端没有收到ACK则能够重传。“,Server端收到ACK后,"就知道能够断开链接了"。Client端等待了2MSL后依然没有收到回复,则证实Server端已正常关闭,那好,我Client端也能够关闭链接了。Ok,TCP链接就这样关闭了!          
 
 
 
 
                            双方同时要求关闭链接:ESTAB->FIN-WAIT-1->CLOSING->TIME-WAIT->CLOSED                                                                             TIME-WAIT状态以后等待2MSL(包的最大保存时间)是为了确保全部该链接上的包都已在网络消失。

 

 

7.     TCP如何保证可靠性:TCP的可靠性是经过顺序编号和确认(ACK)来实现的。TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列之中,同时启动时钟。其后,若是收到了接受端对该段的ACK信息,就将该段从队列中删去。若是在时钟规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中就对数据可靠传输作了保障,握手与断开都须要通信双方确认,数据传输也须要双方确认成功,在协议中还规定了:分包、重组、重传等规则;而UDP主要是面向不可靠链接的,不能保证数据正确到达目的地。

 

 

  • UDP:无链接传输协议

 

 

1.     UDP实际上可以执行基本的错误检验,所以,能够说UDP具备有限的错误检验功能。UDP数据报中包含一个校验和,接收端计算机能够利用它来检验数据的完整性。

 

2.     UDP的开销没有TCP大。

 

3.     UDP不会从新传输丢失或损坏的数据报、从新排列混乱的接收数据、消除重复的数据报、确认数据报的接收、创建或是终止链接。它主要是在程序没必要使用TCP链接开销的状况下发送和接收数据报的一种方式。

 

 


 

 

7、应用层

 

 

  • TCP/IP应用层与OSI

 

 

1.     TCP/IP应用层对应于OSI模型的应用层、表示层和会话层。

 

2.     应用层:OSI的应用层包含的组件为用户应用程序提供服务并支持网络访问。

 

3.     表示层:表示层把数据转化为平台无关的格式,并处理加密和数据压缩。

 

4.     会话层:负责管理联网计算机上应用程序之间的通讯,提供了一些传输层不具有、与链接相关的功能,好比名称识别和安全。

 

 

  • 应用层的部分协议                                                                                                                                                        

     
     

     

 

 

  • API和应用层:应用编程接口(API)是预约义的编程组件的集合,应用程序能够利用它访问操做环境的其余部分,也就是与操做系统进行通讯。网络协议栈就是API概念的典型应用,网络API提供了程序与协议栈的接口,应用程序利用API的函数打开和关闭链接、从网络读取和写入数据。


    8、路由选择

 

 

 

  • 路由器的概念

 

 

1.     路由器是负责根据逻辑地址对通讯流量进行过滤的设备。经典的网络路由器工做于网际层,使用网际层报头中的IP寻址信息。

 

2.     向Internet这样的大型网络具备不少路由器,提供了从源到目的节点的多条路径。这些路由器必须独立工做,但整个系统必须保证数据可以准确高效地在网络中传输。

 

3.     当路由器将数据从一个网络传输到下一个网络时,它会替换网络访问层报头信息,所以路由器能够链接不一样类型的网络。不少路由器还维护关于最佳路径的详细信息,这是根据距离、带宽和时间综合考虑的。

 

4.     早期的路由器实际上就是具备两块或多块网络适配器的计算机(也被称为多宿主计算机)。

 
 

 

 

 

  • 路由选择过程

 

 

1.     路由器全面功能:                                                                                                                                                

 
 

 

 

2.     路由表和创建路由表的协议是路由器具备的两个显著特性。对于路由器的大多数讨论都是关于创建路由表、聚集路由表的路由协议如何让全部的路由器像一个总体同样提供服务。

 

3.     静态路由:要求网络管理员手工输入路由信息。

 

4.     动态路由:根据使用路由协议得到的路由信息来动态创建路由表。

 

 

  • 路由表的概念

 

 

1.     路由表和忘记曾其余路由元素的用途在于把数据传递到正确的本地网络。当数据到达本地网络以后,网络访问协议就会知道它的目的地。所以,路由表不须要存储完整的IP地址,只须要列出网络ID便可。

 

2.    

 
 
                                                                                            路由表就是把目的网络ID映射到下一跳的IP地址,即数据报通往目的网络的下一站。路由表会区分直接链接到路由器自己的网络和经过其余路由器间接链接过来的网络。下一跳能够是目的网络,也能够是通向目的网络的下一个下游路由器。

 

 

 

  • IP转发

 

 

1.     主机的路由表比路由器简单得多,它可能只包含两行:一个条目用于本地网络,另外一个用于默认路由(用于处理不能在本地网段上传输的数据包)。

 

2.     IP转发过程实际上不会再IP报头中写入路由器的地址,而是由主机把数据报和路由器的IP地址向下传递到网络访问层,该层的协议软件会使用一个独立的查询过程把数据包封装到一个帧中,经过本地网段传递给路由器。换句话说,被转发的数据报里的IP地址指向最终要接收数据的主机 ,而转发数据报的帧中的物理地址指向路由器上本地适配器的地址。

 

3.    

 
 

 

 

 

  • 直接路由和间接路由

 

 

1.    

 
 

 

 

2.     路由器了解间接路由的方式有两种:从系统管理员和从其余路由器。这两种方式分别对应静态路由和动态路由。

 

3.     大多数现代路由器使用了某种形式的动态路由。路由器彼此之间的相互通讯,共享关于网段和网络路径的信息,每台路由器都根据从这种通讯过程当中获得的信息创建本身的路由表。

 

 

  • 动态路由算法——距离矢量路由

 

 

1.     距离矢量路由是一种高效、简单的路由方法,被不少路由协议所采用。其设计目标是让路由器之间所需的通讯最少,让路由表中必须保存的数据最少。这种设计理念认为路由器没必要知道通向每一个网段的完整路径,而是只需知道向哪一个方向发送数据报便可。

 

2.     网段之间的距离以数据报在两个网络之间传输必须通过的路由器的数量来表示,而使用距离矢量路由的路由器优化路径的方式是让数据报必须通过的路由器达到最少。这个距离参数成为“跳数”。

 

3.     距离矢量路由的工做方式:                                                                                                                                                               

 
 
 
 

 

 

 

  • 动态路由算法——链路状态路由:链接状态路由背后的理念在于每一个路由器都尝试创建关于网络拓扑的内部映射。每台路由器按期向网络发送状态信息,其中列出了本身直连的其余路由器以及链路的状态。路由器利用从其余路由器收到的状态消息创建网络拓扑的映射,当它须要转发数据报时,会根据现有条件选择最佳路径。

 

 

  • 复杂网络上的路由

 

 

1.     对于internet上的路由器来讲,并非每台路由器都须要知道其余全部路由器的信息。在网络有效组织的状况下,大多数路由器只须要与相邻路由器交互协议信息便可。

 

2.     在孕育了internet的ARPnet系统中,一组核心路由器做为网络互联的中央骨干网,把自动配置和管理的独立网络链接在一块儿。核心路由器了解每一个网络,但没必要知道每一个子网。只要数据报可以找到到达核心路由的路径,就可以到达整个网络的任何位置。附属网络中的路由器没必要了解世界上的所有网络,只须要知道如何在相邻路由器之间如何传输数据和如何到达核心路由器便可。

 

3.    

 
 

 

 

 

  • 路由选择协议

 

 

1.     因特网有两大类路由选择协议:内部网关协议IGP(Interior Gateway Protocol)即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和OSPF协议。外部网关协议EGP(External Gateway Protocol)若源站和目的站处在不一样的自治系统中,当数据报传到一个自治系统的边界时,就须要使用一种协议将路由选择信息传递到另外一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用最多的是BGP-4。

 

2.     路由信息协议RIP是内部网关协议IGP中最早获得普遍使用的协议。RIP是一种分布式的基于距离向量的路由选择协议。RIP协议要求网络中的每个路由器都要维护从它本身到其余每个目的网络的距离记录。距离的解释:从一路由器到直接链接的网络的距离定义为1。从一个路由器到非直接链接的网络的距离定义为所通过的路由器数加1。RIP协议中的“距离”也称为“跳数”(hop count),由于每通过一个路由器,跳数就加1。这里的“距离”实际上指的是“最短距离”。RIP认为一个好的路由就是它经过的路由器的数目少,即“距离短”。RIP容许一条路径最多只能包含15个路由器。“距离”的最大值为16时即至关于不可达。可见RIP只适用于小型互联网。RIP不能在两个网络之间同时使用多条路由。RIP选择一个具备最少路由器的路由(即最短路由)哪怕还存在另外一条高速(低时延)但路由器较多的路由。

 

3.        “开放”代表OSPF协议不是受某一家厂商控制,而是公开发表的。“最短路径优先”是由于使用了Dijkstra提出的最短路径算法SPF。OSPF只是一个协议的名字,它并不表示其余的路由选择协议不是“最短路径优先”。是分布式的链路状态协议。

 

4.     BGP是不一样自治系统的路由器之间交换路由信息的协议。边界网关协议BGP只能是力求寻找一条可以到达目的网络且比较好的路由(不能兜圈子),而并不是要寻找一条最佳路由。

 

 


 

 

9、连网

 

 

  • 拨号链接

 

 

1.     链接TCP/IP网络的一种最经常使用的方式是经过电话线,而近几年,向电缆调制解调器和DSL这样的宽带技术下降了拨号链接的重要性。调制解调器(modem)经过电话线提供网络访问,它的做用在于把来自计算机的数字传输转化为可以经过电话系统的端口进行传输的模拟信号,也把来自电话线的模拟信号转化为计算机可以理解的数字信号。

 

2.     电话线两段的计算机不须要与其余计算机争用传输介质,他们只须要在彼此之间共享介质就能够了。这种链接方式被称为点到点链接。

 

3.     调制解调器协议:串行线路网际协议(SLIP)——基于TCP/IP的早期调制解调器协议,相对简单,有不少局限性。点到点协议(PPP)——最初当前用于调制解调器链接的最流行协议,是对SLIP的细化,具备SLIP所不具有的不少重要特性。

 

 

  • 电缆宽带:电缆调制解调器直接链接到一条同轴电缆,后者被链接到有线电视服务网络上。这个调制解调器一般具备一个以太网接口,能够链接到单台计算机或小型局域网中的交换机或路由器。电缆调制解调器实现数字信号与模拟信号的转换,从而让数据可以经过电缆链接高效传输。                                                                                                                      

     
     

     

 

 

  • 链接设备

 

 

1.     网桥:根据物理地址过滤和转发数据包的链接设备,它工做与OSI模型的数据链路层。网桥监听它所链接的每一个网段,创建一个表来反应物理地址位于哪一个网段。当数据在一个网段上传输时,网桥会查看数据的目的地址,与路由表进行比较。若是目的地址属于发送数据的网段,网桥就忽略这个数据。若是目的地址在不一样的网段,网桥就把数据转发到适当的网段。若是目的地址不在路由表,网桥就会把数据转发到除源网段以外的所有网段。

 

2.     HUB(集线器):做为一个物理设备从一个端口接收数据,而后把数据重复到其他所有的端口。换句话说,所有计算机就好像是被一条连续线路链接在一块儿的。HUB不会过滤或路由任何数据,知识接收和从新发送信息。

 
 

 

 

3.     交换机:每台计算机也是经过一条线路链接到交换机。可是,交换机知道应该把接收到的数据发送到哪个端口。大多数交换机把端口与所链接设备的物理地址关联起来。当一个端口所链接的计算机发送数据帧时,交换机会查看帧的目的地址,把帧发送到目的地址相关联的端口。

 
 

 

 

 


 

 

10、名称解析

 

 

  • 使用主机文件进行名称解析

 

 

1.     主机文件是一个保存有一个主机名、相关IP地址列表的文件。主机名解析实在更复杂的DNS名称解析以前被开发出来的。

 

2.     在小型网络上配置主机名解析一般很简单。支持TCP/IP的操做系统都能识别主机文件,并能够将它用于名称解析,并且期间几乎不须要用户干预。

 

3.     配置名称解析的大体步骤以下:为每台计算机分配IP地址和主机名;建立映射了IP地址和全部计算机主机名的主机文件。这些文件的名称通常是hosts;将主机文件放置每台计算机的指定位置上。对于具体位置每种操做系统都有本身的规定。

 

 

  • DNS名称解析

 

 

1.     DNS会将名称解析数据防止在一个或多个专用服务器上,由DNS服务器为网络提供名称解析服务。若是网络上计算机须要将某个主机名解析成IP地址,会向服务器发送一个查询,询问与这个地址关联的主机名。若是DNS服务器保存了相应的地址,就将这个地址返回给发出请求的计算机。接下来,这台计算机会用IP地址来替代主机名,进而再执行命令。

 

2.     DNS服务器又多个有点,它为本地网络提供了一个单一的DNS配置点,使得网络资源的利用更加有效。然而,DNS没法高效地保存Internet上全部主机名的数据库。解决办法是,使全部名称服务器均可以彼此通讯。

 

3.     若是DNS在本身保存的地址数据库中发现了被请求的地址,则将这个地址发回给客户端。若是名称服务器在本身保存的记录中没有找到这个地址,会要求其余的名称服务器查找这个地址,接着将这个地址发回给客户端。

 

4.     工做原理:当DNS客户机须要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用通常不直接为用户使用,而是为其余应用服务,如HTTP,SMTP等在其中须要完成主机名到IP地址的转换。

 

 

  • 浏览器输入网址以后的过程                                

 

 

1.     应用层:客户端浏览器经过DNS解析到www.baidu.com的IP地址220.181.27.48,经过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,而后经过TCP进行封装数据包,输入到网络层。

 
 
DNS解析IP地址                                                                 
 
 
HTTP访问服务器                                                                       

 

 

2.     传输层:在客户端的传输层,把HTTP会话请求分红报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。而后使用IP层的IP地址查找目的端。

 

3.     客户端的网络层不用关心应用层或者传输层的东西,主要作的是经过查找路由表肯定如何到达服务器,期间可能通过多个路由器,这些都是由路由器来完成的工做,经过查找路由表决定经过那个路径到达服务器,其中用到路由选择协议。

 

4.     客户端的链路层,包经过链路层发送到路由器,经过邻居协议查找给定IP地址的MAC地址,而后发送ARP请求查找目的地址,若是获得回应后就可使用ARP的请求应答交换的IP数据包如今就能够传输了,而后发送IP数据包到达服务器的地址。无论网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终仍是必须使用硬件地址。每个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。若有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,而后经过局域网将该 MAC 帧发往此硬件地址。

 

 


 

 

11、TCP/IP安全

 

 

  • 防火墙

 

 

1.     防火墙就是一个放置在网络路径上的设备,它能够检查、接受或拒绝打算进入网络的数据包。防火墙和传统的路由器最重要的区别是传统路由器会尽量转发数据包,而防火墙则只转发本身承认的数据包。对数据包的转发决定再也不是仅基于地址,而是基于网络全部者配置的一组规则,这些规则能够肯定哪些流量类型能被网络所容许。

 

2.     防火墙能够阻止任何或者全部的外界流量进入网络,可是它并不干涉内部网络中的通讯。                                                

 
 

 

 

3.     当代的防火墙一般是包过技术、状态查看和应用层过滤技术的组合。一些防火墙还能够做为DHCP服务器和网络地址转换工具。防火墙能够是硬件也能够是软件,既能够简单又能够复杂。

 

4.     最先的防火墙是数据包过滤器。它经过检查数据包来找出该数据包的企图。许多包过滤防火墙会查看封装在传输层报头中的TCP和UDP端口号,能够肯定数据包的企图。

 

5.     防火墙进化过程当中,出现了有状态防火墙设备。有状态防火墙不只仅是单独检查每个数据包,还会检查数据包包含在哪一个通讯会话序列中。这种状态敏感性有助于有状态防火墙监视诸如无效数据包、会话劫持企图,以及某些拒绝服务攻击这样的攻击手段。

 

6.     应用层防火墙是最新一代防火墙。这种防火墙是在TCP/IP应用层工做的,在这里能够更全面地理解与协议和服务相关联的数据包。

 

 

  • 代理服务

 

 

1.     全部用来保护和简化内部网络,将潜在的不安全Internet活动限制在边界以外的技术中,防火墙是核心技术。另外一种相关的技术是代理服务。

 

2.     代理服务器能够截获对Internet资源的请求,并替代客户端转发这些请求,它在客户端和请求的目的服务器之间扮演了一个中介的角色。                                                                                                                                                                        

 
 

 

 

3.     经过代理客户端发送和接受Internet请求,代理服务器可使客户端免于直接与恶意网站联系。一些代理还能够执行内容过滤,查看信息是否来自黑名单上的服务器,或者内容是否带有潜在的危险。代理客户端还常被用来限制内部网络客户端的浏览范围。

 

 

 

 

1.     安全套接字(SSL)是为了保护WEB通讯而引入的一个TCP/IP安全协议集。SSL的目的是,在传输层上的套接字和提供那些套接字访问网络的应用程序之间提供一层安全。                                                                                          

 
 
 

 

 

2.     SSL包含有两个子层。SSL记录协议是访问TCP的一个标准库。在这个记录协议纸上,是一组执行特定服务的SSL相关协议。

 
 

 

 

3.     支持SSL的服务直接经过SSL记录协议运行。在链接创建以后,SSL记录协议提供确保会话机密性和完整性所需的加密和验证。

 

4.     如同其余协议安全技术同样,这里的技巧是要检验参与者的身份和安全地交换将用来加解密数据传输的密钥。SSL采用公开密钥加密,并提供对数字这个数的支持。

 

5.     在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用散列算法对数据的完整性进行验证,使用数字证书证实本身的身份。

 

6.     握手协议:握手协议是客户机和服务器用SSL链接通讯时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议容许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输以前使用的。

 

7.     记录协议:记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和肯定安全信息交换使用的算法后,进入SSL记录协议,记录协议向SSL链接提供两个服务——                                                                                    

 
 

 

 

8.     警报协议:客户机和服务器发现错误时,向对方发送一个警报消息。若是是致命错误,则算法当即关闭SSL链接,双方还会先删除相关的会话号,秘密和密钥。每一个警报消息共2个字节,第1个字节表示错误类型,若是是警报,则值为1,若是是致命错误,则值为2;第2个字节制定实际错误类型。

 

 


 

 

12、配置

 

 

  • 服务器提供IP地址的状况

 

 

1.     每一台计算机都已经预先配置了一个IP地址。这种状况被称为静态IP地址。每一台计算机在启动时就知道本身的IP地址,而且可以马上使用网络。静态IP寻址在小型网络中表现得很好,可是因为大型网络上常常会出现从新配置和更改的状况,所以静态IP寻址也受到不少限制。

 

2.     静态IP地址的缺点:                                                                                                                              

 
 

 

 

 

  • DHCP

 

 

1.     DHCP是一个用来向计算机分配TCP/IP配置参数的协议。DHCP服务器能够为DHCP客户端提供一组TCP/IP设置,好比IP地址、子网掩码和DNS服务器地址。

 

2.     DHCP是用来分配IP地址的,因此必须使用静态IP地址信息来配置DHCP服务器。须要在客户端进行配置的惟一一个网络参数是将客户端设置为从DHCP服务器接收IP地址信息。

 

3.     当DHCP客户端计算机启动时,TCP/IP软件将被载入到内存中并开始执行相应的操做。然而,由于这是TCP/IP栈尚未IP地址,因此没法直接发送或接收数据包。计算机只能发送和监听广播数据。这种经过广播进行通讯的功能正是DHCP进行工做的基础。从DHCP服务器中租用IP地址的过程须要4个步骤:                                                                                

 
 
 
做者:龙猫小爷 连接:https://www.jianshu.com/p/674fb7ec1e2c 來源:简书 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
相关文章
相关标签/搜索