网络
转:https://www.cnblogs.com/LancyWu/p/7832347.html
图片详细的转自:https://www.cnblogs.com/feng0815/category/880800.html
“互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定
网络协议的模型:OSI的七层参考模型
一、网络分类
- 电信网络(电话网)
- 有线电视网络
- 计算机网络(发展最快、信息时代的核心技术)
这里重点讲计算机网络
二、局域网和广域网
1. 局域网(内网)
局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机租。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等。一般是方圆几千米以内。局域网可以实现文件管理,应用软件共享,打印机共享,扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭性的,可以由办公室的两台计算机组成,也可以由一个公司内的上千台计算机组成。
2. 广域网(外网)
广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。
三、OSI七层网络模型
1).物理层(Physical Layer)物理层以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2
激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据(二进制)可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。
比如说我们比较熟悉的:网卡、双绞线、电缆等
2).数据链路层(Data Link Layer) 数据链路层传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基础的服务是将源自网络层来的数据可靠的传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
有关数据链路层的知识点:简单理解为数据的通道即可
1> 数据链路层为网络层提供可靠的数据传输;
2> 基本数据单位为帧;
3> 主要的协议:以太网协议;
4> 两个重要设备名称:网桥和交换机。
3).网络层(Network Layer)网络层为数据包选择路由 和协议如IP,ICMP,RIP,OSPF,BGP,IGMP
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议—IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。
有关网络层的重点为:
1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2> 基本数据单位为IP数据报;
3> 包括的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICM协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)
4> 重要的设备:路由器。
4).传输层(Transport Layer)
传输层提供端对端的接口 TCP,UDP。“传输层”的功能,就是建立”端口到端口”的通信。相比之下,”网络层”的功能是建立”主机到主机”的通信。只要确定主机和端口,我们就能实现程序之间的交流。因此,Unix系统就把主机+端口,叫做”套接字”(socket)。有了它,就可以进行网络应用程序开发了。TCP(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol、用户数据报协议)
是一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文、
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的断口。
有关传输层的重点:
1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
2> 包含的主要协议:TCP(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol、用户数据报协议);
3> 重要设备:网关。
5)会话层解除或建立与别的接点的联系没有协议
6)表示层数据格式化,代码转换,数据加密没有协议
7)应用层的作用,就是规定应用程序的数据格式。必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
四、常见协议
DHCP协议
DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址、给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
HTTP协议
超文本传输协议(HTTP,Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP协议包括哪些请求?
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。
TCP/IP协议
TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输目的地。而IP是给因特网的每一台联网设备规定一个地址。
IP层接收由更底层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成是要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。
TCP与UDP的区别:
TCP是面向连接的,可靠的字节流服务;
UDP是面向无连接的,不可靠的数据报服务。
TCP可靠,保证数据完整性和重发以及差错控制,
UDP不可靠。
如何选择:
安全性级别高:选用TCP
信息量少且不重要的:选用UDP
四、其它协议
Hessian协议
协议报文封装到HTTP封包中,通过HTTP信道传输。是一种高效简洁的远程调用框架,它采用的是二进制RPC协议,具有轻量、传输小,平台无关的特点。
发起请求需要通过hessian本身的API来发起请求。
hessian通过自定义的串行化机制将请求信息进行序列化,产生二进制流。
相应端根据hessian提供的API来接受请求
hessian根据其私有的串行化机制来讲请求信息进行序列化,传递给使用者时已相应的请求信息对象了。
客户端——>虚拟化写到输入流——>远程方法(服务器端)——>序列化写到输出流——>客户端读取输出流
核心包:HessianClientInterceptor类 createHessianProxy(HessianProxyFactory ProxyFactory)
HessianProxyFactory类 publie Object create(class api,String urlName)
了解:hessian源码中com.caucho.hassian.io这个包是hassian实现虚拟化与反虚拟化的核心包。其中AbstractSerializerFactory,AbstractHessianOutput,AbstractSerializer,AbstracthessianInput,AbstractDeserializer是hessian实现虚拟化和反虚拟化的核心结构代码。
Webservice协议
webservice也叫XML Web Service WebService 是一种可以接受从Internet或者 Intranet上的其它系统传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明。
XML:(ECtensible Markup Language)扩展型可标记语言。面向短期的临时数据处理,面向万维网,是SOAP的基础。
Soap:(Simple ObjectAccess Protocol)简单对象存储协议。是XML Webservice的通讯协议。它可以支持不同的底层接口,像HTTP(s)或者SMTP。
WSDL:(Web Services Description Language)WSDL文件是一个XML文档,用于说明一组SOAP消息以及如何交换这些信息。大多数情况下由软件自动生成和使用。
SOAP协议=HTTP协议+XML数据格式
所以,WebService的协议完全可以用HTTP协议来进行测试,就这么简单,针对的工具:SoapUI