1. 网络基础
1.1. 网络协议
1.1.1. 网络协议分层
OSI(开放系统互联(Open System Interconnection))模型是国际标准化组织ISO创立的。这是一个理论模型,并无实际产品完全符合OSI模型。制订OSI模型只是为了分析网络通讯方便而引进的一套理论。也为以后制订实用协议或产品打下基础。
OSI模型共分七层:从上至下依次是
![](http://pdf7.tarena.com.cn/source/doc/JSD1403/83/index.files/image001.png)
图- 1
应用层:指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件
表示层:数据语法的转换、数据的传送等
会话层: 建立起两端之间的会话关系,并负责数据的传送
传输层:负责错误的检查与修复,以确保传送的质量,是TCP工作的地方。
网络层:提供了编址方案,IP协议工作的地方(数据包)
数据链路层:将由物理层传来的未经处理的位数据包装成数据帧
物理层:对应网线、网卡、接口等物理设备(位)
1.1.2. TCP/IP协议栈
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议
由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
TCP/IP协议栈(按TCP/IP参考模型划分),TCP/IP分为4层,不同于OSI,他将OSI中的会话层、表示层规划到应用层:
应用层,传输层,IP网络层,网络接口层
1.2. IP层协议
1.2.1. IP协议简介
IP是英文Internet Protocol(网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。
1.2.2. 路由器简介
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互连环境中,建立灵活的连接,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。
1.2.3. IP地址及其含义
互联网协议地址(Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。
1.3. 传输层协议
1.3.1. TCP协议简介
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。
“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。
1.3.2. UDP协议简介
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
1.3.3. 端口号的概念
一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务通过1个IP地址来实现。通过“IP地址+端口号”来区 分不同的服务的。
不同的协议间端口不冲突。比如我们可以同时使用UDP打开8088端口的与TCP的8088端口。
1.3.4. TCP协议与UDP协议的区别
TCP协议需要创建连接,而UDP协议则不需要。
TCP是可靠的传输协议,而UDP是不可靠的。
TCP适合传输大量的数据,而UDP适合传输少量数据。
TCP的速度慢,而UDP的速度快。
1.4. 应用层协议
1.4.1. HTTP协议简介
HTTP协议(HyperText Transfer Protocol,超文本转移协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。 HTTP是一个无状态的协议。
1.4.2. FTP协议简介
FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。
1.4.3. SMTP协议简介
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。