刘刚刚的个人博客

编程基础--tcp/ip协议


互联网通讯的多个协议,他们之间不互影响。通过组合成为了计算机间通讯的基础。

osi 5层协议

1036857-20200415215541847-564448301

1. 物理层

将电脑通过硬件连接起来,主要传输1、0信号

2. 数据链路层

  • 以太网协议

    物理层单独的0、1是没有任何意义的,在链路层以太网协议规定,每组数据为一帧(frame),每一帧分成两个部分:标头(Head)和数据(Data)。

    "标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。

    "标头"的长度,固定为18字节。"数据"的长度,最短为46字节,最长为1500字节。因此,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送

  • MAC地址

    在以太网协议的表头中,发送者及接受者的标识即网卡的MAC地址。每块网卡都有唯一的一个MAC地址

  • 广播

    表头通过arp可以知道对方的MAC地址,在以太网中,如果要给另外一台计算机发送信息,那么这台计算机会给所有的计算机发送消息,接受到消息的计算机会读取以太网协议中的标头,如果MAC地址和自己一样则接受,如果不一样则丢弃这个包。

3. 网络层

当电脑在不同的子网时,不能直接通过MAC地址确定目标。网络层也包括标头、数据,同时这两部分也组成了以太网协议的数据部分。

  • IP协议

    作用:1. 为计算机分配地址 2:通过ip与子网掩码的and运算,计算目标ip是否与自身在一个网段。如果目标地址不再一个子网中,那么会通过网关发送

  • IP数据包

    标头主要包括:版本、长度、IP地址等信息。

    数据部分最多可以达到65535个字节,不过超过以太网协议的长度,就会以多个以太网包进行发送。

  • ARP协议

    在正常情况下目标主机的IP地址是已知的,如果是在局域网内,发送主机为了知道对方MAC地址,发送主机会携带自身ip和目标ip进行广播,目标主机接受到后,会返回自己的mac地址。

4. 传输层

通过MAC和IP地址,可以实现任意两台机器的通信。一个机器上一般都有多个程序在通讯,为了确定通讯的应用程序,需要用端口进行区分,通常把 “地址+端口”称为套接字。传输层中的表头定义了,发出端口和接受端口。数据最大长度为65535.

  • udp协议

    "标头"部分主要定义了发出端口和接收端口,"数据"部分就是具体的内容。

  • tcp协议

    tcp协议类似于有确认机制的UDP协议,每发出一个数据包都要求确认。如果有一个数据包遗失,就收不到确认,发出方就知道有必要重发这个数据包了。

5. 应用层

TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了"应用层"。即传输层的数据部分。

其他:

  1. 广播风暴:局域网内发送的信息过多影响到其他计算机通讯
  2. ARP攻击:

如果在网络中有计算机存在ARP病毒,那么会病毒会通过伪造ip和mac地址,利用ARP协议中的漏洞,截获局域网内,发现其他计算机的数据。

基本形式:

  1. 中间人攻击

    截获两台计算机的通讯,然后再进行转发到目标计算机

  2. 克隆攻击

    获取到目标计算机的MAC地址和ip地址,然后通过其他方式攻击目标计算机,使其不能对外提供服务。然后将自己的ip和MAC地址修改为目标计算机的

二层交换机 一层交换机

我的名片

昵称:shuta

职业:后台开发(php)

邮箱:648949076@qq.com

站点信息

建站时间: 2020/2/19
网站程序: ANTD PRO VUE + TP6.0
晋ICP备18007778号