OSI参考模型:
OSI模型(Open System Interconnection)是ISO(International Organization for Standardization)制定的模型。
OSI模型把网络通信的工作分为7层,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP参考模型:
TCP/IP参考模型:主机至网络层、网际层、传输层、应用层。
IP 是网际层协议,TCP 和UDP 是传输层协议,HTTP 和FTP 是应用层协议
TCP/IP、Http、Socket的区别:
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输。
HTTP是应用层协议,主要解决如何包装数据。
socket则是对TCP/IP协议的封装
应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。
Socket本身并不是协议,而是一个调用接口(API)。
TCP连接的三次握手:
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
HTTP链接的特点:
HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
TCP和UDP的区别:
TCP, UDP都在传输层
TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;
而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。
也正由于UDP的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好。
知道了TCP和UDP的区别,就不难理解为何采用TCP传输协议的MSN比采用UDP的QQ传输文件慢了,但并不能说QQ的通信是不安全的,因为程序员可以手动对UDP的数据收发进行验证,比如发送方对每个数据包进行编号然后由接收方进行验证啊什么的,即使是这样,UDP因为在底层协议的封装上没有采用类似TCP的“三次握手”而实现了TCP所无法达到的传输效率。
IP地址:
本地回环地址:ping 127.0.0.1(可以用于测试网卡是否正确安装)
主机名:localhost(127.0.0.1不易记,可用主机名)
例如: www.baidu.com 就是一个主机名称,.com 结尾的一般是商业组织,.org 结尾的一般是公益组织, .cn 结尾的一般是政府组织