TCP/IP协议

来源:互联网 发布:早起打卡软件 编辑:程序博客网 时间:2024/05/16 19:39

1、引言

Internet标准:RFC

 

 

2、OSI参考模型与TCP/IP协议族

2.1、ISO组织定义了OSI(开放系统互连)参考模型

OSI参考模型定义了网络中设备所遵守的层次结构      对等通信

提供应用程序间通信      7   应用层      APDU     应用层

处理数据格式、数据加密等 6   表示层     PPDU     表示层

建立、维护和管理会话    5   会话层      SPDU     会话层

建立主机端到端链接      4   传输层   Segment(段)  传输层

寻址和路由选择          3   网络层    Packet(包)   网络层

提供介质访问、链路管理等 2   数据链路层 Frame(帧) 数据链路层

比特流传输              1   物理层      Bit       物理层

注:每一层都使用自己的协议;每一层都利用下层提供的服务与对等层通信。每一层可以同时存在多个实体,可以同时存在多个协议。存在通信关系的对等层实体才是对等实体。

PDU(协议数据单元)

数据封装与解封装:

2.2、TCP/IP协议族

TCP/IP模型的层次结构:

7   应用层

6   表示层                应用层    4  (Telnet ,FTP和SMTP,HTTP等)

5   会话层

4   传输层                 传输层     3   (TCP和UDP)

3   网络层                网络层    2   (IP,ICMP和IGMP)

2   数据链路层

1   物理层                 网络接口层 1   (设备驱动程序及接口ARP,RARP)

 

链路层:处理与电缆(或其他任何传输媒介)的物理接口细节

网络层:处理分组在网络中的活动,例如分组选路

传输层:为两台主机上的应用程序提供端到端的通讯。

应用层:处理特定的应用程序细节

 

客户—服务器模型:重复型或并发型

 

2.3、编址

   1、物理地址:链路地址/硬件地址(Mac地址)  ==》数据链路层

       标识通信节点

   2、IP地址:网络地址                    ==》网络层

       标识通信节点的网络连接

       Internet指定

   3、端口地址                             ==》传输层

       标识通信进程

       操作系统指定

 

 

 

3、底层网络技术

3.1、传输介质

   有线介质—导线管

      双绞线,同轴电缆,光纤

    无线介质—电磁波

      8个频段

3.2、局域网(LAN)

      共享介质—广播式

  3.3、交换

       交换系统:有多个输入和输出的“黑盒子”

       电路交换:建立连接,数据传输,拆除链接

分组交换(数据报:传输过程分割数据报,虚电路)

报文交换

3.4、广域网(WAN)

    交换网络----点到点式

      电路交换,分组交换

3.5、连接设备

    (1)、转发器/集线器:物理层

    (2)、网桥/交换机(维护一个地址表):物理层、链路层

    (3)、路由器:物理层、链路层、网络层

  (4)、网关:物理层、链路层、网络层、传输层、会话层、表示层、应用层

 4、IP编址

4.1、引言

   IP地址----通用标识符

    唯一标识互联网上的主机或路由器

4.2、IP地址结构

   (1)、32位二进制地址:网络号+主机号

   (2)、IP地址表示----点分十进制

   (3)、IP地址分类:

      A类:0.0.0.0~127.255.255.255    7+24

      B类:128.0.0.0~191.255.255.255  14+16

      C类:192.0.0.0~223.255.255.255  24+8

      D类:224.0.0.0~239.255.255.255  无

      E类:240.0.0.0~255.255.255.255  无

   (4)、多接口设备

      多接口计算机

      路由器

   (5)、网络地址

   (6)、单播地址:可以是A、B、、或C类

   (7)、多播地址:D类

   (8)、广播地址:本地及

   (9)、申请IP地址

   标识网络连接的IP地址数目:

 A类  网络数 126      主机IP数/网络 2^24 -2

   B类  网络数 2^14      主机IP数/网络 2^16 -2

C类  网络数 2^21      主机IP数/网络 2^8 -2

 

     (10)、子网划分:将一个IP类网划分成几个较小的子网

         掩码:子网掩码;默认掩码

      (11)、掩码表示:确定掩码,就确定了子网的大小

         255.255.255.192<==>/26

   最小的IP子网的掩码是多少?  255.255.255.252

 

     (12)、IP分组传输环境:多个网络存在差异:通信能力,分组长度,延时

(13)、IP通信----无连接通信

 (14)、路由表的大小只与网络的个数有关,与每个网络的大小无关

     路由器独立选路,从A到B的路径可能与从B到A的路径不是同一条

只有最后一个路由器才知道目的主机是否存在

 (15)、路由表的构成过程:
    初始化阶段-----路由发现

    维护阶段------路由更新

 

 

4、网际协议(IP)

(1)、IP:不可靠(跨越多个异构物理网)无连接(尽最大努力交付)数据报协议

(2)、数据报(Datagram)

   报头:20~60字节 数据20~65536字节

(3)、IP协议只有一种报文格式---IP数据报

 (4)、IP协议功能:传递数据。缺乏应付可能出现差错的能力

(5)、ICMP为IP提供差错报告机制,为其它层提供辅助功能

(6)、ICMP报文封装在IP中,只能送到指定目的站

(7)、由于IP的无连接性,ICMP只能向源站报告

(8)、源站对ICMP报告可能无能为力

(9)、ICMP在实际中用途较广,但对网络的控制能力较弱

 

 

 

5、UDP

(1)、引言:

传输层功能:

  。作为应用程序和网络操作的中介物

  。创建进程到进程的通信

  。提供差错控制和流控

传输层协议:

  。TCP,传输控制协议

  。UDP,用户数据报协议

(2)、进程到进程的通信

(3)、通信特点:无连接、不可靠

 

6、TCP

(1)、提供通用的、可靠的进程到进程的通信服务;提供统一的数据流投递服务接口

(2)、可靠特征:

。面向数据流的传输:无结构字节流:没有边界,内容任意

。虚电路连接---端到端连接

。有缓冲的传送----提高传输效率

。全双工服务

(3)、可靠性保证:

。采用面向连接的通信方式

。滑动窗口协议,以提高通信性能

。捎带确认方式

。TCP只有一种报文格式,完成

(4)、TCP上通信双方抽象的虚电路连接

(5)、报文段格式:

(6)、控制字段:

      。报文类型、流控、连接建立和拆除

        URG

        RST

        ACK

        SYN

        PSH

        FIN

(7)、TCP的确认机制

     确认机制——带重传的肯定确认。

。接收方收到正确的数据后,向源站回送ACK报文

。发送方重传错误数据(受损报文、丢失报文)

 累计确认

。ACK number是接收方希望接收的下一个字节

。对ACK number以前的所有字节的确认

(8)、超时重传机制

   发送方发送数据时启动一个定时器

(9)、滑动窗口:拥塞避免

(10)、三次握手:建立连接

(11)、四次握手:拆除连接

 

TCPUDP区别总结:
1TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
3TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
  UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、
TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

 

7、DNS

(1)、名字空间

     平面名字空间:无结构的字符序列

     层次名字空间:若干部分组成,如域名

(2)、解析:将域名映射为IP地址

 

 

 

 

 

1、网络接口层(链路层)的功能

   作用是负责将数据转换为数字信号在物理设备之间传输。

带宽10Mb     下载速度最高限制为1.25MB    b为bit位     B为Byte字节

 

全双工模式

 

MAC地址:

Mac地址就是硬件地址;

当数据走到网络接口层时候,必须要知道目标的mac地址;

网络中的网卡设备都有mac地址,mac地址是不可路由的;

Mac地址是唯一的,可以人为改掉;

Mac地址采用十六进制数表示,共六个字节(48位);如:00:oC:29:1D:94:09

 

以太网和IEEE 802封装:

  主机使用的以太网RFC:894分组

 

 

2、网络层

网络层的作用:寻址和路由选择

 

ARP和RARP协议:

   ARP,即地址解析协议,把IP解析为MAC地址。

   每台网络设备都有一个动态ARP信息表;

网络在传输数据时,我们直观的感觉是通过IP地址来传输,但实际上,数据在底层传输时,是通过机器能识别的MAC地址来传输数据。

RARP,即反向地址解析,常在DHCP场合应用。

 

IGMP和ICMP协议:

IGMP,用于组播

ICMP,即控制报文协议,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否可达、路由是否可用等网络本身的消息。这些控制信息虽然并不传输给用户数据,但是对于用户数据的传递起着重要的作用。

 

IP协议:

   IP是Internet Protocol,网络之间互联的协议。

   在因特网中,它是能使连接到网络上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则,任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互联互通。

 

认识IP地址:

   IPV4:192.168.100.2  点分10进制,共32位

   IPV6:fe8o::55e5:a4d1:ecce:79oc%16   128位

   IP的最大特点是:公网地址全球唯一性。

  

IP地址的分类:

   A类:0+7位网络号 主机号24位

1.0.0.0到126.0.0.0 ,0.0.0.0和127.0.0.0保留

   B类:10+14位网络号 主机号16位

        128.1.0.0到191.254.0.0 ,128.0.0.0和191.255.0.0保留

   C类:110+21位网络号 主机号8位

        192.0.1.0到223.255.254.0 , 192.0.0.0和223.255.255.0保留

   D类:1110

        224.0.0.0到239.255.255.255用于多点广播

   E类:11110 

        240.0.0.0到255.255.255.254保留

        255.255.255.255用于广播

 

常见的特殊IP-1

   私网IP:

   A类:10.0.0.1--10.255.255.254   

   B类:172.16.0.1--172.31.255.254

   C类:192.168.0.1--192.168.255.254 

常见的特殊IP-2

   本机IP,即回环地址:127.0.0.1,本机内部通讯;

   网络地址与广播地址;

  169.254.*.*当电脑无法获取到IP时,会自动为自己分配一个;

   任意地址:0.0.0.0

 

IP子网划分:

好处:节省IP资源;方便划分VLAN,分割局域网

IP地址与子网掩码:

子网掩码和IP地址一样也是32位;

子网掩码用于定义网络地址;

默认掩码:

    A类:10.0.0.0/8 或者10.0.0.0/255.0.0.0

    B类:172.16.0.0/16 或者172.16.0.0/255.255.0.0

    C类:192.168.1.0/24 或者192.168.1.0/255.255.255.0

划分子网就是网络位找主机位借位。

 

**子网划分步骤:(以C类为例:192.168.0.0):

第一步:确定一个子网里准备有多少个主机,假设有45个

第二步:确定子网掩码是什么,256-64=192,即255.255.255.192

第三步:能分成几个子网,256/64 = 4个

第四步:每个子网的起始至结束地址是什么,

a:192.168.0.0-192.168.0.63;

b:192.168.0.64-192.168.0.127;

c:192.168.0.128-192.168.0.191;

d:192.168.0.192-192.168.0.255

第五步:每个子网的网络地址和广播地址是多少(第一个是网络地址,最后一个是广播地址)

第六步:一个子网里可用地址有几个,即减去网络、广播、网关地址

 

 

3、传输层

传输层功能:

    分段上层数据

    建立端到端连接

    透明、可靠传输

    流量控制

 

传输层协议:

    主要有TCP/IP协议族的TCP协议和UDP协议。

 

TCP的特点:

    。三次握手               。确认机制

      》建立可靠连接           》应答接收

    。端口号                 。序列号

      》多路复用                》丢失检查、乱序重排

    。完整性校验            。窗口机制

      》差错检测                》流量控制

 

TCP与UDP的对比:

功能项          TCP                    UDP

连接服务器的类型   面向连接               无连接

维护连接状态      维持端到端的连接      不维护连接状态

 

对应用层数据的     对应用层数据进行

封装               分段和封装,用端口号   与TCP相同

                   标识应用层程序

 

数据传输          通过序列号和应答机制   不确保可靠连接

                   确保可靠连接                 

 

流量控制          使用滑动窗口机制控制   无流量控制机制

                   流量

 

 

4、应用层

常见的服务与默认端口:
端口有TCP与IP之分;

    常见的服务端口对应表:

         服务           默认端口        相关软件

        WEB             TCP  80        Apache,Nginx,IIS

        FTP              TCP  21        VSFTPD,PURE-FTP

        DNS             UDP  53        bind,powerdns

         SMTP            TCP 25     

        POP3             TCP  110   

        SSH              TCP  22        OPENSSH

        ROP              TCP  3389

         .......

 

关于端口的一些知识:
netstat命令:

    更改服务的默认端口(保留号0-1024,自定义端口号1025-65535)。

 

原创粉丝点击