网络编程基础之TCP/IP协议

       在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生(别人的解释,感觉很到位)。联网的各个终端之间能否进行交互的软件基础是网络协议栈,目前主流的网络协议栈是TCP/IP协议栈。

ISO/OSI参考模型

OSI(open system interconnetction)开放系统互联模型是由ISO(International Origanziation for Standardization)国际标准化组织定义的网络分层模型,共七层。

主机A             主机B                         作用                                         邮件发送                                  邮件接收

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
应用层          
表示层
会话层
传输层

网络层

数据链路层
物理层

        提供应用程序间的通信            经理:写好信件的草稿                             .....

        处理数据格式,数据加密等      助理:修改错字或格式                            .....

        建立,维护和管理会话             秘书:提出收信人的地址,写好信封        .....

        建立端到端连接                       司机:将信件带到邮局                            .....

         寻址和路由选择                       分区工人:将信件依次按收件地区分开    .....

        介质访问,链路管理                 搬用工人:搬用到车上                       拆装:拆开包裹

         比特流传输                                                      传输媒介:传输到目的地         

TCP/IP四层模型

       TCP/IP协议按照层次由上到下分为4个层次,层层包装。最上面的就是应用层了,取消了OSI参考模型中的会话层和表示层,其功能被合并到应用层,基于TCP和UDP实现了很多应用层协议,基于TCP协议的FTP、Telnet协议等等,基于UDP的简化的FTP协议TFTP、域名服务DNS等,以及两种具有实现的协议,例如P2P协议等。而第二层则是传输层,主要的功能提供源主机和目标主机上的对等层之间可以进行会话机制。著名的TCP和UDP协议就在这个层次,TCP协议是一种面向连接的、可靠的协议。它利用IP层的机制在不可靠连接的基础上实现可靠的连接,通过发送窗口控制、超市重发、分包等方法,将一台主机发出字节流发往互联网上的其他主机。UDP协议是一个不可靠的、无连接协议,主要适用不怕数据丢失、不需要对报文进行排序、流量控制的场所。第三层是网络层互联层,它是整个TCP/IP协议栈的核心。它负责对数据加上IP地址和其他的数据格式(后面会讲到)以确定传输的目标。第四层是叫数据链路层(主机到网络层),包括设备和数据链层的主机到网络层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。再往下则是硬件层次了,负责网络的传输,这个层次的定义包括网线的制式,网卡的定义等等,所以有些书并不把这个层次放在tcp/ip协议族里面,因为它几乎和tcp/ip协议的编写者没有任何的关系。发送协议的主机从上自下将数据按照协议封装,而接收数据的主机则按照协议从得到的数据包解开,最后拿到需要的数据。这种结构非常有栈的味道,所以有时也把tcp/ip协议族称为tcp/ip协议栈。

OSI七层参考模型           TCP/IP四层模型                                                        一致协议        

应用层          
表示层         
会话层
传输层

网络层

数据链路层

物理层

IP协议

      IP协议是TCP/IP协议中最重要的协议,它为TCP、UDP、ICMP等协议提供传输的通路。IP层的主要目的是提供子网的互联,形成较大的网络,使不同的之间能传输数据。

IP数据包格式

版本:IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为6

猜你喜欢

转载自blog.csdn.net/baidu_29571167/article/details/84719358