1.首先,什么是网络通信?什么又是网络通信协议?
网络通信就是通过网络将各个孤立的设备进行连接(比如工作站,主机),通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。而网络通信中最重要的就是网络通信协议。计算机网络中要实现通信就必须要有一些约定(通信协议),对速率、传输代码、代码结构、传输控制步骤,出错控制等制定标准,这就是网络通信协议。
网络通信协议有哪些?
当今局域网中最常见的三个协议是MICROSOFT的NETBEUI、NOVELL的IPX/SPX、交叉平台的TCP/IP.
TCP和UDP协议、IP协议是是互联网通信的基础,就像《宪法》用在整个法律一样应用于整个网络。而那些应用协议比如HTTP、FTP就类似于《未成年保护法》、《刑法》之类的,只在某一方面起作用。最重要的是,违宪无效!
2.通信的分层思想(OSI参考模型):(百度的)
1.减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错;
2.在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行;
3.能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手术
总结一下大概就是定位迅速方便查找和纠错、各层独立、可以局部操作更新
然后在实际编程应用中的实施标准,TCP/IP的参考模型这样:
3.关于协议
* TCP/IP协议:
TCP/IP协议看起来好像TCP协议和IP协议,但其实并不一样。TCP/IP协议并称为网络通信协议,它包含了上百个协议,而常见的HTTP协议、TCP协议、IP协议只是它的一部分。TCP/IP协议计算机网络通信的一组协议,通常被称为TCP/IP协议族。
* IP协议:
IP(Internet Protocol)协议的英文名直译就是:因特网协议。IP协议属于TCP/IP协议族网络层的协议。
IP协议规定了数据传输时的基本单元和格式。如果比作货物运输,IP协议规定了货物打包的包装箱尺寸和包装的程序(过程)。除此之外,IP协议还定义了数据包得到提交方法和路由选择。同样的比作货物运输,IP协议规定了货物的运输方法和运输路线。除了以上这些,(我觉得)IP协议最最最大的贡献就是给每台主机提供了一个独一无二的IP地址。
IP地址由四个字节(一个int型的数)表示。(IPv5)一共四个字节分成四段,每个字节最大不过256。
(但其实这些都是内网的假IP,上网其实都是通过一个机器的网关IP上网(真实IP))
* TCP协议:
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的 "传输层" 通信协议。是专门设计用于在不靠谱的因特网上提供可靠的、端到端的字节流通信协议。
类似,打电话(确立可靠的通信连接)
TCP连接并非报文流而是字节流。
* UDP协议:
UDP(User Datagram Protocol 用户数据报协议)是一种面向无连接、快速的、且不可靠的协议。它并不像TCP那样要先建立连接(通道),只要【目标地址 端口号 源地址 端口号】确定了,就可以直接发送信息报文,并不需要一直确保服务端一定能收到或者收到完整的数据。它只提供了一个校验和机制来保证报文是否完整,若是校验失败,则直接丢弃报文不做任何处理。
类似,短信、或者打游戏网络很卡的时候你电脑过了半天才反应过来,然后你瞬间GG了(中间发生了数据丢包)。
UDP是报文流。
(至于什么是TCP字节流和UDP报文流https://blog.csdn.net/cherrybomb1111/article/details/52919420)