TCP/IP 协议
Last updated
Last updated
高楼大厦,起于平川。不积跬步,无以至千里,不积小流,无以成江海。
用于机器间通信,制定了各种各样的协议(TCP协议,DNS协议...),有了这些协议,各种数据流按照规则传输,计算机之间得以通信。
TCP/IP协议族中有一个重要的概念:分层,TCP/IP协议按照层次分为以下四层:应用层、传输层、网络层、数据链路层。(封转性、隔离)
下面是从网络上找到的TCP/IP通信数据流
IP协议:192.168.1.1这种数字指的是IP地址。IP协议的作用在于把各种数据包准确无误地传递给对方,其中重要的条件是IP地址和MAC地址(Media Access Control Address)
使用 ARP协议凭借MAC地址进行通信
IP 间的通信依赖 MAC 地址。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。这时,会采用 ARP 协议(Address Resolution Protocol)。ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址
你向另一台电脑发送一条信息,怎么在茫茫人海中瞬间找到对方,如下图所示:
TCP协议:如果说IP协议是找到对方的详细地址。那么TCP协议就是把安全的东西带给对方。各有分工,互不冲突。
按层次分,TCP属于传输层,提供可靠的字节流服务。什么叫字节流服务呢?这个名字听起来让人不知所以然,下面听下我通俗的解释。所谓的字节流,其实就类似于信息切割。比如你是一个卖自行车的,你要去送货。安装好的自行车,太过庞大,又不稳定,容易损伤。不如直接把自行车拆开来,每个零件上都贴上收货人的姓名。最后送到后按照把属于同一个人的自行车再组装起来,这个拆解、运输、拼装的过程其实就是TCP字节流的过程。
我们看下严谨的学术表达是怎样的:
所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达到对方。
下面我写一段对话来模拟下这三次握手。为了确保信息能够确保准确无误的到达,TCP采用了著名的三次握手策略(three-way handshaking).下面我写一段对话来模拟下这三次握手。
DNS:DNS(Domain names System) 和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。
下面是我们访问一个网页,各种协议在里面气的作用: