美文网首页程序员
TCP/IP 卷Ⅰ协议-绪论

TCP/IP 卷Ⅰ协议-绪论

作者: 谁吃了我的薯条 | 来源:发表于2018-01-10 18:57 被阅读0次

    TCP/IP 概述

    简介:本系列文章,主要对TCP/IP协议族进行概述,其实对于整个计算机网络来说,TCP/IP只是属于其中的一个或者两个层级里面的内容;

    1.1 分层

    网络协议通常分不同的层次进行开发,每一层分别负责不同的通信功能。TCP/IP通常被认为是一个四层的协议系统,如下图1-1所示。


    1.1.1 各层简介

    • 链路层,又称为数据链路层,主要负责设备驱动系统与计算机对应的网络接口;
    • 网络层,主要负责处理分组在计算机网络中的活动,代表为IP协议;
    • 运输层, 主要为两台主机的应用程序,提供端到端的通信,包括 TCP 协议和UDP协议;
    • 应用层,负责处理特定的应用程序细节,包括 FTP议 和 SMTP 协议

    1.2 TCP/IP的分层

    在TCP/IP协议族中,有很多协议,下图1-2给出了主要协议:


    图1-2 TCP/IP协议族中的不同层次协议

    TCP与UDP是两个主要的运输层协议,它们都使用IP协议作为网络层的协议;其中TCP提供可靠的运输层服务,它具有超时重传等特点,而UDP协议,提供非可靠的运输层服务。
    关于两者的详细,在以后的文章中体现;

    1.3 互联网的地址(此处主要为IPV4)

    互联网的每个接口都必须有一个唯一的Internet地址,也成为IP地址。其长度为32bit。IP地址具有五类不同的互联网地址格式,如下图所示:

    类型 范围
    A 0.0.0.0 TO 127.255.255.255
    B 128.0.0.0 TO 191.255.255.255
    C 192.0.0.0 TO 223.255.255.255
    D 224.0.0.0 TO 239.255.255.255
    E 240.0.0.0 TO 247.255.255.255

    此32为地址,被分成四个十进制的数,其中每一个整数代表为一个字节,此种方法被称为:点分十进制表示法 (Dotted decimal notation),故其各个IP地址的范围为:

    类型 范围
    A 0.0.0.0 TO 127.255.255.255
    B 128.0.0.0 TO 191.255.255.255
    C 192.0.0.0 TO 223.255.255.255
    D 224.0.0.0 TO 239.255.255.255
    E 240.0.0.0 TO 247.255.255.255

    1.4 域名系统DNS

    为了网站访问的方便以及易记性,设计了一种IP与主机名之间映射信息的系统,即DNS域名系统,它是一个分布式的数据库;任何应用系统都可以调用一个标准的库函数来查看给定民称主机的IP地址,反之亦然;

    1.5 分装

    当应用程序使用TCP传送数据时,数据会被放入到协议栈中,然后逐层通过直到被当作一串比特流送入网络(数据链路层)。其中,每一层对接受的数据都要增加一些首部信息(有时也会增加尾部信息),进行区分,该过程如下图所示。

    封装

    在信息传递过程中,由于TCP、UDP等都像IP传送数据,因此IP会在IP首部中加入一个长度为8bit的数值,称作协议域。1代表ICMP协议,6代表TCP协议,17代表UDP协议;

    类似的在应用程序采用TCP或者UDP传输数据时,也会在TCP首部使用一个16bit的数值来表示不同的应用程序,成为端口号;比较常用的1--1023,80,3036等;

    链路层在发送和接收IP、ARP和RARP数据,同样需要再以太网的帧首部加入某些形式的标识,已表明生成数据的网络层协议。为此,以太网帧首部加入了一个16bit的帧类型域;

    1.6 分用

    当目的主机收到一个以太网数据帧时,数需要从协议栈中取出(有底向上升),同时去掉个协议层的加上的报文首部。每层协议盒都要去检查报文首部的协议标识,已确定接受数据的上层协议,这个过程就是分用;
    其图示标识方式如下:


    分用

    1.7 客户-服务器模型

    大部分网络应用程序在编写时都假设一段为客户,另一端为服务器,其目的是为了让服务器为客户提供一些特定的服务;
    这种服务,可以分为两种:重复型和并发型;
    重复型交互方式如下:

    1. 等待一个客户的请求
    2. 处理客户的请求
    3. 返回响应给发送请求的客户
    4. 返回第1步;
      其主要问题在与第2步,此时,其它请求无法被处理,只能够等待;

    而并发型服务器交互方式如下:

    1. 等待一个客户的请求
    2. 启动一个新的服务器处理来自此客户的请求,在此期间可能产生一个新的进程、任务或者线程,并依赖底层操作系统的支持;且请求处理完毕后,终止新服务器;
    3. 返回第1步;
      并发型的主要优点是,利用生产其他服务器来处理别的请求。可以同时为多个用户服务;
      一般来说,TCP服务器是并发的,UDP服务器是重复的;

    1.8 端口号

    1.5中,我们已经直到,TCP/UDP采用16bit的端口号来识别应用程序;
    一般,FTP服务器的端口号为21,Telnet服务器的端口号围殴23...,大多数知名端口都分布在1--255之间,而256--1023通常被Unix系统占用,以提供一些特定的服务。
    因此,大多数TCP/IP实现给临时端口分配1024--5000之间的端口号,大于5000的端口号为其他服务器预留;

    1.9 应用编程接口

    使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket 和 TLI;
    这些会在以后的学习中遇到;

    @Author:hsjfans AND Website

    相关文章

      网友评论

        本文标题:TCP/IP 卷Ⅰ协议-绪论

        本文链接:https://www.haomeiwen.com/subject/xaxanxtx.html