1,网络层负责在不同的网络之间尽力转发数据包(通过路由器来实现,路由器是网络层的设备),如果把数据包丢失,不负责重传,也不负责传包的顺序。注意数据包的可靠传输是由传输层来实现的。
2,路由器是网路层的设备,它可以实现在不同网络之间发送数据包,它是三层的设备,可以看到网络层的内容,根据网络层封装的内容来决定把这个数据传给哪一个路由器。
集线器和网线一样都是属于物理层的设备,只是为了增长比特流的传输距离。
网桥和交换机是属于数据链路层的设备,这两个设备可以看懂数据链路层的地址。
3,数据在网络上传输的过程(以发送方为例,接收方正好相反):
应用层:准备好需要传输的文件
传输层(数据段):将文件分段并编号
网络层(数据包):给每个数据段添加上Ip地址
数据链路层(数据帧)(分两种情况):
第一种情况:不需要过路由器的情况(即需要通信的两个计算机在同一个网段),这种情况下使用ARP协议来广播Ip地址机器的MAC地址。
第二种情况:需要过路由器的情况(即需要通信的两个计算机不再同一个网段)给上一层的数据报添加上物理地址
(源mac地址和网关的mac地址,注意物理地址部分是一直变换的,以为物理地址决定的是吓一跳给谁,而不是数据给到的终点)
物理层(比特流):把上面封装好的帧转换为比特流
4,TCP/IP协议之间的层次
4,ARP协议
数据报在数据链路层需要封装成数据帧,这个时候需要知道下一跳的MAC地址,开始的时候,发送数据报的数据是不清数下一跳的MAC地址的,这个时候数据发送方会通过ARP协议来发送广播信息给这个网段的所有通信设备进行询问,当各个设备接收到询问信号的时候,就会把自己的MAC地址发送给数据的发送方。所以,ARP协议是给IP协议提供服务的。
arp -a 命令就可以查看,本台机器上所存储的所有的机器的MAC地址
黑客可以使用arp欺骗技术来控制网段中的计算机的通信获取抓取计算机的数据。
5,ICMP协议
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告;ICMP 不是高层协议,而是 IP 层的协议;ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。这个协议的主要作用是用来检测网络通不通。使用最多的就是ping命令,下面详细介绍。
PING(Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。 ping 8.8.8.8(互联网上DNS服务器的地址),查看到DNS服务器通不通。可以使用ping命令来排除网络故障。
ping命令的参数:
-t (一直ping); -l 数字 (指定ping的时候数据包的大小)
pathing命令,可以跟踪数据包路径,测试丢包率。使用ping能够判断网络通还是不通,比如请求超时,你就不能判断什么位置出现的网络故障造成的请求超时。使用pathping命令能跟踪数据包的路径,能够查出故障点,并且能够计算路由器转发丢包率和链路丢包率以及延迟,据此能够判断出网络拥塞情况。
ICMP协议是依赖于Ip协议的,主要作用是测试网络是不是畅通。
6,IGMP协议
IGMP协议是互联网多播(组播)通信采用的技术。
7,IP数据包的结构
一个 IP 数据包由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。
版本:用来标识协议是用的哪个版本的
首部长度:有名字就可以知道,记录的是首部的长度
区分服务:用来标记这个这个数据包的优先级,是不是着急的服务的数据包
总长度:表示整个数据包的总长度,最大的长度是65535个字节,而数据帧的大小最大是1500个字节,所以要对数据包先 分片,在传给数据链路层。当数据包的大小不大于1480字节的时候就不用分片了。
标识:用来表示数据包分片后的编号,使接收端能组装成一个完整的数据包
标志:是为了告诉接收端我是完整的数据包还是数据包分片后的片。(标志(flag) 占 3 位,目前只有前两位有意义。标志字段的最低位是MF (More Fragment)。MF = 1 表示后面“还有分片”。MF = 0 表示,最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF = 0 时才允许分片。)
片偏移:表示这个分片中第一个字节是整个数据包中的第几个字节
生存时间:每过一个路由器,这个值就会减1,当值变成0的时候,表示时间耗尽,就不能再向下传递了,初始值由开始发送的时候确定。可以防止路由在网络中有环路的情况下永不消失。
协议:用来标识这个数据包中的数据是什么协议(TCP(协议号是6)/UDP(协议号是17)/ICMP(协议号是1)/IGMP(协议号是2)/OSPF(协议号是89))的数据。根据这个协议号决定把这个数据包交给哪一个部分处理。
首部校验和:主要作用是用来检验数据包在传送的过程中是否发生错误,因为生存时间部分是会变化的。
源地址和目的地址都是IP地址。
可变字段(了解):首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
8,IP协议
Ip协议的作用就是找到传输的路径。路由就是路由器从一个网段到另外一个网段转发数据包的过程,即数据包通过路由器转发,就是数据路由。网络畅通条件,要求数据包必须能够到达目标地址,同时数据包必须能够返回发送地址。这就要求沿途经过的路由器必须知道到目标网络如何转发数据包,即到达目的网络下一跳转发给哪个路由器,也就是必须有到达目标网络的路由,沿途的路由器还必须有数据包返回所需的路由。
1)静态路由
管理员配置的路由表,适合小的网络,不能自动的适应网络的变化。
2)动态路由
RIP协议,周期性的广播路由表给其他的路由器,选择最佳的路径记录下来,注意路由器中的路由表是不断的变化的。rip协议的最大的跳数是15跳,不适合网络过于庞大的环境。rip协议选择的最佳路径的标准是过几个路由器
OSPF协议,选择的最佳路径的标准是带宽。