0%

网络层通过定义一些协议保证了数据包的正确转发
点到点的通信

IP大致分为三大作用模块,他们是IP寻址,路由(最终节点为止的转发)以及IP分包与组包。

IP地址

A B C D E 区分的是地址块的大小

A类地址1.0开头 B类地址128.0开头 C类地址192.0开头 D类地址 224.0开头

私有IP地址

子网掩码的数据是连续的0或1

子网掩码计算网络地址

IP路由原理
IP的分片

队列

​ head tail

1 2 3 4 5

1.legth=9 head=0 tail=4 data_type=xxx

2.遵循FIFO(先入先出)

队列的两个操作

出队:头指针向后移动一位

入队:尾部指针向后移动一位

假溢出

队空间满后插入的值假溢出

循环队列

队空间满后尾指针+1指向头指针

栈4

遵循后入先出

出栈:栈顶指针下移一位

入栈:栈顶指针上移一位

栈的本质

例题:

推导过程:

1.问题简化成只有一种括号应该怎么做?

2.考虑用栈

括号匹配的性质:

1.在任意一个位置上,左括号数量>=右括号数量

2.在最后一个位置上,左括号数量==右括号数量

3.程序中只需要记录左括号数量和右括号数量即可

解法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
bool isValid(char *s){
inte32_t lnum=0,rnum=0;
int32_t len=strlen(s);
for(int32_t i=0;i<length;i++){
switch(s[i]){
case'(':++lnum;break;
case')':++rnum;break;
default:return false;
}
if(lnum>=rnum)continue;
return false;
}
return lnum==rnum;

优化版

1
左括号+1右括号-1,类似于栈顶指针的操作; 
总结:

1.一对()可以等价为一个完整的事件

2.(())可以看作事件与事件之间的完全包含关系

3.由括号的等价变换得到了一个新的数据结构

栈可以解决具有完全包含关系的问题

(子问题之间没有包含关系)

《小学问》

《平凡的世界》

《爱你就像爱生命》

《天才在左疯子在右》

《未来简史》

《亲密关系》

《人性的弱点》

《人性的优点》

《穷爸爸富爸爸》

《自由在高处》

《行为心理学》

《鲁迅小杂感》

《桥下一家人》

《漫水》

《竞底》

《大学究竟读什么》

《苏东坡传》

《向着光亮那方》

新增知识点

面向对象 异常处理 STL

C和C++的区别

1.头文件

2.命名空间

3.输入输出

4.基本数据类型

5.结构体

6.强制类型转换

7.条件运算符

8.动态内存分配

9.变量的引用

10.内联函数

11.函数的默认参数

12.函数重载

13

传输层协议位于TCP/IP协议栈第四层,为应用程序提供服务。传输层定义了主机应用程序之间端到端的连通性。
1.端到端的通信

传输层中也有类似于地址的概念,就是端口号(一个协议对应一个端口号)。端口号用来识别同一台计算机中进行通信的不同应用程序。因此它也被称为程序地址。

阅读全文 »

字符串变量

(1)用+可以连接两个字符串;

(2)非字符可以自动转换为字符格式;

1
2
3
4
5
6
7
8
import java.util.Scanner;
public class Nihao {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s=new String("hello");
System.out.println(s+21+23);//第一步将数字转换为字符格式
}
}
阅读全文 »

应用层协议(application layer protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文

1.应用层协议的工作原理

​ (1)在应用层中,定义了很多面向应用的协议,应用程序通过本协议利用网络完成数据交互的任务。

​ 应用层协议的终极目的是根据不同的协议产生不同的应用层数据。

阅读全文 »

1.TCP/IP协议

(1)数据通信标准分为两类:事实的和法定的
1
2
3
事实标准:未经组织团体承认但是已经在应用中被广泛使用和认可的就是事实标准。

法定标准:由官方认可的团体制定的标准称为法定标准。
阅读全文 »