简易理解网络协议与网络请求
OSI七层协议与TCP/IP四层协议的映射。
数据从A到B的过程(以OSI模型为基础)。
网络协议只是一种约定,跟技术实现没有关系。上层协议是由下层协议增加更多的信息形成的,这些信息指明了数据发送到哪台机器的哪个应用程序等。
以下摘自百度百科,可以比较详细的看到各个网络层中对应的协议。
物理层:以太网 · 调制解调器 · 电力线通信(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/IP协议,其实是由网络层的IP协议和传输层的TCP协议共同组成的,是互联网协议的基石。
我们希望将一条信息Message从主机A传送到主机B,那么我们就需要将Message层层包装,最终包装到协议栈的最底层,然后发送出去。主机B接收到这条信息以后,需要将这些包装层层打开,最终解到协议栈最上层,主机B上的对应应用就能拿到Message了。
相对于开发来说,绝对不能每次这么大规模的包装,于是,为了简单易用,在TCP/IP层抽象出了编程接口,也就是Socket。
当然,再后来,http、ftp等编程接口又都是基于socket编程接口再次封装而来的。
posted on 2016-06-16 17:13 🌞Bob 阅读(271) 评论(0) 编辑 收藏 举报