2026/1/5 12:25:45
网站建设
项目流程
濮阳哪里做网站,怎么知道网站有没有做301重定向,网络专题设计,学做点心的网站文章目录 一、源IP和目的IP二、认识端⼝号1.端口号是传输层协议的内容2.端口号范围划分3.“端口号”与“进程ID”4、源端口号和目的端口号 三、Socket四、传输层的典型代表1.TCP协议2.UDP协议 五、网络字节序 一、源IP和目的IP
数据从你的主机(源IP)传输到目标主机(目的IP)并不…文章目录一、源IP和目的IP二、认识端⼝号1.端口号是传输层协议的内容2.端口号范围划分3.“端口号”与“进程ID”4、源端口号和目的端口号三、Socket四、传输层的典型代表1.TCP协议2.UDP协议五、网络字节序一、源IP和目的IP数据从你的主机(源IP)传输到目标主机(目的IP)并不是目的将数据传给目标主机上的特定的进程才是数据传输的目的我们日常使用的QQ、微信、游戏…都是进程只要将数据传给进程数据就完成了任务。所以数据传输到主机不是⽬的⽽是⼿段。到达主机内部在交给主机内的进程才是⽬的。但是系统中同时会存在⾮常多的进程当数据到达⽬标主机之后怎么转发给⽬标进程这就要在⽹络的背景下在系统中标识进程的唯⼀性。二、认识端⼝号1.端口号是传输层协议的内容端⼝号是⼀个2 字节 16 位的整数;端⼝号⽤来标识⼀个进程, 告诉操作系统, 当前的这个数据要交给哪⼀个进程来处理;IP地址 端⼝号能够标识⽹络上的某⼀台主机的某⼀个进程⼀个端⼝号只能被⼀个进程占用2.端口号范围划分0 - 1023: 知名端⼝号, HTTP, FTP, SSH 等这些⼴为使⽤的应⽤层协议, 他们的端⼝号都是固定的.1024 - 65535: 操作系统动态分配的端⼝号. 客⼾端程序的端⼝号, 就是由操作系统从这个范围分配的3.“端口号”与“进程ID”端口号是网络通信的标准化标识而PID是操作系统内部的动态标识。端口号是对外的服务门牌号固定且标准PID是对内的员工工号动态且内部进程 PID 属于系统概念技术上也具有唯⼀性确实可以⽤来标识唯⼀的⼀个进程但是这样做会让系统进程管理和⽹络强耦合实际设计的时候并没有选择这样做。另外, ⼀个进程可以绑定多个端⼝号; 但是⼀个端⼝号不能被多个进程绑定;4、源端口号和目的端口号源端口号标识发送方主机上的发起通信的应用程序。目的端口号标识接收方主机上的接收通信的应用程序。传输层协议( TCP 和 UDP )的数据段中有两个端⼝号, 分别叫做源端⼝号和⽬的端⼝号. 就是在描述 “数据是谁发的, 要发给谁”;三、SocketIP 地址⽤来标识互联⽹中唯⼀的⼀台主机Port⽤来标识该主机上唯⼀的⼀个⽹络进程IPPort就能表⽰互联⽹中唯⼀的⼀个进程通信的时候本质是两个互联⽹进程进⾏通信{srcIPsrcPortdstIpdstPort }这样的4元组就能标识互联⽹中唯⼆的两个进程所以⽹络通信的本质也是进程间通信将 ipport 叫做套接字 socket四、传输层的典型代表传输层是属于内核的那么我们要通过⽹络协议栈进⾏通信必定调⽤的是传输层提供的系统调⽤来进⾏的⽹络通信。1.TCP协议传输层协议有连接可靠传输⾯向字节流2.UDP协议传输层协议无连接不可靠传输⾯向数据报五、网络字节序内存中的多字节数据相对于内存地址有⼤端和⼩端之分, 磁盘⽂件中的多字节数据相对于⽂件中的偏移地址也有⼤端⼩端之分, ⽹络数据流同样有⼤端⼩端之分. 那么如何定义⽹络数据流的地址发送主机通常将发送缓冲区中的数据按内存地址从低到⾼的顺序发出;接收主机把从⽹络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到⾼的顺序保存;因此,⽹络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是⾼地址.TCP/IP协议规定,⽹络数据流应采⽤⼤端字节序,即低地址⾼字节.不管这台主机是⼤端机还是⼩端机, 都会按照这个TCP/IP规定的⽹络字节序来发送/接收数据如果当前发送主机是⼩端, 就需要先将数据转成⼤端; 否则就忽略, 直接发送即可为使⽹络程序具有可移植性,使同样的C代码在⼤端和⼩端计算机上编译后都能正常运⾏,可以调⽤以下库函数做⽹络字节序和主机字节序的转换。h 表⽰ host , n 表⽰ network , l 表⽰ 32 位⻓整数, s 表⽰ 16 位短整数。例如 htonl 表⽰将 32 位的⻓整数从主机字节序转换为⽹络字节序,例如将IP地址转换后准备发送。如果主机是⼩端字节序,这些函数将参数做相应的⼤⼩端转换然后返回;如果主机是⼤端字节序,这些函数不做转换,将参数原封不动地返回。