Linux Network Technology 回记

学东西不能把以前的忘了,网络部分大致记录一些内容。算法

导航

• 通讯协议
TCP/IP IPX/SPX OSI
• ISO/OSI七层模型及各层功能
• TCP/IP四层模型及各层中包含的协议
• IP、UDP、TCP首部格式及相应封装字段含义
• IP地址、IP子网掩码及子网划分
• 交换技术及交换机
1) 交换机工做原理
2) VLAN及STP
• 路由技术及路由器
1) 路由表工做原理
2) NAT及NAT表安全

1、  ISO/OSI七层模型及各层功能

ISO:International Standard Organization
ISO/OSI(Open System Internetowrk)网络

Linux Network Technology 回记

根据网络功能划分层次
OSI七层
物理层:二进制比特流传输,定义了电气规范,机械规范,功能规范,过程规范
数据链路层:介质访问,点到点链接,格式化数据;物理寻址:用物理地址标识数据的发送者和接收者;错误检测:CRC算法。定义了物理地址:以太网:以太网地址,MAC地址,MAC(Media Access Control) 物理地址是直接烧录在网络接口设备的ROM芯片中;
网络层:路由选择,逻辑寻址:用逻辑地址标识数据的发送者和接收者;肯定路由:根据逻辑地址标识肯定数据传输路径;地址解析:用逻辑地址解析物理地址;定义逻辑地址:IP地址:互联网地址,IPv四、IPv6逻辑地址用于标识主机在网络中的位置;物理地址用于进行数据通讯;
传输层:端到端的链接,范围到范围的通讯链接;端到端链接的创建,维护和拆除;可靠性传输和非可靠性传输;可靠性传输:面向链接、流量控制、数据重传和确认、序列化数据;非可靠传输:、面向无链接、无序列化数据、无数据重传和确认、无流量控制、数据快速传输
会话层:主机到主机之间的会话通讯,机之间的会话创建的主体是应用程序进程;
表示层:数据表示,数据编码和解码;数据加密和解密;数据压缩和解压缩;
应用层:为应用程序提供网络链接服务;完成身份验证;并发

OSI的应用:数据的封装和解封装,发送数据一方实施数据封装;接收数据一方实施数据解封装;保证封装和解封装可以顺利进行的标准:对等通讯原则:发送方和接收方双方的相同层次,必须拥有彻底相同的数据处理方式; 负载均衡

2、  TCP/IP四层模型及各层中包含的协议

协议栈,协议标准;TCP/IP协议栈是根据协议来分层;分层标准模糊;网络的实际应用标准;网络实现的事实标准;
TCP/IP四层
物理层/数据链路层:X.25, TIA/EIA 568A/B, ...:ppp, pppoE, HDLC, SLIP, Frame_Relay(FR), ...
互联网层:IP, IGMP, ICMP, ARP, RARP
传输层:TCP, UDP, OSPF, EIGRP, ...
应用层:HTTP, HTTPS, FTP, DNS, DHCP, SMB, QQ, Thrunder, ...分布式

3、  IP、UDP、TCP首部格式及相应封装字段含义

Linux Network Technology 回记
IP数据报文
Ver:4bits,IP协议的版本号:0100 ide

IHL:4bits,Header Length,首部长度;0101 - 1111(20Bytes-60Bytes)大数据

TOS and PRIORITY:8bits,有3位优先权字段已经弃用,还有4位TOS字段和1位保留字段(这个保留字段必须置为0)。4位TOS字段分别表明最小延时、最大吞吐量、最高可靠性、最低成本。这四者相互冲突,只能选择一个。
0000:最大带宽,最小延迟,最高可行性,最高负载;
000, 1000, 0100, 0010, 0001
0:保留位;000:优先级,000-111;优化

Packet Length:16bits;表示IP数据报的总长度(包括数据部分)ui

Indentifier:16bits,标识来源于哪个上层协议报文;

Flag:3bits,标志虽然占了三位,但目前只有两位有意义
0:是否可分片;0:是否为最后分片;0:保留

Offset:13bits,该字段表示,被分片的数据报,每个数据报片在原分组的相对位置。也就是说相对于用户数据字段的起点该片从何处开始。片偏移以8个字节为单位因此每一个分片的长度必定是8字节的整数倍

TTL:8bits,为了防止数据包被路由时,由于缺乏目的地址而无限循环;数据包在通过任意的路由设备时,其TTL会减1,一旦TTL减到0,接收到此数据包的设备会将其丢弃;

Protocol:8bits,互联网层和传输层的通讯接口,经过此处指明的协议号,互联网层能够在上层找到对应的协议来继续处理该数据;

Header Checksum:16bits,首部校验和,将整个首部作hash,获得4位16进制数字;一般会在接收方主机上,对于接收到的数据包再次进行hash运算,将获得的结果与此处保存的结果进行异或比较,以肯定首部内容是否在传输过程当中被修改;

源IP地址;

目的IP地址;

Linux Network Technology 回记
UDP数据报文
源端口号,占16位。标识源主机的端口或进程,同TCP。
目的端口号,占16位。标识要发送个目的主机的哪一个端口或进程
首部长度,占16位。标识UDP整个数据报的长度(包括首部和数据)。最小值为8(仅有首部)
检验和,占16位。检测UDP用户数据报在传输中是否有错,有错就丢掉。检测方式同TCP同样,检验范围也是包括首部和数据。

Linux Network Technology 回记

TCP数据报文
源端口号,16bits;

目标端口号,16bits;能够手动指定,也能够经过/etc/services文件判断自动解析应用层协议得到;

序列号:TCP协议将大数据报文分段的顺序编号,取值范围是0~2^32-2;默认状况下,第一个数据段的序列号为随机选择,之后的数据段的序列号经过计算获得:第一段:随机产生;后续其余数据段:前一数据段的序列号+前一数据段的数据部分大小+1

确认号(下一段的序列号):接收到的最后一个数据段的下一个数据段的序列号;取值范围是1~2^32-1

报文首部长度,4bits,一般报文首部长度为24Bytes~60Bytes;

标志位:12bits,前三位:保留位;4-6位:特殊标志位;URG:紧急指针标志位,优先转发标志位;URG置一,后面的16bits的仅仅指针才能生效;ACK:确认标志位;保证数据传输可靠性;PSH:推动标志位;RST:重置标志位;SYN:同步标志位;三次握手创建链接时必选的标志位;FIN:结束标志位;四次挥手拆除链接时必选的标志位;

窗口大小,16bits;一次并发传输的数据段的数量

数据段校验和,16bits,保证数据的完整性;

紧急指针,16bits,在URG标志位置一时,哪一个数据段更紧急;

选项:TCP协议分段的标准;TCP协议的数据分段时间戳;...

4、  IP地址、IP子网掩码及子网划分

IP
IP的功能:1.寻址和路由2.数据分片和重组3.无链接不可靠传输(无序传输)
IP寻址:分层编址的地址:网络部分 + 主机部分
网络部分:描述主机所在的逻辑网s范围;
主机部分:描述在特定的逻辑网络范围内的具体位置;
IPv4地址:32bits二进制构成的地址标识符号;4个8位组;为了方便人读取,将其设置为点分十进制格式;
IPv4地址分类:A.B.C.D.E
A类:最左侧的二进制数字是"0",8个网络位,24个主机位;1.0.0.0-126.255.255.255
B类:最左侧的两位二进制数字是"10",16个网络位,16个主机位;128.0.0.0 - 191.255.255.255
C类:最左侧的三位二进制数字是"110",24个网络位,8个主机位;192.0.0.0 - 223.255.255.255
D类:最左侧的四位二进制数字是"1110",32个网络位,0个主机位;224.0.0.0 - 239.255.255.255
E类:最左侧的四位二进制数字是"1111",32个网络位,0个主机位;240.0.0.0 - 255.255.255.255

私有IP地址:
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.255

公有IP地址:
A:1.0.0.0 - 9.255.255.255 + 11.0.0.0 - 126.255.255.255
B:128.0.0.0 - 172.15.255.255 + 172.32.0.0 - 191.255.255.255
C:192.0.0.0 - 192.167.255.255 + 192.169.0.0 - 223.255.255.255

子网掩码(Netmask)
组成:32bits二进制组成,与IPv4的地址位数相同;以点分十进制方式进行表示;
组成:32bits二进制组成,与IPv4的地址位数相同;以点分十进制方式进行表示;
A类地址的标准子网掩码:255.0.0.0
B类地址的标准子网掩码:255.255.0.0
C类地址的标准子网掩码:255.255.255.0
子网划分
将IPv4的地址与其相对应的子网掩码作逻辑与运算,获得的结果是:该IPv4地址所属的网络范围的网络地址;
网络地址:主机位全都是"0"的IP地址;也被称为网络名称;也能够称为逻辑网段;
定向广播地址:主机位全都是"1"的IP地址;在特定的逻辑网段中可以被应用的广播地址;
以上两个地址,一般是不能分配给主机使用的;
在一个逻辑网段中,主机位全"0"和主机位全"1"的地址,必须排除在能够地址范围以外;

主机经过将自身的IP地址和目标主机的IP地址分别与本身的子网掩码进行逻辑与运算,最终获得的结果就是两台主机的逻辑网络地址;而后将此二结果进行比较,若是相同,则表示此二主机在同一逻辑网络范围以内,所以能够直接使用ARP协议获取对方的MAC地址,从而实现通讯;若是不相同,则意味着此二主机在不一样的逻辑网络范围之中,因而必须借助于网关才能实现二主机的相同通讯;

网关:能够理解为一个逻辑网络的门户,或者是出入口;如今多使用路由器充当网关设备;一旦数据传输通过网关等路由设备,则其数据链路层的封装格式会完全改变;即:从新封装数据的源MAC地址及目的MAC地址;对于主机来讲,在一次通讯的过程当中,须要使用配置在自身网络设备接口上的子网掩码判断目标主机与自身IP地址是否在同一逻辑网段;对于路由器来讲,须要利用路由表中路由条目上所携带的子网掩码,来判断目标主机所在的网络地址,是否存在与本地路由表中,若是有,则按照路由表指示进行转发;不然直接丢弃不予转发;

5、  交换技术及交换机

交换技术:
二层交换技术能够识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口,记录在本身内部的一个MAC地址表中。目前,第2层交换技术已经成熟。从硬件上看,第2层交换机的接口模块都是经过高速背板/总线(速率可高达几十Gbps)交换数据的,2层交换机通常都含有专门用于处理数据包转发的ASIC(Application specific Integrated Circuit)芯片,所以转发速度能够作到很是快。

传统的第2层交换技术:
2层交换机主要用在小型局域网中,机器数量在2、三十台如下,这样的网络环境下,广播包影响不大,2层交换机的快速交换功能、多个接入端口和低廉价格,为小型网络用户提供了完善的解决方案。总之,交换式局域网技术使专用的带宽为用户所独享,极大地提升了局域网传输的效率。能够说,在网络系统集成的技术中,直接面向用户的第2层交换技术,已获得了使人满意的答案。

具备路由功能的第3层交换技术
能够处理网络第3层数据转发的交换技术就是第3层交换技术。
从硬件上看,在第3层交换机中,与路由器有关的第3层路由硬件模块,也插接在高速背板/总线上。这种方式使得路由模块能够与须要路由的其它模块间,高速交换数据,从而突破了传统的外接路由器接口速率的限制。
3层交换机是为IP设计的,接口类型简单,拥有很强的3层包处理能力,价格又比相同速率的路由器低得多,很是适用于大规模局域网络。

具备网络服务功能的第7层交换技术
第7层交换技术经过应用层交换机实现了全部高层网络的功能,使网络管理者可以以更低的成本,更好地分配网络资源;
从硬件上看,7层交换机将全部功能集中在一个专用的特殊应用集成电路或ASIC上。ASIC比传统路由器的CPU便宜,并且一般分布在网络端口上,在单一设备中包括了50个ASIC,能够支持数以百计的接口。新的ASIC容许智能交换机/路由器在全部的端口上以极快的速度转发数据,第7层交换技术能够有效地实现数据流优化和智能负载均衡。

交换机
交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它能够为接入交换机的任意两个网络节点提供独享的电信号通路。最多见的交换机是以太网交换机。其余常见的还有电话语音交换机、光纤交换机等。

交换机工做于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每一个端口成功链接时,经过将MAC地址和端口对应,造成一张MAC表。在从此的通信中,发往该MAC地址的数据包将仅送往其对应的端口,而不是全部的端口。所以,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

交换机在同一时刻可进行多个端口对之间的数据传输。每一端口均可视为独立的物理网段(注:非IP网段),链接在其上的网络设备独自享有所有的带宽,无须同其余设备竞争使用。

交换机的传输模式有全双工,半双工,全双工/半双工自适应
交换机的全双工是指交换机在发送数据的同时也可以接收数据,二者同步进行,这好像咱们平时打电话同样,说话的同时也可以听到对方的声音。交换机都支持全双工。全双工的好处在于迟延小,速度快。
全双工,就不能不提与之密切对应的另外一个概念,那就是“半双工”,所谓半双工就是指一个时间段内只有一个动做发生,举个简单例子,一条窄窄的马路,同时只能有一辆车经过,当有两辆车对开,这种状况下就只能一辆先过,等到头儿后另外一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机、以及早期集线器等设备都是实行半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。

从广义上来看,网络交换机分为两种:广域网交换机和局域网交换机。
广域网交换机主要应用于电信领域,提供通讯用的基础平台。而局域网交换机则应用于局域网络,用于链接终端设备,如PC机及网络打印机等。

从传输介质和传输速度上可分为以太网交换机、快速以太网交换机、千兆以太网交换机、FDDI交换机、ATM交换机和令牌环交换机等。从规模应用上又可分为企业级交换机、部门级交换机和工做组交换机等。

VLAN
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN能够是由少数几台家用计算机构成的网络,也能够是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工做的时候。新出台的标准进一步完善了VLAN的体系结构,统一了Frame-Tagging方式中不一样厂商的标签格式,并制定了VLAN标准在将来一段时间内的发展方向,造成的802.1Q的标准在业界得到了普遍的推广。后来IEEE于1999年颁布了用于标准化VLAN实现方案的802.1Q协议标准草案。802.1Q的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推进了VLAN的迅速发展。

Linux Network Technology 回记
经过划分不一样的VLAN,VLAN内的主机间能够直接通讯,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。节省了带宽,提升了网络处理能力,强局域网的安全性等等。

STP
STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于在网络中创建树形拓扑,消除网络中的环路,而且能够经过必定的方法实现路径冗余,但不是必定能够实现路径冗余。生成树协议适合全部厂商的网络设备,在配置上和体现功能强度上有所差异,可是在原理和应用效果是一致的。

STP的基本原理是,经过在交换机之间传递一种特殊的协议报文,网桥协议数据单元(Bridge Protocol Data Unit,简称BPDU),来肯定网络的拓扑结构。BPDU有两种,配置BPDU(Configuration BPDU)和TCN BPDU。前者是用于计算无环的生成树的,后者则是用于在二层网络拓扑发生变化时产生用来缩短MAC表项的刷新时间的。

Spanning Tree Protocol(STP)在IEEE802.1D文档中定义。该协议的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避免因为环路的存在而形成广播风暴问题。

6、  路由技术及路由器

路由技术主要是指路由选择算法、因特网的路由选择协议的特色及分类。其中,路由选择算法能够分为静态路由选择算法和动态路由选择算法。因特网的路由选择协议的特色是:属于自适应的选择协议(即动态的),是分布式路由选择协议;采用分层次的路由选择协议,即分自治系统内部和自治系统外部路由选择协议。因特网的路由选择协议划分为两大类:内部网关协议(IGP,具体的协议有RIP和OSPF等)和外部网关协议(EGP,目前使用最多的是BGP)

按照路由选择算法可否随网络的拓扑结构或者通讯量自适应地进行调整变化进行分类,路由选择算法能够分为静态路由选择算法和动态路由选择算法。
静态路由选择算法就是非自适应路由选择算法,这是一种不测量、不利用网络状态信息,仅仅按照某种固定规律进行决策得简单得路由选择算法。静态路由选择算法得特色是简单和开销小,可是不能适应网络状态的变化。静态路由选择算法主要包括扩散法和固定路由表法。静态路由是依靠手工输入的信息来配置路由表的方法。减少了路由器的平常开销。在小型互联网上很容易配置。能够控制路由选择的更新。可是,静态路由在网络变化频繁出现的环境中并不会很好的工做。在大型的和常常变更的互联网,配置静态路由是不现实。
动态路由选择算法就是自适应路由选择算法,是依靠当前网络的状态信息进行决策,从而使路由选择结果在必定程度上适应网络拓扑结构和通讯量的变化。特色是能较好的适应网络状态的变化,可是实现起来较为复杂,开销也比较大。动态路由选择算法通常采用路由表法,主要包括分布式路由选择算法和集中式路由选择算法。分布式路由选择算法是每个节点经过按期得与相邻节点交换路由选择得状态信息来修改各自的路由表,这样使整个网络的路由选择常常处于一种动态变化的情况。集中式路由选择算法是网络中设置一个节点,专门收集各个节点按期发送得状态信息,而后由该节点根据网络状态信息,动态的计算出每个节点的路由表,再将新的路由表发送给各个节点。

按协议分类路由协议能够自动根据实际状况生成的路由表的方法。动态路由的主要优势是,若是存在到目的站点的多条路径,运行了路由选择协议(如RIP或IGRP)以后,而正在进行数据传输的一条路径发生了中断的状况下,路由器能够自动的选择另一条路径传输数据。这对于创建一个大型的网络是一个优势。大多数路由选择协议可分红两种基本路由选择协议:

路由器(Router),是链接因特网中各局域网、广域网的设备,它会根据信道的状况自动选择和设定路由,以最佳路径,按先后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。目前路由器已经普遍应用于各行各业,各类不一样档次的产品已成为实现各类骨干网内部链接、骨干网间互联和骨干网与互联网互联互通业务的主力军。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程当中需使用不一样的控制信息,因此说二者实现各自功能的方式是不一样的。

路由器(Router)又称网关设备(Gateway)是用于链接多个逻辑上分开的网络,所谓逻辑网络是表明一个单独的网络或者一个子网。当数据从一个子网传输到另外一个子网时,可经过路由器的路由功能来完成。所以,路由器具备判断网络地址和选择IP路径的功能,它能在多网络互联环境中,创建灵活的链接,可用彻底不一样的数据分组和介质访问方法链接各类子网,路由器只接受源站或其余路由器的信息,属网络层的一种互联设备。

路由表
路由器是一种典型的网络层设备。它在两个局域网之间按帧传输数据,在OSI/RM之中被称之为中介系统,完成网络层责在两个局域网的网络层间按帧传输数据,转发帧时须要改变帧中的地址。它在OSI/RM中的位置如图所示。

Linux Network Technology 回记

路由表是在路由器中维护的路由条目的集合,路由表很具路由表作路径选择
直连网段:当在路由器上配置了接口的IP地址,而且接口状态为up的时候,路由表中就出现直连路由项,以下面图所示:路由器A在接口FO/O和FO/1上分别配置了IP地址,而且在接口已是up状态时,在路由器A的路由表中就会出现192.168.1.0和10.0.0.0这两个网段

非直连网段:那么对于20.0.0.0这样不直连在路由器A上的网段,路由器A应该怎么写进路由表呢?这就须要使用静态路由或动态路由来将这些网段以及如何转发写到路由表中,

NAT表
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机原本已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但如今又想和因特网上的主机通讯(并不须要加密)时,可以使用NAT方法。

这种方法须要在专用网链接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫作NAT路由器,它至少有一个有效的外部全球IP地址。这样,全部使用本地地址的主机在和外界通讯时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网链接。

NAT表,做用是对网络地址进行转换,主要有两个功能:1. DNAT 网络目的地址转换; 2. SNAT 网络源地址转换。

流程实例:
为向因特网发送分组,主机10.1.1.1将其发送给配置了NAT 的边界路由器。该路由器发现分组的源IP地址为内部本地IP地址,且是前往外部网络的,所以对源地址进行转换,并将这种转换记录到NAT 表中。而后,该分组被转发到外部接口,它包含转换后的源地址。收到外部主机返回的分组后, NAT 路由器根据NAT 表将分组包含的内部全局IP地址转换为内部本地IP 地址。

Linux Network Technology 回记

相关文章
相关标签/搜索