网络体系结构
SAP
(访问访问点),OSI参考模型中上层协议实体与下层协议实体之间的逻辑接口叫作服务访问点。
两个相邻层间的信息交换,实际上是由两层间的实体通过服务访问点相互作用的。
接口以一个或多个服务访问点SAP的形式存在,并通过服务访问点来实现其功能。SAP位于N层和N+1层的逻辑交界面上,是N层实体向N+1层实体提供服务的地方,或者N+1层实体请求N层服务的地方。每个SAP有一个唯一的标识表明它的地址,如在物理层的SAP地址可以是异步通信口的地址。
LLC地址
逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IEEE 802.2中定义了逻辑链路控制协议。用户的数据链路服务通过LLC子层为网络层提供统一的接口。在LLC子层下面是MAC(介质访问控制)子层。IEEE标准中增加了这个子层,该子层通过在IP包上加了8位的目的地址服务接入点和源地址服务接入点来保证在不同网络类型中传输。另外,有一个8或16位的控制字段用于象流控制的辅助功能。
MAC地址 TCP/IP协议的学习
MAC(Media Access Control或者Medium Access Control)地址, 意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。 在 OSI模型 中,第三层 网络层 负责 IP地址 , 第二层数据链路层则负责 MAC地址 。因此 一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。
MAC地址是网卡决定的,是固定的 。
端口号是传输层上的SAP即TSAP。
局域网中的寻址要分两步走:第一步是用MAC地址找到网络中的某个站,第二步是用LLC地址信息找到该站中的某个SAP。
数据链路层 OSI模型与TCP/IP参考模型
OSI模型中,数据链路层的功能:只负责将数据从一个节点可靠地传输到相邻节点。但是在局域网中,多个节点共享传输介质,必须有某种机制决定下一时刻哪个设备占用传输介质传送数据。因此,局域网的数据链路层要有介质访问控制的功能。
为此,数据链路层划分为LLC逻辑链路控制、MAC介质访问控制两种子层。其中LLC子层负责向其上层提供服务,MAC子层的主要功能包括数据帧的封装/卸载、帧的寻址和识别、帧的接收与发送、链路管理、帧的差错控制。MAC子层的存在屏蔽了不同物理链路种类的差异性。
SAP是一个层次系统的上下层之间进行通信的接口,逻辑链路控制子层的SAP是LLC地址,作为上层实体(网络层)可以访问逻辑链路控制子层服务的地方。
ICMP协议
根据网络通信情况把控制报文传送给发送方主机。
Internet Control Message Protocol的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要作用。
网络中常用的ping和tracert命令是基于ICMP协议的。
ARP协议 根据MAC地址查找对应的IP地址。
TCP/IP协议的学习
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议 。 主机 发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个 ARP欺骗 。 ARP命令 可用于查询本机ARP缓存中IP地址和 MAC地址 的对应关系、添加或删除静态对应关系等。相关协议有 RARP 、 代理ARP 。 NDP 用于在 IPv6 中代替地址解析协议。
把公网IP地址转换为私网的IP地址的是NAT。
集中管理网络中IP地址分配的是DHCP协议。
TCP协议
在TCP协议中,采用端口号来区分不同的应用进程。
一台拥有IP地址的主机可以提供许多服务,如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。
主机是怎样区分的网络服务?
不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”开区分不同的服务。需要注意的是端口号不是一一对应的。
TCP/IP协议的学习
TCP协议:如果说IP协议是找到对方的详细地址。那么TCP协议就是把安全的把东西带给对方。各有分工,互不冲突。
按层次分,TCP属于传输层,提供可靠的字节流服务。什么叫字节流服务呢?这个名字听起来让人不知所以然,下面听下我通俗的解释。所谓的字节流,其实就类似于信息切割。比如你是一个卖自行车的,你要去送货。安装好的自行车,太过庞大,又不稳定,容易损伤。不如直接把自行车拆开来,每个零件上都贴上收货人的姓名。最后送到后按照把属于同一个人的自行车再组装起来,这个拆解、运输、拼装的过程其实就是TCP字节流的过程。
第四章 基于TCP的服务器端/客户端(1)
第五章 基于TCP的服务器端/客户端(2)
从用户角度看,TCP是可以提供面向连接的,可靠的(没有数据重复或丢失)、全双工的数据流传输服务。它允许两个应用程序建立一个连接,然后发送数据并终止连接。每一TCP连接可靠的建立,优雅的关闭,保证数据在连接关闭之前被可靠地投递到目的地。
TCP提供的服务有如下特征:
-面向连接
-完全可靠性
-全双工通信
-流接口
-连接的可靠建立与关闭
ARP协议
ARP协议的作用是由IP地址求MAC地址,ARP请求是广播发送,ARP响应是单播发送。
局域网中每台主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包发送到目的主机时,会首先检查自己的ARP列表中是否存在该IP地址对应的MAC地址,如果有就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包(广播),查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后该源主机发送一个ARP响应数据包(单播),告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
TCP/IP协议的学习
地址聚合
设有下面4条路由:172.18.129.0/24、172.18.130.0/24、172.18.132.0/24、172.18.133.0/24,如进行路由会聚,能覆盖这4条路由的地址是:172.18.128.0/21
分析:与子网划分计算相反的题型-地址聚合。地址聚合的目的是要将多个地址合并到一起,但是基本方法和子网划分是类似的。需要弄清楚主机位和子网位的相互关系。
本题中,先计算出能聚合的最小地址范围,由题意得知这4个地址都属于172.18.129~172.18.133,跨度为5,所以至少应该包含8个地址段,也就是需要借用3位作为子网位,所以掩码是24-3=21.
网络拓扑结构
IP地址是一个4字节(共32位)的数字,被分为4端,每段8位,段与段之间用圆点分隔。IP地址是以十进制形式表示的,每段所能表示的十进制数最大不超过255.IP地址由网络号和主机号组成。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。
IP地址根据网络号和主机好的数量分成ABC三类:
(1)A 类 IP 段 0.0.0.0 到 127.255.255.255 (0 段和 127 段不使用 ),A类IP地址,最前面一位是"0",然后用7位标识网络号,24位标识主机号。即A类地址的第一段取值是1~126,。A类地址通常为大型网络而提供,全世界总共只有126个可能的A类网络,每个A类网络最多可以连接224-2台主机。
(2)B 类 IP 段 128.0.0.0 到 191.255.255.255,B类IP地址最前面两位是"10",然后利用14位来标识网络号,16位标识主机号。因此B类地址的第一段取值是128~191,第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接216-2台主机。
(3)C 类 IP 段 192.0.0.0 到 223.255.255.255。C类IP地址最前面三位是“110”,然后用21位标识网络号,8位标识主机号。因此C类地址的第一段取值是192~223,第一段和第二段合在一起表示网络号。最后一段标识网络网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有28-2台主机。
特殊情况:
主机号全为“1”的网间地址用于广播,叫做广播地址。当32位地址全为“1”时,该地址用于本网广播,称为有限广播。
网络为全为“0”,后面的主机号表示本网地址。主机号全为“0”,此时的网络号就是本网的地址。保留的地址有网络号全为“1”和32位全为“0”。
由此可得,网络号全为“1“或全为”0“,主机号全为”1“或全为”0“,都是不能随意分配的。这就是ABC类网络属性表中网络数及主机数要减二的原因、
子网掩码和IP地址一样,也是32位,确定子网掩码的方法是其与IP地址中标识网络号的所有对应的位都为“1”,而与主机号对应的位都是“0”。
XP 默认分配的子网掩码每段只有 255 或 0
A 类的默认子网掩码 255.0.0.0 一个子网最多可以容纳 1677 万多台电脑
B 类的默认子网掩码 255.255.0.0 一个子网最多可以容纳 6 万台电脑
C 类的默认子网掩码 255.255.255.0 一个子网最多可以容纳 254 台电脑
我们必须有一个子网掩码,因为:
1 )当配置 IP 时,所有计算机都必须填写子网掩码
2 )我们必须在我们的网络中设置一些逻辑边界
3 )我们必须至少输入所使用 IP 类的默认子网掩码
IP和子网掩码
DNS服务器
在进行域名解析过程中,由 缓冲域名服务器获取的解析结果耗时最短。
分析:主域名服务器负责维护这个区域的所有域名信息,需要从域管理员构造的本地磁盘本件中加载域信息进行解剖。
辅助域名服务器作为主域名服务器的备份服务器提供域名解析服务。辅助域名服务器从主域名服务器获得授权,有一个所有域信息的完整复制,解析时需要访问本地存储文件。
缓冲域名服务器可运行域名服务器软件但是没有域名数据库,它从某个远程服务器取得每次域名服务器查询的回答,一旦取得一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它给予回答。
转发域名服务器负责所有非本地域名的本地查询,转发域名服务器接到查询请求时,在其缓存中查找,如找不到就把请求依次转发到指定的域名服务器,直到查询到结果为止,否则返回无法映射的结果。
网络互联技术
网络互联是指将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备相互连接起来,以构成更大的网络系统以实现互相通信且共享软件。
网络设备选型
设备选型的关键:
-满足需求:应该综合考虑用户在将来的一段比较长的时间内的扩展性。
-实用性:并不一定要刻意选择太超前、性能高的产品。选择设备一定要经济适用。设备选型必须在最大程度上保护用户的投资。
-兼容性:网络设备不同于其他设备,不同厂家的产品可能软/硬件会互不兼容,因此要尽可能选择同一厂家所生产的网络产品。
-可靠性:当设备或网络出现故障时,网络提供服务的不间断性的能力,涉及网络冗余与负载均衡相关技术。
VLAN
VLAN之间的通信必须通过路由器来实现。但是传统路由器难以胜任VLAN之间的通信任务,因为相对于局域网的网络流量来说,传统的普通路由器的路由能力太弱。如果采用传统的路由器,虽然可以隔离广播,但是性能又得不到保障。
三层交换机的性能非常高,既有三层路由的功能,又具有二层交换的网络速度。二层交换基于MAC寻址,三层交换则是转发基于第三层地址的业务流;除了必要的路由决定过程外,大部分数据转发过程由二层交换处理,提高了数据包转发的效率。三层交换机通过使用硬件交换机实现IP路由功能,其优化的路由软件使得路由过程效率提高,解决了传统路由器软件路由的速度问题。因此,三层交换机具有”路由器的功能、交换机的功能“。
下面设备中,(B)可以转发不同的VLAN之间通信。
A 二层交换机 B 三层交换机 C 网络集线器 D 生成树网桥
松散源路由
在互联网中可以采用不同的路由选择算法,所谓松散源路由是指 IP分组 必须结果源站指定的路由器。
分析: 严格源路由选项规定IP数据报要经过路径上的每一个路由器,相邻路由器之间不得有中间路由器,并且所经过路由器的顺序不可更改。
松散源路由选项则是给出IP数据报必须经过源站指定的路由器,并不给出一条完备的路径,无直接连接的路由器之间的路由尚需IP软件的寻址功能补充。
ICMP报文
为了确定一个网络是否可以连通,主机应该发送ICMP(A)报文。
A 回声请求 B 路由重定向 C 时间戳请求 D 地址掩码请求
分析:回应请求/应答ICMP报文用于测试目的主机或路由器的可达性。请求者(某主机)向特定目的IP地址发送一个包含任选数据区的回应请求,要求具有目的IP地址的主机或路由器响应。当目的主机或路由器收到该请求后,发回相应的回应应答,其中包含请求报文中任选数据的副本。
由于请求/应答ICMP报文均以IP数据包形式在互联网主中传输,因此如果请求者成功收到一个应答(应答报文中的数据副本与请求报文中的任选数据完全一致),则可以说明:
-目的主机(或路由器)可以到达。
-源主机与目的主机(或路由器)的ICMP软件和IP软件工作正常。
-回应请求与应答ICMP报文经过的中间路由器的路由选择功能正常。
网络连接
客户机/服务器通过网络访问远端服务器的一种实现方式。
服务器端的设备1是负责处理客户机通过PSTN电话网络发出的通信连接,因此它是一个拨入服务器,而能够承担这个任务的就是MODEM池(也就是由多个MODEM组成的一个集合,可以并发接收多个PSTN远程连接)。
设备2则是一个RAS(远程访问)服务器。它为用户提供了一种通过MODEM远程访问网络功能,当用户通过远程访问服务连接到远程网络后,电话线就变得透明,用户可以访问远程网络中的任何资源。RAS调制解调器就承担着与网卡类似的功能。
使用电话线连接远程网络的一种链路层协议是PPP(点对点通信协议)数据链路层协议。
网络设计原则
可用性、有效性和安全性是金融业务核心系统架构中被着重关注三方面。
在进行金融业务系统的网络设计时,应该优先考虑 高可用性原则。在进行企业网络的需求分析时,应该首先进行 企业应用分析。
网络安全
Windows用户组:
(1)Users,普通用户。该组用户无法进行有意或无意的改动。Users是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料。Users可以关闭工作站,但不能关闭服务器。
(2)Power Users,高级用户组。权限仅次于Administrators。
(3)Administrators,管理员组。权限最高。对计算机/域有不受限制的完全访问权。
(4)Guests,来宾组。与普通Users的成员有同等访问权,但来宾账户的限制更多。权限最低。
(5)Everyone,所有用户组。
(6)System拥有和Administrators一样甚至更高的权限,在查看用户组的时候它不会被显示出来,也不允许任何用户加入。这个组主要是保证了系统服务的正常运行,赋予系统及系统服务的权限。
网络的窃取与攻击
窃取是对保密性的攻击,DDoS攻击破坏了可用性。
窃取是窃取者绕过系统的保密措施得到真实的,完整的,可用的信息。
DDoS(Debian Of Service,拒绝服务式攻击),用分布式方法没用多台机器进行拒绝服务攻击,从而使服务器变得不可用。
网络攻击防范
防火墙是指建立在内外网络边界上的过滤封锁机制。防火墙的一个特点是:内部网络是被认为是安全和可信赖的,而外部网络被认为是不安全和不可信赖的。
防火墙能防范外部攻击,但不能防范内部攻击,如果要对内部攻击进行有效防范,应该采用用户认证的方式进行。另外,防火墙对网络监听与病毒入侵也无能为力。
网络加密
数据传输加密技术的目的是对传输中的数据流加密,以防止通信线路上的窃听、泄露、篡改和破坏。以加密实现的通信层次来划分,加密可以在通信的3个不同层次上来实现,即链路加密(位于OSI网络层以下的加密)、结点加密和端到端加密(传输前对文件加密,位于OSI网络层以上的加密)。
链路加密侧重点通信链路上而不考虑信源和信宿,是对保密信息通过各链路采用不同的加密秘钥提供安全保护。链路加密是面向结点,对于网络高层主体是透明的,它对高层协议信息信息都加密。因此在传输中是密文,但在中央结点必须解密得到路由信息。
端到端加密指信息由发送端自动加密,并进入TCP/IP数据包回封,然后作为不可阅读和不可识别的数据穿过因特网,这些信息一旦到目的地,将自动重组、解密,称成为可读数据。端到端加密是面向网络高层主体的,它不对下层协议信息加密,协议信息以明文形式传输,用户数据在中央结点不需解密。
RSA适用于数字签名和秘钥交换。RSA是运用最广泛的公钥加密算法,适用于因特网传送的书籍。
MD5可产生一个128位的散列值的散列算法。
RC-2,RC-4,RC-5密码算法提高了可变长的密钥加密算法。
网络安全设计原则
网络隔离技术
目标是确保把有害的攻击隔离在可信网络之外和保证可信网络内部信息不外露的前提下,完成网间数据的安全交换。有多种网络隔离,如物理隔离、协议隔离和VPN隔离。无论哪种隔离,实质都是数据或信息的隔离。
网络隔离的重点是物理隔离。物理隔离的一个特征就是内网与外网永不连接,内网与外网在同一时间最多只有一个同隔离设备建立非TCP/IP协议的数据连接。
《程序员面试宝典》 赵海军 白金版 P253~P267 <计算机网络> 进行了扩展。