图解TCP/IP

来源:互联网 发布:深圳程序员平均工资 编辑:程序博客网 时间:2024/06/03 15:23

TCP状态转换

  • CLOSED
  • LISTEN、SYN_RECD、ESTABLISHED、CLOSE_WAIT、LAST_ACK
  • SYN_SEND、ESTABLISHED、FIN_WAIT_1、(FIN_WAIT_2、CLOSING)、TIME_WAIT
    这里写图片描述

网络基础知识

  1. 计算机与网络发展的7个阶段

    • 批处理:事先将用户程序和数据装入卡带或磁带,并有计算机按照一定的顺序读取,是用户所要执行的这些程序和数据能够一并得到处理的方式
    • 分时系统:多个终端与同一个计算机连接,允许多个用户同时使用一台计算机系统。分时系统的产生实现了“一人一机”的目的,让用户感觉就好像“完全是自己在使用一台计算机一样”。
    • 计算机之间的通信:在计算机间的通信诞生之前,想要将一台计算机中的数据转移到另一台计算机中是相当频繁的。那时,得将数据保存到磁带、软盘等外部存储介质中,再将这些介质送到目的计算机才能实现数据转储。
    • 计算机网络的产生:20世纪70年代初期,人们开始实验基于分组交换技术的计算机网络,并着手研究不同厂商的计算机之间相互通信的技术。到了80年代,一种能够互连多种计算机的网络随之诞生。它能够让各式各样的计算机相互连接,从大型的超级计算机或主机到小型的个人电脑
    • 互联网的普及:连接异构型计算机的通信网络计数就是我们现在所看到的互联网技术
    • 以互联网技术为中心的时代
    • 从“单纯建立连接”到“安全建立连接”
      这里写图片描述
  2. 协议

    • 计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。这种“约定”使哪些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。
    • OS:操作系统,是一种基础软件。它集合了CPU管理、内存管理、计算机外围设备管理以及程序运行管理等重要功能。
    • 分组交换协议:分组交换就是把大数据分割成一个个叫做包(Packet)的较小单位进行传输的方法。这里所说的包,如同我们平常在邮局见到的邮包。分组交换就是把大数据分装成一个个这样的邮包交给对方。
    • 协议的标准化:ISO指定了一个国际标准OSI,对通信系统进行了标准化。现在,OSI所定义的协议虽然并没有得到普及,但是在OSI协议设计之初作为其知道方针的OSI参考模型却常常被用于网络协议的制定当中
  3. 协议分层与OSI参考模型

    • 上下层之间进行交互时所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”
    • OSI参考模型各层分工
      这里写图片描述
    • 网络层和数据链路层都是基于目的地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目的地址,而数据链路层则只负责发送一个分段内的数据,
  4. 传输方式的分类

    • 面向有连接型与面向无连接型

      面向有连接型:在发送数据之前,需要在手法主机之间连接一条通信线路。在面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理。
      面向无连接型:面向无连接型不要求建立和断开连接。发送端可于任何时候自由发送数据。在面向无连接的通信中,不需要确认对端是否存在。及时接收端不存在或无法接收数据,发送端也能将数据发送出去

    • 电路交换和分组交换

      电路交换:独占通信链路
      分组交换:共享通信链路,需要添加目的地址

    • 根据接收端数量分类

      单播
      广播
      多播
      任播:在特定的多台主机中选出一台作为接收端的一种通信方式。虽然,这种方式与多播有相似之处,都是面向特定的一群主机,但是它的行为却与多播不同。任播通信是从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,所被选中的那台特定主机将返回一个单播信号,随后发送端主机只跟这台主机进行通信

  5. 地址

    • 在实际的网络通信中,每一层的协议所使用的地址都不尽相同。例如,TCP/IP通信中使用MAC地址、IP地址、端口号等信息作为地址标识。甚至在应用层中,可以将电子邮件地址作为网络通信的地址。
    • MAC地址和IP地址在标识一个通信主体时虽然都具有唯一性,但是它们当中只有IP地址具有层次性
  6. 网络的构成要素

    • 搭建网络的主要设备及其作用
      这里写图片描述
    • 数据链路一览
      这里写图片描述
    • 在数据传输的过程中,两个设备之间数据流动的物理速度称为传输速率。单位为bps。从严格意义上讲,各种传输媒介中信号的流动速度是恒定的。因此,即使数据链路的传输速率不相同,也不会出现传输的速度忽快忽慢的情况。
    • 网关是OSI参考模型中负责将传输层到应用层的数据进行转换和转发的设备。它与4~7层交换机一样都是处理传输层以上的数据,但是网关不仅扎un发数据还负责对数据进行转换,它通常使用一个表示层或应用层网关,在两个不能进行直接通信的协议之间进行翻译,最终实现两者之间的通信

TCP/IP基础知识

  1. SMTP:Simple Mail Transfer Protocol(简单邮件传输协议),最初人们只能发送文本格式的电子邮件,然而现在,电子邮件的格式由MIME扩展之后,就可以发送声音、图像等各式各样的信息,甚至还可以修改邮件文字的大小,颜色等。MIME是表示层协议
  2. FTP(File Transfer Protocol,文件传输协议):将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将本地硬盘的文件传送到其他机器硬盘上。在FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请求时所要的用到的控制连接与传输数据时所要用到的数据连接
  3. 远程登录(TELNET和SSH):TCPIP网络中远程登录常用到TELNET和SHH两种协议。其实还有很多其他可以实现远程登录的协议,如BSD UNIX系中的rlogin的r命令协议以及X Window System中的X协议
  4. 网络管理(SNMP:Simple Network Management Protocol):使用SNMP管理的主机、网桥、路由器等称作SNMP代理,而进行管理的那一段叫做管理器。SNMP正是这个Manager与Agent所要用到的协议
  5. 包、帧、数据包、段、消息:包可以说是全能性述语。帧用于表示数据链路层中包的单位。数据包是IP的UDP等网络层以上分层中包的单位。段则表示TCP数据流中的信息。最后,消息是指应用层协议中的数据的单位
  6. 包流动时,从前往后依次被附加了以太网首部、IP包首部、TCP包首部(或者UDP包首部)以及应用自己的包首部和数据。而包的最后则追加了以太网包尾
  7. 每个包首部中至少都会包含两个信息:一个是发送端和接收端地址,另一个是上一次的协议类型,经过每个协议分层时,都必须有识别包发送端和接收端的消息。以太网会用MAC地址,IP会用IP地址,而TCP/UDP则会用端口号作为识别两端主机的地址

数据链路