>  기사  >  운영 및 유지보수  >  전송 계층 개요: 포트와 프로세스 간의 관계

전송 계층 개요: 포트와 프로세스 간의 관계

齐天大圣
齐天大圣원래의
2020-12-18 20:00:333166검색

프로세스 간 통신

전송 계층은 특수 계층인 전송 계층이라고도 합니다. 한편으로는 통신 부분의 최고 수준에 속하고, 다른 한편으로는 사용자 기능 중 가장 낮은 수준에 속한다. 전송 계층은 서로 다른 호스트의 프로세스 간 통신에 사용됩니다. 패킷을 전달하는 라우터의 경우 하위 3개 계층의 기능만 가지며 전송 계층 이상은 사용하지 않습니다.

프로세스, 즉 실행 중인 프로그램입니다. Linux에서는 프로그램이 실행될 때 운영 체제가 프로세스에 프로세스 번호를 할당합니다. ps aux 명령을 사용하면 모든 프로세스를 볼 수 있습니다.

# ps aux 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  51744  2808 ?        Ss   Jul31  16:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
……

Port

TCP/IP의 전송 계층은 16비트 포트 번호를 사용하여 포트를 표시하므로 호스트는 65535개의 포트를 가질 수 있습니다. 웹 오픈을 해본 사람이라면 웹 서버의 80번, mysql 서비스의 3306번, 기타 포트 등 일반적으로 사용되는 포트 번호를 알아야 합니다. 두 호스트 간의 프로세스는 해당 포트 번호를 통해 통신하므로 프로세스에는 포트에서 수신 대기하는 기능도 있어야 합니다. Linux에서 모니터링되는 포트를 보는 명령은 netstat -tlunp

# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2449/nginx: worker  
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1010/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1819/sshd           
……

포트에도 다중화 및 역다중화 기능이 있습니다. 다중화는 호스트의 여러 응용 프로그램 프로세스가 동일한 포트 번호를 사용하여 통신할 수 있다는 의미이며, 다중화는 다중화를 의미합니다. IP 계층에서 얻은 데이터그램은 포트 번호를 통해 다른 애플리케이션 프로세스로 전달될 수 있습니다.

TCP 및 UDP

전송 계층에는 전송 제어 프로토콜 TCP와 사용자 데이터그램 프로토콜 UDP의 두 가지 프로토콜만 있습니다. 이 두 프로토콜에는 고유한 특성과 일부 적용 시나리오가 있습니다.

TCP는 연결 지향 프로토콜입니다. 데이터 전송이 필요하지 않으면 연결을 끊어야 합니다. TCP는 고려해야 할 요소가 많은 비교적 복잡한 프로토콜입니다. 종단 간 안정적인 전송을 제공할 수 있지만 일대다 및 다대다 통신은 지원하지 않습니다. 일반적으로 사용되는 TCP 프로토콜에는 HTTP 프로토콜, ftp 프로토콜, telnet 프로토콜 등이 포함됩니다.

UDP는 패킷용으로 비교적 간단하며 안정적인 전송보다는 최선의 노력을 사용합니다. 일대일, 일대다, 다대다 통신을 수행할 수 있습니다. UDP 프로토콜을 사용하는 일반적인 프로토콜에는 DHCP, DNS 및 RIP 프로토콜이 포함됩니다.

특성을 설명하는 예가 있습니다. TCP는 전화 통화와 같으며 통화 전에 연결이 설정되어야 합니다. UDP는 문자 메시지를 보내는 것과 같습니다. 문자 메시지를 보내기 전에 상대방 호스트의 상태를 알 필요가 없습니다.

위 내용은 전송 계층 개요: 포트와 프로세스 간의 관계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.