TCP/IP 协议详解之基础知识及含义

1.Layering

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统.如下图表格所示。

应用层 Telnet、FTP和e-mail等
运输层 TCP和UDP
网络层 IP、ICMP和IGMP
链路层 设备驱动程序及接口卡

每一层都有负责不同的功能;

  • 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
  • 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
  • 运输层,主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
  • 应用层,应用层负责处理特定的应用程序细节。几乎各种不同的 TCP/IP实现都会提供下面这些通用的应用程序:
    • Telnet 远程登录
    • FTP 文件传输协议
    • SMTP 简单邮件传送协议
    • SNMP 简单网络管理协议
      在80年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤岛”没有太大意义,于是就把这些孤立的系统组在一起形成网络。构造互连网最简单的方法是把两个或多个网络通过路由器进行连接。它是一种特殊的用于网络互连的硬件盒。连接网络的另一个途径是使用网桥网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。

2. Internet Addresses

1. IP地址的含义:互联网上的每个接口必须有一个唯一的 Internet地址(也称作IP地址)。IP地址长32bit。Internet地址并不采用平面形式的地址空间,如 1、2、3等。IP地址具有一定的结构,五类不同的互联网地址格式如下图所示。

这些32位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法
2. IP地址的分类
区分各类地址的最简单方法是看它的第一个十进制整数,如下图所示;

需要注意的是多接口主机具有多个IP地址,其中每个接口都对应一个IP地址。

3.The Domain Name System

含义:尽管通过IP地址可以识别主机上的网络接口,进而访问主机,但是人们最喜欢使用的还是主机名。在 TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息

4.Encapsulation

含义:当应用程序用 TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。
该过程如下图所示

5.Demultiplexing

含义:当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议
该过程如下图所示
以太网数据帧的分用过程

6.Client-Server Model

含义:大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务可以将这种服务分为两种类型:重复型或并发型
重复型.

  • 等待一个客户请求的到来
  • 处理客户请求。
  • 发送响应给发送请求的客户。
  • 返回第一步。
    重复型服务器主要的问题发生在第二状态。在这个时候,它不能为其他客户机提供服务
    并发型.
  • 等待一个客户请求的到来
  • 启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。
  • 返回第一步。
    并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。

7.Port Numbers

含义:服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。服务器使用知名端口号,而客户使用临时设定的端口号.

8.Application Programming Interfaces

使用TCP/IP协议的应用程序通常采用两种应用编程接口:socket和TLI(运输层接口:Transport Layer Interface)

posted @ 2020-09-08 23:45  如梦的少年丶  阅读(87)  评论(0编辑  收藏