Linux架构 OSI七层网络模型

OSI七层网络模型

网络建立是为了什么

为了数据的交互 通信

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:0e:a5:fb brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0e:a5fb/64 scope link 
       valid_lft forever preferred_lft forever
IP:手机号
MAC地址:身份证
IP+MAC地址 标识世界上唯一的一台电脑

img

物理层

  • 设备

    • 中继器

      中继器(RP repeater)是工作在物理层上的连接设备。适用于完全相同的两个网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。 中继器是对信号进行再生和还原的网络设备:OSI模型的物理层设备。
      中继器是局域网环境下用来延长网络距离的,但是它属于网络互联设备,操作在OSI的物理层,中继器对在线路上的信号具有放大再生的功能,用于扩展局域网网段的长度(仅用于连接相同的局域网网段)。
      中继器(RP repeater)是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。中继器就是为解决这一问题而设计的。它完成物理线路的连接,对衰减的信号进行放大,保持与原数据相同。一般情况下,中继器的两端连接的是相同的媒体,但有的中继器也可以完成不同媒体的转接工作。从理论上讲中继器的使用是无限的,网络也因此可以无限延长。事实上这是不可能的,因为网络标准中都对信号的延迟范围作了具体的规定,中继器只能在此规定范围内进行有效的工作,否则会引起网络故障。
      

      img

    • 集线器

      集线器的英文称为“Hub”。“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(即带冲突检测的载波监听多路访问技术)介质访问控制机制。集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0,不进行碰撞检测。
      集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点,如图所示,简单明了。
      HUB是一个多端口的转发器,当以HUB为中心设备时,网络中某条线路产生了故障,并不影响其它线路的工作。所以HUB在局域网中得到了广泛的应用。大多数的时候它用在星型与树型网络拓扑结构中,以RJ45接口与各主机相连(也有BNC接口),HUB按照不同的说法有很多种类。
      

      img

    • 双绞线

      双绞线(Twisted Pair,TP)是一种综合布线工程中最常用的传输介质,是由两根具有绝缘保护层的铜导线组成的。把两根绝缘的铜导线按一定密度互相绞在一起,每一根导线在传输中辐射出来的电波会被另一根线上发出的电波抵消,有效降低信号干扰的程度。
      双绞线一般由两根22~26号绝缘铜导线相互缠绕而成,“双绞线”的名字也是由此而来。实际使用时,双绞线是由多对双绞线一起包在一个绝缘电缆套管里的。如果把一对或多对双绞线放在一个绝缘套管中便成了双绞线电缆 [1]  ,但日常生活中一般把“双绞线电缆”直接称为“双绞线”。
      与其他传输介质相比,双绞线在传输距离,信道宽度和数据传输速度等方面均受到一定限制,但价格较为低廉。
      

      img

数据链路层

由单纯的电信号 0和1是有意义的,得规定多少为一组

功能是定义了电信号的组成

一组电信号构成一个数据包,数据包层称为‘帧’

帧 分为报头(head)和数据(data)

报头(head)
# 固定18个字节
    发送者/源地址 6字节
    接受者/目标地址 6字节
    数据类型 6字节

# 数据
最短46个字节,最长1500个字节

帧 1518个字节
报头+数据 18+1500 1518个字节 

# 独一无二的地址
MAC地址
00:0c:29:0e:a5:fb
前六位:厂商编号
后六位:流水号

网络层

IP协议

规定网络地址的协议叫IP协议,它定义的地址被称之为IP地址。广泛采用的是IPv4,也有IPv6(比较少用)由32位二进制组成

范围0.0.0.0 ~ 255.255.255.255
一个IP地址通常分为四段十进制数
172.16.10.1

# ip地址分为两部分(点分十进制)
网络部分:标识子网
主机部分:标识主机

单纯的IP地址只是标记IP地址的种类,单独看网络部分和主机部分都无法识别是否是独立的IP 只有两个同时看才能看是否处在同一网段

172.16.10.1 172.16.10.2     是否处在同一个网段 
255.255.255.0 255.255.0.0 

# 按位与运算
敲命令:python
下方输入:bin (数字)

1&1=1 (类似乘法)
1&0=0
0&1=0
0&0=0

172.16.10.1
10101100 00010000 00001010 00000001
255.255.255.0
11111111 11111111 11111111 00000000

# 10101100 00010000 00001010 00000000

172.16.10.2
10101100 00010000 00001010 00000010
255.255.0.0
11111111 11111111 00000000 00000000

# 10101100 00010000 00000000 00000000

## 运算结果对比,不同则不在同一网段
# 10101100 00010000 00001010 00000000
# 10101100 00010000 00000000 00000000

传输层

四层路由器,四层交换机

传输层的由来,网络层是帮我们区分子网,以太网的mac地址帮我们找到主机

我们是通过IP和mac来确定一台特定的主机,如何识别主机上的应用程序,答案就是端口

端口就是应用程序和网卡关联的编号

# 端口范围0~65535 0~1023位系统占用端口

img

SYN: 表示建立连接

FIN: 表示关闭连接

ACK: 表示响应

PSH: 表示有 DATA数据传输

RST: 表示连接重置。

TCP的三次握手

img

客户端与服务器三次握手过程介绍

(1)第一次握手:客户端将标志位SYN设置为1,并将该数据包发送给服务端,客户端进入SYN_SENT(寄送连接)状态,等待服务端确认;
(2)第二次握手:服务端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,并将该数据包发送给客户端以确认连接请求,服务端进入SYN_RCVD(收到连接)状态;
(3)第三次握手:客户端收到确认后,检查ACK是否为1,如果正确则将标志位ACK置为1,并将该数据包发送给服务端,服务端检查ACK是否为1,如果正确则连接建立成功,客户端和服务端进入ESTABLISHED(完成连接)状态,完成三次握手,随后客户端与服务端之间可以开始传输数据了。

# 三次握手之中的几个状态

1.SYNC_SENT    # 客户端发送syn建立链接的状态
2.LISTEN       # 服务端等待客户端链接是监听的一个状态
3.SYNC_RCVD    # 服务端返回ack和syn给客户端的状态
4.ESTABLISHED  # 客户端和服务端建立链接时的状态

TCP的四次挥手

img

客户端与服务器的四次挥手过程:

(1)第一次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1(等待)状态;
(2)第二次挥手:服务端收到FIN后,发送一个ACK给客户端,服务端进入CLOSE_WAIT(关闭等待)状态;
(3)第三次挥手:服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK(最后确认)状态;
(4)第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT(等待时间)状态,接着发送一个ACK给服务端,服务端进入CLOSED(关闭)状态。

# 四次挥手之中的几个状态

1.FIN_WAIT_1    # 客户端发送fin断开链接时的一个状态
2.CLOSE_WAIT    # 服务端接收到了客户端发的断开链接时返回时的一个cak状态
3.FIN_WAIT_2    # 客户端收到服务端返回ACK的状态
4.LAST_ACK      # 服务端发送fin给客户端的状态
5.TIME_WAIT     # 客户端返回给ACK给服务端,断开连接的状态

# 关闭状态
CLOSED (被动关闭再接受到ACK包后,就CLOSE状态并关闭TCP连接)
CLOSING (客户端和服务端同时发起断开链接)

会话层

  • 建立会话
  • 保持会话
    • session共享和会话保持
  • 断开会话

表示层

三大功能

  • 内码转换
  • 压缩和解压缩
  • 加密和解密

应用层

应用程序,网络服务,用户使用的应用程序

**作用:**用户使用的都是应用程序,均在工作与应用层,互联网是开发的,大家都可以使用自己的应用程序,数据各种各样,必须规定好数据的组织形式

TCP协议可以位各种程序传递数据Email www ftp 那么必须有不用的协议规定电子邮件,网页FTP的数据格式,这些应用程序构成‘应用层’

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇