TCP/IP学习笔记——网络基础知识

TCP/IP是计算机网络这一领域的重要知识,是IT行业人士的必学知识。我在此记录一些学习笔记,主要目的是帮助自己梳理总结相关知识点,也希望能帮到阅读本文的各位读者。

网络基础知识

什么是网络,为什么需要网络?

起初,计算机被发明出来时都处于单机模式,即一台计算机(通常为大型计算机)只能使用连接到本地的设备进行一些交互操作。而随着计算机不断发展,人们不再满足于单机模式,人们渴望多台计算机之间能够互相协作,信息共享,传递数据,共同完成某些业务操作。把这些单独的计算机通过技术手段连接起来,使计算机之间能够共享信息,分工协作,便形成了计算机网络。

协议

在计算机网络与信息通信领域里,人们经常提及“协议”一词,如:IP(Internet Protocol 网际互连协议)、TCP(Transmission Control Protocol 传输控制协议)、HTTP(Hypertext Transfer Protocol 超文本传输协议)

  • 协议的必要性

简单来说,协议就是计算机与计算机之间通过网络实现通信时事先达成的一种 “约定”。这种 “约定”使那些由不同厂商的设备、不同的cpu以及不同的操作系统组成的计算机之间,主要遵循相同的协议就能够实现通信。反之,如果所使用的协议不同,就无法实现通信。这就好比两个国家人的站在一起对话,如果每个人仅会自己的母语,而不懂对方的语言,那么两人根本无法实现有效的沟通对话。

  • 计算机通信协议的诞生及其标准化

为了解决在计算机应用普及的初期,各种厂商生产的计算机设备之间由于协议不同,而无法相互通信的问题,国际标准化组织制定了一个国际标准OSIOpen Systems Interconnection 开放式通信系统互联参考模型)。虽然OSI最终并没有得到普及而被TCP/IP所取代,但学习了解OSI参考模型却还是有一定的意义的。

  • OSI参考模型

OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图。
每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。
TCP/IP学习笔记——网络基础知识

  • 各层功能定义
    <1> 应用层
    OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
    <2> 表示层
    表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
    <3> 会话层
    会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
    <4> 传输层
    传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。我们通常说的,TCP UDP就是在这一层。端口号既是这里的“端”。
    传输层就相当于公司中的负责快递邮件收发的人,公司自己的投递员,他们负责将上一层的要寄出的资料投递到快递公司或邮局。
    <5> 网络层
    本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。
    网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说,从深圳发往北京的顺丰快递(陆运为例啊,空运好像直接就飞到北京了),首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。
    <6> 数据链路层
    将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。
    数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
    MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC子层并非必需的。
    <7> 物理层
    实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。
    快递寄送过程中的交通工具,就相当于我们的物理层,例如汽车,火车,飞机,船。