网络分成
物理层:以太网 、 调制解调器 、 电力线通信(PLC) 、 SONET/SDH 、 G.709 、 光导纤维 、同轴电缆 、 双绞线等
数据链路层:Wi-Fi(IEEE 802.11) 、 WiMAX(IEEE 802.16) 、ATM 、 DTM 、 令牌环 、 以太网 、FDDI 、 帧中继 、 GPRS 、 EVDO 、HSPA 、 HDLC 、 PPP 、 L2TP 、PPTP 、 ISDN、STP 等
网络层协议:IP(IPv4 、 IPv6) 、 ICMP、 ICMPv6、IGMP 、IS-IS 、 IPsec 、 ARP 、 RARP等
传输层协议:TCP 、 UDP 、 TLS 、 DCCP 、 SCTP 、 RSVP 、 OSPF 等
应用层协议:DHCP 、DNS 、 FTP 、 Gopher 、 HTTP、 IMAP4 、 IRC 、 NNTP 、 XMPP 、POP3 、 SIP 、 SMTP 、SNMP 、 SSH 、TELNET 、 RPC 、 RTCP 、 RTP 、RTSP、 SDP 、 SOAP 、 GTP 、 STUN 、 NTP、 SSDP 、 BGP 、 RIP 等
物理层 对应网线、网卡、接口等物理设备(位)。
数据链路层 将由物理层传来的未经处理的位数据包装成数据帧
网络层 提供了编址方案,IP协议工作的地方
传输层 TCP协议输入传输层,是面向链接的,TCP的三次握手(客户端请求服务器等待,服务器确定客户端,客户端认证向服务端发送确认包)在最低限度上保证了连接的可靠性。经常提到的socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。通过Socket,我们才能使用TCP/IP协议。(Socket只是使得程序员更方便地使用TCP/IP协议栈而已,Socket编程接口在设计的时候,就希望也能适应其他的网络协议。)
而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好。(不难理解为何采用TCP传输协议的MSN比采用UDP的QQ传输文件慢)
在TCP和UDP同属于传输层,共同架设在IP层(网络层)之上。而IP层主要负责的是在节点之间(End to End)的数据包传送,这里的节点是一台网络设备,比如计算机。因为IP层只负责把数据送到节点,而不能区分上面的不同应用,所以TCP和UDP协议在其基础上加入了端口的信息(在做socket的客户端和udp的客户端的时候需要加入ip和端口),端口于是标识的是一个节点上的一个应用。除了增加端口信息,UPD协议基本就没有对IP层的数据进行任何的处理了。而TCP协议还加入了更加复杂的传输控制,比如滑动的数据发送窗口(Slice Window),以及接收确认和重发机制,以达到数据的可靠传送。不管应用层看到的是怎样一个稳定的TCP数据流,下面传送的都是一个个的IP数据包,需要由TCP协议来进行数据重组。
应用层 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。还有ftp做文件上传,rtsp,rsp做流媒体的实时传输,sip做网络视频,xmpp做即时通讯