TCP/IP 七层模型

.网络通信原理

 

1.OSI模型

1OSI模型的由来

1945214号世界上第一台计算机研发成功,名字叫ENIAC 挨尼阿克

1969年出现世界上第一个计算机网络,APNET 阿帕网,还有其他小网络例如HP,DEC,IBM

统一标准:国际标准化组织 ISO1984年制定了网络标准。

                OSI模型 :open system interconnection开放式系统互联模型

2OSI模型的内容

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

 

2.TCP/IP模型

1TCP/IP五层模型

应用层 http 超文本传输协议

ftp 文件传输协议

telnet 远程登录

dns 域名服务

 

传输层 tcp 传输控制协议

udp 用户数据报协议

 

网络层 ip 网络协议

icmp 网络控制消息协议

arp 地址解析协议

 

数据链路层

 

物理层

 

2TCP/IP四层模型

应用层

传输层

网络层

网络接口层

 

3.TCP/IP数据传输过程

 

发送方封装数据,接收方解封装数据。

封装:包装

 

应用层         数据 裸数据             data

传输层 TCP头部+数据 数据段             segment

网络层 IP头部+TCP头部+数据 数据包             packet

数据链路层 MAC头部+IP头部+TCP头部+数据+尾部      数据帧              frame

物理层 比特流 比特流             bit

 

                                报头+数据                                 协议数据单元  pdu

 

4.TCP/IP每层对应的物理设备

应用层 计算机

传输层 防火墙

网络层 路由器

数据链路层 交换机

物理层 网线、网卡

 

 

 

7.IP地址

 

1IP地址的表示方法

ipv4 使用322进制数表示IP地址,分为4段,每段8位,中间用.来分隔,书写时使用10进制来表示

2IP地址分为两部份

网络位:网络位代表主机所在的范围

                主机位:主机位代表一台真正的计算机

3)每类IP地址的网络位和主机位

        A 网络位.主机位.主机位.主机位

        B 网络位.网络位.主机位.主机位

        C 网络位.网络位.网络位.主机位

4 IP地址分类

        A 1-127

        B 128-191

        C 192-223

        D 224-239

        E 240-255

5)特殊IP地址

                网络位任意,主机位全0     192.168.1.0    网络号,网段

                网络位任意,主机位全1     192.168.1.255 广播地址

                网络位全0,主机位全0       0.0.0.0 任意地址,常用于设置默认路由

                网络位全1,主机位全1       255.255.255.255 全局广播地址

                网终位127,主机位任意     127.0.0.1 本地回环地址,代表自己

6)私有IP地址

        A 10.0.0.0 ---- 10.255.255.255

        B 172.16.0.0 ---- 172.31.255.255

        C 192.168.0.0 ---- 192.168.255.255

 

8.子网掩码

1)示方法

网络位全1,主机位全0

192.168.1.1 172.16.0.1 10.0.0.1

255.255.255.0 255.255.0.0 255.0.0.0

2)子网掩码的作用

                计算机判断主机之间是否能够通信的标准:网络号一样

 

.物理层和数据链路层

 

1.物理层

1)物理层传输介质

有线介质

双绞线  类型:屏蔽双绞线  非屏蔽双绞线

                型号:cat5,cat5e,cat6,cat7

                最大传输距离100M

水晶头制作规范: T568B:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕

网线的制作类型:直通线:两头一样 连接不同设备      PC----交换机

            交叉线:两头不一样 连接相同设备      PC-----PC

                            全反线:console接口          

光纤          类型:单模,多模

                无线介质  :无线电,微波,激光,红外线

2)物理层设备

网卡         每块网卡都有一个全球唯一的硬件地址(mac地址)

中继器     放大信号,延长数据传输距离,只有两个接口。

集线器     多端口中继器,同时为多台电脑放大信号,组建一个星型拓扑的网络。

 

2.数据链路层(以太网)

1)什么是以太网

通过交换机把电脑连接在一起,构成的网络就是局域网,也叫以太网  ethernet

2)以太网的问题

同一时刻只能有一台主机发送数据帧,如果有多台主机发送数据帧,数据就会产生

碰撞,最终都无法发送数据帧。

3)解决数据帧碰撞问题

CSMA/CD:载波侦听多路访问/冲突检测

每次发数据帧前,先发送一个检测数据帧,如果检测到有数据帧正在发送,则等待一会,

再次发送检测数据帧,如果检测到没有数据帧在发送,则立刻发送数据帧。

集线器:平面式的交通

交换机:立体式的交通

4)以太网的mac地址

482进制数来表示,前24位是厂商编号,后24位是网卡的生产编号,第8位为0是单播地址,第81是组播地址。

单播地址:一对一

组播地址:一对多

广播地址:一对所有   FF-FF-FF-FF-FF-FF

书写的时候使用16进制,1216进制数  mac地址:00-D8-61-EA-F1-CA  

查看本机的MAC地址:ipconfig /all

                更改MAC地址:

网卡--更改适配器设置--ethernet0--属性--配置--高级--locally  administratorered address--值  “000c2900000

5)以太网帧格式

目的地址  源地址    类型          数据                  帧校验序列

---------   ---------    -------      ---------------- -------------

  6字节       6字节   2字节        46-1500字节                4字节

 

目的地址:目标主机的MAC地址     源地址:发送端主机的MAC地址     类型:此数据在网络层是由哪个协议进行的封装  ip,icmp,arp

一个以太网数据帧的大小:报头+数据+报尾

6)以太网的命名方法

速率: 10兆、100兆、1000兆、  网线,网卡,交换机。

信号:基带  base

介质:双绞线 TX  , 光纤 FX

 

3.以太网交换机

1)交换机:交换机是把电脑连接在一起的设备,构成一个局域网。

2)交换机工作原理

交换机根据MAC地址表转发数据帧,MAC地址表默认是空白的,交换机需要通过学习数据帧的源MAC地址来形成MAC地址表。

学习:学习数据帧源MAC地址和交换机端口的对应关系

广播:向除了进口之外的所有端口广播

转发:根据MAC地址表转发数据帧

更新:MAC地址表中记录生存时间为300

3)交换机端口的双工模式

          工:  一个信道,只能接收或发送数据。

半双工 half: 一个信道,不能同时接收和发送数据。

全双工 full : 二个信道,同时接收和发送数据。

4)冲突域和广播域

冲突域:同一时刻发送数据帧会产生冲突的网络节点的集合。 解决冲突:交换机。(交换机的每个端口都是一个独立的冲突域。)

广播域:能够接收到广播消息的网络节点的集合。                  解决广播:路由器。(路由器的每个端口都是一个独立的广播域。)  

路由器的主要功能就是屏蔽广播数据包,提高网络性能。            

   

.网络层

 

1.网络层的功能:定义了IP地址,连接不同的网络,选择最佳路径。

2.IP数据报报头字段

   报头的大小:共分为5行 ,每行4个字节,一共20个字节。

ip数据报

  -----------------------------------------------------------------------------------------

  1行   版本号     |   首部长度 |     优先级与服务类型   |    总长度 4字节

  -----------------------------------------------------------------------------------------

  2 标识符   |          标志 |      段偏移量 4字节

  -----------------------------------------------------------------------------------------

  3 TTL |         协议号 4字节

  -----------------------------------------------------------------------------------------

  4 源地址   4字节

  -----------------------------------------------------------------------------------------

  5 目标地址 4字节

  -----------------------------------------------------------------------------------------

  6                扩展报头 0-40字节

  -----------------------------------------------------------------------------------------

  7 数据         200字节

  -----------------------------------------------------------------------------------------

    版本号:                     当前IP地址的版本                                          首部长度:    IP报头字节的数量(20-60字节之间)

    优先级与服务类型: IP数据报是否需要优先发送                        总长度:       报头加数据的总的大小

    标识符                 IP数据报的编号                                              标志:          当前数据是否经过分段

    段偏移量:当前分段距离初始位置的数值                                       TTL:               time  to live  生存时间  (每个数据报发出去时,会添加一个生存时间,windows128linux 64 、网络设备 255。)

                                                                                                                                                            (数据包每经过一个路由器(一跳)TTL会减1,当TTL0时,任何路由器都拒绝转发此数据包。)

    协议号:                  此数据在被IP协议封装之前,还被哪些协议封装过。(例:1   icmp      6   tcp    17   udp

 

3.IP数据包封装过程地址分析:  网络层地址始终不变,数据链路层地址不断变化。

 

4.ICMP协议(网络控制消息协议)

作用:探测网络连接情况      手段:ping -t 目标IP或目标主机名     双向,有去有回。

1)       消息提示

reply from 正常访问

request timed out 请求超时

destination host unreachable               目标主机不可达

2)       icmp报文类型:

echo 8 请求

echo replay   0 回应

 

5.ARP协议(地址解析协议)

作用:ip地址=>mac地址

解析的方式:发送arp广播,得到mac地址后,缓存到arp缓存表中

 

.传输层和应用层

 

1.传输层

端口号:每台主机都有65535个端口。(数据从发送端口主机的某一个端口出去,发送到接收端主机的某一个端口。)

传输层只负责定义端口号,真正负责传输数据是网络层和数据链路层。传输层负责数据端(端口号)到端的传输,网络层负责数据点到点的传输。

 

2.传输层协议

--TCP:传输控制协议       面向连接的可靠的协议,传输效率低。

--UDP:用户数据报协议   面向非连接的不可靠的协议,传输效率高。

 

3.TCP报头的格式

TCP报头

    ---------------------------------------------------------------------------------------

    1 源端口号                    |            目标端口 4字节

    ---------------------------------------------------------------------------------------

    2 序列号 4字节

    ---------------------------------------------------------------------------------------

    3 确认号 4字节

    ---------------------------------------------------------------------------------------

    4 首部长度|保留位| 控制位(syn,ack,fin,rst,urg,psh)| 窗口大小 4字节

    ---------------------------------------------------------------------------------------

    5 校验和      |   紧急指针 4字节

    ---------------------------------------------------------------------------------------

    6 可选项 0-40字节

    ---------------------------------------------------------------------------------------

    7 数据

    源端口:数据从发送端主机的哪个端口出去,192.168.1.11038 。         目标端口:数据要发送到目标主机的哪个端口, 192.168.1.280

    序列号:TCP数据报的编号                                                                        确认号:确认收到TCP数据包后,告诉发送端到底接收到了哪个数据段。(确认号=发送端发送的TCP数据报的序列号+1

    控制位: syn ,ack, fin, rst, urg, psh

一些特定的开关: 0 =关闭,1=开启。/ syn=1 发起连接的报文 / ack=1 确认报文 / fin=1 中断连接的报文

 

4.TCP三次握手:使用TCP协议传输数据的过程。

建立连接--------传输数据----------释放连接

主机A 主机B

    ---------------------------------------------------------------------------------------------------

    第一次     序列号   0

    控制位   syn=1

    ----------------------------------------------------------------------------------------------------

    第二次    回应:

确认号  0+1=1

控制位   ack=1

   连接请求:

 序列号    0

 控制位   syn=1

    ------------------------------------------------------------------------------------------------------

    第三次  序列号  1

 确认号  0+1=1

 控制位  ack=1

    -------------------------------------------------------------------------------------------------------

 

5.TCP四次挥手:中断连接.

 

主机A 主机B

    -----------------------------------------------------------------------------------------

    第一次 我要跟你分手

fin=1 ack=1

    -----------------------------------------------------------------------------------------

    第二次 我知道了

ack=1

    ------------------------------------------------------------------------------------------

    第三次 我也要跟你分手

fin=1 ack=1

    ------------------------------------------------------------------------------------------

    第四次 我知道了

ack=1

    ------------------------------------------------------------------------------------------

 

6.TCP计时器

1TCP重传计时器

主机在发送完数据后,会立刻开启一个时间为60秒的重传计时器,如果在60

内没有接收到接收端的确认报文,则重传数据。

2TCP保活计时器

当客户机连接到网站服务器后,网站服务器会开启一个时间为2小时的保活计时器,

如果在2小时内,客户端没有任何活动,服务器则每隔75秒给客户机发送一个探测

数据段,一共发送10个,如果客户端还是没有任何反应,则断开连接。

 

7.基于TCP的应用层协议

1. http   80\tcp        2. ftp   21\tcp      3.  telnet    23\tcp       4.  dns   53\tcp

记录所有协议和端口号的文件:      C:\Windows\System32\drivers\etc\services

 

8.UDP协议

1UDP报头结构

UDP报头

    -------------------------------------------------------------------------------------------

    1 源端口号 |    目标端口号 4字节

    -------------------------------------------------------------------------------------------

    2 UDP长度 | UDP校验和 4字节

    -------------------------------------------------------------------------------------------

    3 数据

    -------------------------------------------------------------------------------------------

2)基于UDP的应用层协议

1. tfty   69/udp   2. dns   53/udp       3. ntp   123/udp       4.  rpc    111/udp

 

posted on 2020-12-25 17:09  沉吟至今  阅读(2555)  评论(0编辑  收藏  举报

导航