IP地址:指互联网协议地址,又译为网际协议地址。
作用:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址被用来给Internet上的电脑一个编号。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如: 100.4.5.6。 又分为公有地址和私有地址,其中私有地址属于非注册地址,专门为组织机构内部使用。
端口号:
所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。
协议:
网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。
协议还有其他的特点:
1) 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
2) 协议中的每个人都必须同意并遵循它。
3) 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。
协议的基本原理为:ISO/OSI协议模型,此模型根据网络功能制定出7层网络协议结构,由低到高分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
常见的协议:TCP/IP协议、NetBEUI协议、IPX/SPX协议
协议分层:
根据互联网所需要的服务和功能,在体系结构上分成若干个层次,协议的服务和功能与哪一层的服务和功能相对应,该协议就属于哪一层。 每层协议层通过在该层中执行某些动作或使用直接下层的服务来提供服务。 协议分层具有概念化和结构化的特点,通过协议分层来研究讨论系统组件,会使系统组件的更新更容易。
各个分层的所有协议被称为协议栈。因特网的协议栈由5个层次组成,自顶向下为:应用层、运输层、网络层、链路层、物理层。此外,国际标准化组织(ISO)定义了一种叫开放系统互连模型(OSI)的7层协议栈,自顶向下分别为:应用层、表示层、会话层、运输层、网络层、链路层、物理层。OSI模型除了比5层协议栈多两层外,其余5层与5层协议栈的同名对应层的定义基本相同。
OSI参考模型各层的功能
层次名称 |
数据格式 |
功能与连接方式 |
典型设备 |
应用层 |
网络服务与使用者应用程序间的一个接口 |
表示层 |
数据表示、数据安全、数据压缩 |
||
会话层 |
建立、管理和终止会话 |
||
传输层 |
数据组织成数据段 |
用一个寻址机制来标示一个特定的应用程序(端口号) |
网络层 |
分割和重新组合数据包 |
基于网络层地址(IP地址)进行不同网络系统间的路径选择 |
路由器 |
数据链路层 |
将比特信息封装成数据帧 |
在物理层上建立、撤销、标示逻辑连接和链路复用,以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址 |
网桥、交换机 |
物理层 |
传输比特流 |
建立、维护和取消物理连接 |
网卡、中继器和集线器 |
OSI参考模型解决网络故障的思路:
排除故障的流程为定义问题、确定导致问题的原因、解决问题。
使用OSI参考模型来排除故障有3种基本的方法,即自上而下、自下而上、分而治之,这3种方法是沿着OSI参考模型层次的顺序来定义的,根据故障是属于哪一层的故障来找到解决问题的方法。自上而下是从应用层到物理层;自下而上正相反,从最底层开始;分而治之是从中间开始。下面依次分析导致各模型层次故障的原因。
1.物理层的故障原因
(1)设备电源未打开。
(2)设备电源未接通。
(3)网络电缆松脱。
(4)电缆故障。
(5)电缆类型不正确。
2.数据链路层的故障原因
(1)设备驱动程序错误。
(2)设备没有安装驱动程序。
(3)设备配置错误。
3.网络层的故障原因
(1)1P地址设置错误。
(2)子网掩码设置错误。
(3)网关设置错误。
(4)DNS或动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)设置错误。网络层中常用的排除故障的命令包括ipconfig命令、ping命令和tracert命令。
4.传输层的故障原因
(1)防火墙设置错误。
(2)应用程序的TCP或UDP(User Datagram Protocol,用户数据报协议)的端口关闭。
5.会话层、表示层、应用层的故障原因
这3层主要涉及使用软件的故障问题,把应用软件设置正确,问题即可解决。
封装:
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
原则:
1.把尽可能多的东西藏起来,对外提供简捷的接口。
2.把所有的属性藏起来,例如在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。
分用:
指将经复用所形成的合成信号恢复为多个原独立信号,或恢复为由这些独立信号所组成的信号群的处理过程。当目的主机收到一个以太网数据帧时,数据就开始从协议栈中有底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部的协议标识,以确定接受数据的上层协议,这个过程称作分用。
应用:
1)分用的应用主要在分用器(Demultiplexer)。
2)分用器与复用器总是成对使用,在复用器与分用器之间是用户共享的高速信道。
3)分用器的作用正好与复用器的作用相反,它把高速信道传送过来的数据进行分用,分别送到相应的用户。
复用:
是通信技术中的基本概念。
在计算机网络中的信道广泛地使用各种复用技术。复用技术是一种将若干个彼此独立的信号合并未一个可在同一信道上传输且互不干扰的技术。
复用技术的分类有:频分复用FDM(Frequency Division Multiplexing)和时分复用TDM(Time Division Multiplexing)、统计时分复用STDM(Statistic TDM)、波分复用WDM(Wavelength Division Multiplexing)、码分复用CDM(Code Division Multiplexing)。
客户端:
也称为工作站(Workstation),指连入网络的计算机,它接受网络服务器的控制和管理,能够共享网络上的各种资源。个人计算机接入因特网后,在获取因特网服务的同时,其本身就成为一台因特网上的工作站。网络工作站需要运行网络操作系统的客户端软件。
原理:客户端及伺服端的关系不见得一定建立在两台分开的机器上,同一台机器中也有这种主从关系的存在。提供服务的伺服端及接受服务的客户端也有可能都在同一台机器上,例如我们在提供网页的服务器上执行浏览器浏览本机所提供的网页,这样在同一台机器上就同时扮演伺服端及客户端。
服务器:
是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。如:cpu、硬盘、内存,系统、系统总线等。
分类
1)根据体系结构不同,服务器可以分成两大重要的类别:IA架构服务器和RISC架构服务器
2)根据服务器的规模不同可以将服务器分成工作组服务器、部门服务器和企业服务器。
3)根据服务器的功能不同我们可以把服务器分成很多类别,如:文件/打印服务器,数据库服务器、WEB服务器、E-MAIL服务器、NEWS服务器、PROXY服务器,这些服务器都是INTERNET应用的典型。这些服务器,都是不仅仅是一个硬件系统,他们往往是通过硬件和软件的结合来实现他们特定的功能。
特性:R:Reliability可靠性;A:Availability可用性;S:Scalability可扩展性;U:Usability易用性;M:Manageability可管理性。
请求:
这个对象不用事先声明,就可以在JSP网页中使用,在编译为Servlet之后,它会转换为javax.servlet.http.HttpServletRequest形态的对象,HttpServletRequest对象是有关于客户端所发出的请求的对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、客户端IP,客户端浏览器等等信息。
响应:
是指计算机对用户的输入或请求作出反应,而系统响应时间,是计算机对用户的输入或请求作出反应的时间 [ 。系统响应时间的计算要考虑到用户的数目,用户数目越多,响应时间必须越快,不然就难以保证每一个用户都有可以接受的响应时间。响应时间和时间片的大小有关,一般情况是:时间片越短,响应时间越快。
两台主机之间的网络通信流程:
不同局域网的两台主机
以主机 ping 一个域名为例,过程如下:
[主机] [应用层] 通过 DNS 协议获取域名的 IP 地址;
[主机] [网络层] 构造 IP 数据包,源 IP 为本机 IP,目的 IP 为域名 IP;
[主机] [网络层] 根据路由表,选择下一跳的 IP 地址,即当前局域网的网关;
[主机] [链路层] 根据 ARP 表,查找网关 IP 的 MAC 地址;在 IP 数据包外面包一层 MAC 地址;
[局域网] 根据 MAC 地址,上一步的报文最终会发送到当前局域网的网关;
[网关] [网络层] 网关查看数据包的目的 IP 地址,重复上述 2~3 步,继续发给下一跳;
[互联网] 中间经过若干个下一跳主机,最终数据包发送到域名所在的网络中心的网关;
[网关] [网络层] 网络中心的网关查看数据包的目的 IP 地址,根据路由表发现目的 IP 对应的 Gateway 为 0.0.0.0 ,这表明目的机器和自己位于同一个局域网内;
[网关] [链路层] 根据 ARP 表,查找目的 IP 的 MAC 地址,构造链路层报文;
[局域网] 根据 MAC 地址,上一步的报文最终会发送到目的主机;
[目的主机] [网络层] 目的主机查看数据包中的目的 IP,发现是给自己的,解析其内容,过程结束。
同局域网内的两台主机
两台主机通过网线、网桥或者交换机连接,就构成了一个局域网。网桥或交换机的作用是连接多台主机,隔离不同的端口,每个端口形成单独的冲突域。当主机连接到网桥或交换机端口的时候,这些设备会要求主机上报 MAC 地址,并在设备内保存 MAC 地址与端口的对应关系。
同局域网内的两台主机进行通信时,只需要根据 ARP 协议获取目的主机的 MAC 地址,构造链路层报文。报文会经过网桥或交换机,后两者根据目的 MAC 地址,在 MAC 地址表里查询目的端口,然后将报文从目的端口转发给对应的主机。
注意:
(1) 交换机是链路层的设备,主要根据 MAC 地址进行转发、隔离冲突域;不具有路由功能,不记录路由表。这类设备也称为二层交换机。如果只使用二层交换机、不使用路由器来构建局域网,需要为交换机和每台主机分配同属于一个子网的静态 IP。
(2) 路由器工作在 OSI 的第三层网络层,记录路由表,并以此控制数据传输过程。
(3) 有些交换机也具有路由功能,记录了路由表,能够简化路由过程、实现高速转发。这类设备也称为三层交换机。
同局域网内的两台主机,目的主机有多个 IP
问题:如果目的主机 B 为自己新增了一个 IP,同局域网的主机 A ping 主机 B 的这个 IP 能 ping 通吗?
答案是不能,原因是主机 A ping 主机 B 时,根据路由表会将报文发给默认网关,但是网关的路由表里并没有主机 B 新增加的 IP 信息。