TCP/IP协议模型详解


一、网络协议模型

  1.OSI络协议模型

      OSI层协议(Open System Interconnection):将网络连程分成数个(layer),每个都有特定的独立功能,且每个次的程序代可以独立撰写,每个的功能不会相互干

  明:

      1)越接近硬件的(layer1),越接近用程序的则为(layer7)

      2)接收端或者送端,每一认识对方的同一次的数据

      3)都有其独特的部数据header,告知方信息,其后的数据数据

TCP/IP协议模型详解_第1张图片

  (1)物理Physical Layer

        义传输设备电压与信号等,接数据帧转换成比特流的编码方式,最后实际传输质发/接收比特信号

  (2)数据Data-Link Layer

        层为实体的定,上层为软件封装的定。数据又可分

偏向硬件介MAC数据media Access Control frame,接口所能理的主要数据包裹,被物理层编码成比特流

偏向面:逻辑链(Logical Link Control)多任务处理来自上的数据包数据并转换MAC格式

                   信息交、流量可控制、数据问题处

  (3)络层Etwork Layer

        IP(Internet Protocol)和路由概念,算机接建立、止和持,数据包的传输路径选择

  (4)传输层Transport Layer

        送端和接收端连接技术,如TCPUDP… 包括数据包格式、数据包送、流程的控制、传输过程的帧检测与重新

  (5)话层Session Layer

        两个四肢接信道的接与中断,在确定网建立接的确

        也可以建立用程序的会、提供其他加型服

  (6)表示Presentation Layer

        (或程序)的数据格式转换:将来自本地端用程序的数据格式转换或重新编码成网准格式

        加密解密技

  (7)用层Appliation Layer

        用程序并不属于应用程序本身,用来同一管理调度数据对应其发送和接收的应用程序

        义应用程序如何该层的沟通接口,以将数据接收或给应用程序,最展示

 

  2.TCP/IP协议

        TCP/IP协议OSI层协议念上层结构,在构上没OSI层协议严谨,但程序撰写上会容易得到广泛使用。

        TCP/IP协议将应用层、表示层、会话层整合为应用层

    用层:将数据封装一个TCP/IP协议组内某个特定使用到的协议,交由传输层处理

    传输层:放入TCP封装内,并TCP封装的首部文,交由网络层处

    络层:封装IP数据包内,IP首部,交由网接口层处

    接口MAC封装,比特流传输

TCP/IP协议模型详解_第2张图片

 

  3.模型对应层级关系

     OSI层协议只是一个参考模型,详细阐述网各方面情况,实际TCP/IP协议

TCP/IP协议模型详解_第3张图片

 

 

 

二、网络层IP协议

  1.IP协议

     (1)IP协议版本

IPv432bits四段,点分十制表示,8bits.8bits.8bits.8bits

 8bits表示用以数字0-255标识

00000000.00000000.00000000.00000000 === 0.0.0.0

11111111.11111111.11111111.11111111 === 255.255.255.255

IPv6128bits

     (2)IP(Internet protocol)地址:网+主机号

            在同一物理网段内,主机的IP具有相同的网号,并具有独特的主机号;同一网段内的主机其主机号不能相同

      注意:

            1) 同一网段内,网号不,主机号不能重复

            2)0表示整个网段的地址,全1表示广播地址

     (3)IP地址分

         A类

第一段号,后三段主机号

号:0 000 0000 - 0 111 11111-127

数量:126127

每个网中的主机数量:2^24-2

子网掩255.0.0.0/8

用于与IP地址按位行“与”运算,从而取出其网地址;

1.3.2.1/255.0.0.0 = 1.0.0.0

1.3.2.1/255.255.0.0= 1.3.0.0        

私网地址:10.0.0.0/255.0.0.0

       B类

前两段号,后两段主机号

号:10 00 0000 - 10 11 1111128-191

数:2^14

每个网中的主机数量:2^16-2

子网掩255.255.0.0/16

私网地址:172.16.0.0-172.31.0.0                                                                

       C类

前三段号,最后一段主机号

号:110 0 0000 - 110 1 1111192-223

数:2^21

每个网中的主机数量:2^8-2

子网掩255.255.255.0,  /24

私网地址:192.168.0.0-192.168.255.255

       D类:组播的特俗公用

1110 0000 - 1110 1111224-239

       E类保留

240-255

总结

Class A0.xx.xx.xx ~ 127.xx.xx.xx,私有地址10.0.0.0 ~ 10.255.255.255

Class B128.xx.xx.xx  ~ 191.xx.xx.xx,私有地址172.16.0.0 ~ 172.31.255.255

Class C192.xx.xx.xx  ~ 223.xx.xx.xx,私有地址192.168.0.0 ~ 192.168.255.255

Class D224.xx.xx.xx  ~ 239.xx.xx.xx

Class E240.xx.xx.xx  ~  255.xx.xx.xx

注意:Loopback IP网段

    lo网络,当初被用来作为测试操作系统内部循环所用的一个网络,同时还能提供系统内部原本就需要使用网络接口的服务所使用。为内部循环网络,无需安装网卡使用,其地址号为127.0.0.0/8,默认的主机IP127.0.0.1,即为localhost

 

  2.Netmask子网掩码

      将一个大的网段地址划分成更小的网络地址,减少网段内的主机数量,使得更加方便管理,以及广播时效率提高

      方式:通过将一位或多位主机号当做网络号来使用,将网络号全部表示为1,主机号全部用0标识来进行子网划分

 

  3.ip文首部( 每行占用的位数32bits)

TCP/IP协议模型详解_第4张图片

    (1)IP Version:声明ip数据包的版本,ipv4ipv6

    (2)IHLInternet Header Lengthip文首部度,以4节为一个位来记录IP报头的长度

    (3)TOSType Of Service,服务类型,通标识IP数据包的、延传输量和可靠度等信息

    (4)Total LengthIP数据包的总长度,包括报头和数据部分、用16个字表示0-65535bytes

    (5)Identtification标识信息,辨数据段是否一个数据

    (6)Flags:特殊RDFMF,内容可以标识为"0DM"

D0表示可以分段,1表示不可以分段

M0表示此IP最后分段,1表示非最后分段

    (7)Fragment Offset:分段偏移量,用以标识这IP分段在原始的IP数据包中所占的位置,似于序号作用

    (8)Time To Live:存在时间,最多255转发,每次经过一个路由器减一到0弃不再转发

    (9)Protocol Number协议(TCP--6UDP--17ICMP--1IP--4… ...),数字描述;

    (10)Header Checksum报头首部校验码,用于检测IP报头是否存在错误

    (11)Source Address:来源IP地址

    (12)Destination Address:目IP地址

    (13)Options:填充位,提供包括安全理机制、路由记录时间戳、格与松的来源路由等

    (14)Data:真数据

 

 

 

三、传输层TCP协议

  1.TCP文首部

TCP/IP协议模型详解_第5张图片

    (1)Source Port:源端口号

    (2)Destination Port端口号,通过16字节标识0-6553565536个端口

    (3)Sequence Number:数据包序列号TCP数据分段

    (4)Acknowledgement Number:回应序列号

一次一批候使用序列号和确号,TCP三次握手的第一次无确

    (5)Header Length首部

    (6)Reserved保留位(6)

    (7)Codecontrol Flag,标志控制码

        该字段有6bits组成,每个bits标识一种含义,用以说明这个连接的状态,让接收端连接这个数据包的主要动作

URG(Urgent)1标识为紧急数据包,接收端要紧急处理,且Urgent Pointer字段也会被启用

ACK(Acknowledge)1表示为响应数据包,和Acknowledeg Number有关

PSH(Push Function)1表示要求对方立即传送缓冲区内的其他对应数据包,无需等待缓冲区满才传送

RST(Reset)1表示强制结束连接,且发送端已经断线

SYN(Synchronous)1表示发送端希望双方建立同步处理(要求建立连接),主动要连接到对方

FIN(Finish)1表示传输结束

    (8)Window Size:窗口滑动,用来控制数据包的流量,0表示缓冲器已经额满,所以应该暂停数据传输

    (9)TCP Checksum:确认校验码

    (10)Urgent Pointer:紧急数据

    (11)Options填充位变长度,多数情况不使用

    (12)Data数据

 

  2.TCP协议三次握手机制

      Three-way handshakeTCP在建立连接之前都必须要通过的三个确认动作

      (1)第一阶段:数据包发起

  1)随机取用大于1024的端口,监听用于和应用程序通信

  2)TCP报头:SYN=1,表示要求建立连接,,主动连接到对方

  3)TCP报头:Sequence Number(Client)记录下第一次发送出连接数据包给服务器端的序列号

      (2)第二阶段:数据包接收和确认数据包传送

  1)服务器端接收到数据包,并确认所接收的数据包

  2)回应数据包:TCP报头中

          SYN=1ACK=1,表示主动连接且为响应数据包

          Acknowledgement Number(Service)=Sequence Number(Client) + 1,给客户端确认使用

          Sequence Number(Service)新数字,用于确认客户端确实可以收到服务器端的数据包

  3)等待客户端响应

      (3)第三阶段:回送确认数据包

  1)确认收到报文的Acknowledgement Number(Service)是否为Sequence Number(Client) + 1

  2)再次发送数据吧:ACK=1Acknowledgement Number(Client)=Sequence Number(Service) + 1

      (4)第四阶段:取得最后确认

                服务器端验证

TCP/IP协议模型详解_第6张图片


本文出自 “许鼎的博客” 博客,转载请与作者联系!

你可能感兴趣的:(IP,tcp,osi)