编程基础--tcp/ip协议(1)
互联网通讯的多个协议,他们之间不互影响。通过组合成为了计算机间通讯的基础。
osi 5层协议
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数据的格式,这些应用程序协议就构成了"应用层"。即传输层的数据部分。
其他:
广播风暴:局域网内发送的信息过多影响到其他计算机通讯
ARP攻击:
如果在网络中有计算机存在ARP病毒,那么会病毒会通过伪造ip和mac地址,利用ARP协议中的漏洞,截获局域网内,发现其他计算机的数据。
基本形式:
中间人攻击
截获两台计算机的通讯,然后再进行转发到目标计算机
克隆攻击
获取到目标计算机的MAC地址和ip地址,然后通过其他方式攻击目标计算机,使其不能对外提供服务。然后将自己的ip和MAC地址修改为目标计算机的
二层交换机 一层交换机