正式班D7

2020.10.13星期二  正式班D7

一、上节课复习

Linux发展

批处理系统

多道技术

分时操作系统

multics—>Unix—>minix—>Linux(如Redhat、centos)

线程与进程

进程:资源单位

一个程序在运行过程中使用的数据都与自己的进程有关

线程:执行单位(CPU执行的是线程)

进程内代码的运行过程

任务运行的三种状态

运行态:拿到CPU,正在运行

就绪态:等待分配CPU,一旦拿到cpu就可以立即运行

阻塞态:拿到CPU也无法执行,必须等io结束进入就绪态

网络

什么是网络

网络=物理连接介质+互联网通信协议

互联网通信协议就相当于计算机界的英语

为什么要有网络

为了打破地域限制,提高数据传输效率(信息高速公路)

OSI七层协议

应用层==》http、ftp、可以自定义协议

表示层

会话层

传输层==》TCP/UDP协议

​ 1、数据段

​ 2、head+data:head放源端口、目标端口

​ 3、端口在本机唯一即可

网络层==》IP协议

​ 1、数据包

​ 2、head+data:head放源IP地址、目标IP地址

​ 3、IP地址的通信协议==》路由协议

​ ipv4:

​ IP v4地址

​ 00000000.00000000.00000000.00000000==》0.0.0.0

​ 11111111.11111111.11111111.11111111==》255.255.255.255

​ 子网掩码:

​ 11111111.11111111.11111111.00000000==》255.255.255.0

​ 172.16.10.13/24==》172.16.10.0

​ 172.16.10.14/24==》172.16.10.0

​ 子网地址相同,代表处于同一个lan中

数据链路层==》Ethernet以太网协议

​ 1、数据帧

​ 2、head+data,head放源mac地址、目标mac地址

​ 3、基于mac地址的广播的通信方式==》计算机通信基本靠吼

物理层==》转换成电信号(如011101101),然后发送

二、本节内容

数据链路层与网络层补充

引入

计算机1要与计算机2通信,计算机1必须拿到计算机2的IP地址和子网掩码

通信分为两类:局域网内、跨局域网

问题:

计算机1如何确定与计算机2是否在同一个局域网内

如果在一个局域网内如何通信(要拿到目标mac也就是计算机2的mac地址)

如果跨局域网如何通信(要拿到目标mac也就是网关的mac地址)

ARP协议

通过IP地址找到mac地址

前提:在一个局域网LAN内,靠的是目标mac地址找到对方在哪里

​ 即只要知道目标mac地址是谁,数据包就发给谁

情况一:

前提:计算机一:192.168.10.11/24

​ 计算机二:192.168.10.13/24

拿到目标mac地址

ARP协议:判断两台计算机的子网地址是否一样

​ (此情况一样,尝试获得计算机2的mac地址)

发包

计算机1的mac地址 FF-FF-FF-FF-FF-FF 192.168.10.11/24 192.168.10.13/24 数据部分

所有计算机都收到该ARP包

碰到FF-FF-FF-FF-FF-FF大家都知道对方想和自己要mac地址

如果目标IP192.168.10.13/24是自己就返回自己的mac地址

发真正的数据

计算机1的mac地址 计算机2的mac地址 192.168.10.11/24 192.168.10.13/24数据部分

情况二:

前提:计算机一:192.168.10.11/24

​ 计算机二:202.10.11.13/24

拿到目标mac地址

ARP协议:判断两台计算机的子网地址是否一样

​ (此情况不一样,应当尝试获取网关的mac地址)

发包

计算机1的mac地址 FF-FF-FF-FF-FF-FF 192.168.10.11/24 192.168.10.1/24(网关的IP) 数据部分

所有计算机都收到该ARP包

碰到FF-FF-FF-FF-FF-FF大家都知道对方想要自己的mac地址

如果碰到目标IP192.168.10.1/24就是自己则返回自己的mac地址

发真正的数据

计算机1的mac地址 网关的mac地址 192.168.10.11/24 202.10.11.13/24 数据部分

IP+mac

IP地址+mac地址==》全世界唯一一台计算机

ARP会将IP地址转换成mac地址

要么是局域网内一台计算机的mac地址

要么就是网关的mac地址

TCP/UDP协议(传输层)

由来

网络层的IP帮我们区分子网,以太网层的mac帮我们找到主机;然后大家就使用多个应用程序

如何标识这台主机上的应用程序就是端口(应用程序与网卡关联的编号)

功能:建立端口到端口的通信

范围:065535(其中01023是系统占用端口)

正式班D7

TCP协议(可靠传输)

TCP通信之前必须建立双向通路

TCP数据包没有长度限制,理论上可以无限长,但为了保证网络的效率,

通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割

可靠原因:数据拷贝后传输(传输时不会删除原数据),对方无应答会申请多次,给到ACK确认信息之后删除数据

UDP协议(不可靠传输)

报头部分一共只有8个字节,总长度不超过65535个字节,正好放进一个IP数据包

TCP三次握手和四次挥手

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyywds.html