网络基础(3)

网络基础(3)

有关进程

1)进程是人在系统中的代表,只要把数据给进程,人就相当于拿到了数据

2)数据传输到主机不是目的,而是手段。到达主机内部,再交给主机内的进程才是目的

上网的行为只有两种:1)从远端服务器获取数据

​ 2)本地数据,上传到远端服务器

**网络通信的本质:**两个不同主机的进程在进行数据交互,也就是进程间通信,让不同的进程看到同一份资源

这时候就会产生一个问题:

在系统中,同时会存在非常多的进程,当数据到达目标主机之后,怎么转发给目标进程?

在系统中,标识主机的唯一性

端口号

定义:(port)传输层协议的内容

1)端口号是一个2字节16位的整数

2)端口号可以用来标识系统中唯一的一个网络进程

端口号VS pid

1)不是所有的进程都要进行网络通信

2)从技术角度,pid是可行的,但是pid是一个系统的概念,pid变化,网络也要随之变化,这就是解耦

怎样标识对方的唯一性:socket=ip+port

TCP(可靠)VS UDP(不可靠)

TCP:做更多的工作,复杂,占用更多资源

UDP:很简单

网络协议必须采用大端字节序,即低地址高字节

凡是发送到网络中的数据,必须是大端

大小端都是以字节为单位的

先发出的数据是低地址,后发出的数据是高地址

将0x1234abcd写入到以0x0000开始的内存中,结果为

大端 小端
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12

网络通信的本质:进程间通信

system V:本地进程间通信

posix标准:网络通信,进程通信