cPython路上技术

网络协议+TCP、UDP、TCP/IP、IP、HTTP及其区别联

2018-03-26  本文已影响193人  海0_0滨

网络协议


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 等


协议详情


TCP/IP协议(Transmission Control Protocol/Internet Protocol):

IP(Internet Protocol)

ICMP(Internet Control Message Protocol)

ARP(Address Resolution Protocol)

RARP(Reverse Address Resolution Protocol)

TCP(Transmission Control Protocol)

UDP(User Datagram Protocol)

HTTP(HyperText Transfer Protocol)

FTP(File Transfer Protocol)


其他重点


socket(套接字)

SOCKET连接与TCP连接

Socket连接与HTTP连接(此段有点难以理解)

由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。

但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导 致 Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。

而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端,连接可能已经断开;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

HTTP与TCP

https 和 http

https是对http数据进行了加密再传输; 对端收到tcp数据后, 再进行相应的解密/验证

杂乱重点

TCP是底层通讯协议,定义的是数据传输和连接方式的规范
HTTP是应用层协议,定义的是传输数据的内容的规范
HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP也就一定支持TCP
HTTP支持的是www服务
而TCP/IP是协议 它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。
CP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。


参考


待补

上一篇下一篇

猜你喜欢

热点阅读