美文网首页
socket、端口、进程的关系

socket、端口、进程的关系

作者: oasis_m | 来源:发表于2020-03-21 10:08 被阅读0次

声明:所有文章只作为学习笔记用,转载非原创

socket、端口、进程的关系

https://www.jianshu.com/p/ed39c81d081b
套接字结构体
https://www.cnblogs.com/retry/p/9308802.html

什么是socket
  Socket的英文原义是“插座”(还有其他含义,但是当初网络变成起名为socket主要是借用了插座的概念)。通常也称作”套接字”,主要用于解决网络进程间通信。
  两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程。本地进程间通信(PIPE、FIFO、message queue、semaphore、shared memary)可以通过进程ID唯一标识一个进程。网络进程间通信呢?PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标识主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。


 Socket的英文原义是“插座”(还有其他含义,但是当初网络变成起名为socket主要是借用了插座的概念)。通常也称作”套接字”,主要用于解决网络进程间通信。

socket 中存储了特定的四元组: 源ip+port,目的ip+port;

socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,从而实现进程在网络中通信。

应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

传输层:TCP,UDP

网络层:IP,ICMP,OSPF,EIGRP,IGMP

数据链路层:SLIP,CSLIP,PPP,MTU


总而言之,我们这里所说的端口,不是 计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是[TCP端口] 一种是UDP端口

 https://blog.csdn.net/u011580175/article/details/80306414 
1.一个端口同一时间只能bind给一个SOCKET。就是同一时间一个端口只可能有一个监听线程(监听listen之前要bind)。

2.为什么一个端口能建立多个TCP连接,同一个端口也就是说 server ip和server port 是不变的。那么只要[client ip 和 client port]不相同就可以了。能保证接唯一标识[server ip, server port, client ip, client port]的唯一性。
 
linux 分配端口
https://www.jianshu.com/p/f5c47ad0c51c
端口分配
程序的端口分配分为固定分配和自动分配两种。一套系统中固定端口是要进行规划的,比如ftp的端口为10021(控制连接时服务端的),控制连接时客户端的端口就可以随机分配。ftp数据连接如果在被动模式下服务端和客户端的端口都可以随机分配,如果在主动模式下,服务端的端口可以固定分配,客户端的端口随机分配。


socket为内核对象,由操作系统内核来维护其缓冲区,引用计数,并且可以在多个进程中使用。 至于称它为“句柄”“文件描述符”都是一样的,它只不过是内核开放给用户进程使用的整数而已。
socket() 创建了一个socket内核对象。 accept或者connect后,才可以对socket句柄读写。因为只有在 connect或者bind,listen,accept后才会设置好socket内核对象里边的ip和端口 。






相关文章

  • socket、端口、进程的关系

    本文属网络编程部分。socket的引入是为了解决不同计算机间进程间通信的问题。 端口是TCP/IP协议中的概念,描...

  • socket、端口、进程的关系

    声明:所有文章只作为学习笔记用,转载非原创 socket、端口、进程的关系 https://www.jianshu...

  • Go语言的网络编程

    socket编程 Socket是BSD UNIX的进程通信机制,通常也称作”套接字”,用于描述IP地址和端口,是一...

  • Socket、描述符、端口号

    Socket、描述符、端口号 端口: 端口与进程对应: TCP 的包是不包含 IP 地址信息的,那是 IP 层上的...

  • Socket学习笔记

    Socket 套接字 IP地址 定位网络主机 端口号 定位进程(定位程序)有效端口号范围 0 ~ 65535, 0...

  • 套接字与套接字编程

    什么是套接字(Socket)? 使用端口(Port)可以标识不同的网络进程 端口使用16个bit位表示 4个字节 ...

  • TCP SO_REUSEADDR地址复用理解

    1.进程创建监听套接字socket1,邦定一个指定端口,并接受了若干连接。那么进程创建另外一个套接口socket2...

  • 网络编程

    端口ip地址区分计算机,端口号区分进程 socket udp套接字:(基本不用) Python3和ipython3...

  • 查看端口

    使用socket的时候,忘记把端口释放了,所以导致端口被占用了,所以想找出这个进程,然后结束掉就行了 使用cmd ...

  • 进程间通信(无名管道、FIFO命名管道、消息队列、共享内存、so

    socket网络跨主机的进程间通信是以五元组【源IP,源端口,目的IP,目的端口,TCP或UDP协议】,来找到不同...

网友评论

      本文标题:socket、端口、进程的关系

      本文链接:https://www.haomeiwen.com/subject/auxyyhtx.html