diff --git "a/48 \347\206\212\346\231\257\345\263\260/\345\255\220\347\275\221\346\216\251\347\240\201.md" "b/48 \347\206\212\346\231\257\345\263\260/\345\255\220\347\275\221\346\216\251\347\240\201.md" new file mode 100644 index 0000000000000000000000000000000000000000..86751829147f4f33b5cfb64a65c156f9ae7bb328 --- /dev/null +++ "b/48 \347\206\212\346\231\257\345\263\260/\345\255\220\347\275\221\346\216\251\347\240\201.md" @@ -0,0 +1,41 @@ +## 子网掩码 + +### 作用 + +用来标识ip前几位是网络号。(网络号一定在主机号前) + +子网掩码单独使用无意义,必须配合IP一起使用。子网掩码也是32位的二进制数字,用连续的1表示网络号,用连续的0表示主机号。 + +### 为什么要用子网掩码区分 + +要判断一个ip是不是和自己一个网络,如果是同一个网络,直接发数据直接通信;如果不是同一个网络,通过中间人(网关)转发。 + +### 子网掩码的表现形式 + +255.255.255.0 + +192.168.1.10/24 + +### 判断方法 + +两台计算机各自的IP地址与子网掩码进行与运算,判断在不在同一个子网内 + +## 网关 + +不同一个网络的计算机需要通过本地的网关将数据转发给另一个网络的网关,再发给目的计算机。 + +默认网关是三层设备路由器 + +## DNS + +域名转化成IP,根据IP访问网站。 + +常见的dns:谷歌8.8.8.8 电网114.114.114.114 + +## 结合IP得到以下结果 + +网络地址:ip二进制和子网掩码二进制与运算转换成十进制 + +广播地址:网络地址中部分的主机号变成1 + +主机范围:2的n的次方-1 网络和+1广播地址-1 \ No newline at end of file diff --git "a/48 \347\206\212\346\231\257\345\263\260/\347\275\221\347\273\234\345\215\217\350\256\256.md" "b/48 \347\206\212\346\231\257\345\263\260/\347\275\221\347\273\234\345\215\217\350\256\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..1bfce8dd1f20c728b6fca336744c08c48675fe8c --- /dev/null +++ "b/48 \347\206\212\346\231\257\345\263\260/\347\275\221\347\273\234\345\215\217\350\256\256.md" @@ -0,0 +1,104 @@ +# 网络协议 + +PDU(协议数据单元)是指对等层次之间传递的数据单位。 + +| 应用层 | DATA数据 | +| ---------- | --------- | +| 传输层 | segment段 | +| 网络层 | packet包 | +| 数据链路层 | frame帧 | +| 物理层 | bit位 | + +传输层协议接收来自应用层协议的数据,封装上相应的传输头部,帮助其建立端到端的连接。 + +## ARP协议 + +数据链路层,地址解析协议,根据已知的IP地址解析获得其对应的MAC地址。 + +工作原理:先查找ARP缓存表,如果表里没有对方的MAC地址,就直接将帧发送出去;如果没有,就需要通过ARP获取,发送ARP request报文获取对方的MAC地址,因为ARP request是广播数据帧,所以会进行广播操作,所有主机收到后,会将目的IP和自身IP匹配,匹配成功后,将MAC地址和IP地址记录到缓存表中。 + +## ICMP协议 + +数据链路层,ICMP用来传递差错‘控制’查询等信息。 + +ICMP差错检测:用来查询和响应某些信息,进行差错检测。 + +ICMP错误报告:当网络设备无法访问目标时,会自动发送ICMP目的不可达报文到发送端设备。 + +常见的ping应用就是ICMP。 + +# 作业 + +## TCP/UDP报文格式 + +TCP传输控制协议 + +格式: + +源端口:用于标识发送端口。 + +目标端口:用于标识接收端口。 + +序列号:用于对数据进行排序和重组。 + +确认号:用于确认接收到的数据。 + +首部长度:指示TCP首部的长度。 + +保留位:保留供将来使用,目前置0。 + +控制位:用于指示TCP报文的控制信息,如SYN、ACK、FIN等。 + +窗口大小:用于流量控制。 + +校验和:用于检测报文是否损坏。 + +紧急指针:用于指示紧急数据的位置。 + +选项:可选字段,如最大报文段长度、时间戳等。 + +UDP用户数据报协议 + +源端口:用于标识发送端口。 + +目标端口:用于标识接收端口。 + +长度:UDP报文的总长度。 + +校验和:用于检测报文是否损坏。 + +## 常用端口号 + +HTTP:80 + +HTTPS:43 + +SSH:22 + +FTP:21 + +SMTP:25 + +DNS:53 + +HTTP代理:8080 + +## 三次握手 + +首先三次握手建立会话: + +比如A说:hey,聊天吗? + +B回复:sure。 + +A回复:wow,聊吧。 + +四次挥手结束会话: + +A:我要挂电话了 + +B:好的 + +A:我准备挂电话了 + +B:好的,挂吧 \ No newline at end of file