应用层:
各种服务及应用程序通过该层利用网络.常用协议:HTTP、FTP, SMTP
(简单邮件传输协议)等
传输层:
确认数据传输及进行纠错处理,常用协议:TCP.UDP(用户数据报协议)
网络层:
负责数据的传输,路径及地址选择.常用协议:IP
ARP(地址解析协议)
网络接口:
是针对不同物理网络的
连接形式的协议.例如:Ethernet FDDI、ATM
浏览器>应用层>HTTP搜索网址>传输层>TCP/UDP>网络层>IP>物理层>以太网>DNS>通过IP地址转到目标服务器
(TCPIP}传输控制协议l因特网互联协议(网络通讯协议),是Internet最基本的协议,由传输层的TCP协议和网络层的IP协议等组成;
HTTP (Hyper Text Transfer Protocol):超文本传输协议,面向网页,传输被包装成TCP协议传输;
FTP(File Transfer Protocol) :文件传输协议,面向文件;
SOCKET:是实现传输层协议的一种编程API,可以是TCP,也可以是UDP;
IP地址:Internet上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使用这个地址在主机之间传递信息,分为IPv4与IPv6两大类。
IPv4:32位,例如192.168.0.1
IPv6:128位,例如a123.b456.c123.d456
端口:TCPIIP协议通过不同的逻辑端口来区分不同的服务(HTTP-80、FTP-20/21、SMTP-25等)。端口号,范围是从0到65535,1024以下被占用。
打开浏览器走HTTP,打开QQ走UDP
socket起源于Unix,在Unix一切皆文件哲学的思想下,socket是一种”打开—读/写—关闭”模式的实现,服务器和客户端各自维护一个”文件”?)在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。不同PC进程间的通信机制。
socket类型:
数据流SOCK_STREAM:基于TCP的Socket,面向连接,提供给应用层可靠的流式数据服务,使用TCP的Socket应用程序协议:HTTP,FTP等。优点:基于数据传输的可靠性。
数据报SOCK_DGRAM:基于UDP的Socket,无连接,适用于数据传输可靠性要求不高的场合。基于UDP的Socket应用程序或协议有:RIP,SNMP,L2TP等。
TCP编程的服务器端一般步骤是:1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();可选
3、绑定IP地址、端口等信息到socket上,用函数bind();4、开启监听,用函数listen();
5、接收客户端上来的连接,用函数accept();
6、收发数据,用函数send()和recv(),或者read()和write();7、关闭网络连接;
8、关闭监听;
TCP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();可选
3、绑定IP地址、端口等信息到socket上,用函数bind();*可选4、设置要连接的对方的IP地址和端口等属性;
5、连接服务器,用函数connect();
6、收发数据,用函数send()和recv(),或者read()和write();7、关闭网络连接;