一、网络概述
网络:相互连接的计算机,用来交换数据和共享资源。
计算机网络旨在实现数据通信;数据形式:文本 、图片、声音和音频。
按照地理覆盖范围,计算机网络分为局域网、城域网和广域网。
(1)局域网:局限在小的地理区域内或单独的建筑物内,被用于连接办公室、实验室或工厂里的个人计算机和工作站。
(2)城域网:覆盖城市或城镇内的广大地理区域,是在一个区域内建立的计算机通讯网。
(3)广域网:是在一个更广泛的地理范围内所建立的计算机通讯网,范围超过一个城市或国家以至全球,因而对通信的
要求及复杂性都比较高;
1、ip地址
IP地址:用户来唯一标识网络中的每一台计算机,分为网络地址和主机地址;
IPv4组成:4个8位的二进制组成,每8为之间用“.”隔开例如:11000000.10101000.00000010.00010100。由于二进制不好记所且可读性差,通常把二进制转换成十进制。例如:196.168.2.20 。又称为点分十进制。
IPv6组成:8个16位的无符号整数组成,每个整数用4个十六进制数表示。
IP地址分类:
A类 | 1~126 | 第一组数表示网络地址,其余三位表示主机地址 |
B类 | 128~191 | 前二组数表示网络地址,其余两位表示主机地址 |
C类 | 192~223 | 前三组数表示网络地址,最后一位表示主机地址 |
D类 | 224~239 | 不分主机地址和网络地址,用于组播通信 |
E类 | 240~254 | 不分主机地址和网络地址,用于科学研究 |
2、端口
定义:每台主机都有若干个端口,用于收发数据时区分该数据发给哪个进程或者从哪个进程发出的。
范围:0~65535;
在一台计算机内两个进程不能同时使用一个端口。
3、服务器
邮件服务器
web服务器:
(1)microsoft IIS
(2)Apache服务器
(3)Tomcat服务器
4、网络协议
TCP/IP协议族:互联网最基本的协议,他不依赖于任何计算机硬件和操作系统,提供开放的协议标准。目前绝大多数网络操作系统都提供对TCP/IP协议族的支持。TCP/IP协议族包括:IP协议、TCP协议、UDP协议和ARC协议等;
TCP协议:传输控制协议,TCP是一种面向连接的、可靠地、基于字节流的传输层通信协议:TCP要求通信双方必须在建立连接之后才开始通信,通信双方可以同时进行数据传输,他是全双工的,从而保证了数据的正确传输;
UDP协议:用户数据报协议,无连接协议,在传输数据之前,客户端和服务器不建立和维护连接。主要作用是把网络通信的数据压缩为数据报的形式。
HTTP协议 : HTTP协议同其它TCP/IP协议集中的协议一样,是遵循客户/服务器模型工作的。
HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”
HTTPS协议:在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使 用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
TCP,UDP区别
TCP与UDP基本区别
1.基于连接与无连接
2.TCP要求系统资源较多,UDP较少;
3.UDP程序结构较简单
4.流模式(TCP)与数据报模式(UDP);
5.TCP保证数据正确性,UDP可能丢包
6.TCP保证数据顺序,UDP不保证
二、利用Socket建立网络连接的步骤
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
1、服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
2、客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
3、连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
<1>Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等。而TCP和UDP协议属于传输层 。
而http是个应用层的协议,它实际上也建立在TCP协议之上(HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力)。
<2>Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。